Linux指令上手
shell命令以及运行原理
Linux严格意义上说的是一个操作系统,我们称之为"核心(kernel)" ,但我们一般用户,不能直接使用kernel,而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
为什么不能直接使用kernel?
从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
①将使用者的命令翻译给核心(kernel)处理
②同时,将核心的处理结果翻译给使用者
对比windows ,我们操作windows 不是直接操作windows内核,而是通过图形接口点击,从而完成我们的操作。shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运
行出结果,通过shell解析给用户。
常用指令汇总
大部分指令有多个选项可用(选项是调整命令执行行为的开关,即,选项不同决定了命令的显示结果不同)
具体使用时可查阅资料,这里不一一列举,只列举如下几个常用指令和选项供读者上手Linux
man指令
把这个指令放在首位的原因:
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是
man 语法: man [选项] 命令
ls 指令
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
pwd命令
功能:显示用户当前所在的目录
cd 指令
功能:改变工作目录。将当前工作目录改变到指定的目录下
touch指令
功能:新建一个不存在的文件或可更改文档或目录的日期时间,包括存取时间和更改时间
mkdir指令
功能:在当前目录下创建一个指定命名的目录
rmdir指令 && rm 指令
功能:rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录
rm命令可以同时删除文件或目录
cp指令
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
-f 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 覆盖文件之前先询问用户
-r或-R 递归处理,将指定目录下的文件与子目录一并处理
功能上是等价的。不加-r或者-R的时候,只拷贝文件,不拷贝文件夹;加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,余此类推
mv指令
是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录
语法: mv [选项] 源文件或目录 目标文件或目录
cat指令
功能: 查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
more指令
功能:类似cat指令
less指令
功能:less与more类似,但使用less可以随意浏览文件,是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜
选项:
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
head指令 tail指令
功能:head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 就是看档案的结尾
选项:
-n行数 显示行数
举例
时间相关的指令
date 指定格式显示时间: date +%Y:%m:%d
显示时间戳:date +%s
cal指令
cal命令可以用来显示公历(阳历)日历
find指令
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)
grep指令
功能: 在文件中搜索字符串,将找到的行打印出来
语法: grep [选项] 搜寻字符串 文件
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
zip/unzip指令
功能: 将目录或文件压缩成zip格式
常用选项:
-r 递 归处理,将指定目录下的所有文件和子目录一并处理
zip后面先跟目标文件名,即压缩后得自定义压缩包名,然后跟要压缩的文件或目录。没有该命令的话可以用yum install -y zip 来安装。使用zip压缩时,文件本身不会消失。
1.压缩文件
zip test.zip test.txt
2.压缩目录
压缩目录要加上-r选项。如果不带-r则只是压缩二级目录本身
zip -r 123.zip 123/
3.解压zip文件
解压zip的命令是unzip,需要用命令yum insatll -y unzip来安装。由于源文件未删除,解压缩时候会提示我们时候覆盖替换或者改名。
unzip test.zip
注:加上-d选项可以解压到指定的目录
unzip test.zip /tmp/
tar指令
功能:tar本身就是一个打包工具,它可以把目录整合打包成一个文件,把所有文件整合成一个大文件,方便复制和移动。使用tar打包工具,源文件或目录不会被删除而且它会覆盖当前已经存在的文件或目录
详细用法可参考🔗
bc指令
bc命令可以很方便的进行浮点运算
可参考🔗
uname –r指令
功能: uname用来获取电脑和操作系统的相关信息
shutdown指令
功能:用来关机
选项:
-h : 将系统的服务停掉后,立即关机。
-r : 在将系统的服务停掉之后就重新启动
-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思
重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
[Tab]按键—具有『命令补全』和『档案补齐』的功能
[Ctrl]-c按键—让当前的程序『停掉』
[Ctrl]-d按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit