Linux常用命令


(1)ls


查看当前目录下所有目录和文件


【Linux全面学习】6.Linux常用命令(重点)_touch



ls -l会将目录和文件竖着排,并且可以提供文件数据


【Linux全面学习】6.Linux常用命令(重点)_tac_02


上图最左边以“d”开头的是目录,以“-”开头的是文件。后面是文件和目录的权限,后面是占了多少空间的大小,然后是创建人和所有人是谁,然后是实际当中所占空间,后面是创建的时间,最右边是目录或文件的名字。



ls -m会适合左右屏幕宽度将目录和文件列出



后面的不常用的不再介绍,用到可以去查



(2)cd


打开目录



cd /打开根目录


cd /dev 打开dev目录(绝对路径)


cd /之后再cd dev 打开dev目录(相对路径)


cd ..返回上层路径



(3)pwd


查看当前路径是什么


【Linux全面学习】6.Linux常用命令(重点)_tail_03



(4)mkdir,rmdir,touch,rm


“创建目录”和“移除目录”



首先在根目录下创建一个测试目录,我们在这个目录下进行目录的创建与移除实验:


【Linux全面学习】6.Linux常用命令(重点)_ls_04



我们在测试目录下创建一个目录,叫dl


【Linux全面学习】6.Linux常用命令(重点)_tail_05



删除dl目录使用“rmdir dl”


【Linux全面学习】6.Linux常用命令(重点)_ls_06



然后我们重新创建dl目录,在dl目录下创建一个ddl目录


【Linux全面学习】6.Linux常用命令(重点)_tail_07



此时我们再去删除dl目录的时候,是删除不掉的


【Linux全面学习】6.Linux常用命令(重点)_touch_08


错误信息为“目录非空”。也就是说rmdir指令只能删除内容为空的目录。但是一般我们不用这个,可以直接删除文件夹而不用判断文件夹是否为空的时候,使用“递归”算法来删除目录。Linux给我们提供了递归删除的指令“rm -r”



我们来删除dl目录一级目录下所有文件


【Linux全面学习】6.Linux常用命令(重点)_tail_09


但是一直会弹出询问框问你是否要删除,这样很麻烦,所以常用的还有一个指令是强制删除叫“rm -rf dl”,会直接删除该目录一级目录下的所有文件。


【Linux全面学习】6.Linux常用命令(重点)_echo_10



“rm -rf”命令不仅可以删除目录,也可以删除文件。我们创建dl,在dl下创建一个名为“test”的文件:


【Linux全面学习】6.Linux常用命令(重点)_tail_11


上面我们还创建了一个dd1的目录与其作比较,“-”打头的是目录,“d”打头的是文件。



我们使用“rm -rf”命令删除文件:


【Linux全面学习】6.Linux常用命令(重点)_touch_12



(5)cp,mv


cp就是copy拷贝的意思,而mv就是move移动的意思



在dl下创建“dd1”目录和一个名为“test2”的文件,然后我们返回父级目录testdir使用“ls -R”查看文件一层一层的整体结构:


【Linux全面学习】6.Linux常用命令(重点)_tail_13



我们来到dl下,将test2文件拷贝一个为test3


【Linux全面学习】6.Linux常用命令(重点)_ls_14



但是我们不能直接用“cp”去拷贝目录,需要使用“cp -r”使用递归的方式去拷贝目录,这样的拷贝就能将目录以及目录下的所有文件拷贝:


【Linux全面学习】6.Linux常用命令(重点)_echo_15



我们接下来使用“mv”指令,dd1文件夹移动到父级目录testdir中


【Linux全面学习】6.Linux常用命令(重点)_tac_16



移动目录下有子目录有子文件什么的,还是要加“-r”进行递归移动。



(6)vi


向文件中编辑信息的指令,也是一个文本编辑器。



我们在dirtest目录下执行“vi test3”,如果存在test3文件,就编辑它,如果不存在就创建test3然后编辑它


【Linux全面学习】6.Linux常用命令(重点)_tail_17



按回车我们进入文件的编辑:


【Linux全面学习】6.Linux常用命令(重点)_tac_18



默认进入,是“命令模式”,就是说不能直接在文件中打字,需要输入命令,我们这里使用“append”切换到编辑文字模式,可以打字


【Linux全面学习】6.Linux常用命令(重点)_tac_19



敲“ESC”回到命令模式,然后敲冒号“:”就可以输指令,敲“w”是存盘,敲“q”是退出,敲“q!”是不存盘退出,敲“wq”是存盘并退出,我们这里存盘退出


【Linux全面学习】6.Linux常用命令(重点)_tac_20



其它的编辑命令还有很多,不用记,只需要记最基本的就好,需要再去查相关文档。



(7)more,cat,tac,head,tail


列出文件中的详细内容,more,cat,tac分别为“详细内容”,“正序内容”,“逆序内容”。



我们查看刚刚我们创建的test3文件的内容,分别使用more,cat,tac指令查看:


【Linux全面学习】6.Linux常用命令(重点)_touch_21



还有一个head和tail指令:


用法:


head将每个指定文件的头X行显示到标准输出。比如我们只想看文件的前面3行:

【Linux全面学习】6.Linux常用命令(重点)_tac_22


tail将每个指定文件的末尾X行显示到标准输出。比如我们只想看文件的最后3行:


【Linux全面学习】6.Linux常用命令(重点)_tac_23



(8)find


查找文件所在的位置(按照大小/时间等条件)



假设我们记不清test2在testdir目录下哪里了(连名字也只记得含有est2),我们就使用以下指令来搜索:


【Linux全面学习】6.Linux常用命令(重点)_tac_24



(9)whereis


whereis+命令名,如“whereis ls”,它会告诉你ls这个命令从哪来的,敲ls命令的时候执行的是哪一个文件,以及这个命令它的一些帮助文档在什么地方。


【Linux全面学习】6.Linux常用命令(重点)_tac_25



(10)echo


通过命令行查看当前所用的环境变量指的是什么(这个指令window几乎一样)


【Linux全面学习】6.Linux常用命令(重点)_echo_26


分隔符是冒号“:”



(11)ln


ln是链接命令。我们下面来使用它


首先我们创建一个test文件夹,然后在下面创建一个3.txt的文本文档


【Linux全面学习】6.Linux常用命令(重点)_touch_27


我们使用vi命令在3.txt中存入以下信息


【Linux全面学习】6.Linux常用命令(重点)_echo_28



我们将3.txt链接到4,然后我们查看4的内容,发现和3一摸一样:


【Linux全面学习】6.Linux常用命令(重点)_touch_29


那么大家会认为,链接和拷贝不是一样的效果吗?其实不是,链接的情况,当修改3的内容的时候,4的内容也会跟着改:


【Linux全面学习】6.Linux常用命令(重点)_echo_30

【Linux全面学习】6.Linux常用命令(重点)_tac_31



他们是两个不同的文件,而这两个文件之间存在关联,这就叫链接,而且上面那种叫做“硬链接”,就是相当于把文件复制了一份,然后在两个文件中加链接。



还有一种叫做“软连接”,也叫符号链接(加-s,-s就是single),相当于windows的“快捷方式”,只是以某个文件做导向,文件本身没有内容。


【Linux全面学习】6.Linux常用命令(重点)_tail_32



我们把3.txt删除就可以看出区别来,我们将3.txt删除,看看4和5分别是什么:


【Linux全面学习】6.Linux常用命令(重点)_echo_33


我们可以看到,4还依旧存在,而5因为缺失链接已经失效了。



​​​