Linux命令總結

Linux 命令總結

cd命令

cd命令用來切換工作目錄至dirname。 其中dirName表示法可爲絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的home directory(也就是剛login時所在的目錄)。另外,~也表示爲home directory的意思,.則是表示目前所在的目錄,..則表示目前目錄位置的上一層目錄。

cd    進入用戶主目錄;
cd /  切換到根目錄
cd ~  進入用戶主目錄;
cd -  返回進入此目錄之前所在的目錄;
cd ..  返回上級目錄(若當前目錄爲“/“,則執行完後還在“/";".."爲上級目錄的意思);
cd ../..  返回上兩級目錄;
cd !$  把上個命令的參數作爲cd參數使用。

絕對路徑:從根目錄說起表示絕對路徑 表示形式 /xxx/xx

相對路徑: 從當前目錄說起表示相對路徑 表示形式 ../ 或者 ./ 或者 直接目錄名

ls 命令

命令參數:

參數 長參數 描敘
-a -all 顯示指定目錄(缺省爲當前目錄)下所有文件,包括隱藏文件與目錄
-A –almost-all 不顯示隱藏的文件。(顯示除”.”和”..”外的所有文件)
–author –author 需要與參數-l結合使用。顯示文件的author
-b –escape print octal escapes for nongraphic characters(非顯示字符進行轉義打印);把文件名中不可輸出的字符用反斜槓加字符編號的形式輸出
–block-size 查看文件的block大小。K = KilobyteMM = MegabyteGG = GigabyteTT = TerabytePP = PetabyteEE = ExabyteZZ = ZettabyteYY = Yottabyte
-B –ignore-backups do not list implied entries ending with ~ 不顯示以~結尾的文件。
-c 配合 -lt:根據 ctime排序及顯示。 ctime (文件狀態最後更改的時間)
-C 按列輸出,縱向排序
–color 控制是否使用色彩分辨文件。WHEN 可以是’never’、’always’或’auto’其中之一
-d –directory 顯示目錄信息,而不是目錄下的文件信息
-D –dired 輸出適合 Emacs 的 dired 模式使用的結果
-f 對輸出的文件不進行排序, -lst等選項會失效。
-F –classify 附加文件類別,符號在文件名最後。/表明是一個目錄;@表明是到其它文件的符號鏈接;* 表明是一個可執行文件。
-g 類似參數-l,但是不列出所有者
-G 不列出任何有關組的信息
-h 人性化顯示容量信息。表示”–human-readable”,單位是k或者M ,比較容易看清楚結果
–si 類似參數h,但是文件大小去1000,而不是1024
-H 列出符號鏈接指示的真正的目的地
-i 列出文件或目錄的索引節點號
-l 使用長格式顯示。顯示詳細信息,例如是文件還是目錄,它的大小、修改日期和時間、文件或目錄的名字以及文件的屬主和它的權限
-L 當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象而並非符號鏈接本身的信息
-m 所有項目以逗號分隔,並填滿整行行寬
-n 以數字顯示文件和目錄的UID和GID
-N 此選項將不限制文件長度
-o 顯示文件出組信息以外的詳細信息。
-p 該ls命令選項可以在每個文件名後附上一個字符以說明該文件的類型,“*”表示可執行的普通文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。
-q 該選項可以用?代替不可輸出的字符
-Q 該選項可以把輸出的文件名用雙引號括起來
-r 倒序方式顯示文件和目錄
-R 遞歸顯示子目錄
-s 以塊大小爲單位列出所有文件的大小
-S 以文件大小排序
–sort=WORD extension -X status -cnone -U time -tsize -S atime -utime -t access -uversion -v use -u
–time=WORD
–time-style=STYLE
-t 以文件修改時間排序,默認按文件名排序。
-u 顯示文件或目錄最後被訪問的時間。
-U 不進行排序;依文件系統原有的次序列出項目
-v 根據版本進行排序
-w 自行指定屏幕寬度而不使用目前的數值
-x 逐行列出項目而不是逐欄列出
-X 根據擴展名排序
-1 每行只列一個文件

第一個行: total後面的數字是指當前目錄下所有文件所佔用的空間總和,怎麼計算的呢?

請看下面解釋:文件系統(filesytem)在格式化時就規範好了塊(block)的大小,在ext2/ext3的環境下,blok size的大小不變。

每一個block僅能容納一個文件, 如果塊大小爲4K, 而文件只有1K,則會有3K的空間被浪費,而total裏面記錄的是4K的容量,所以total裏面計算的是下圖第一列,而不是第6列的大小。

各個字段的含義

第1字段:文件屬性字段

文件屬性字段總共有10個字母組成,第一個字符表示文件類型

“-” 表示文件是普通文件

“d” 表示文件是一個目錄

“l” 表示該文件是一個連接文件

“b” 表示該文件是塊設備文件(block),一般置於/dev 目錄下, 設備文件是普通文件和程序訪問硬件設備的入口一類特殊文件。

“c” 表示該文件是一個字符設備文件。

“p” 表示該文件是命令管道文件。與shell編程相關的文件。

“s” 表示該文件爲sock 文件。與shell 相關

第1字符的後面9個字母表示該文件或目錄的權限位。其中前三個表示文件擁有者的權限,中間三個表示文件所屬組擁有的權限,最後三個表示其他用戶擁有的權限

r表是讀 (Read) 、w表示寫 (Write) 、x表示執行 (execute)

第2字段:文件硬鏈接數

如果是一個文件不是目錄,此時這一字段表示這個文件所具有的硬鏈接數 。

第3字段:文件(目錄)擁有者

第4字段:文件(目錄)擁有者所在的組

第5字段: 文件所佔用的空間(以字節爲單位)

第6字段:文件(目錄)最近訪問(修改)時間

第7字段:文件名

pwd命令

顯示當前目錄的路徑

pwd命令以絕對路徑的方式顯示用戶當前工作目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出。全部目錄使用/分隔。第一個/表示根目錄,最後一個目錄是當前目錄。執行pwd命令可立刻得知您目前所在的工作目錄的絕對路徑名稱。

touch命令

touch命令有兩個功能:

一是用於把已存在文件的時間標籤更新爲系統當前的時間(默認方式),它們的數據將原封不動地保留下來;

二是用來創建新的空文件。

-a:或--time=atime或--time=access或--time=use  只更改存取時間;
-c:或--no-create  不建立任何文件;
-d:<時間日期> 使用指定的日期時間,而非現在的時間;
-f:此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify  只更該變動時間;
-r:<參考文件或目錄>  把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同;
-t:<日期時間>  使用指定的日期時間,而非現在的時間;

mkdir命令

mkdir命令用來創建目錄。該命令創建由dirname命名的目錄。如果在目錄名的前面沒有加任何路徑名,則在當前目錄下創建由dirname指定的目錄;如果給出了一個已經存在的路徑,將會在該目錄下創建一個指定的目錄。在創建目錄時,應保證新建的目錄與它所在目錄下的文件沒有重名。

-Z:設置安全上下文,當使用SELinux時有效;
-m<目標屬性>或--mode<目標屬性> 建立目錄的同時設置目錄的權限;
-p或--parents 若所要建立目錄的上層目錄目前尚未建立,則會一併建立上層目錄;

rmdir 命令

rmdir命令用來刪除空目錄。當目錄不再被使用時,或者磁盤空間已到達使用限定值,就需要刪除失去使用價值的目錄。利用rmdir命令可以從一個目錄中刪除一個或多個空的子目錄。該命令從一個目錄中刪除一個或多個子目錄,其中dirname佬表示目錄名。如果dirname中沒有指定路徑,則刪除當前目錄下由dirname指定的目錄;如dirname中包含路徑,則刪除指定位置的目錄。刪除目錄時,必須具有對其父目錄的寫權限。

-p--parents:刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除;
--ignore-fail-on-non-empty:此選項使rmdir命令忽略由於刪除非空目錄時導致的錯誤信息;
-v-verboes:顯示命令的詳細執行過程;

rm 命令

rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。

注意:使用rm命令要格外小心。因爲一旦刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。rm命令可以用-i選項,這個選項在使用文件擴展名字符刪除多個文件時特別有用。使用這個選項,系統會要求你逐一確定是否要刪除。這時,必須輸入y並按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會被刪除。

-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。

cp 命令

cp命令用來將一個或多個源文件或者目錄複製到指定的目的文件或目錄。它可以將單個源文件複製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時複製多個文件,當一次複製多個文件時,目標文件參數必須是一個已經存在的目錄,否則將出現錯誤。

-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當複製符號連接時,把目標文件或目錄也建立爲符號連接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非複製文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一併處理;
-s:對源文件建立符號連接,而非複製文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件;
-S:在備份文件時,用指定的後綴“SUFFIX”代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。

mv命令

mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。如果將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。

mv命令可以用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中。源文件被移至目標文件有兩種不同的結果:

  1. 如果目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變。
  2. 如果目標文件不是目錄文件,則源文件名(只能有一個)會變爲此目標文件名,並覆蓋己存在的同名文件。如果源文件和目標文件在同一個目錄下,mv的作用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數可以有多個,則所有的源文件都會被移至目標文件中。所有移到該目錄下的文件都將保留以前的文件名。

注意事項:mv與cp的結果不同,mv好像文件“搬家”,文件個數並未增加。而cp對文件進行復制,文件個數增加了。

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當文件存在時,覆蓋前,爲其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重複,則直接覆蓋現有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜槓“/”;
-S<後綴>:爲備份文件指定後綴,而不使用默認的後綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。

mv 文件名 目錄 =》 把文件移動到指定目錄下
mv 文件名 目錄/文件名 =》先把文件移動到指定目錄下然後在重命名
mv 文件名 新文件名  =》 把某個文件進行重命名
mv 文件夾 目錄  =》 把文件夾移動到指定目錄不需要加-r

tree 命令

tree: 以目錄樹的方式顯示文件信息
tree: 查看當前目錄以樹狀方式顯示目錄信息
tree 目錄名 :查看指定目錄以樹狀方式顯示目錄信息

-a:顯示所有文件和目錄;
-A:使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合;
-C:在文件和目錄清單加上色彩,便於區分各種類型;
-d:先是目錄名稱而非內容;
-D:列出文件或目錄的更改時間;
-f:在每個文件或目錄之前,顯示完整的相對路徑名稱;
-F:在執行文件,目錄,Socket,符號連接,管道名稱名稱,各自加上"*""/""@""|"號;
-g:列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼;
-i:不以階梯狀列出文件和目錄名稱;
-l:<範本樣式> 不顯示符號範本樣式的文件或目錄名稱;
-l:如遇到性質爲符號連接的目錄,直接列出該連接所指向的原始目錄;
-n:不在文件和目錄清單加上色彩;
-N:直接列出文件和目錄名稱,包括控制字符;
-p:列出權限標示;
-P:<範本樣式> 只顯示符合範本樣式的文件和目錄名稱;
-q:用“?”號取代控制字符,列出文件和目錄名稱;
-s:列出文件和目錄大小;
-t:用文件和目錄的更改時間排序;
-u:列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼;
-x:將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另一個文件系統上,則將該目錄予以排除在尋找範圍外。

cal 命令

cal命令用於顯示當前日曆,或者指定日期的日曆。

-l:顯示單月輸出;
-3:顯示臨近三個月的日曆;
-s:將星期日作爲月的第一天;
-m:將星期一作爲月的第一天;
-j:顯示“julian”日期;
-y:顯示當前年的日曆。

data 命令

ate命令是顯示或設置系統時間與日期。

很多shell腳本里面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用於腳本執行過程中提供一段等待的時間。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲爲一個整數,其大小爲自世界標準時間(UTC)1970年1月1日0時0分0秒起流逝的秒數。

-d<字符串>:顯示字符串所指的日期與時間。字符串前後必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前後必須加上雙引號;
-u:顯示GMT--help:在線幫助;
--version:顯示版本信息。

參數

<+時間日期格式>:指定顯示時使用的日期時間格式。

日期格式字符串列表

%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一爲第一天)
%y 年的最後兩個數字(1999則是99)

history 命令

history : 查看歷史命令
!歷史命令編號: 執行歷史命令

重定向(>, >>)

重定向:重新規定顯示方向,也就是在終端顯示的文件信息在文件裏面保存及顯示

>: 先把源文件裏面的內容清空以後在寫入信息文件信息數據

>>: 在原有文件數據的基礎上進行追加新的寫入數據

總結: ls,tree, echo, cat 可以使用重定向

管道

​ 管道可以理解程同一個容器,在終端顯示的內容保存在管道里面,使用more分屏/grep顯示管道里面的數據
ls /bin | more/grep => 查看bin目錄下的文件信息,讓顯示在終端的數據保存在管道里面,然後通過more分屏顯示管道里面的數據
經常和grep/xargs連用

find 命令

find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視爲欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。

選項

-amin<分鐘>:查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算;
-anewer<參考文件或目錄>:查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄;
-atime<24小時數>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;
-cmin<分鐘>:查找在指定時間之時被更改過的文件或目錄;
-cnewer<參考文件或目錄>查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
-ctime<24小時數>:查找在指定時間之時被更改的文件或目錄,單位以24小時計算;
-daystart:從本日開始計算時間;
-depth:從指定目錄下最深層的子目錄開始查找;
-expty:尋找文件大小爲0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄;
-exec<執行指令>:假設find指令的回傳值爲True,就執行該指令;
-false:將find指令的回傳值皆設爲False-fls<列表文件>:此參數的效果和指定“-ls”參數類似,但會把結果保存爲指定的列表文件;
-follow:排除符號連接;
-fprint<列表文件>:此參數的效果和指定“-print”參數類似,但會把結果保存成指定的列表文件;
-fprint0<列表文件>:此參數的效果和指定“-print0”參數類似,但會把結果保存成指定的列表文件;
-fprintf<列表文件><輸出格式>:此參數的效果和指定“-printf”參數類似,但會把結果保存成指定的列表文件;
-fstype<文件系統類型>:只尋找該文件系統類型下的文件或目錄;
-gid<羣組識別碼>:查找符合指定之羣組識別碼的文件或目錄;
-group<羣組名稱>:查找符合指定之羣組名稱的文件或目錄;
-help或——help:在線幫助;
-ilname<範本樣式>:此參數的效果和指定“-lname”參數類似,但忽略字符大小寫的差別;
-iname<範本樣式>:此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別;
-inum<inode編號>:查找符合指定的inode編號的文件或目錄;
-ipath<範本樣式>:此參數的效果和指定“-path”參數類似,但忽略字符大小寫的差別;
-iregex<範本樣式>:此參數的效果和指定“-regexe”參數類似,但忽略字符大小寫的差別;
-links<連接數目>:查找符合指定的硬連接數目的文件或目錄;
-iname<範本樣式>:指定字符串作爲尋找符號連接的範本樣式;
-ls:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出;
-maxdepth<目錄層級>:設置最大目錄層級;
-mindepth<目錄層級>:設置最小目錄層級;
-mmin<分鐘>:查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算;
-mount:此參數的效果和指定“-xdev”相同;
-mtime<24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;
-name<範本樣式>:指定字符串作爲尋找文件或目錄的範本樣式;
-newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
-nogroup:找出不屬於本地主機羣組識別碼的文件或目錄;
-noleaf:不去考慮目錄至少需擁有兩個硬連接存在;
-nouser:找出不屬於本地主機用戶識別碼的文件或目錄;
-ok<執行指令>:此參數的效果和指定“-exec”類似,但在執行指令之前會先詢問用戶,若回答“y”或“Y”,則放棄執行命令;
-path<範本樣式>:指定字符串作爲尋找目錄的範本樣式;
-perm<權限數值>:查找符合指定的權限數值的文件或目錄;
-print:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式爲每列一個名稱,每個名稱前皆有“./”字符串;
-print0:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式爲全部的名稱皆在同一行;
-printf<輸出格式>:假設find指令的回傳值爲Ture,就將文件或目錄名稱列出到標準輸出。格式可以自行指定;
-prune:不尋找字符串作爲尋找文件或目錄的範本樣式;
-regex<範本樣式>:指定字符串作爲尋找文件或目錄的範本樣式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:將find指令的回傳值皆設爲True-typ<文件類型>:只尋找符合指定的文件類型的文件;
-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;
-used<日數>:查找文件或目錄被更改之後在指定時間曾被存取過的文件或目錄,單位以日計算;
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;
-version或——version:顯示版本信息;
-xdev:將範圍侷限在先行的文件系統中;
-xtype<文件類型>:此參數的效果和指定“-type”參數類似,差別在於它針對符號連接檢查。

參數

起始目錄:查找文件的起始目錄。

tar 命令

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

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

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

選項

-A或--catenate:新增文件到以存在的備份文件;
-B:設置區塊大小;
-c或--create:建立新的備份文件;
-C <目錄>:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。
-d:記錄文件的差別;
-x或--extract或--get:從備份文件中還原文件;
-t或--list:列出備份文件的內容;
-z或--gzip或--ungzip:通過gzip指令處理備份文件;
-Z或--compress或--uncompress:通過compress指令處理備份文件;
-f<備份文件>或--file=<備份文件>:指定備份文件;
-v或--verbose:顯示指令執行過程;
-r:添加文件到已經壓縮的文件;
-u:添加改變了和現有的文件到已經存在的壓縮文件;
-j:支持bzip2解壓文件;
-v:顯示操作過程;
-l:文件系統邊界設置;
-k:保留原有文件不覆蓋;
-m:保留文件不被覆蓋;
-w:確認壓縮文件的正確性;
-p或--same-permissions:用原來的文件權限還原文件;
-P或--absolute-names:文件名使用絕對名稱,不移除文件名稱前的“/”號;
-N <日期格式> 或 --newer=<日期時間>:只將較指定日期更新的文件保存到備份文件裏;
--exclude=<範本樣式>:排除符合範本樣式的文件。

參數

文件或目錄:指定要打包的文件或目錄列表。

gzip 命令

gzip命令用來壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過後,其名稱後面會多處“.gz”擴展名。

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

選項

-a或——ascii:使用ASCII文字模式;
-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:顯示版本信息;
-<壓縮效率>:壓縮效率是一個介於1~9的數值,預設值爲“6”,指定愈大的數值,壓縮效率就會愈高;
--best:此參數的效果和指定“-9”參數相同;
--fast:此參數的效果和指定“-1”參數相同。

參數

文件列表:指定要壓縮的文件列表。

bzip2 命令

bzip2命令用於創建和管理(包括解壓縮)“.bz2”格式的壓縮包。

選項

-c或——stdout:將壓縮與解壓縮的結果送到標準輸出;
-d或——decompress:執行解壓縮;
-f或-force:bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋。請使用此參數;
-h或——help:在線幫助;
-k或——keep:bzip2在壓縮或解壓縮後,會刪除原始文件。若要保留原始文件,請使用此參數;
-s或——small:降低程序執行時內存的使用量;
-t或——test:測試.bz2壓縮文件的完整性;
-v或——verbose:壓縮或解壓縮文件時,顯示詳細的信息;
-z或——compress:強制執行壓縮;
-V或——version:顯示版本信息;
--repetitive-best:若文件中有重複出現的資料時,可利用此參數提高壓縮效果;
--repetitive-fast:若文件中有重複出現的資料時,可利用此參數加快執行效果。

參數

文件:指定要壓縮的文件。

zip 命令

zip命令可以用來解壓縮文件,或者對文件進行打包操作。zip是個使用廣泛的壓縮程序,文件經它壓縮後會另外產生具有“.zip”擴展名的壓縮文件。

選項

-A:調整可執行的自動解壓縮文件;
-b<工作目錄>:指定暫時存放文件的目錄;
-c:替每個被壓縮的文件加上註釋;
-d:從壓縮文件內刪除指定的文件;
-D:壓縮文件內不建立目錄名稱;
-f:此參數的效果和指定“-u”參數類似,但不僅更新既有文件,如果某些文件原本不存在於壓縮文件內,使用本參數會一併將其加入壓縮文件中;
-F:嘗試修復已損壞的壓縮文件;
-g:將文件壓縮後附加在已有的壓縮文件之後,而非另行建立新的壓縮文件;
-h:在線幫助;
-i<範本樣式>:只壓縮符合條件的文件;
-j:只保存文件名稱及其內容,而不存放任何目錄名稱;
-J:刪除壓縮文件前面不必要的數據;
-k:使用MS-DOS兼容格式的文件名稱;
-l:壓縮文件時,把LF字符置換成LF+CR字符;
-ll:壓縮文件時,把LF+cp字符置換成LF字符;
-L:顯示版權信息;
-m:將文件壓縮並加入壓縮文件後,刪除原始文件,即把文件移到壓縮文件中;
-n<字尾字符串>:不壓縮具有特定字尾字符串的文件;
-o:以壓縮文件內擁有最新更改時間的文件爲準,將壓縮文件的更改時間設成和該文件相同;
-q:不顯示指令執行過程;
-r:遞歸處理,將指定目錄下的所有文件和子目錄一併處理;
-S:包含系統和隱藏文件;
-t<日期時間>:把壓縮文件的日期設成指定的日期;
-T:檢查備份文件內的每個文件是否正確無誤;
-u:更換較新的文件到壓縮文件內;
-v:顯示指令執行過程或顯示版本信息;
-V:保存VMS操作系統的文件屬性;
-w:在文件名稱裏假如版本編號,本參數僅在VMS操作系統下有效;
-x<範本樣式>:壓縮時排除符合條件的文件;
-X:不保存額外的文件屬性;
-y:直接保存符號連接,而非該鏈接所指向的文件,本參數僅在UNIX之類的系統下有效;
-z:替壓縮文件加上註釋;
-$:保存第一個被壓縮文件所在磁盤的卷冊名稱;
-<壓縮效率>:壓縮效率是一個介於1~9的數值。

參數

zip壓縮包:指定要創建的zip壓縮包;

文件列表:指定要壓縮的文件列表。

unzip 命令

unzip命令用於解壓縮由zip命令壓縮的“.zip”壓縮包。

選項

-c:將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換;
-f:更新現有的文件;
-l:顯示壓縮文件內所包含的文件;
-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換;
-t:檢查壓縮文件是否正確;
-u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中;
-v:執行時顯示詳細的信息;
-z:僅顯示壓縮文件的備註文字;
-a:對文本文件進行必要的字符轉換;
-b:不要對文本文件進行字符轉換;
-C:壓縮文件中的文件名稱區分大小寫;
-j:不處理壓縮文件中原有的目錄路徑;
-L:將壓縮文件中的全部文件名改爲小寫;
-M:將輸出結果送到more程序處理;
-n:解壓縮時不要覆蓋原有的文件;
-o:不必先詢問用戶,unzip執行後覆蓋原有的文件;
-P<密碼>:使用zip的密碼選項;
-q:執行時不顯示任何信息;
-s:將文件名中的空白字符轉換爲底線字符;
-V:保留VMS的文件版本信息;
-X:解壓縮時同時回存文件原來的UID/GID-d<目錄>:指定文件解壓縮後所要存儲的目錄;
-x<文件>:指定不要處理.zip壓縮文件中的哪些文件;
-Z:unzip-Z等於執行zipinfo指令。

參數

壓縮包:指定要解壓的“.zip”壓縮包。

which命令

which命令用於查找並顯示給定命令的絕對路徑,環境變量PATH中保存了查找命令時需要遍歷的目錄。which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。

選項

-n<文件名長度>:制定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名;
-p<文件名長度>:與-n參數相同,但此處的<文件名長度>包含了文件的路徑;
-w:指定輸出時欄位的寬度;

參數

指令名:指令名列表

chmod命令

chmod命令用來變更文件或目錄的權限。在UNIX系統家族裏,文件或目錄權限的控制分別以讀取、寫入、執行3種一般權限來區分,另有3種特殊權限可供運用。用戶可以使用chmod指令去變更文件與目錄的權限,設置方式採用文字或數字代號皆可。符號連接的權限無法變更,如果用戶對符號連接修改權限,其改變會作用在被連接的原始文件。

權限範圍的表示法如下:

u User,即文件或目錄的擁有者;
g Group,即文件或目錄的所屬羣組;
o Other,除了文件或目錄擁有者或所屬羣組之外,其他用戶皆屬於這個範圍;
a All,即全部的用戶,包含擁有者,所屬羣組以及其他用戶;
r 讀取權限,數字代號爲“4”;
w 寫入權限,數字代號爲“2”;
x 執行或切換權限,數字代號爲“1”;
- 不具任何權限,數字代號爲“0”;
s 特殊功能說明:變更文件或目錄的權限。

語法

chmod(選項)(參數)

選項

-c或——changes:效果類似“-v”參數,但僅回報更改的部分;
-f或--quiet或——silent:不顯示錯誤信息;
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一併處理;
-v或——verbose:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的所屬羣組全部設成和參考文件或目錄的所屬羣組相同;
<權限範圍>+<權限設置>:開啓權限範圍的文件或目錄的該選項權限設置;
<權限範圍>-<權限設置>:關閉權限範圍的文件或目錄的該選項權限設置;
<權限範圍>=<權限設置>:指定權限範圍的文件或目錄的該選項權限設置;

參數

權限模式:指定文件的權限模式;
文件:要改變權限的文件。

知識擴展和實例

Linux用 戶分爲:擁有者、組羣(Group)、其他(other),Linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關信 息, 都是記錄在/etc/passwd文件中。每個人的密碼則是記錄在/etc/shadow文件下。 此外,所有的組羣名稱記錄在/etc/group內!

linux文件的用戶權限的分析圖

r=讀取屬性  //值=4
w=寫入屬性  //值=2
x=執行屬性  //值=1

其他命令

  1. sudo -s: 切換到管理員用戶
  2. passwd: 修改用戶密碼
  3. who: 查看當前登陸的用戶有那些人
  4. whoami:當前用戶是誰
  5. exit: 退出某個用戶
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章