Linux基础知识与实操-篇三: 文件压缩打包与vim基本使用
文章目錄
- 壓縮打包與備份
- 壓縮文件命令`gzip bzip2 xz`
- `gzip` 命令
- `bzip2` 命令
- `xz`命令
- 打包指令
- XFS文件系統(tǒng)備份與還原
- 光盤寫入工具
- 其他常見的壓縮與備份工具
- `Vim` 基本使用
- 多文件編輯
- 多窗口編輯
- Vim 的關(guān)鍵字補(bǔ)全
- Vim環(huán)境設(shè)定與記錄
- 其他使用注意事項(xiàng)
- 中文編碼問題
- 斷行字符
- 語系編碼轉(zhuǎn)換
- 最后
本篇博客繼續(xù)圍繞Linux文件系統(tǒng)進(jìn)行拓展,這里主要介紹Linux下對(duì)文件的壓縮和打包以及對(duì)Linux下萬能且好用的Vim編輯器的基本使用的介紹。
壓縮打包與備份
使用壓縮文件最大的好處就是壓縮后的文件容量變小了,存儲(chǔ)在硬盤中可以存儲(chǔ)更多資源,在網(wǎng)絡(luò)傳輸中沒有與數(shù)據(jù)量的降低,也可以讓網(wǎng)絡(luò)帶寬可以有更多的其他工作
由于 Linux下的 壓縮指令很多,為了區(qū)分不同壓縮指令產(chǎn)生的壓縮文件,就使用不同的 后綴名 來區(qū)分了,有如下壓縮文件后綴名:
壓縮文件命令gzip bzip2 xz
gzip 命令
gzip 可以說是應(yīng)用度最廣的壓縮文件了,可以 解壓縮 compress zip gzip 等壓縮文件,使用 gzip 壓縮文件得到的是 .gz 的后綴名
基本語法如下:
在使用 gzip 進(jìn)行壓縮的時(shí)候,在預(yù)狀態(tài)下,原本的文件會(huì)被壓縮成 .gz 的文件名,源文件就不存在了,解壓縮也是同理
使用 gzip 壓縮的文件,是可以在 Windows系統(tǒng)下被 winRAR 或 7zip 等軟件解壓的
雖然 gzip 提供 1~9 的壓縮等級(jí),不過使用默認(rèn)的 6 就非常好用了!
使用如下:
# 壓縮文件 [root@AliComputer learn]# gzip test.txt [root@AliComputer learn]# ll total 4 -rw-r--r-- 1 root root 93 May 10 14:55 test.txt.gz # 解壓縮文件 [root@AliComputer learn]# gzip -d test.txt.gz [root@AliComputer learn]# ll total 4 -rw-r--r-- 1 root root 70 May 10 14:55 test.txt如果你還想要從文字壓縮文件當(dāng)中找數(shù)據(jù)的話,可以透過 zgrep 來搜尋關(guān)鍵詞喔!而不需要將壓縮文件解開才以 grep 進(jìn)行! 這對(duì)查詢備份中的文本文件數(shù)據(jù)相當(dāng)有用!
使用如下:
bzip2 命令
若說 gzip 是為了取代 compress 并提供更好的壓縮比而成立的,那么 bzip2 則是為了取代 gzip 并提供更佳的壓縮比而來的
bzip2的使用和 gzip 基本一致
雖然壓縮率提高了,但是壓縮的時(shí)間也會(huì)更長(zhǎng)
xz命令
壓縮比更高,但耗時(shí)也更長(zhǎng)了,基本參數(shù)如下:
打包指令
上面提到的壓縮指令,大多只能對(duì) 單一文件 進(jìn)行壓縮,雖然也能對(duì)目錄進(jìn)行壓縮,不過這里的對(duì)目錄壓縮是:將目錄內(nèi)的所有文件分別進(jìn)行壓縮
將多個(gè)文件或目錄打包成一個(gè)大文件的指令功能,就是 打包指令,tar 命令可以將多個(gè)目錄或文件打包成一個(gè)大文件,同時(shí)還可以透過 gzip/bzip2/xz 的支持,將該文件同時(shí)進(jìn)行壓縮
tar 命令的 選項(xiàng)非常多,這里只列舉幾個(gè)常用的:
如果使用 -P 選項(xiàng),就會(huì)帶上 根目錄,這樣在解壓縮的時(shí)候,就識(shí)別出 絕對(duì)路徑,進(jìn)而解壓縮得到的目錄就會(huì)覆蓋已經(jīng)存在的目錄,所以為了 備份數(shù)據(jù)的安全性,還是不要使用 -P 選項(xiàng)好一點(diǎn)
基本的命令就下面三個(gè):
# 壓縮文件 tar -jcv -f filename.tar.bz2 要被壓縮的文件或目錄名稱# 查詢壓縮文件內(nèi)部的文件 tar -jtv -f filename.tar.bz2# 解壓縮,如果不指定 -C, 就是默認(rèn)在當(dāng)前目錄解壓縮 tar -jxv -f filename.tar.bz2 -C 要解壓的目錄那個(gè) filename.tar.bz2 是我們自己取的檔名, tar 并不會(huì)主動(dòng)的產(chǎn)生建立的檔名喔!我們要自定義啦!
所以擴(kuò)展名就顯的很重要了!如果不加 [-z|-j|-J] 的話,檔名最好取為 *.tar 即可。如果是 -j 選項(xiàng),代表有 bzip2 的支持,因此檔名最好就取為 *.tar.bz2 ,因?yàn)?bzip2 會(huì)產(chǎn)生 .bz2 的擴(kuò)展名之故! 至于如果是加上了 -z 的 gzip 的支持,那檔名最好取為 *.tar.gz
基本使用:
還可以實(shí)現(xiàn),僅解壓縮得到 壓縮文件中的一部分內(nèi)容:
--exclude="file" 的動(dòng)作,我們可以將幾個(gè)特殊的文件或目錄移除在打包之列,讓打包的動(dòng)作變的更簡(jiǎn)便
利用 管道符和數(shù)據(jù)流 可以實(shí)現(xiàn) 將待處理的文件一邊打包,一邊解壓縮到目標(biāo)目錄中,這個(gè)操作就類似于 cp -r實(shí)現(xiàn)的復(fù)制
XFS文件系統(tǒng)備份與還原
8.4 章 --暫且跳過
光盤寫入工具
8.5 章 --暫且跳過
其他常見的壓縮與備份工具
8.6 章 --暫且跳過
Vim 基本使用
Vim 分為三種模式:
- 一般指令模式command mode:
剛進(jìn)位Vim的模式可以使用 上下左右移動(dòng)光標(biāo),查看文件,刪除、復(fù)制、粘貼的操作 - 編輯模式insert mode:
在按下i I o O a A r R 等任意一個(gè)字母進(jìn)入的模式,按下ESC 即可 退出該模式 - 指令列命令模式command-line mode
在一般模式下,輸入: / ? 后,光標(biāo)進(jìn)入最底下的列,可以提供 讀取、存盤、取代、退出、顯示行號(hào)等操作
Vim下常用按鍵的說明:
一般指令模式的常用按鍵:
一般指令模式切換到編輯模式:
一般指令模式切換到指令列模式:
在 vi 中,『數(shù)字』是很有意義的!數(shù)字通常代表重復(fù)做幾次的意思! 也有可能是代表去到第幾個(gè)什么什么的意思。 舉例來說,要?jiǎng)h除 50 列,則是用 『50dd』 對(duì)吧! 數(shù)字加在動(dòng)作之前~那我要向下移動(dòng) 20 列呢?那就是『20j』或者是『20↓』即可
指令不在于背,只要多用,自然就熟悉了
如果在使用 vim 進(jìn)行編輯工作時(shí),不小心因?yàn)榉N種原因而中斷退出了(沒有保存修改),vim會(huì)給出一定的解決方案,因?yàn)樵赩im 中編輯的時(shí)候,會(huì)默認(rèn)建立一個(gè)緩存文件:*.conf,該文件就用來存儲(chǔ)臨時(shí)信息,這樣未保存的文件,在下次打開的時(shí)候,就會(huì) 自動(dòng)讀取 *.conf 并要求用戶給出解法方案:
使用 Vim 還可以實(shí)行 區(qū)塊選擇功能,可以選擇一部分區(qū)域,然后進(jìn)行操作:
多文件編輯
使用 Vim 可以實(shí)現(xiàn)多文件編輯,首先在編輯的時(shí)候,選擇同時(shí)編輯多個(gè)文件,然后通過下面的命令就可以在不同的文件之間切換,或者 復(fù)制粘貼了:
多窗口編輯
Vim 可以實(shí)現(xiàn)多窗口編輯,在編輯一個(gè)文件的同時(shí),如果需要參考其他文件,就可以 通過命令模式,再打開一個(gè)窗口,同時(shí) 編輯另外一個(gè)文件,通過 :sp filename 命令實(shí)現(xiàn)
Vim 的關(guān)鍵字補(bǔ)全
Vim 已經(jīng)是實(shí)現(xiàn)通過顏色來區(qū)分不同關(guān)鍵字了,重點(diǎn)是如果通過 關(guān)鍵字自動(dòng)補(bǔ)全,Vim也提供了關(guān)鍵字補(bǔ)全功能,但是與 Windows下的其他軟件完善的關(guān)鍵字補(bǔ)全使用 Tab 鍵實(shí)現(xiàn),Vim 下是使用 組合鍵實(shí)現(xiàn)的:
Vim環(huán)境設(shè)定與記錄
使用Vim時(shí),各種操作都會(huì)被 Vim 主動(dòng)記錄下來,這些記錄就存儲(chǔ)在 用戶的家目錄下:~/.viminfo, 該文件 自動(dòng)產(chǎn)生,不用自行建立
還有平時(shí)使用 Vim設(shè)定的一些習(xí)慣,比如打開文件默認(rèn)就顯示行號(hào)等,都是通過 Vim的環(huán)境文件配置的,下面列出幾個(gè)Vim 常用的環(huán)境設(shè)定參數(shù):
這些Vim 參數(shù)就在 /etc/vimrc 這個(gè)文件中保存設(shè)置,但是一般不建議修改這個(gè)文件,因?yàn)檫@個(gè)文件是全局的,如果有特殊需求,就通過修改 當(dāng)前用戶的家目錄下的配置文件,實(shí)現(xiàn)特殊化就可以了,該文件在:~/.vimrc,這個(gè)文件默認(rèn)是不存在的,需要手動(dòng)建立,下面提供了一份可以參考的設(shè)置文件:
其他使用注意事項(xiàng)
中文編碼問題
就是中文顯示亂碼的問題,一般就是 字符編碼格式的問題,肯定是需要修改字符編碼格式了,現(xiàn)在主流是使用utf-8編碼了,但是目前我沒有遇到這樣的問題,如果遇到了,就去 Google,肯定好解決
斷行字符
在DOS下的斷行字符為^M$,稱為 CR 和 LF 兩個(gè)符號(hào),在 Linux下僅有 LF($) 這一個(gè) 斷行符號(hào),這樣如果使用 Linux執(zhí)行 DOS下的腳本文件,由于 斷行符 不同,就會(huì)導(dǎo)致 程序無法執(zhí)行的情況,可以 安裝 專門的 字符轉(zhuǎn)換軟件 實(shí)現(xiàn) 這個(gè)轉(zhuǎn)換
《鳥哥的Linux私房菜》9.4.2節(jié)有詳細(xì)介紹
語系編碼轉(zhuǎn)換
Linux可以自動(dòng)實(shí)現(xiàn) 編碼轉(zhuǎn)換,通過 iconv 指令實(shí)現(xiàn):
如果要將 繁體的utf-8 編碼轉(zhuǎn)換為簡(jiǎn)體的utf-8就稍微有一點(diǎn)麻煩了,需要如下操作:
最后
一起提高,慢慢變強(qiáng)。
總結(jié)
以上是生活随笔為你收集整理的Linux基础知识与实操-篇三: 文件压缩打包与vim基本使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 形式语言与自动机 Part.6 图灵机
- 下一篇: Hive的内置HASH()函数使用哪种哈