管理文件和目录的命令
几个经常使用的管理文件和目录命令的功能如表 3-1 所示:
表3-1 管理文件和目录的命令
命令 功能
pwd 判定当前目录
cd 改变所在目录
ls 查看目录下的内容
cat 显示文件的内容
grep 在文件中查找某字符
touch 创建文件
cp 复制文件
mv 移动文件
rm 删除文件
一. 创建和删除目录的命令
1.mkdir 命令
(1)一般格式:mkdir [选项] 目录名
(2)说明:该命令创建由目录名命名的目录。
(3)举例1: 在目录 /usr/fedora 下建立子目录data,并且只有文件主有读、写和执行权限(即700 指
rwx------),其余用户无权限访问。
[root@localhost/root]#mkdir -m 700 /usr/fedora/data
(4)举例2:在当前目录中建立inin 和inin下的/mail目录,也就是连续建两个目录。
$ mkdir -p -m 700 ./inin/mail/
2.rmdir 命令
当目录不再被使用时或者磁盘空间已到达使用限定值,就需要从文件系统中删除失去使用价值的目录。
(1)一般格式:rmdir [选项] 目录名
(2)说明:该命令从一个目录中删除一个或多个空的子目录。
(3)举例:删除子目录 bak 和其父目录 bin。
[root@localhost /root]#cd /usr/fedora
[root@localhost /root]#rmdir -p /bin/bak
二. 改变工作目录和显示目录内容命令
1.cd 命令
(1)一般格式:cd [目录名]
(2)说明:该命令用来改变工作目录。当不带任何参数时,返回到用户的主目录。
(3)举例:将当前目录改到 /usr/li
[root@localhost /root]#cd /usr/li
2.pwd 命令
(1)一般格式:pwd
(2)说明:该命令不带任何选或参数,用于显示出当前工作目录的绝对路径。
(3)举例:显示当前工作目录。
[root@localhost/root]#pwd
/root
3.ls 命令(英文单词 list 的简写,类似于DOS下的dir 命令)
(1)一般格式:ls [选项] [目录或文件]
(2)说明:该命令列出指定目录的内容,默认情况下,输出条目按字母顺序排列。
(3)举例:列出当前目录的内容,并按修改时间排序。
[root@localhost/root]#ls -c
data m1.c Desktop mbox anaconda-ks.cfg
wc.txt m2.c chap.txt evolution install.log
m3.c a.c w.txt Screenshot.png install.log.syslog
(4)参数:
默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
命令中各选项的含义如下:
- a 显示指定目录下所有子目录与文件,包括隐藏文件。
- A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- b 对文件名中的不可显示字符用八进制逃逸字符显示。
- c 按文件的修改时间排序。
- C 分成多列显示各项。
- d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使用,以得到目录的详细信
息。
- f 不排序。
- F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面
标记“|”,socket文件后面标记“=”。
三. 链接文件的命令
链接文件命令是 ln 命令,该命令在文件之间创建链接。这种操作实际上是给系统中已有的某个文件指定另
外一个可用于访问的名称。
(1)一般格式: ln [选项] 源文件 [目标]
(2)说明:链接的对象可以是文件,也可以是目录。
(3)举例: 将目录/usr/fedora下的文件m1.c 链接到目录/usr/li下文件a2.c
[root@localhost/root]#ln /usr/fedora/m1.c /usr/li/a2.c
四. 文件显示命令
1.cat 命令
cat 命令连接文件并打印到标准输出设备上
(1)一般格式:cat [选项] 文件名1 [文件名2]
(2)说明:该命令有两项功能,其一是用来显示文件的内容。
(3)举例:用 cat 命令显示 clear.txt 文件内容
[root@localhost/root]$cat clear.txt
2.more 命令
在终端屏幕按屏显示文本文件。如果文件太长,用 cat 命令只能看到文件的最后一页,而用 more 命令时
可以一页一页地显示。
(1)一般格式:more [选项] 文件名
(2)说明:该命令一次显示一屏文本,满屏后显示停下来,并且在每个屏幕的底部出现一个提示信息,给
出至今已显示的该文件的百分比:--More-(xx%)。
(3)举例:以每页 10 行的格式显示文件chap.txt。
[root@localhost/root]#more –10 clear.txt
3.less 命令
与 more 命令一样,less 命令也用来分屏文件内容,但功能比 more 命令还强大。
(1)一般格式:less [选项] 文件名
(2)说明: less 实际上是 more 的改进版,其命令的直接含义是的 more 反义。它的功能比 more 命令
更灵活。
(3)举例:
同 more
4.head 命令
head 命令在屏幕上显示指定文件的开头若于行。
(1)一般格式:head [参数] 文件名
(2)说明: head 命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定。显示行数的默认值是
10 。
(3)举例:
显示 Test 文件的前 5 行
输入: head -5 Test 或者 head -n 5 Test
5.tail 命令
tail 命令在屏幕上显示指定文件的末尾若干行。
(1)一般格式:tail [参数] 文件名
(2)说明:显示文件的最后部分内容。
(3)举例:显示 cd.txt 文件的最后 10 行。
[root@localhost/root]#tail cd.txt
五. 匹配、排序命令
1.grep 命令
该命令用来在文本文件中查找指定模式的单词或短评,并在标准输出上显示包括给定字符串模式的所有行
(1)一般格式:grep [选项] 文件名
(2)说明: grep 命令在指定文件中搜索特定模式以及定位特定主题等方面用途很大。
(3)举例:在口令文件 /etc/passwd 中查找包含“xyz” 的所有行
[root@localhost /root]#grep –f xyz /etc/passwd
54:xyz:x:504:504:wuxueyi:/home/xyz:/bin/bash
2.find 命令
在目录结构中搜索满足查询条件的文件,并执行指定的操作。
(1)一般格式:find [路径…][表达式]
(2)说明: find 命令从左向右分析各个参数,然后依次搜索目录。
(3)举例:查找当前目录中所有以 m 开头的、后随一个字母或数字的 .c 文件,并交互式地显示某些文件
内容。
[root@localhost /root]#find -maxdepth 1 –name ‘m?.c’ –ok cat{}\;
3.sort 命令
sort 命令用于对文本文件的各行进行排序。
(1)一般格式: sort [选项] 文件列表
(2)说明: sort 命令将逐行对指定文件中的所有行进行排序,并将结果显示在标准输出上。
(3)举例:系统中有文件 a.c,它的内容为:
x f b e I
4.uniq 命令
该命令显示文件中所有不重复的行。
(1)一般格式: uniq [选项] 文件
(2)说明: uniq 命令读取输入文件,并比较相邻的行,去掉重复的行,只留下其中的一行。
(3)举例:显示文件 a.c 中不重复的行。
[root@localhost /root]# uniq –u a.c
六. 比较文件内容的命令
1.comm 命令
该命令用来在文本文件中查找指定模式的单词或短评,并在标准输出上显示包括给定字符串模式的所有行
(1)一般格式: comm. [-123] 文件1 文件2
(2)说明: comm 命令对两个已经排好序的文件进行逐行比较。
(3)举例:对文件 m1.c 和 m2.c 进行比较,只显示它们共有的行
[root@localhost/root]#comm –12 m1.c m2.c
2.diff 命令
(1)一般格式: diff [选项] 文件1 文件2
(2)说明:该命令逐行比较两个文件,列出它们的不同之处,并且告诉用户,为了使两个文件一致,需要
修改它们的哪些行。
(3)举例:用 diff 命令比较文件 m1.c 和 m3.c 的区别
[root@localhost /root]#diff m1.c m3.c
七. 复制、删除和移动文件的命令
1.cp 命令(如同 DOS 下的 copy 命令)
(1)一般格式: cp [选项] 源文件或目录 目标文件或目录
(2)说明: cp 命令将源文件或目录复制贝到目标文件或目录中。
(3)举例:将文件 m3.c 复制到目录/usr/fedora/tem下,并改名为m3bak.c
[root@localhost/root]#cp m3.c /usr/fedora/tem/m3bak.c
2.rm 命令
(1)一般格式: rm [选项] 文件列表
(2)说明:该命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件
及其子目录均删除。
(3)举例:交互式删除当前目录下的文件 test 和example。
[root@localhost/root]#rm -i test example
Remove test ? y
Remove example ? n
将删除文件 test 。
3.mv 命令(如同DOS下的ren和move的组合)
(1)一般格式:mv [选项] 源文件 目标文件
(2)说明:该命令用来移动文件或目录,同时还可以在移动的同时修改文件名或目录名。
(3)举例:将文件 m3.c 改名为 m3b.c 。
[root@localhost/root]#mv m3.c m3b.c