在Linux系统中,文件和目录命令是操作系统的基本命令,如打开目录、查看文件内容、删除等操作都需要使用这些基本命令,只有熟练掌握这些基本命令才能进一步学习其他的操作命令,因此本节将首先学习目录的操作命令。目录也称为文件夹,简单来说就是存放文件的位置。
pwd是Print Working Directory的简写。pwd命令用于打印用户当前的工作路径,使用时通常不用接任何选项,格式如下:
#打印当前工作目录的位置 [root@localhost ~]# pwd /root
cd是Change Directory的简写,cd命令用于切换工作目录,即从一个目录切换到另外一个目录。需要注意的是,cd和目录名之间至少存在一个空格。命令格式如下:
cd 目录名
在Linux系统中表示某个目录或文件的工作路径时,根据起始位置不同分为绝对路径和相对路径两种。绝对路径一般都是以根目录“/”为起始点,当路径名较长时书写就比较烦琐,但是不容易出问题;相对路径一般是以当前目录名为起始点,书写比较简单,通常用于表示当前目录下其他文件的位置。下面是详细的示例。
#从当前路径切换到/usr/local目录下,使用绝对路径,最后使用pwd命令确认工作目录是否发 生改变 [root@localhost ~]# cd /usr/local/ [root@localhost local]# pwd /usr/local #使用相对路径从当前目录切换到/usr/local/share目录下,share目录前面的“./”也是可 以省略的,符号“.”表示当前路径 [root@localhost local]# cd ./share [root@localhost share]# pwd /usr/local/share #符号“..”表示上一级目录,表示相对路径。例如,从当前目录/usr/local/share返回到其 上一层目录/usr/local,注意“..”后面的左斜杠“/”可以省略 [root@localhost share]# cd ../ [root@localhost local]# pwd /usr/local #使用相对路径,从/usr/loca目录切换到当前用户的宿主目录/root下,符号“~”表示当前用 户的宿主目录,其实“~”等同于/root这个绝对路径的写法 [root@localhost local]# cd ~ [root@localhost ~]# pwd /root #符号“-”表示返回用户最近操作的一次目录(前一个工作目录),使用的是相对路径,此时工作 目录为/root,之前是从/usr/local目录切换过来的,因此执行后会切换到/usr/local目录 [root@localhost ~]# cd - /usr/local [root@localhost local]# pwd /usr/local
ls是List的简写,ls命令用于显示指定目录下的相关文件信息,根据后面接的选项不同,显示的信息也不同。命令格式如下:
ls 选项 参数
ls命令的选项比较多,这里只罗列出使用频率较高的选项以供参考。当然,一条命令后面可以同时使用多个短格式的选项,选项说明如下:
·-a:显示隐藏文件(当前目录.和上级目录..)。
·-A:显示隐藏文件。
·-R:递归显示所有子目录的文件信息。
·-l:显示详细信息。
·-d:只显示当前目录。
·-h:以人性化的方式(以KB/MB/GB等)显示文件大小。
·-s:显示文件占用的磁盘空间大小(块大小)。
·-i:显示文件索引节点号(记录文件信息)。
下面的示例是对以上选项用法的详细演示。
#显示当前工作目录下的文件和目录信息,不包括隐藏的,演示目录为/root [root@localhost ~]# ls anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 #显示当前工作目录下所有文件和目录的详细信息,并以人性化方式(以KB/MB/GB等)显示文件 的大小、占用的磁盘空间及索引节点号 [root@localhost ~]# ls -lhsi 总用量 8.0K 33574978 4.0K -rw-------. 1 root root 1.8K 11月 29 17:22 anaconda-ks.cfg 33574983 4.0K -rw-r--r--. 1 root root 1.8K 11月 29 17:33 initial-setup-ks.cfg 65567 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 公共 51847064 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 模板 65568 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 视频 51847065 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 图片 18108186 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 文档 34942554 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 下载 34942555 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 音乐 18108185 0 drwxr-xr-x. 2 root root 6 11月 29 20:03 桌面
mkdir是Make Directory的简写,mkdir命令用于创建目录,即新建空的文件夹,可以同时创建多个目录,选项-p用于创建多层目录。当创建多层目录时如果不接-p选项就会报错。命令格式如下:
mkdir 选项 参数
下面我们在/opt目录下演示mkdir命令的使用方式,注意查看显示结果。
#在/opt目录下新建空的目录test1,这里使用的是相对路径 [root@localhost opt]# mkdir test1 [root@localhost opt]# ls test1 #在/opt目录下同时新建test2和test3两个目录,这里使用的是相对路径 [root@localhost opt]# mkdir test2 test3 [root@localhost opt]# ls test1 test2 test3 #批量新建多个目录,使用{a..z}或{1..10}连续集合的方式表示,也可以使用{目录名1, 目录名2,……}取值列表的方式表示 [root@localhost opt]# mkdir {a..f} [root@localhost opt]# ls a b c d e f rh [root@localhost opt]# mkdir {aa,bb,cc} [root@localhost opt]# ls a aa b bb c cc d e f rh #在/opt目录下新建二级子目录a,然后在a目录下新建三级子目录b,目录结构最终是/opt/a/b, 这里使用选项-p和相对路径来实现,并使用ls –R命令进行查看 [root@localhost opt]# mkdir -p a/b [root@localhost opt]# ls -R a a: b a/b:
du是Disk Usage的简写,du命令用于统计目录或文件占用的磁盘空间。后面的参数既可以是目录名也可以是文件名。如果不接参数,则默认统计当前工作目录中的信息。命令格式如下:
du 选项 参数
下面列出了du命令中使用频率较高的选项,同样,短选项可以同时使用多个。
·-a:统计文件(默认只统计目录占用的磁盘空间)。
·-h:以人性化方式(KB/MB等)显示文件占用的磁盘空间。
·-B:磁盘空间大小,默认已经接上该选项,被省略掉了。
·-b:统计文件本身占用的空间。
·-s:统计占用的磁盘空间。
下面的示例是以/root目录中的文件进行演示,注意查看显示结果。
#统计/root目录占用的磁盘空间并以人性化的方式显示 [root@localhost ~]# du -sh /root 7.0M /root #使用-a选项统计/root目录下的所有文件和目录占用的磁盘空间,以人性化的方式显示,如果不 使用该选项则只统计目录,这里结果太多就不一一显示了。 [root@localhost ~]# du -ha /root #使用ls -lhs查看/root/initial-setup-ks.cfg文件的详细信息,主要是查看第一列(占 用的磁盘空间)和第六列(文件本身占用的空间),再分别使用du中的-b和-B选项查看统计的 结果是否正确 [root@localhost ~]# ls -hls /root/initial-setup-ks.cfg 4.0K -rw-r--r--. 1 root root 1.8K 11月 29 17:33/root/initial-setup-ks.cfg #使用-B选项统计文件占用的磁盘空间,其实默认接的就是该选项,可以直接省略 [root@localhost ~]# du -Bh /root/initial-setup-ks.cfg 4.0K /root/initial-setup-ks.cfg #使用-b选项统计文件本身占用的空间 [root@localhost ~]# du -bh /root/initial-setup-ks.cfg 1.8K /root/initial-setup-ks.cfg
注意:对于目录的复制、剪切、删除,全部放到文件的操作命令中一起介绍。