Linux环境常用命令汇总
tar命令
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
- c :表示创建,用来生成文件包。
- x : 表示提取,从文件包中提取文件。
- t :列出文件包中的内容。
特别注意,在参数的下达中,c/x/t 仅能存在一个,因为不可能同时压缩与解压缩。
辅助选项:
- -z :使用 gzip 方式处理,一般格式为xx.tar.gz或xx.tgz
- -j :使用 bzip2 方式处理,一般格式为xx.tar.bz2
- -v :压缩/解压时显示处理过程
- -f :使用档名,注意,在 f 之后要立即接档名,不可再加其他参数!
- --exclude FILE:在压缩的过程中,不要将 FILE 打包。
例子:
(1) 压缩某个目录dirA
$ tar -czvf dirA.tar.gz dirA // 将目录dirA压缩为dirA.tar.gz,以gzip方式压缩
$ tar -cjvf dirA.tar.bz2 dirA // 将目录dirA压缩为dirA.tar.bz2,以bzip2方式压缩
特别注意:
- 在参数 f 之后的文件档名是自己取的,习惯上都用 .tar 来作为辨识。
- 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file 。
- 如果加 j 参数,则以 .tar.bz2 来作为附档名。
(2) 解压某个压缩包
$ tar -xzvf dirA.tar.gz // 以gzip方式解压缩dirA.tar.gz到当前目录下
$ tar -xjvf dirA.tar.bz2 // 以bzip2方式解压缩dirA.tar.bz2到当前目录下
$ tar -xzvf dirA.tar.gz -C <dir> // 以gzip方式解压缩dirA.tar.gz到dir目录下
$ tar -xjvf dirA.tar.bz2 -C <dir> // 以bzip2方式解压缩dirA.tar.bz2到dir目录下
grep命令
常用于列出含有某个字符串的文件
在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行,以递归的方式查找符合条件的文件:
grep -nR "test" *file -r
在当前目录中,查找所有文件中包含 test 字符串的文件,显示行号及内容:
grep -nR "test" *
在当前目录中,查找所有文件中包含 test 字符串的文件,打印包含字符串的文件列表:
grep -lR "tableSize" *
例子:
(1) 在内核目录查找包含“request_irq"字样的文件。
$ cd /work/system/linux-2.6.22.6/
$ grep "request_irq" * -R // *表示查找当前目录下的所有文件、目录,-R表示递归查找子目录
(2) 在内核的kernel目录下查找包含“request_irq"字样的义件。
$ cd /work/system/linux-2.6.22.6/
$ grep "request_irq" kernel-R // kernel表示在当前目录的kernel子目录下查找,-R表示递归查找它的所有子目录
find命令
常用于查找匹配给定文件名的文件
(1) 在内核目录下查找文件名中包含“fb”字样的文件。
$ cd /work/system/linux-2.6.22.6/
$ find -name "*fb*"
(2) 在内核的drivers/net目录下查找文件名中包含“fb”字样的文件。
$ cd /work/system/linux-2.6.22.6/
$ find drivers/net -name "*fb*" // drivers/net必须是find命令的第一个参数
diff命令
常用来比较文件、目录,也可以用来制作补丁文件
- -u:表示在比较结果中输出上下文中一些相同的行,这有利人工定位。
- -r:表示递归比较各个子目录下的文件。
- -N:将不存在的文件当作空文件。
- -w:忽略对空格的比较。
- -B:忽略对空行的比较。
假设linux-2.6.22.6目录中是原始的内核,linux-2.6.22.6_ok目录中是修改过的内核,可以使用以下命令制作补丁文件linux-2.6.22.6_ok.diff(原始目录在前,修改过的目录在后)。
$ diff -urNwB linux-2.6.22.6 linux-2.6.22.6_ok > linux-2.6.22.6_ok.diff
du命令
统计指定的目录或文件所占用的磁盘空间
(1) 查看当前目录总共占的容量,而不单独列出各子项占用的容量
$ du -sh
(2) 查看当前目录下一级子文件和子目录占用的磁盘容量
$ du -lh --max-depth=1
(3) 统计当前文件夹(目录)大小,并按文件大小排序
$ du -sh * | sort -n
(4) 查看指定文件大小可以使用du -sh或du -a:
$ du -sh installmongofor3.6.log

浙公网安备 33010602011771号