Linux基础入门---学习心得
之前一直以为Linux和Windows差不多,但是学习了Linux基础入门之后才发现两种操作系统之间差距非常大。
Linux只是在硬件之上的内核和系统调用,就连我们在Windows里习以为常的图形界面都是Linux上的软件。在使用Linux的时候,我们都习惯于使用终端和命令行进行操作,而不是像Windows那样的图形界面里的鼠标键盘的共同操作。物理机系统可通过[Ctrl]+[Alt]+[F1]~[F6]切换6个纯命令行界面的终端,通过[Ctrl]+[Alt]+[F7]从终端切换回图形界面。而且学习之后我才知道,Linux里面一切皆文件,相对于Windows里的文件后缀名区分文件类型,Linux不通过后缀名区分文件类型,可以通过file命令查看文件类型。
大数据Linux资料分享群119599574
在使用Linux的时候,我们不直接和系统打交道,而是通过Shell(命令解析器)。Shell就像一个壳隐藏了操作系统的底层操作。通俗来讲,Shell就是可以接受用户输入命令的程序。在UNIX/Linux中比较流行的常见的Shell有bash,zsh,ksh,csh等等,Ubuntu终端默认使用的是bash,默认的桌面环境是 GNOME或者Unity(基于 GNOME)。
在Linux系统中有很多十分方便的快捷命令。
Tab:可以用来补全命令、目录、或者命令参数,连续按两次还可显示所有能匹配到的结果;
[Ctrl+C]:用来终止当前程序并且不退出终端;
[Ctrl+d]:键盘输入结束或者退出终端;
[Ctrl+s]:暂定当前程序,暂停后按下任意键恢复运行;
[Ctrl+z]:将当前程序放到后台运行,恢复到前台命令为fg;
[Ctrl+a]:将光标移至行头,相当于home,[Ctrl+e]相当于[end];
[Ctrl+k]:删除从光标所在位置到行末;
[Alt+backspace]:向前删除一个单词;
[shift+pgup]:将终端显示向上滚动,[shift+pgdn]向下滚动。
在Linux中,通配符主要是“*”和“?”,可用来对字符串进行模糊匹配,终端里的通配符由Shell完成。
Linux中还有一部分特别重要的命令:
- man命令:man命令是Linux中一个十分重要的帮助指令,内容包括计算机程序(库和系统的调用),正式的标准和惯例,抽象的概念,通过执行man命令调用手册页。man命令手册比较重要的是前三个:1.一般命令;2.系统调用;3.库函数,涵盖了C标准函数库。man命令如果加上数字参数,可以指定从哪本手册中搜索帮助。数据Linux资料分享群119599574
- ls命令:用于显示当前目录下的文件,可以通参数[-a]显示隐藏文件(Linux下隐藏文件皆以‘.’开头)。
- cd命令:Linux下一切皆文件,因此在终端中[cd]命令就显得尤为重要。这个命令可以通过绝对路径或者相对路径进入到你想进去的目录中。
- cp命令:用于终端中文件或目录的复制操作。
- rm命令:用于终端中文件或目录的删除操作。
- cat命令:用于正序打印文件内容到终端,与之相反的tac命令倒序打印问价内容到终端。
- declare命令:用于声名一个变量,用‘=’号赋值,用echo和$命令读取变量的值。
Shell中运行的大部分命令都将以审理了的子进程的方式运行。环境变量有3种:1.当前Shell进程私有用户自定义变量,只在当前Shell中有效;2.Shell本身内建的变量;3.从自定义变量导出的环境变量。
以下是部分实验的截图: banner截图
figlet截图
给用户添加用户组并通过sudo命令获得root权限
黑客帝国
实验过程中遇到的问题以及解决:
1、运行hello_shell.sh脚本文件时候报错,原来是for之后少了一个空格,之后才知道Linux脚本文件里面的空格不像C语言里面的一样能随便增删。
2、使用mv命令移动两个文件时,其中一个文件名输错,再次执行移动命令时,说另一个文件不存在,之后发现另一个文件已经移动到目的目录中。从而知道了使用mv命令移动两个文件时,其中一个文件名输错,不会影响其他文件的移动。
Linux基础入门---学习心得的更多相关文章
- VBox&vmware虚拟机安装Linux及Linux基础入门学习
VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- 20135231 —— Linux 基础入门学习
20135231 何佳 学习计时:共12小时 读书:5 代码:2 作业:2 博客:3 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Li ...
- Linux基础入门学习笔记之三
第四节 Linux目录结构及文件基本操作 Linux目录结构 Linux 的目录与 Windows 的目录的区别 目录与存储介质(磁盘,内存,DVD 等)的关系 Windows 一直是==以存储介质为 ...
- Linux基础入门学习笔记之四
环境变量与文件查找 环境变量 变量 所谓shell变量,就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中.通常变量与值是一对一的关系,可以通过表 ...
- Linux基础入门学习笔记之二
第三节 用户及文件权限管理 Linux用户管理 Linux是可以实现多用户登录的操作系统 查看用户 who命令用于查看用户 shiyanlou是当前登录用户的用户名 pts/0中pts表示伪终端,后面 ...
- 在学习linux基础入门时的一些问题总结(1)
本周在实验楼完成了<linux基础入门>的21个实验,虽然之前已经学习过linux的相关课程,对linux下的命令也有一些了解和实践,但完成这21个实验以及35个练习题仍然遇到了许多的问题 ...
- 安装虚拟机以及学习Linux基础入门
安装虚拟机 参考基于VirtualBox虚拟机安装Ubuntu图文教程完成了虚拟机的安装,主要遇到了以下2个问题 在新建虚拟电脑的时候,如果类型选择了Linux,则版本就只能选择Ubuntu(32 位 ...
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
随机推荐
- 排查在 Azure 中新建 Windows 虚拟机时遇到的经典部署问题
尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. 当由于准备步骤不当,或者在从门户捕获映像期间选择了错误的设置而导致 OS 映像无法加载时,将发生预配失败. 当群集 ...
- 设计能长按并有动画效果且能触发事件的高级view
设计能长按并有动画效果且能触发事件的高级view 效果图: 源码: LongTapAnimationView.h 与 LongTapAnimationView.m // // LongTapAnima ...
- delete in javascript
Key word delete. 1. Delete global object. x = 42; // creates the property x on the global object var ...
- 为exchange 2010 owa 添加验证码
微软给了exchange owa页面加固的方案,如有需要,请查看. https://partnersupport.microsoft.com/zh-hans/par_servplat/forum/pa ...
- Linux操作NFS挂载、卸载等操作
一.NFS服务器的设置 NFS服务器的设定可以通过/etc/exports这个文件进行,设定格式如下 分享目录 主机名或IP(参数1,参数2) /binbin 172.17.1.*(rw,sync,n ...
- Linux Samba配置文件常用参数详解
目录 1.全局参数 2.共享参数 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间 ...
- android--eclipse闪退,无法启动
解决方法: 删除文件:[workspace]/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
- jq实现 元素显示后 点击页面的任何位置除元素本身外 隐藏元素
$(".share-weixin").on("click",function(e){ var $wx=$(".weixin-share"), ...
- 死磕salt系列-salt grains pillar 配置
grains 和 pillar 对比: Grains:存放静态数据,主要存储客户端的主机信息,重启grains会刷新. Pillar: 处理敏感数据, 处理差异性的文件. Grains数据系统 sal ...
- 判断是否POST提交
if(strtolower($_SERVER['REQUEST_METHOD']) == 'post'){} //判断是否POST提交