正文处理命令及tar命令

cat进行文件的纵向合并

[dag@dog babydog]$ cat > letters.upper
A      
B
C
D
E
F
G
H
[dag@dog babydog]$
[dag@dog babydog]$ cat > letters
A
b
B
^Z                  
[1]+  Stopped                 cat > letters
[dag@dog babydog]$ LS
bash: LS: command not found
[dag@dog babydog]$ ls
baby      baby.kg   cal2038   dog_wolf.baby  lists
baby2     baby.sex  cal3009   letters        wolf.baby
baby.age  cal2012   dog.baby  letters.upper  wolf_dog.baby
[dag@dog babydog]$ rm letters
[dag@dog babydog]$ ls
baby   baby.age  baby.sex  cal2038  dog.baby       letters.upper  wolf.baby
baby2  baby.kg   cal2012   cal3009  dog_wolf.baby  lists          wolf_dog.baby
[dag@dog babydog]$ cat > letters
A
b
C
D
E
f
G
[dag@dog babydog]$ tail letters.upper letters
==> letters.upper <==
A
B
C
D
E
F
G
H
==> letters <==
A
b
C
D
E
f
G

利用diff比较两个文件

diff ~ 比较两个文件中的内容、该命令以如下方式显示命令的结果:
<表示第1个文件中的数据行
>表示第2个文件中的数据行

[dag@dog babydog]$ diff letters.upper letters
2c2
< B
---
> b
6c6
< F
---
> f
8d7
< H
\ No newline at end of file

利用sdiff比较两个文件

sdiff ~与diff功能相同,但是该命令以如下方式显示命令的结果:
|左侧表示第1个文件中的数据行
|右侧表示第2个文件中的数据行
<表示第1个文件中的数据行
>表示第2个文件中的数据行

[dag@dog babydog]$ sdiff letters.upper letters
A                                A
B                                  |    b
C                                C
D                                D
E                                E
F                                  |    f
G                                G
H                                  <[dag@dog babydog]$
[dag@dog babydog]$ sdiff letters letters.upper
A                                A
b                                  |    B
C                                C
D                                D
E                                E
f                                  |    F
G                                G
                                  >    H[dag@dog babydog]$

利用look检查单词的拼法

Linux上的另一个拼法检查命令是look命令
look的语法是:look空一格后加要检查的单词
使用look检查progra这个单词的拼法

[dag@dog babydog]$ cd -
/home/dag
[dag@dog ~]$ more /usr/share/dict/words
1080
10-point
10th
11-point
12-point
16-point
18-point
1st
2
20-point
2,4,5-t
2,4-d
2D
2nd
30-30
3-D
3-d
3D
3M
3rd
48-point
4-D
4GL
4H
4th
5-point
5-T
5th
6-point
6th
7-point
7th
8-point
8th
--More--(0%)
[2]+  Stopped                 more /usr/share/dict/words
[dag@dog ~]$ wc -l /usr/share/dict/words
479829 /usr/share/dict/words
[dag@dog ~]$ look progra
prograde
program
programable
programatic
programed
programer
programers
programing
programist
programistic
programma
programmabilities
programmability
programmable
programmar
programmata
programmatic
programmatically
programmatist
programme
programmed
programmer
programmers
programmes
programming
programmist
programmng
programs
progravid
[dag@dog ~]$ look discovety
[dag@dog ~]$ look disove
[dag@dog ~]$ discove
bash: discove: command not found
[dag@dog ~]$ look discove
discovenant
discover
discoverability
discoverable
discoverably
discovered
Discoverer
discoverer
discoverers
discoveries
discovering
discovers
discovert
discoverture
discovery
[dag@dog ~]$ clear

expand将制表键转换成空格

expand ~ 将正文文件中的Tab键转换成空格键
expand命令输出默认显示在标准输出上
使用重定向符号可将该命令输出存入一个文件
expand emp.data > emp.spaces
使用带有-A选项的cat命令列出文件中的Tab键
制表键Tab ~ ^I

使用fmt重新格式化正文

fmt ~ 重新格式化正文
段落宽度使用wn选项定义
w为width的第1个字母、n为字符的数目
Linux系统默认宽度为75个字符
每个单词之间用一个空格分隔
每个句子之间用两个空格分隔
将输入中的空行当作段落分隔符看待
句子(段落)是以“.”作为结束符
fmt -u -w48 news > news.fmt

使用pr重新格式化正文

pr ~ 按照打印机格式格式化正文文件中的内容
pr默认输出为每页66行、56行为正文幷包括表头
默认使用文件名作为列表头、并在每页的页首部分显示
显示在每页的页首部分的内容还有页码和时间
其时间是文件的修改时间(Modified)
pr /usr/share/dict/words | more

归档文件和归档技术

Linux操作系统的标准归档命令是tar
tar命令的功能是将多个文件放在一起存放到一个磁带或磁盘归档文件中、并且将来可以根据需要只还原归档文件中的某些指定的文件
tar命令默认不进行文件的压缩
tar命令本身支持压缩和解压缩算法
内部的压缩和解压缩算法是gzip和gunzip或bzip2和bunzip2

tar [选项]… [归档文件名]…
归档文件名要使用相对路径
在tar命令中必须至少使用如下选项中的一个:
c:创建一个新的tar文件。
t:列出tar文件中内容的目录。
x:从tar文件中抽取文件。
f:指定归档文件或磁带

tar命令中还有以下3个可选的选项:

v:显示所打包的文件的详细信息
z:使用gzip压缩算法来压缩打包后的文件
j:使用bzip2压缩算法来压缩打包后的文件
在tar中所有选项之前都不能使用前导的-

使用tar将arch目录打包成arch.tar的归档文件

[dog@dog ~]$ tar cvf arch.tar arch
arch/
arch/learning.txt
arch/name.txt
……
检查arch.tar中到底有哪些文件和目录
tar tf arch.tar
使用tar恢复arch目录以及其中全部内容
tar xvf arch.tar

[dag@dog ~]$ tar cvf arch.tar arch
arch/
arch/game.txt
arch/flowers.JPG
arch/learning.txt
arch/dog.JPG
[dag@dog ~]$ ls -lh *.tar
-rw-rw-r--. 1 dag dag 5.9M 5月  20 00:04 arch.tar
[dag@dog ~]$ tar tf arch.tar
arch/
arch/game.txt
arch/flowers.JPG
arch/learning.txt
arch/dog.JPG
[dag@dog ~]$ tar tvf arch.tar
drwxrwxr-x dag/dag           0 2020-05-20 00:01 arch/
-rw-r--r-- dag/dag        1950 2020-05-20 00:01 arch/game.txt
-rw-r--r-- dag/dag     1433498 2020-05-20 00:00 arch/flowers.JPG
-rw-r--r-- dag/dag        4720 2020-05-20 00:01 arch/learning.txt
-rw-r--r-- dag/dag     4724150 2020-05-20 00:00 arch/dog.JPG
[dag@dog ~]$ rm -r arch
[dag@dog ~]$ ls -l ar*
-rw-rw-r--. 1 dag dag 6174720 5月  20 00:04 arch.tar
[dag@dog ~]$ tar xvf arch.tar
arch/
arch/game.txt
arch/flowers.JPG
arch/learning.txt
arch/dog.JPG
[dag@dog ~]$ ls -l ar*
-rw-rw-r--. 1 dag dag 6174720 5月  20 00:04 arch.tar


arch:
总用量 6028
-rw-r--r--. 1 dag dag 4724150 5月  20 00:00 dog.JPG
-rw-r--r--. 1 dag dag 1433498 5月  20 00:00 flowers.JPG
-rw-r--r--. 1 dag dag    1950 5月  20 00:01 game.txt
-rw-r--r--. 1 dag dag    4720 5月  20 00:01 learning.txt

文件的压缩和解压缩

在Linux系统中有两组常用的压缩命令
第1组压缩命令是gzip和gunzip
第2组压缩命令是bzip2和bunzip2
gzip对正文文件的压缩比一般超过75%
通常bzip2对归档文件的压缩比要优于gzip
比较新的Linux版本才支持bzip2和bunzip2

gzip命令

gzip [选项] [压缩文件名…]
gzip命令的几个经常使用的选项如下:
-v:在屏幕上显示出文件的压缩比
-c:保留原文件并新创建一个压缩文件
使用gzip命令压缩learning.txt文件
gzip l*
使用gunzip解压缩learning.txt.gz文件
gunzip l*

[dag@dog ~]$ cd arch
[dag@dog arch]$ ls -lh l*
-rw-r--r--. 1 dag dag 4.7K 5月  20 00:01 learning.txt
[dag@dog arch]$ gzip l*
[dag@dog arch]$ gunzip l*
[dag@dog arch]$ ls -lh l*
-rw-r--r--. 1 dag dag 4.7K 5月  20 00:01 learning.txt
[dag@dog arch]$ gzip -vc l* > learning.gz
learning.txt:     59.3%
[dag@dog arch]$ ls -lh l*
-rw-rw-r--. 1 dag dag 2.0K 5月  20 00:12 learning.gz
-rw-r--r--. 1 dag dag 4.7K 5月  20 00:01 learning.txt
[dag@dog arch]$ cd
[dag@dog ~]$ pwd
/home/dag
[dag@dog ~]$ gzip arch > arch.gz
gzip: arch is a directory -- ignored
[dag@dog ~]$ cd arch
[dag@dog arch]$ ls -lh *JPG
-rw-r--r--. 1 dag dag 4.6M 5月  20 00:00 dog.JPG
-rw-r--r--. 1 dag dag 1.4M 5月  20 00:00 flowers.JPG
[dag@dog arch]$ gzip -cv dog* >dog.JPG.gz
dog.JPG:      0.8%
[dag@dog arch]$ ls -lh dog*
-rw-r--r--. 1 dag dag 4.6M 5月  20 00:00 dog.JPG
-rw-rw-r--. 1 dag dag 4.5M 5月  20 00:14 dog.JPG.gz
[dag@dog arch]$ clear


[dag@dog arch]$ ls -l
总用量 10612
-rw-r--r--. 1 dag dag 4724150 5月  20 00:00 dog.JPG
-rw-rw-r--. 1 dag dag 4686311 5月  20 00:14 dog.JPG.gz
-rw-r--r--. 1 dag dag 1433498 5月  20 00:00 flowers.JPG
-rw-r--r--. 1 dag dag    1950 5月  20 00:01 game.txt
-rw-rw-r--. 1 dag dag    1959 5月  20 00:12 learning.gz
-rw-r--r--. 1 dag dag    4720 5月  20 00:01 learning.txt

在使用tar时压缩和解压缩

在tar中,如下两个参数决定如何压缩打包好的文件:
z:使用gzip技术压缩打包好的文件
j:使用bzip2技术压缩打包好的文件
打包并使用gzip技术压缩打包后的文件:
tar cvfz arch.tar.gz arch
打包并使用bzip2技术压缩打包后的文件
tar cvfj arch.tar.bz2 arch

[dag@dog arch]$ rm *.gz
[dag@dog arch]$ ls-l
bash: ls-l: command not found
[dag@dog arch]$ ls -l
总用量 6028
-rw-r--r--. 1 dag dag 4724150 5月  20 00:00 dog.JPG
-rw-r--r--. 1 dag dag 1433498 5月  20 00:00 flowers.JPG
-rw-r--r--. 1 dag dag    1950 5月  20 00:01 game.txt
-rw-r--r--. 1 dag dag    4720 5月  20 00:01 learning.txt
[dag@dog arch]$ cd
[dag@dog ~]$ tar cvfz arch.tar.gz arch
arch/
arch/game.txt
arch/flowers.JPG
arch/learning.txt
arch/dog.JPG
[dag@dog ~]$ tar cvfj arch.tar.bz2 arch
arch/
arch/game.txt
arch/flowers.JPG
arch/learning.txt
arch/dog.JPG
[dag@dog ~]$ ls -l *tar*
-rw-rw-r--. 1 dag dag 6174720 5月  20 00:04 arch.tar
-rw-rw-r--. 1 dag dag 6104748 5月  20 00:17 arch.tar.bz2
-rw-rw-r--. 1 dag dag 6107364 5月  20 00:16 arch.tar.gz
[dag@dog ~]$ su -
密码:
[root@dog ~]# ls -lh arch
ls: 无法访问arch: 没有那个文件或目录
[root@dog ~]# cd ~dog
-bash: cd: ~dog: 没有那个文件或目录
[root@dog ~]# cd ~dag
[root@dog dag]# ls -lh arch
总用量 5.9M
-rw-r--r--. 1 dag dag 4.6M 5月  20 00:00 dog.JPG
-rw-r--r--. 1 dag dag 1.4M 5月  20 00:00 flowers.JPG
-rw-r--r--. 1 dag dag 2.0K 5月  20 00:01 game.txt
-rw-r--r--. 1 dag dag 4.7K 5月  20 00:01 learning.txt
[root@dog dag]# fdformat .dev/fd0u1440
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章