文件显示命令
cat命令
链接文件并打印到标准输出设备上,cat经常用来显示文件的内容。
$ cat m1 (在屏幕上显示文件m1的内容) $ cat m1 m2 (同时显示文件m1和m2的内容) $ cat m1 m2>mfile (将m1和m2合并后放入文件mfile中)
more命令
显示文件内容,每次显示一屏。
-num 显示多少行
-c或者-p 显示前清屏
-s 将文件中空白行压缩成一个空白行显示
+num 从行号num开始
$ more -dc mfile //显示文件内容,显示前先清屏,并在屏幕下方显示完整的百分比 $ more -c -10 mfile //显示mfile文件的内容,每10行显示一次,显示前清屏
head命令
在屏幕上显示指定文件的开头若干行。
$ head -5 mfile (显示mfile前5行) $ head -v mfile (显示文件mfile的内容,并且给出文件名标题) $ head -q mfile (显示文件mifile的内容,但不列出文件名标题)
tail命令
在屏幕上显示指定文件的末尾若干行。
$ tail mfile (显示文件mfile的最后10行) $ tail +20 mfile (显示文件mfile的内容,从第二十行至文件末尾) $ tail -c 10 mfile (显示文件mfile的最后10个字符)
匹配、排序及显示指定内容的命令
grep命令
$ grep -F mengqc /etc/passwd (在密码文件/etc/passwd中查找包含mengqc的所有行) $ grep -r 'print' mengqc (在mengqc目录下和子目录下的所有文件中查找字符串print出现的次数) $ grep -E '[Mm]ain|[Pp]rintf' f1 f2 (在文件f1和f2中查找包含main或printf的所有行,不区分首字母大小写) $ grep -i 'main|printf' (同上)
sort命令
对文本文件的各行进行排序。
$ sort more_h10 (对more_h10文件排序)
uniq命令
从排好序的文件中去除重复行。
$ uniq -u ex3 (显示文件ex3中不重复的行) $ uniq -d ex3 (只显示文件ex3中重复的行) $ uniq -c ex3 (显示输出时,在每行的首位加上该行在文件中出现的次数)
比较文件内容的命令
comm命令
对两个已经排序文件进行逐行比较。
$ comm -12 m1 m2 (比较m1和m2,并且只显示他们共有的行)
diff命令
比较两个文本文件,并找出他们的不同,而且不用预先排序。
-b 忽略空格造成的差别。 比如"How are you"和"How are you"被看做相同字符。
-i 忽略字母大小的区别。
-r 当文件1和文件2都是目录的时候,递归比较找到各自的子目录。
复制、删除和移动文件的命令
cp命令
将源文件或者目录复制到目标文件或目录中。
$ cp mfile /home/mengqc/exam1 (复制到/home/mengqc目录下,并改名为exam1) $ cp -r /home/mengqc /home/liuzh (将目录/home/mengqc下的所有文件以及子目录复制到/home/liuzh目录中) $ cp -i /home/mengqc/m*.c .home/liuzh (将目录/home/mengqc下的所有.c文件复制到/home/liuzh目录中)
rm命令
删除文件和目录。
$ rm -i test example (交互式删除当前目录下的文件test和example) rm:是否删除一般文件‘test’?n (不删除) rm: 是否删除一般文件‘example’?y (删除) $ rm -r * (删除目录下除隐含文件外的所有文件和子目录)
mv命令
对文件或目录重新命名,或者将文件从一个目录转移到另一个目录。
$ mv ex3 new1 (将文件ex3改名为new1) $ mv /home/mengqc/* . (将目录/home/mengqc中的所有文件移到当前目录(用“.”表示))
文件内容统计命令
wc命令
统计指定文件的字节数、字数、行数,并将统计结果显示出来。
-c, --bytes 统计字节数
-l, --line 统计行数
-w, --words 统计字数
$ wc -lcw ex1 ex2 (统计文件ex1和文件ex2的字节数、字数和行数) $ wc ex1 ex2 (不带选项,统计文件ex1和ex2的字节数、字数和行数)
上面两种情况,执行结果一样。