Linux常用命令

ls

ls选项是用来显示文件与目录。

常用选项

-a:显示所有的文件,联通隐藏文件。
-h:将文件容量以人性化方式列出来,要配合-l 使用。
-l:显示文件的详细信息
-i:显示文件的inode
–color=auto:是用不同颜色显示不同类型的文件。一般的distributions 默认用alias命令使能了这一选项。

示例

[stxr@stxrun /]$ ls
bin dev home lost+found mnt opt root selinux sys usr
boot etc lib media null proc sbin srv tmp var
[stxr@stxrun /]$ ls -lh
total 90K
dr-xr-xr-x. 2 root root 4.0K Aug 3 19:39 bin
dr-xr-xr-x. 5 root root 1.0K Aug 3 19:40 boot

注意
1. 上表 ls -lh 命令后中第一列表示文件权限,d代表文件夹,接下来分别是ugo(user,group,other)的权限。
2. 第二列代表者链接数,当用代表者有多少个此文件有多少个链接。每当用ln命令链接一个文件时,此文件的链接数+1。
3. 第三列和第四列分别代表此文件所属用户和用户组,第四列代表文件大小。
4. 第五列代表文件大小,文件夹的话并不代表文件夹的大小,仅仅代表文件夹这个文件的大小,不包括文件夹内部的文件。
5. 最后则是文件的修改时间和文件名字。

bzip2,bzcat

bzip2 是一个压缩命令,压缩性能优于gzip,命令和gzip相似,因此只选择一种来介绍。

常用选项

-#: (#为数字) 压缩等级,-1最快,文件最大;-9最慢,文件最小。 默认是-6。
-d: 解压。
-v: 显示压缩比等相关信息。
-c: 将压缩的数据输出到屏幕上,可通过数据流重定向来处理。

注意
1. bzip2 和 gzip 压缩文件时会默认将源文件删除并加上后缀名(bzip2为bz2,gzip为gz), 若要保留源数据自定义后缀名,则可以通过-c 参数加上数据重定向来实现。详情见下面常用命令和示例。
2. zcat(gzip)和 bzcat(bzip2) 是来查看压缩包内的纯文本文件的。功能和cat相似。
3. 压缩只能压缩单个文件,要压缩多个文件或者文件夹需结合tar命令打包。

常用命令

压缩: bzip2 src
解压: bzip2 -d src.bz2
自定义: bzip2 -9 -c src src > src1.bz2
查看: bzcat src1.bz2

示例

示例1:

[stxr@stxrun ~]$ dd if=/dev/zero of=./src count=10000   ;产生5MB的全0文件
10000+0 records in
10000+0 records out
5120000 bytes (5.1 MB) copied, 0.0146882 s, 349 MB/s
[stxr@stxrun ~]$ ll -h src    ;查看压缩前的大小:4.9MB
-rw-rw-r– 1 stxr stxr 4.9M Aug 26 23:11 src
[stxr@stxrun ~]$ bzip2 src    ;压缩
[stxr@stxrun ~]$ ll -h    ;查看压缩后的大小:49B,由于是全0文件,压缩比很大
total 8.0K
drwxr-xr-x 2 stxr root 4.0K Aug 25 20:52 shell_script
-rw-rw-r– 1 stxr stxr 49 Aug 26 23:11 src.bz2
[stxr@stxrun ~]$ bzip2 -d src.bz2    ;解压
[stxr@stxrun ~]$ ll -h    ;查看解压后的大小,变回原来的样子了
total 4.9M
drwxr-xr-x 2 stxr root 4.0K Aug 25 20:52 shell_script
-rw-rw-r– 1 stxr stxr 4.9M Aug 26 23:11 src


示例2:

[stxr@stxrun ~]$ dd if=/dev/random of=./src2 count=100000    ;产生7.8M的随机数文件
0+100000 records in
15258+1 records out
7812304 bytes (7.8 MB) copied, 4.92801 s, 1.6 MB/s
[stxr@stxrun ~]$ bzip2 -c src2 > src2_level_6.bz2    ;压缩等级为默认(6)
[stxr@stxrun ~]$ bzip2 -9 -c src2 > src2_level_9.bz2   ;压缩等级为9
[stxr@stxrun ~]$ bzip2 -1 -c src2 > src2_level_1.bz2   ;压缩等级为1
[stxr@stxrun ~]$ ll -h src2level*    查看三个压缩的大小
-rw-rw-r– 1 stxr stxr 7.6M Aug 26 23:29 src2_level_1.bz2
-rw-rw-r– 1 stxr stxr 7.5M Aug 26 23:28 src2_level_6.bz2
-rw-rw-r– 1 stxr stxr 7.5M Aug 26 23:28 src2_level_9.bz2

  • 由上可以看出压缩比除了和压缩等级有关之外,还和源文件的熵值有很大关系。

tar

tar 是一个将多个文件打包成一个的命令,可配合gzip或者bzip2进行压缩。

常用选项

-j: 通过bzip2的支持对文件进行压缩/解压缩。
-z: 通过gzip的支持对文件进行压缩/解压缩。
-v: 显示操作过程。
-c: 新建打包文件。
-x: 解压打包文件。
-t: 查看打包文件里的内容。
-f: 后面跟创建包的名字。
-C: 大写的c,后面跟解压缩的目录,不写的则默认当前包所在的目录。

常用命令

压缩: tar -jcv -f filename.tar.bz2 filename1 filename2 …
查询: tar -jtv -f filename.tar.bz2
解压缩: tar -jxv -f filename.tar.bz2 -C ./dir/

示例

_[stxr@stxrun ~]$ touch testTar{0..9}   ;创建10个文件
[stxr@stxrun ~]$ ls
shell_script testTar0 testTar1 testTar2 testTar3 testTar4 testTar5 testTar6 testTar7 testTar8 testTar9
[stxr@stxrun ~]$ tar -jcv -f testTar.tar.bz2 testTar*   ;打包压缩
testTar0
testTar1
testTar2
testTar3
testTar4
testTar5
testTar6
testTar7
testTar8
testTar9
[stxr@stxrun ~]$ tar -jtv -f testTar.tar.bz2    ;查看
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar0
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar1
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar2
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar3
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar4
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar5
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar6
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar7
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar8
-rw-rw-r– stxr/stxr 0 2017-08-26 22:43 testTar9
[stxr@stxrun ~]$ ls
shellscript testTar0 testTar2 testTar4 testTar6 testTar8 testTar.tar.bz2
testTar testTar1 testTar3 testTar5 testTar7 testTar9
[stxr@stxrun ~]$ mkdir testTar && tar -jxv -f testTar.tar.bz2 -C testTar/  ;创建文件夹并解压
testTar0
testTar1
testTar2
testTar3
testTar4
testTar5
testTar6
testTar7
testTar8
testTar9
[stxr@stxrun ~]$ ls testTar/

testTar/testTar0 testTar/testTar2 testTar/testTar4 testTar/testTar6 testTar/testTar8
testTar/testTar1 testTar/testTar3 testTar/testTar5 testTar/testTar7 testTar/testTar9

xargs

split

alias

重定向

管道 |

dd

mount

umount

df

du

export

declare

参考网址: