linux下基本命令总结

时间:2021-08-08 15:37:23
基本linux命令的使用方法及实例,总结一些常用的命令: 
一.创建文件和目录命令:mkdir   touch(vim用得较多)
1)mdkir创建一个目录,创建多目录格式 
mkdir –p a/{a,b/{c},d/{e,f/{g,f}}} 

   -v 显示创建信息 , -p 可创建不存在的目录  -m  设定权限<模式> (类似 chmod)
  1. [zhouguangfeng@localhost linux]$ ls
  2. [zhouguangfeng@localhost linux]$ mkdir -p home/{libs/,bin/,usr/{local/{bin,sbin},bin,sbin},etc/{network,lcd}}
  3. [zhouguangfeng@localhost linux]$ tree home/
  4. home/
  5. |-- bin
  6. |-- etc
  7. |   |-- lcd
  8. |   `-- network
  9. |-- libs
  10. `-- usr
  11. |-- bin
  12. |-- local
  13. |   |-- bin
  14. |   `-- sbin
  15. `-- sbin
  16. 11 directories, 0 files
  17. [zhouguangfeng@localhost linux]$
  18. [zhouguangfeng@localhost linux]$ ls
  19. home  test  tkkk.sh
  20. [zhouguangfeng@localhost linux]$ mkdir -pv -m 777 my_test/bin
  21. mkdir: created directory `my_test'
  22. mkdir: created directory `my_test/bin'
  23. [zhouguangfeng@localhost linux]$ tree my_test/
  24. my_test/
  25. `-- bin
  26. 1 directory, 0 files
  27. [zhouguangfeng@localhost linux]$

2)touch创建文件,但是多用vim创建并且直接编辑


二.文件或目录权限:umask,chomd,chown,
1)umask(文件默认权限),写入/etc/profile ~/.bash_profile 使umask生效

创建普通文件默认是644 也就是:

-rw-r--r-- 1 root root 0 May15 20:04 test 
自已有读写(rw),同组人员有读(r),其它有读(r) 默认umask 为022 
文件:666 - 022 = 644 
目录:777 - 022 = 755 
如果改了umask 011 的指令,则生成的文件目录权限就变成: 
文件:666 - 011 = 655 
目录:777 - 011 = 766 2)chomn只改变文件或目录的属主和属组,而chmod可改变文件或目录的访问权限和文件或目录的属主和属组
   这里指说明chmod命令。

语法:chmod [who] [+ | - |=] [mode]文件名
命令中各选项的含义为:
操作对象who是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。


操作符号可以是:+ 添加某个权限。- 取消某个权限。= 赋予给定权限并取消其他所有权限(如果有的话)。
设置 mode 所表示的权限可用下述字母的任意组合:r 可读。w 可写。x 可执行。
  1. [zhouguangfeng@localhost linux]$ ll
  2. total 4
  3. drwxrwxr-x 6 zhouguangfeng zhouguangfeng 4096 Apr 28 03:01 home
  4. -rw-rw-r-- 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:05 test
  5. [zhouguangfeng@localhost linux]$ cp test t
  6. [zhouguangfeng@localhost linux]$ ls
  7. home  t  test
  8. [zhouguangfeng@localhost linux]$ ll
  9. total 4
  10. drwxrwxr-x 6 zhouguangfeng zhouguangfeng 4096 Apr 28 03:01 home
  11. -rw-rw-r-- 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:33 t
  12. -rw-rw-r-- 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:05 test
  13. [zhouguangfeng@localhost linux]$ chmod 777 test
  14. [zhouguangfeng@localhost linux]$ ll
  15. total 4
  16. drwxrwxr-x 6 zhouguangfeng zhouguangfeng 4096 Apr 28 03:01 home
  17. -rw-rw-r-- 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:33 t
  18. -rwxrwxrwx 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:05 test
  19. [zhouguangfeng@localhost linux]$ chmod a+x t
  20. [zhouguangfeng@localhost linux]$ ll
  21. total 4
  22. drwxrwxr-x 6 zhouguangfeng zhouguangfeng 4096 Apr 28 03:01 home
  23. -rwxrwxr-x 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:33 t
  24. -rwxrwxrwx 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:05 test
  25. [zhouguangfeng@localhost linux]$ chmod a-x t
  26. [zhouguangfeng@localhost linux]$ ll
  27. total 4
  28. drwxrwxr-x 6 zhouguangfeng zhouguangfeng 4096 Apr 28 03:01 home
  29. -rw-rw-r-- 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:33 t
  30. -rwxrwxrwx 1 zhouguangfeng zhouguangfeng    0 Apr 28 03:05 test
  31. [zhouguangfeng@localhost linux]$

三.目录切换,删除,移动,复制,查看和文件编辑(vim已发表博客说明)
1)cd:目录切换(补充两个文件目录“.”代表当前目录  “..”代表上级目录)

 “cd~”表示进入用户home目录  

 “cd -” 切换到上回历史目录 

 “cd .” 切换到该目录    

 “cd ..” 切换逻辑上一目录
  1. [zhouguangfeng@localhost linux]$ ls
  2. home  t  test
  3. [zhouguangfeng@localhost linux]$ cd home/
  4. [zhouguangfeng@localhost home]$ ls
  5. bin  etc  libs  usr
  6. [zhouguangfeng@localhost home]$ cd ..
  7. [zhouguangfeng@localhost linux]$ ls
  8. home  t  test
  9. [zhouguangfeng@localhost linux]$ cd -
  10. /home/zhouguangfeng/mywork/linux/home
  11. [zhouguangfeng@localhost home]$ ls
  12. bin  etc  libs  usr
  13. [zhouguangfeng@localhost home]$
2)pwd 显示当前路径
  1. [zhouguangfeng@localhost linux]$ ls
  2. home  t  test
  3. [zhouguangfeng@localhost linux]$ pwd
  4. /home/zhouguangfeng/mywork/linux
  5. [zhouguangfeng@localhost linux]$

3)rm: 删除一个空目录或文件,加”-r” 删除非空目录文件,加“-f”如要删目录不存在,不显示错误

4)mv: 移动文件和目录(mv  源 目标) 或者重命名(mv 原名 修改名)

5)cp: 复制文件或目录(cp  源 目标)
  1. [zhouguangfeng@localhost linux]$ ls
  2. home  t  test
  3. [zhouguangfeng@localhost linux]$ rm t
  4. [zhouguangfeng@localhost linux]$ ls
  5. home  test
  6. [zhouguangfeng@localhost linux]$ mv test tkkk
  7. [zhouguangfeng@localhost linux]$ ls
  8. home  tkkk
  9. [zhouguangfeng@localhost linux]$ cp tkkk test
  10. [zhouguangfeng@localhost linux]$ ls
  11. home  test  tkkk
  12. [zhouguangfeng@localhost linux]$ rm -r cc
  13. rm: cannot remove `cc': No such file or directory(显示出错)
  14. [zhouguangfeng@localhost linux]$ rm -rf cc(不显示出错)
  15. [zhouguangfeng@localhost linux]$
6) basename/dirname: basename:从给定的包含绝对路径名的文件名中,除掉目录部分或者除掉某个后缀,返回文件名 dirname:从给定的包含绝对路径名的文件名中,除掉文件名,返回路径部分
  1. [zhouguangfeng@localhost linux]$ dirname  ~/mywork/script/add.sh
  2. /home/zhouguangfeng/mywork/script
  3. [zhouguangfeng@localhost linux]$ basename  ~/mywork/script/add.sh
  4. add.sh
  5. [zhouguangfeng@localhost linux]$
7)

cat:

显示一个文件的内容(不可跟目录文件)

8)more/less:

文件显示内容太多,显示满屏后即停止

   more不支持后退,空格向下一页,enter向下一行

   less支持前后翻,上下翻动用方向键或k,j或pageup,pagedown

9)head/tail:显示文字的前面几行(head –n -10 [文件名])/后面几行(tail –n -10 [文件名])

四.文件或查看和搜索

1)ls : -l 查看文件详情    -a查看所有文件,包括隐藏

   格式ls [-al] [路径]  没有路径表示当前

   ll : 查看当前目录详情,不包含隐藏文件

2)find格式:find <指定目录><指定条件> <指定动作>
  1. [zhouguangfeng@localhost linux]$ ls
  2. home  test  tkkk
  3. [zhouguangfeng@localhost linux]$ pwd
  4. /home/zhouguangfeng/mywork/linux
  5. [zhouguangfeng@localhost linux]$ find /home/zhouguangfeng/mywork/linux/home/
  6. /home/zhouguangfeng/mywork/linux/home/
  7. /home/zhouguangfeng/mywork/linux/home/bin
  8. /home/zhouguangfeng/mywork/linux/home/etc
  9. /home/zhouguangfeng/mywork/linux/home/etc/network
  10. /home/zhouguangfeng/mywork/linux/home/etc/lcd
  11. /home/zhouguangfeng/mywork/linux/home/usr
  12. /home/zhouguangfeng/mywork/linux/home/usr/bin
  13. /home/zhouguangfeng/mywork/linux/home/usr/local
  14. /home/zhouguangfeng/mywork/linux/home/usr/local/bin
  15. /home/zhouguangfeng/mywork/linux/home/usr/local/sbin
  16. /home/zhouguangfeng/mywork/linux/home/usr/sbin
  17. /home/zhouguangfeng/mywork/linux/home/libs
  18. [zhouguangfeng@localhost linux]$
3)locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)   第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocate ˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。 所以在locate之前最好先 sudo updatedb 4)whereis命令只能用于程序名的搜索,此不累赘,自己man。 5)which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用 which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
  1. [zhouguangfeng@localhost linux]$ which -h
  2. /usr/bin/which: invalid option -- 'h'
  3. Usage: /usr/bin/which [options] [--] COMMAND [...]
  4. Write the full path of COMMAND(s) to standard output.
  5. --version, -[vV] Print version and exit successfully.
  6. --help,          Print this help and exit successfully.
  7. --skip-dot       Skip directories in PATH that start with a dot.
  8. --skip-tilde     Skip directories in PATH that start with a tilde.
  9. --show-dot       Don't expand a dot to current directory in output.
  10. --show-tilde     Output a tilde for HOME directory for non-root.
  11. --tty-only       Stop processing options on the right if not on tty.
  12. --all, -a        Print all matches in PATH, not just the first
  13. --read-alias, -i Read list of aliases from stdin.
  14. --skip-alias     Ignore option --read-alias; don't read stdin.
  15. --read-functions Read shell functions from stdin.
  16. --skip-functions Ignore option --read-functions; don't read stdin.
  17. Recommended use is to write the output of (alias; declare -f) to standard
  18. input, so that which can show aliases and shell functions. See which(1) for
  19. examples.
  20. If the options --read-alias and/or --read-functions are specified then the
  21. output can be a full alias or function definition, optionally followed by
  22. the full path of each command used inside of those.
  23. Report bugs to <which-bugs@gnu.org>.
  24. [zhouguangfeng@localhost linux]$ which ls
  25. alias ls='ls --color=auto'
  26. /bin/ls
  27. [zhouguangfeng@localhost linux]$

6)type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
  1. [zhouguangfeng@localhost bin]$ type cd
  2. cd is a shell builtin //(系统会提示,cd是shell的自带命令(build-in))
  3. [zhouguangfeng@localhost bin]$ type grep
  4. grep is /bin/grep //系统会提示,grep是一个外部命令,并显示该命令的路径。
  5. [zhouguangfeng@localhost bin]$ type -p grep
  6. /bin/grep //加上-p参数后,就相当于which命令。
  7. [zhouguangfeng@localhost bin]$ which grep
  8. /bin/grep
  9. [zhouguangfeng@localhost bin]$
五.cat,grep,cut的组合使用,按指定格式查找,剪切,显示 cut命令:按格式剪切(有兴趣可搜下awk命令,功能更加强大) cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-d delim][-s][file ...] 上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field); *list表示-b、-c、-f操作范围,-n常常表示具体数字; *file表示的自然是要操作的文本文件的名称; *delim(英文全写:delimiter)表示分隔符,默认情况下为TAB; *-s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题) grep命令: 该linux下的行过滤工具,有查找的功能,这里不详解。 目标是在test文件里,查找出并打印“hello world!”
  1. [zhouguangfeng@localhost linux]$ ls
  2. home  test  tkkk
  3. [zhouguangfeng@localhost linux]$ cat test
  4. jfkdsljfska
  5. ckasdfdsvdvdsfv
  6. 123456:hello world!.jdajdkslajdsa
  7. cksdfdsvdvdsfv
  8. cksdfdsvdvdsfv
  9. cksdfdsvdvdsfv
  10. [zhouguangfeng@localhost linux]$ cat test | grep 123456
  11. 123456:hello world!.jdajdkslajdsa
  12. [zhouguangfeng@localhost linux]$ cat test | grep 123456 | cut -f2 -d ":"
  13. hello world!.jdajdkslajdsa
  14. (“-f”指定区域 ,“-d”指定分割符, “2”代表第二个区域 , “|”为管道,改变数据流向)
  15. [zhouguangfeng@localhost linux]$ cat test | grep 123456 | cut -f2 -d ":" | cut -f1 -d ".
  16. hello world!(成功)
  17. [zhouguangfeng@localhost linux]$
六.一些其他命令 1)date - print or set the system date and time

设置时间:date [-s <字符串>][-u][MMDDhhmmCCYYss] 或者date [--help][--version]
显示时间:
date [-d <字符串>][-u][+%H%I%K%l%M%P%r%s%S%T%X%Z%a%A%b%B%c%d%D%j%m%U%w%x%y%Y%n%t] 
补充说明:第一种语法可用来显示系统日期或时间,以%为开头的参数为格式参数,可指定日期或时间的显示格式。
第二种语法可用来设置系统日期与时间。只有管理员才有设置日期与时间的权限。
若不加任何参数,date会显示目前的日期与时间。
参  数:(此处显示格式很多,一般很少用到,记录以备不时之需)

%H  小时(以00-23来表示)。

%I  小时(以01-12来表示)。   

%K  小时(以0-23来表示)。 

%P  AM或PM。 

%l  小时(以0-12来表示)。 

%M  分钟(以00-59来表示)。

%r  时间(含时分秒,小时以12小时AM/PM来表示)。 

%S  秒(以本地的惯用法来表示)。                                       

%s  总秒数。起算时间为1970-01-01 00:00:00 UTC。 

%T  时间(含时分秒,小时以24小时制来表示)。  

%X  时间(以本地的惯用法来表示)。

%Z  市区。

%a  星期的缩写。 
%A  星期的完整名称。 

%b  月份英文名的缩写。

%B  月份的完整英文名称。 

%c  日期与时间。只输入date指令也会显示同样的结果。            

%d  日期(以01-31来表示)。 

%D  日期(含年月日)。

%j  该年中的第几天。 

%m  月份(以01-12来表示)。 

%U  该年中的周数。                          

%w  该周的天数,0代表周日,1代表周一,异词类推。 

%x  日期(以本地的惯用法来表示)。   

%y  年份(以00-99来表示)。   

%Y  年份(以四位数来表示)。 

%n  在显示时,插入新的一行。     

%t  在显示时,插入tab。 

MM  月份(必要)。                             

DD  日期(必要)。              

hh  小时(必要)。 
mm  分钟(必要)。                                

CC  年份的前两位数(选择性)。

YY  年份的后两位数(选择性)。 

ss  秒(选择性)。 

-d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上单引号。

-s<字符串>  根据字符串来设置日期与时间。字符串前后必须加上单引号。 
-u  显示GMT。 
--help  在线帮助。 
--version  显示版本信息。

请看下面的实例:

  1. [zhouguangfeng@localhost script]$ date
  2. Mon Apr 28 17:12:40 EDT 2014
  3. [zhouguangfeng@localhost script]$ sudo date -s '2014-04-28 17:13:00'
  4. Mon Apr 28 17:13:00 EDT 2014
  5. [zhouguangfeng@localhost script]$ date
  6. Mon Apr 28 17:13:01 EDT 2014
  7. [zhouguangfeng@localhost script]$

2)od:

用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制(-d)、八进制(-o)、十六进制(-x)    和ASCII码(-c)来显示文件。





3)

ln:

创建连接,硬链接和软连接





[ln –s 源目标] 软连接  没有-s即硬链接

软链接ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间

硬链接ln ** **,无-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
  1. [zhouguangfeng@localhost linux]$ ls
  2. home  test  tkkk.sh
  3. [zhouguangfeng@localhost linux]$ cd home/bin/
  4. [zhouguangfeng@localhost bin]$ ln -s ~/mywork/linux/test .
  5. [zhouguangfeng@localhost bin]$ ll
  6. total 0
  7. lrwxrwxrwx 1 zhouguangfeng zhouguangfeng 37 Apr 28 18:04 test -> /home/zhouguangfeng/mywork/linux/test
  8. [zhouguangfeng@localhost bin]$
4)expr: 求表达式的值,如 expr $a + $b
  1. [zhouguangfeng@localhost bin]$ export a=1
  2. [zhouguangfeng@localhost bin]$ echo $a
  3. 1
  4. [zhouguangfeng@localhost bin]$ export b=1
  5. [zhouguangfeng@localhost bin]$ echo $b
  6. 1
  7. [zhouguangfeng@localhost bin]$ expr $a + $b
  8. 2
  9. [zhouguangfeng@localhost bin]$
5)dmesg 功能说明:显示开机信息。
语  法:dmesg [-cn][-s <缓冲区大小>]
补充说明:kernel会将开机信息
存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
参  数:
 -c  显示信息后,清除ring buffer中的内容。 
 -s <缓冲区大小>  预设置为8196,刚好等于ring buffer的大小。 
 -n  设置记录信息的层级。
6)df - report file system disk space usage 检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 语法:df [选项] 
说明:linux中df命令可显示所有文件系统对i节点和磁盘块的使用情况。 
说明:linux中df命令各个选项的含义如下: 
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。 
-k 以k字节为单位显示。 
-i 显示i节点信息,而不是磁盘块。 
-t 显示各指定类型的文件系统的磁盘空间使用情况。 
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。 
-T 显示文件系统类型。 7)echo - display a line of text 功能说明:显示文字。 语   法:echo [-ne][字符串] 补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。 参 数: -n 不要在最后自动换行 -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出 8)tar命令 转载http://blog.****.net/bobshute/article/details/4044728 tar用法实例 tar命令 
tar 文件是几个文件和(或)目录在一个文件中的集合。这是创建备份和归档的佳径。 

tar 使用的选项有: 

-c — 创建一个新归档。 

-f — 当与 -c 选项一起使用时,创建的 tar 文件使用该选项指定的文件名;当与 -x 选项 
一起使用时,则解除该选项指定的归档。 

-t — 显示包括在 tar 文件中的文件列表。 

-v — 显示文件的归档进度。 

-x — 从归档中抽取文件。 

-z — 使用 gzip 来压缩 tar 文件。 

-j — 使用 bzip2 来压缩 tar 文件。 

要创建一个 tar 文件,键入: 

tar -cvf filename.tar directory/file 

可以使用 tar 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔: 

tar -cvf filename.tar /home/mine/work /home/mine/school 

上面的命令把 /home/mine 目录下的 work 和 school 子目录内的所有文件都放入当前 
目录中一个叫做 filename.tar 的新文件里。 

要列出 tar 文件的内容,键入: 
tar -tvf filename.tar 

要抽取 tar 文件的内容,键入 
tar -xvf filename.tar 

这个命令不会删除 tar 文件,但是它会把被解除归档的内容 
复制到当前的工作目录下,并保留归档文件所使用的任何 
目录结构。譬如,如果这个 tar 文件中包含一个叫做 
bar.txt 的文件,而这个文件包含在 foo/ 目录中,那么, 
抽取归档文件将会导致在你当前的工作目录中创建 
foo/ 目录,该目录中包含 bar.txt 文件 

tar 默认不压缩文件。 

要创建一个使用 tar 和 bzip 来归档压缩的文件,使用 -j 选项: 
tar -cjvf filename.tbz file 

以上命令创建了一个归档文件,然后将其压缩为 filename.tbz 文件。如果你使用 bunzip2 命令为 filename.tbz 文件解压,filename.tbz 文件会被删除,继之以 filename.tar 文件。 

你还可以用一个命令来扩展并解除归档 bzip tar 文件: 
tar -xjvf filename.tbz 

要创建一个用 tar 和 gzip 归档并压缩的文件,使用 -z 选项: 
tar -czvf filename.tgz file 

这个命令创建归档文件 filename.tar,然后把它压缩为 filename.tgz 文件(文件 filename.tar 不被保留)。 
如果你使用 gunzip 命令来给 filename.tgz 文件解压,filename.tgz 文件会被删除,并被 
替换为 filename.tar。 

你可以用单个命令来扩展 gzip tar 文件: 
tar -xzvf filename.tgz 

一. tar 

1.压缩一组文件为tar.gz后缀。 
# tar cvf backup.tar /etc 
#gzip -q backup.tar 
或 
# tar cvfz backup.tar.gz /etc/ 
tar zxvf XXXX.tar.gz 

tar jxvf XXXX tar.bz2 

2.释放一个后缀为tar.gz的文件。 
#gunzip backup.tar.gz 
#tar xvf backup.tar 
或 
# tar xvfz backup.tar.gz 

3.用一个命令完成压缩 
#tar cvf - /etc/ | gzip -qc > backup.tar.gz 

4.用一个命令完成释放 
# gunzip -c backup.tar.gz | tar xvf - 

5.如何解开tar.Z的文件? 
# tar xvfz backup.tar.Z 
或 
# uncompress backup.tar.Z 
#tar xvf backup.tar 

6.如何解开.tgz文件? 
#gunzip backup.tgz 

7.如何压缩和解压缩.bz2的包? 
#bzip2 /etc/smb.conf 
这将压缩文件smb.conf成smb.conf.bz2 
#bunzip2 /etc/smb.conf.bz2 
这将在当前目录下还原smb.conf.bz2为smb.conf 
注: .bz2压缩格式不是很常用,你可以man bzip2
tar解压:
tar -xjf   *.tar.bz2 tar -xzf *.tar.gz tar -xf   *.tar bunzip2 -d *.bz2 gunzip -d *.gz unzip *.zip tar -xzf *.tgz tar -xjf *.tbz2 7z x   *.7z