1. 程式人生 > >Linux基礎之命令練習Day3-文件管理:cat,tar,gzip,vim,ln

Linux基礎之命令練習Day3-文件管理:cat,tar,gzip,vim,ln

兩個 .com 行數 什麽 塊大小 targe 強制 cat zip解壓

一. 文件合並

cat命令的用途是連接文件或標準輸入並打印。這個命令常用來顯示文件內容,或者將幾個文件連接起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。

1.命令格式:

cat [選項] [文件]...

2.命令功能:

cat主要有三大功能:

1.一次顯示整個文件:cat filename

2.從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.

3.將幾個文件合並為一個文件:cat file1 file2 > file

3.命令參數:

-A, --show-all 等價於 -vET

-b, --number-nonblank 對非空輸出行編號

-e 等價於 -vE

-E, --show-ends 在每行結束處顯示 $

-n, --number 對輸出的所有行編號,由1開始對所有輸出的行數編號

-s, --squeeze-blank 有連續兩行以上的空白行,就代換為一行的空白行

-t 與 -vT 等價

-T, --show-tabs 將跳格字符顯示為 ^I

-u (被忽略)

-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

技術分享圖片

二. 文件打包

tar命令可以為linux的文件和目錄創建檔案。利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網絡傳輸是非常有用的。

首先要弄清兩個概念:打包和壓縮。打包是指將一大堆文件或目錄變成一個總的文件;壓縮則是將一個大的文件通過一些壓縮算法變成一個小文件。

為什麽要區分這兩個概念呢?這源於Linux中很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然後再用壓縮程序進行壓縮(gzip bzip2命令)。

linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程序來進行壓縮。

1.命令格式:

tar[必要參數][選擇參數][文件]

2.命令功能:

用來壓縮和解壓文件。tar本身不具有壓縮功能。他是調用壓縮功能實現的

3.命令參數:

必要參數有如下:

-A 新增壓縮文件到已存在的壓縮

-B 設置區塊大小

-c 建立新的壓縮文件

-d 記錄文件的差別

-r 添加文件到已經壓縮的文件

-u 添加改變了和現有的文件到已經存在的壓縮文件

-x 從壓縮的文件中提取文件

-t 顯示壓縮文件的內容

-z 支持gzip解壓文件

-j 支持bzip2解壓文件

-Z 支持compress解壓文件

-v 顯示操作過程

-l 文件系統邊界設置

-k 保留原有文件不覆蓋

-m 保留文件不被覆蓋

-W 確認壓縮文件的正確性

可選參數如下:

-b 設置區塊數目

-C 切換到指定目錄

-f 指定壓縮文件

--help 顯示幫助信息

--version 顯示版本信息

技術分享圖片

三. 文件壓縮

gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。gzip不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%~70%的壓縮率。

1.命令格式:

gzip[參數][文件或者目錄]

2.命令功能:

gzip是個使用廣泛的壓縮程序,文件經它壓縮過後,其名稱後面會多出".gz"的擴展名。

3.命令參數:

-a或--ascii  使用ASCII文字模式。

-c或--stdout或--to-stdout  把壓縮後的文件輸出到標準輸出設備,不去更動原始文件。

-d或--decompress或----uncompress  解開壓縮文件。

-f或--force  強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否為符號連接。

-h或--help  在線幫助。

-l或--list  列出壓縮文件的相關信息。

-L或--license  顯示版本與版權信息。

-n或--no-name  壓縮文件時,不保存原來的文件名稱及時間戳記。

-N或--name  壓縮文件時,保存原來的文件名稱及時間戳記。

-q或--quiet  不顯示警告信息。

-r或--recursive  遞歸處理,將指定目錄下的所有文件及子目錄一並處理。

-S<壓縮字尾字符串>或----suffix<壓縮字尾字符串>  更改壓縮字尾字符串。

-t或--test  測試壓縮文件是否正確無誤。

-v或--verbose  顯示指令執行過程。

-V或--version  顯示版本信息。

-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統缺省值為6。

技術分享圖片

技術分享圖片

四. Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程序開發者的一項很好用的工具。 連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個程序開發工具而不是文字處理軟件。

vi/vim 的使用

基本上 vi/vim 共分為三種模式,分別是一般模式、編輯模式與指令列命令模式。 這三種模式的作用分別是:

  • 一般模式:
    以 vi 打開一個檔案就直接進入一般模式了(這是默認的模式)。在這個模式中, 你可以使用『上下左右』按鍵來移動光標,你可以使用『刪除字符』或『刪除整行』來處理檔案內容, 也可以使用『復制、貼上』來處理你的文件數據。
  • 編輯模式:
    在一般模式中可以進行刪除、復制、貼上等等的動作,但是卻無法編輯文件內容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一個字母之後才會進入編輯模式。註意了!通常在 Linux 中,按下這些按鍵時,在畫面的左下方會出現『INSERT 或 REPLACE 』的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。
  • 指令列命令模式:
    在一般模式當中,輸入『 : / ? 』三個中的任何一個按鈕,就可以將光標移動到最底下那一行。在這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存盤、大量取代字符、離開 vi 、顯示行號等等的動作則是在此模式中達成的!

簡單的說,我們可以將這三個模式想成底下的圖標來表示:

技術分享圖片

vim 鍵盤圖:

技術分享圖片

vim命令合集 不保證準確性,僅供參考,驗證。

五. i節點,軟/硬鏈接

1. i節點實際上是一個數據結構,它存放了有關一個普通文件、目錄或其他文件系統對象的基本信息;

2. Linux ln命令是一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。

當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間。

語法

 ln [參數][源文件或目錄][目標文件或目錄]

其中參數的格式為

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

[--help] [--version] [--]

命令功能 :
Linux文件系統中,有所謂的鏈接(link),我們可以將其視為檔案的別名,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個檔案可以有多個名稱,而軟鏈接的方式則是產生一個特殊的檔案,該檔案的內容是指向另一個檔案的位置。硬鏈接是存在同一個文件系統中,而軟鏈接卻可以跨越不同的文件系統。

不論是硬鏈接或軟鏈接都不會將原本的檔案復制一份,只會占用非常少量的磁碟空間。

軟鏈接

  • 1.軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式
  • 2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
  • 3.軟鏈接可以對一個不存在的文件名進行鏈接
  • 4.軟鏈接可以對目錄進行鏈接

硬鏈接

  • 1.硬鏈接,以文件副本的形式存在。但不占用實際空間。
  • 2.不允許給目錄創建硬鏈接
  • 3.硬鏈接只有在同一個文件系統中才能創建

命令參數

必要參數

  • -b 刪除,覆蓋以前建立的鏈接
  • -d 允許超級用戶制作目錄的硬鏈接
  • -f 強制執行
  • -i 交互模式,文件存在則提示用戶是否覆蓋
  • -n 把符號鏈接視為一般目錄
  • -s 軟鏈接(符號鏈接)
  • -v 顯示詳細的處理過程

選擇參數

    • -S "-S<字尾備份字符串> "或 "--suffix=<字尾備份字符串>"
    • -V "-V<備份方式>"或"--version-control=<備份方式>"
    • --help 顯示幫助信息
    • --version 顯示版本信息

實例

給文件創建軟鏈接,為log2013.log文件創建軟鏈接link2013,如果log2013.log丟失,link2013將失效:

ln -s log2013.log link2013

輸出:

[root@localhost test]# ll
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log
[root@localhost test]# ln -s log2013.log link2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log

給文件創建硬鏈接,為log2013.log創建硬鏈接ln2013,log2013.log與ln2013的各項屬性相同

ln log2013.log ln2013

輸出:

[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log
[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
lrwxrwxrwx 1 root root     11 12-07 16:01 link2013 -> log2013.log
-rw-r--r-- 2 root bin      61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin      61 11-13 06:03 log2013.log

參考資料

1. http://www.cnblogs.com/linhaifeng/articles/6045600.html#_label9

2. http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A4/default.html?page=1

3. http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html

4. http://www.w3cschool.cn/linux/linux-command-manual.html

Linux基礎之命令練習Day3-文件管理:cat,tar,gzip,vim,ln