I/O and string related
CAT
cat file_name:显示这个文件的内容。
cat -n file_name:显示这个文件的内容,并且在行首标明行号。
cat file_name1 file_name2:显示两个文件的内容。
HEAD
head -n 2 file_name:显示这个文件的前两行内容。
head -n 2file_name1 file_name2:分别显示这两个文件的前两行内容。
head -2 file_name:显示这个文件的前两行内容。
head -2 file_name1 file_name2:分别显示这两个文件的前两行内容。
TAIL
tail -2 file_name:显示这个文件的最后两行内容。
tail -n 2 file_name:显示这个文件的最后两行内容。
tail -n 2 file_name1 file_name2:分别显示这两个文件的最后两行内容。
ECHO
echo hello world > file_name:输出字符串“hello world”到文件中去。
echo "hello world" > file_name:输出字符串“hello world”到文件中去。
使用“>”会覆盖原来的数据。使用“>>”可以累加数据。
echo "hello world":在命令行显示字符串“hello world”。
echo hello world:在命令行显示字符串“hello world”。
GREP
grep key file_name:在文件中查找关键词。key是关键词。
grep key file_name1 file_name2:在这两个文件中中查找关键词。key是关键词。
grep 'hello world!' file_name:在文件中查找'hello world!'这个关键词。这个关键词含有空格,必须用单引号引起来。
AWK
df:打印文件系统的信息。
我们都知道会打印出:文件系统的名称,文件系统总大小,已用空间,可用空间,已用百分比,挂载点。共6列。
df | awk '{print $6}':会仅仅打印出第6列,挂载点。
df | awk '{print $1,$2,$6}':会打印出第1列,第2列,第6列。
df | awk '{print $NF}':会仅仅打印出最后一列,挂载点。
df | awk '{print}':会打印出所有信息,同df。
df | awk '{print $0}':会打印出所有信息,同df。
df | awk '{print $1,$2,$6}':会打印出第1列,第2列,第6列。
TAR
tar -cf new_name file1 file2:将文件1和文件2打包成一个新文件。
tar -cwf new_name dir_name:将目录打包成一个文件。加入每个文件时会询问用户是否加入。(目录本身也是一个文件)
tar -xf file_name:解开这个文件。
tar -xwf file_name:解开这个文件。提取每个文件时会询问用户是否提取,按y键提取,按n键不提取。
GZIP
gzip file_name:压缩一个文件,并在其文件名后面加上“.gz”。
gunzip file_name:解压一个文件。
gzip -d file_name:解压一个文件。
gzip -l file_name:查看一个压缩文件的压缩效果。
gzip -t file_name:检查一个压缩文件的完整性。(如果文件正常,用户并不能看到任何结果。)
gzip -tv file_name:检查一个压缩文件的完整性,并且用户可以看到结果。
DIFF
diff file_name1 file_name2:比较两个文件的不同。
diff -y file_name1 file_name2:并列比较两个文件的不同。在不同行之间会有一个“|”符号。(diff是按行来比较的)
PATCH
LESS
less file_name:一页一页显示这个文件。
按 空格 向下翻页,按 B 向上翻页。
使用 光标键 一行一行地移动。
按 / 再按一个字符串查找这个字符串并高亮显示。
按 q 退出。
MORE
more file_name:一页一页地显示这个文件的内容。按 回车 向下看一行,按 空格 翻页。
more file_name1 file_name2:一页一页地显示这两个文件的内容。按回车向下看一行,按空格翻页。
XARGS
------------------------------------------------------------------------------------XARGS
假如有一个文件:test.txt
cat dog
lion tiger rabbit
fish
cat test.txt:会原封不动输出。
cat dog
lion tiger rabbit
fish
cat test.txt | xagrs:会输出"cat dog lion tiger rabbit fish"。一行输出。但是会将原文的空格和回车作为分割符。
cat test.txt | xagrs -n 2:会每行两个单词输出。
cat dog
lion tiger
rabbit fish
cat test.txt | xagrs -n2:也会每行两个单词输出。
cat dog
lion tiger
rabbit fish
------------------------------------------------------------------------------------XARGS
假如有又一个文件:test2.txt
sfg213dssdfWfgfdsgdfWasdfsdf
cat test2.txt | xargs -dW:会输出"sfg213dssdf fgfdsgdf asdfsdf"。
cat test2.txt | xargs -dW -n2:会每隔两个项目输出
sfg213dssdf fgfdsgdf
asdfsdf
这里使用了“W”作为分割符。分割符只能使用一个字符。
------------------------------------------------------------------------------------XARGS
find . -type f -name "*.c" -print0:找出当前目录中的所有c文件。一行输出。
find . -type f -name "*.c" -print0 | xargs -0:找出当前目录中的所有c文件。每个c文件被分隔开了。
每个c文件名就是一个字符串,字符串末尾有一个“\0”结束符。xargs使用-0选项意思是把\0当作分割符。