Loading

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
posted @ 2021-03-01 22:00  邃定恒鸣  阅读(90)  评论(0)    收藏  举报