正文處理命令及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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章