两万字总结Linux常用指令

程序员考拉

共 4331字,需浏览 9分钟

 · 2021-08-15

公众号关注 “GitHub今日热榜
设为 “星标”,带你挖掘更多开发神器!






1..ls及常用选项


语法:ls [选项] [目录或文件]


功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。


结果如下



可以看到,我当前目录下有gdb、install.sh、lesson3、lesson4、lesson5五个文件。

这个指令就相当于Windows下双击一个目录进入后展示出所有的文件,只不过在Windows下这一过程时自动的。


(1)-l选项


ls -l 指令可以列出文件的详细信息,也可简写成ll



可以看到,该指令执行后每个文件前都多出了多条信息,每条信息的具体含义在之后的文章中会介绍到。


(2)-a选项


ls -a指令会列出目录下的所有文件,包括以 . 开头的隐藏文件



可以看到,白色框起来的是之前出现过的文件,剩余的文件都是以.开头的。


在Linux中,以.开头的文件是隐藏文件,它们默认是隐藏的,通过 ls -a选项可以把它们显示出来。


选项也可以组合使用,如下图-al一起使用。



这里关注最上面两个很奇怪的文件,它们的名称是一个点(.)和两个点(. .)。


Linux中任何目录下都默认存在两个目录,即上面提到的两个文件,一个点(.)的文件代表当前目录,两个点(. .)的文件代表上级目录。



可以看到,刚开始处在lesson5目录,通过cd . .进入父目录yh,而cd .进入当前目录(cd即进入某一目录,下文会提到)。


(3)-t选项


对文件以时间进行排序。



(4)-d选项


将一个目录像文件一样显示,而不是显示其下的文件。



这里虽然lesson5下还有其他文件,但这里并不显示它包含的文件的属性,而是显示lesson5这个文件本身的属性。


2.clear


清空当前屏幕,该指令执行后,屏幕中的信息全部清空。


3.pwd


pwd指令显示用户当前所在的目录。



可以看到当前所在的目录是home下的yh目录,/home/XXX也称为XXX用户的主工作目录。


当用root账户登录时,pwd指令执行后就会显示当前在root目录下。



这一指令就相当于Windows下进入目录后上面显示的这一段路径。在这里插入图片描述

这里注意,Linux中路径分隔符是/,而Windows中路径分隔符是\。



4.cd


语法:cd [目录名]


功能:改变工作目录。将当前工作目录改变到指定的目录下。



原本目录下有5个文件,通过cd lesson5进入了lesson5目录下,可通过pwd验证。


Windows双击进入一个目录就相当于Linux中先cd进入目录再ls显示所有文件。


(1)-选项


用cd -可以跳转到之前所在的目录。



原来在lesson5目录,通过cd /进入根目录,再用cd -直接跳转回lesson5目录。


(2)~选项


cd ~可以直接进入当前用户的主工作目录。



5.tree


Linux的目录结构和文件的组织形式是以多叉树的形式组织的,也即一个目录可以包含多个目录,同时它也被某一目录包含(根目录除外)。


Linux中可以用tree指令来看目录的树形结构。



由树形图可以看出lesson5下面包含三个文件,显示的结构非常清晰、直观。


实际上几乎所有操作系统组织目录文件时都是树形,那么原因是什么呢?


这样安排是为了方便查找,所有的文件都有从根目录到被查找目录唯一的标识路径(因为每个目录的父目录只有一个)。


6.mkdir


语法:mkdir [选项] dirname


功能:默认在当前目录下创建一个名为 “dirname”的目录,想要在其它目录新建目录可在最后跟上对应路径



-p选项


后面可以跟上一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。



7.touch


语法:touch [选项] 文件


功能:touch命令参数可新建一个文件,或更改文件或目录的日期时间(很少用)



对应选项


touch的选项主要是和时间有关,但实际很少用touch来更改文件或目录的日期时间,此处仅列出选项及对应功能。


-a 或–time=atime或–time=access或–time=use只更改存取时间。

-c 或–no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或–time=mtime或–time=modify 只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间



8.rm及rmdir


相当于Windows中的删除。


rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。


语法:rmdir 文件名称


功能:删除空目录


rm命令可以删除文件,也可以删除目录


语法:rm [选项] 文件名称


功能:删除文件或目录



rm的选项


-r选项:删除目录及其下所有文件。

-f选项:即使文件属性为只读(即写保护),亦直接删除;不加该选项时系统会询问是否删除,加上以后不询问、直接删除。


这里介绍一个通配符*的概念



9.man


语法:man [选项] 命令


功能:Linux的命令有很多,不可能全记住,需要时可以通过查看联机手册获取帮助。访问Linux手册页的命令是man。


既然如此,就先用man命令查一下man命令怎么使用(命令行中输入man man),结果如下。



下面的数字1-9选项是man命令的选项,常用的是1-3。


当man后面不跟选项时,默认在1中查找。


10.cp


相当于Windows中的复制。


语法:cp [选项] 源文件或目录 目标文件或目录


功能:复制文件或目录


说明:cp指令用于复制文件或目录,可同时指定两个以上的文件或目录,且会把前面指定的所有文件或目录复制到最后一个目录中。



(1)-r选项


-r递归处理,将指定目录下的文件与子目录一并处理。




(2)-f选项


强行复制文件或目录, 不论目的文件或目录是否已经存在。


11.mv


相当于Windows中的剪切、重命名。


语法: mv [选项] 源文件或目录 目标文件或目录




选项


-f :如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件已经存在时,会询问是否覆盖


12.cat、tac


语法:cat [选项] [文件]


功能:查看目标文件的内容,注意不是查看目标文件的属性


选项:-n显示行号



tac与cat用法相同,但是tac将内容倒序打印且不能使用-n选项。



13.more、less


现在有一个十万行内容的文本文件,如果用cat来查看其内容,那么显示器上就会不停地刷屏直至结束,这样不利于观察细节。


(1)more


语法:more [选项][文件]


功能:cat,但是没次打印满显示器后会停止打印,且可以通过回车键进行下翻。


常用选项:

-n 对输出的所有行编号

-q 退出more



(2)less


less命令与more命令很像,但是less可以通过↑和↓方向键进行上翻和下翻。


more和less都适用于查看具有海量内容的文本,但是more仅支持下翻,而less支持上翻、下翻。


14.head、tail


head、tail分别用来显示开头、结尾某数量的文字区块,head 用打印文本的开头至标准输出中,而 tail打印文本的末尾至标准输出中,默认打印其相应文件的开头或末尾10行。



tail的使用与head同理。



15.echo


用于字符串的输出。



注意:echo重定向到文件时是覆盖的,会清除原来的内容,用新输入的内容覆盖之前的内容。


追加重定向,即在原文本内容之后继续追加内容。



16.|


管道符|可以连接两条命令,|的左边产生数据,通过管道符|把数据传输给|的右边。


如取出十万行文本的第1000行至第1010行,则可如下操作。



17.date


通过date可以显示系统当前的时间。



但直接使用date得到的结果看起来不方便,所以通过选项来控制格式化输出。



18.cal


cal命令可以用来显示公历(阳历)日历。


格式:cal [参数][月份][年份]


功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。


-3选项可以显示系统前一个月,当前月,下一个月的月历。


注意只能-3,不能是其它的数字。



19.find


Linux下find命令在目录结构中搜索文件,并执行指定的操作。find命令提供了相当多的查找条件,功能很强大。


find -name即可查找文件名为name的文件。


20.grep


grep是行过滤工具。


语法:grep [选项] 待搜寻的字符串 文件


功能:在文件中搜索某一字符串,将包含这一字符串的行打印出来


如查找十万行文本中带有"9999"字符串的文本。



(1)-n选项


-n选项可以输出对应文本所在的行。



(2)-v选项


反向选择,即打印不包含待搜索字符串的文本行。



(3)-i选项


加上-i后搜索字符串时会忽略大小写。



加上-i后最后一行多打印出一个"hello WORLD"的字符串,因为忽略了大小写。


21.zip、unzip


zip、unzip分别是压缩和解压缩指令。



将其余的文件删除,仅留下压缩包来测试unzip指令。



这里dir2消失仍是因为没有加上-r选项,没有对dir1下的目录进行处理,在压缩和解压缩时都加上-r选项即可解决。


22.tar


同样是打包和解包,但它可以不打开压缩包,直接查看其包含的文件和目录。

选项


-c :建立一个压缩文件的参数指令

-x :解开一个压缩文件的参数指令

-t :查看 tarfile 里面的文件

-z:即是否需要用 gzip 压缩

-j :即是否需要用 bzip2 压缩

-v :压缩的过程中显示文件(常用)

-C :解压到指定目录


23.bc


bc命令可以很方便的进行运算,相当于Linux中的计算器。



24.shutdown


关机指令


语法:shutdown [选项] 常见选项


选项


-h :将系统的服务停掉后,立即关机

-r :在将系统的服务停掉之后重新启动

-t sec :-t 后面加秒数,即sec秒之后关机



作者:山舟

出处:blog.csdn.net/weixin_51983604/article/details/119315580










关注GitHub今日热榜,专注挖掘好用的开发工具,致力于分享优质高效的工具、资源、插件等,助力开发者成长!






点个在看,你最好看



浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报