linux文件及目录常用管理命令 目录存放着Linux的源代码( 二 )


[rootlocalhost mfkddd]# cd test1/test2/test3<==切换目录
[rootlocalhost test3]#<==已切换到此目录
2.2.4 rmdir:删除一个空的目录 。
rmdir命令删除目录时需要一层一层地进行,而且被删除的目录必须是空目录 。如果要将目录下的所有东西都删除,需要在rmdir命令后面加上-p参数 。
当直接用rmdir命令删除一个多级目录时,将出现提示错误信息:目录不为空 。
[rootlocalhost mfkddd]# rmdir test1/<==删除test1目录
rmdir: 删除 \"test1/\" 失败: 目录非空<==删除失败
[rootlocalhost mfkddd]#
为了解决上述问题,在rmdir命令后面加上参数-p。rmdir只是针对目录,且在目录内没有其他文件的情况下使用 。如果既要删除目录又要删除文件,可以用rm命令来实现 。
[rootlocalhostmfkddd]# rmdir -p test1/test2/<==删除多层目录,加-p参数
[rootlocalhostmfkddd]#
2.3 关于执行文件路径的变量$PATH
当执行一个命令时,如ls,系统会按照PATH的设定到每个PATH定义的目录下查找文件名为ls的可执行文件 。如果在PATH定义的目录中含有多个名为ls的可执行文件,那么先查询到的同名命令就会先被执行 。
使用echo $PATH命令可以有哪些目录被定义 。echo命令的作用是显示或打印文件内容,而PATH前面加的$表示后面接的是变量,所以会显示目前的PATH 。
[rootlocalhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PATH一定要大写,这个变量的内容由一堆目录组成,每个目录使用(:)分隔,每个目录有顺序之分 。无论是root还是其他用户都有/bin或/usr/bin这个目录在PATH变量内,所以就能在任何地方执行ls命令来找到/bin/ls执行文件 。
2.3.1 在PATH中加入目录的方法如下(例如在任何目录均可执行/root目录下的命令,那么就将/root加入到PATH当中即可) 。
[rootlocalhost ~]# PATH=”${PATH:/root}”
2.3.2 PATH的特点 。
a.不同身份用户预设的PATH不同,因此预设能够随意执行的命令也不同;
b.PATH是可以修改的;
c.使用绝对路径或相对路径直接指定某个命令的文件名进行执行,会比查找PATH正确率更高;
d.命令应该要放到正确的目录下,执行起来会更加方便;
e.本地目录(.)最好不要放到PATH中 。
三、文件与目录管理
Linux的目录结构为树状结构,最顶级的目录为根目录,其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们 。
Linux中可以使用ls、cd、mkdir、cp、mv和rm等常见命令对文件或者目录进行处理,示例如下 。
3.1 列出/tmp目录下的所有文件/文件夹 。
[rootlocalhost tmp]# ls /tmp<==tmp目录下的所有文件
xuedaoxuedao.tar
[rootlocalhost tmp]#
3.2 直接用ls命令,表示当前目录下的所有文件/文件夹 。
[rootlocalhost tmp]# ls<==当前目录下的所有文件
xuedaoxuedao.tar
[rootlocalhost tmp]#
3.3 当前目录下所有文件的详细属性/信息 。
[rootlocalhost tmp]# ls-l<==当前目录下所有文件的详细信息
总用量 16
-rw-r--r--. 1 root root52 12月 25 00:09 xuedao
-rw-r--r--. 1 root root 10240 12月 24 22:24 xuedao.tar
[rootlocalhost tmp]#
3.4 切换到home目录 。
[rootlocalhost ~]# cd /home/
[rootlocalhost home]# pwd
/home
3.5 在/root目录下创建test目录 。
[rootlocalhost ~]# mkdir test
[rootlocalhost ~]# ls
test
四、文件内容
4.1 文件命令:cat、tac、nl
操作命令前先在/tmp目录下用vi xuedao命令创建一个xuedao文件,并在里面写入第1~3行的内容,操作如下:
[rootlocalhost tmp]# vi xuedao<==使用vi编辑器打开文件
1Hello xuedao 001
2Hello xuedao 002
3.xuedaon.com
下面将介绍tac命令的使用与tac和cat两个命令之间的区别 。
4.1.1 ac命令也是用来文件内容的,只不过tac命令是从最后一行开始显示文件的信息,与cat命令恰好相反 。tac xuedao命令,如下:
[rootlocalhost tmp]# tac xuedao<==从最后一行开始显示xuedao文件
3.xuedaon.com
2Hello xuedao 002
1Hello xuedao 001
[rootlocalhost tmp]#
4.1.2 nl命令是命令,它与cat或tac命令的区别在于nl命令默认带行号显示内容 。
语法格式如下:
nl [参数] [文件]
参数如下 。
-b指定行号的方式,主要有以下两种 。
-b a:表示不论是否为空行,也同样列出行号(类似于cat -n) 。
-b t:如果有空行,则空的那一行不列出行号(默认值) 。
nl命令的示例如下: