$():将一个命令的输出插入到另一个命令。比如:mkdir $(date "+%Y-%m-%d") 则会创建一个以当前日期为名字的文件夹
|:表示管道,把它放在两个命令之间可以将第一个命令的输出作为第二个命令的输入,比如:ps -ef | grep _d,就是把ps -ef的输出内容作为grep的输入。
>>:将输出追加到文件的底部
cat -n:可以显示行号
cat file1 file2:同时显示file1 file2的内容,file2文件的内容是直接跟在file1后面的没有分隔符什么的
cat file1 file2 > file3 将file1 file2的内容重定向到file3
tag:从最后一行显示到第一行,功能正好和cat相反
less:同cat,但是每次只显示一页,对大文件很有用。再按“=”可以在屏幕底部显示文件信息 加 -N(LINE-NUMBERS)参数可以显示行号,输入/加上要搜索的内容可以搜索,按N向后重复搜索,n向前。浏览时按v可以进行编辑,如果要改变默认的编辑器在运行less之前运行export EDITOR=vim
head:查看文件的前10行
head file1 file2:查看多个文件前10行,每个文件之间会有一个空行和标题分开。加上-n num可以选择设置查看文件的前几行,-c(--bytes) 指定查看前几个字节。
tail:查看一个文件的最后10行。-f参数可以查看一个或多个文件中不断更新的最后几行,这种方法可以查看日志文件随时发生的所有变化,非常有用。
归档压缩
zip -P 123456 a.zip b.txt表示将b.txt压缩为a.zip 压缩密码为123456。最好不要用-P选项,因为这样会把从shell历史中查看到密码。-e选项会提示输入密码,不会保存是shell历史记录中。
unzip 解压缩,-v选项可以显示详细信息。-l选项可以不解压而是列出zip里面的文件。 有时候压缩文档会发生损坏,-t选项可以对文档进行测试。
gzip:压缩文件后会删除原来的文件,如果想保留源文件可以使用-c选项,并且必须将输出重定向到一个文件。比如gzip -c a.txt > b.txt.gz。
gunzip :解压缩gz文件。
tar -zcvf a.tar.gz b.txt:z表示gzip,v表示查看具体细节,c表示创建一个tarball,f表示为tarball指定文件名,如果要使用bzip2来代替gzip则可以将
-z换成-j,生成的文档扩展名为.tar.bz2或者.tar.bzip2。 要解压只需要将-c替换为-x(extract)即可。
tar -zvtf :测试要解开和解压的tarball,要确保f在最后。
grep
grep -w:精确匹配。
grep -n:显示搜索结果在文件中的行号。
grep -l:列出包含搜索内容的文件名。(--file-with-matches)
find
find / -name ***:/表示绝对路径,结果集也会以绝对路径显示,如果是相对路径.那么结果集也会用相对路径显示。
-user:选项根据拥有者来搜索。find . -user root。查找不是某用户的文件加!。如:find . ! -user root。
-group:选项根据用户组来查询搜索。
-size:选项根据大小来搜索查找。如:find . -size 10M。M表示兆。前面加一个+表示大小大于10M。
-type:选项根据类型来。f:普通文件;d:目录;l:符号链接;b:块文件;c:字符文件;p:FIFO文件;s:套接字。
-a:可以将多个选项组合起来,find . -name *** -a -type f。相当于and的意思。
-o:相当于or。
-n:相当于not。
find -exec:对搜索到的每个文件执行命令,如:find . -name " *MP3" -exec rename 's/MP3/mp3/g' {} \;,{}符号代表找到的每个文件,并用\对分好进行转义作为命令的结束,这样shell就不会把它理解为命令栈的标志; 表示将MP3扩展名的文件改为mp3。rename命令后面是关于文件名如何变化的指令,格式为:s/old/new/g,s代表substitute(代表),g代表global(目标)。
-fprintf:选项将搜索结果打印到一个文件。如find . ! \( -name "*mp*" -o -name "*ogg" -type d \) -fprintf non_music_files.txt。