- 顯示日期指令date
- 顯示日曆指令cal
只有cal的時候,顯示當時日期的日曆
當cal後面帶了一個年份參數,顯示全年的日曆
cal後面有兩個參數,第一個是月份,第二個是年份,那麼顯示那一年那一月的日曆
- 簡單好用的計算器bc
bc的除法只顯示整數部分
如果想要除法可以顯示小數部分,那麼需要執行scale=number
-
數據同步寫入磁盤sync。這個命令用於把存在內存中尚未更新的數據寫入磁盤,所以這個命令在關機和重啓之前執行。
-
關機命令shutdown
參數 | 含義 |
---|---|
-t | -t 後面加一個數字,表示幾秒之後關機 |
-k | 表示不要真的關機,只是發送警告訊息 |
-r | 在將系統的服務停掉之後就重新啓動 |
-h | 將系統的服務停掉之後就立即關機 |
-n | 不經過init程序,直接以shutdown的功能來關機 |
-f | 關機並開機之後,強制略過fsck的磁盤檢查 |
-F | 系統重新啓動之後,強制進行fsck的磁盤檢查 |
-c | 取消已經在進行的shutdown內容 |
shutdown指令一定要加入時間參數!!
- 改變文件所屬羣組chgrp
參數 | 含義 |
---|---|
-R | 如果-R 後面是一個目錄名字,那麼遞歸改變這個目錄裏面的文件所屬的羣組 |
-v | 顯示詳細的處理信息 |
-f | 不顯示錯誤信息 |
-c | 當發生改變時輸出調試信息 |
命令格式:chgrp [參數] 羣組名 文件名/目錄名
這裏有一個問題,在普通用戶模式不能更改文件權限到bin羣組,必須是超級用戶纔有權限。
改變了文件的羣組之後可以用命令查看
- 改變文件擁有者chown
參數 | 含義 |
---|---|
-R | 如果-R 後面是一個目錄名字,那麼遞歸改變這個目錄裏面的文件所屬的羣組 |
-v | 顯示詳細的處理信息 |
-f | 不顯示錯誤信息 |
-c | 當發生改變時輸出調試信息 |
命令格式:chown [參數] 文件新擁有者的ID:文件新羣組的的ID 文件名/目錄名
只有改變文件的所屬用戶,不對文件的羣組進行規定。但是改變文件需要超級用戶權限。
-
增加用戶並且給用戶添加密碼
命令格式:useradd 用戶名 //增加一個用戶必須在超級用戶的權限下
passwd 用戶名 //修改用戶名
userdel -r 用戶名 //刪除用戶的同時也刪除用戶在系統文件中的記錄
-
檔案與目錄顯示ls
參數 | 含義 |
---|---|
-a | 列出全部的檔案,包括隱藏檔案和.和…兩個檔案常用 |
-A | 列出全部的檔案,包括隱藏檔案但是不包括.和…兩個檔案常用 |
-d | 僅列出目錄本身,而不是列出目錄內的檔案數據常用 |
-l | 長數據串行列出,包含檔案的屬性與權限等數據常用 |
-f | |
-F | |
-h | |
-i | |
-n | |
-r |
ls不帶參數時,直接顯示目錄下的文件和檔案,藍色的是目錄,白色的是文件,綠色的是可運行文件,紅色的是壓縮文件。
ls 帶a參數的時候,現實目錄下面的所有隱藏文件,包括.和…兩個目錄
ls帶A參數可以顯示隱藏文件夾,但是不包括.和…兩個文件夾。
無論在哪個文件夾,ls帶d參數顯示的都是一樣的結果
ls帶l參數可以顯示這個目錄下面的文件的目錄的文件權限以及擁有者和所屬羣組等信息,但是不包括隱藏文件和目錄。
但是ls帶l參數和d參數可以顯示當前目錄的詳細信息
我們解析一下結果的前10個字符
第一個字符
參數 | 含義 |
---|---|
d | 目錄 |
- | 文件 |
l | 鏈接文件 |
b | 裝置文件裏面的可供存儲的接口設備 |
c | 裝置文件裏面的串行接口設備,例如鍵盤和鼠標 |
接下來的字符是三個一組,且都是rwx爲一組,r表示讀,w表示寫,x表示執行,如果沒有這一個權限就會顯示-
第一組rwx表示的是文件擁有者的權限。
第二組rwx表示文件所屬的羣組的權限。
第三組rwx表示其他用戶的權限。
- 改變文件的權限chmod
權限改變有兩種方法,分別可以使用數字或者符號來進行權限的變更。
根據上面的權限顯示,rwx分別表示三種權限。那麼如果有這個權限用1表示,沒有這個權限用0表示,那麼rwx可以表示成從000到111這8種表示,再把000到111轉換成爲二進制。也就是如果rwx三種權限都有就是7,如果三種權限都沒有就是0。
那麼三組rwx的組合就是000到777。根據這種數字方法可以修改文件的權限。
舉例子:
初始文件權限
我們用數字方法修改apple這個文件的權限。
第二種方法是用字符的方法改變文件權限。
語法格式:chmod [u/g/o/a] [+/-/=] [r/w/x] 文件/目錄名
u表示文件擁有者
g表示文件所屬權限
o便是其他用戶
a表示所有權限
+表示加上這一權限,
-表示除去這一權限
=表示設定爲這一權限
初始文件權限:
我們用字符的方式修改文件權限
-
查看目前所在的目錄
-
變換目錄cd
變換目錄有兩種根據絕對路徑和相對路徑。同時還有一些特殊符號。
-
建立目錄和刪除目錄
建立目錄mkdir
參數 | 含義 |
---|---|
-m | 直接配置文件和目錄的權限,不用考慮umask |
-p | 直接幫你把需要的上層目錄遞歸的建立起來,包含上層目錄 |
舉例子:
刪除空目錄是rmdir
- 複製檔案或目錄cp
參數 | 含義 |
---|---|
-a | 此選項通常在複製目錄時使用,它保留鏈接,文件屬性,並複製目錄下所有內容 |
-d | 複製時保留鏈接,相當於Windows的快捷方式 |
-f | 覆蓋已存在的同名文件而不給出提示 |
-i | 當已經存在同名文件時,給出提示,要求用戶是否覆蓋,如果覆蓋請按Y |
-p | 除了複製文件的內容外,還把修改時間和訪問權限也複製到新文件中 |
-r | 若給出的源文件是一個目錄文件,那麼在複製時遞歸複製子目錄和文件 |
-l | 不復制文件,只是生成鏈接文件 |
16.移動檔案或者目錄或者改名mv
命令語法:mv [源文件名字1…源文件名字n] 目標文件名字
參數 | 含義 |
---|---|
-f | 強制的意思,在目標文檔已經存在的情況下,不再詢問,直接覆蓋 |
-i | 若目標文檔已經存在則詢問是否覆蓋 |
-u | 若目標文檔已經存在,並且目標文檔的更新時間比較新,就進行更新 |
-
取得路徑的文件名basename和路徑名dirname
一般用於shell編程
-
顯示文件內容cat
參數 | 含義 |
---|---|
-b | 列出行號,僅針對非空白行列出行號 |
-n | 打印出行號,空白行也顯示行號 |
-v | 列出一下看不出來的空白字符 |
-E | 將結尾的斷行符$顯示出來 |
-
從最後一行開始顯示文件內容tac
-
顯示文檔內容的時候,顯示行號nl
參數 | 含義 |
---|---|
-b a | 不論是否爲空行,同樣列出行號 |
-b t | 如果有空行,空的那行不顯示行號(默認值) |
-n ln | 行號在屏幕最左邊顯示 |
-n rn | 行號在字段最右方顯示,並且不顯示0 |
-n rz | 行號在字段最右方顯示,並且顯示0補齊行號 |
-w | 規定行號所佔用的位數 |
- 一頁一頁顯示文件內容more
操作 | 含義 |
---|---|
空格 | 代表向下翻一頁 |
Enter | 代表向下翻一行 |
/字符串 | 代表在這個顯示內容當中,向下搜尋字符串的關鍵字 |
:f | 立刻顯示文件名和目前顯示的行數 |
q | 立刻離開more |
b | 往回翻頁,只對文件有效,對管道無效 |
- 與more相類似,但是更好用less
操作 | 含義 |
---|---|
空格 | 代表向下翻一頁 |
[pagedown] | 代表向下翻一頁 |
[pageup] | 代表向上翻一頁 |
/字符串 | 代表在這個顯示內容當中,向下搜尋字符串的關鍵字 |
?字符串 | 代表在這個顯示內容當中,向上搜尋字符串的關鍵字 |
n | 重複前一個搜尋,與/和?有關 |
N | 反向重複前一個搜尋,與/和?有關 |
q | 離開less這個程序 |
-
顯示頭幾行head
命令語法:head -n 數字 文件名字
默認是10行
-
顯示尾幾行tail
命令語法:tail -n 數字 文件名字
默認是10行
-
已某種方式讀取文件內容od
參數 | 含義 |
---|---|
-t a | 默認字符來輸出 |
-t c | 用ASCII來顯示 |
-t d[數字] | 代表向上翻一頁 |
-t d[數字] | 利用十進制來輸出數據,每個整數佔用數字位數 |
-t d[數字] | 利用浮點數來輸出數據,每個整數佔用數字位數 |
-t o[數字] | 利用八進制來輸出數據,每個整數佔用數字位數 |
-t x[數字] | 利用十六進制來輸出數據,每個整數佔用數字位數 |
- 顯示inode內容stat命令
stat以文字格式來顯示inode內容
- 科普Linux裏面的文件有三個時間:atime(access time 訪問時間),ctime(change time 狀態修改時間),mtime(modify time 修改時間)。
- atime(access time)顯示的是文件中的數據最後被訪問的時間。比如系統的進程直接使用或者通過命令間接使用(執行一些可以執行的文件或腳本)。
- mtime(modify time)顯示的是文件內容被修改的最後時間,比如用vi編輯時就會改變。
- ctime(change time)顯示的是文件的權限,擁有者,所屬的組鏈接數發生改變的時間。
- 修改文檔時間或者創建文檔touch
參數 | 含義 |
---|---|
-a | 僅修訂access time |
-c | 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。 |
-d | 可以規定修訂文件的時間而不用當前的時間,也可以使用 --date=時間 |
-m | 僅修改mtime |
-t | 後面接想要修改的日期而不用當前的日期,格式爲[YYMMDDhhmm] |
舉例子:
加上-a參數之後發現最近訪問時間(access time)改變了,但是最近更改時間(modify time)沒有改變
關於-c參數
-
檔案預設權限umask
umask可以用來設置權限掩碼,權限掩碼由3個八進制的數字所組成。
對於文件,將666減去權限掩碼就是創建文件時的默認權限。
對於目錄,將777減去權限掩碼就是創建文件時的默認權限。
-
配置文檔隱藏屬性chattr
這個命令可以改變存放在ext2文件系統上的文件或目錄屬性,這種屬性共有以下8種模式
模式 | 含義 |
---|---|
a | 讓文件或目錄僅供附加用途,也就是這個文檔或者目錄只可以增加,不能刪除或者修改 |
b | 不更新文件或目錄的最後存取時間 |
c | 將文件或目錄壓縮之後存放 |
d | 將文件或目錄排除在傾倒操作之外 |
i | 不得任意更動文件或目錄 |
s | 保密性刪除文件或目錄 |
S | 即時更新文件或目錄 |
u | 預防意外刪除 |
命令語法:chattr [-RV] [-v<版本編號>] [+/-/=屬性] [文件名/目錄名]
- 顯示文檔和目錄的隱藏屬性lsattr
參數 | 含義 |
---|---|
-a | 將隱藏的文件屬性也顯示出來 |
-d | 如果接的是目錄,僅列出目錄本身,不包括目錄內的文件 |
-R | 連同子目錄的數據一起顯示 |
- 觀察文件類型file
參數 | 含義 |
---|---|
-b | 列出辨識結果時,不顯示文件名稱。 |
-c | 詳細顯示指令執行過程,便於排錯或分析程序執行的情形 |
-f<名稱文件> | 指定名稱文件,其內容有一個或多個文件名稱時,讓file依序辨識這些文件,格式爲每列一個文件名稱。 |
-L | 直接顯示符號連接所指向的文件的類別。 |
-z | 嘗試去解讀壓縮文件的內容。 |
-v | 顯示版本信息。 |
- 查找文件which
which指令會在環境變量$PATH設置的目錄裏查找符合條件的文件
參數 | 含義 |
---|---|
-n<文件名長度> | 指定文件名長度,指定的長度必須大於等於所有文件中最長的文件名 |
-p<文件名長度> | 與-n參數相同,但這裏的文件名包括文件的路徑 |
-w | 指定輸出時欄位的寬度 |
-V | 顯示版本信息 |
- 尋找特定文檔whereis
該指令會在特定目錄中查找符合條件的文件。這些文件應該屬於原始代碼,二進制文件或者幫助文件。
參數 | 含義 |
---|---|
-b | 只查找二進制文件 |
-B<目錄> | 只在設置的目錄下查找二進制文件 |
-f | 不顯示文件名前的路徑名稱 |
-m | 只查找說明文件 |
-M<目錄> | 只在設置的目錄下查找說明文件 |
-s | 只查找原始代碼文件 |
-S<目錄> | 只在特定的目錄下查找原始代碼文件 |
-u | 查找不包含指定類型的文件 |
-
尋找特定案locate
locate命令用於查找符合條件的文檔。他會去保存文檔和目錄名稱的數據庫內,查找合乎樣本範式條件的文檔或者目錄。
命令語法:locate 文件名字
-
尋找特定的檔案find
Linux的find命令用來在指定目錄下查找文件。任何位於參數之前的字符串都將被視爲想查找的目錄名。如果使用命令時不加任何參數,那麼find命令會在當前目錄和子目錄下查找。
find根據下面規則判斷 路徑 和 命令 ,在命令列表中,第一個-之前的是路徑,之後的是命令,如果路徑是空,則默認爲當前目錄
命令 | 含義 |
---|---|
-mount | 只檢查和指定目錄在同一文件系統中的文件,避免列出在其他文件系統的文件 |
-xdev | 只檢查和指定目錄在同一文件系統中的文件,避免列出在其他文件系統的文件 |
-amin n | 在過去的n分鐘內被讀取過 |
-anewer file | 比文件file更晚被讀取的文件 |
-atime n | 在過去n天內被讀取過的文件 |
-cmin n | 在過去n分鐘內被修改過的文件 |
-cnewer file | 比文件file更新的文件 |
-ctime n | 在過去n天內被修改過的文件 |
-empty | 空的文件 |
-ipath p | 忽略大小寫,路徑名稱符合p的文件 |
-path p | 不忽略大小寫,路徑名稱符合p的文件 |
-name name | 文件名稱符合name的文件 |
-iname name | 忽略大小寫,文件名稱符合name的文件 |
-size | 文件大小是n單位,b代表512位元組的區塊,c代表字元數, |
c | 字節裝置文件 |
f | 一般文件 |
d | 目錄 |
b | 區塊裝置文件 |
p | 具名貯列 |
s | socket |
- 壓縮文件gzip和讀取壓縮文件zcat
參數 | 含義 |
---|---|
-l | 列出壓縮文件的相關信息 |
-q | 不顯示警告信息 |
-r | 遞歸處理,將指定目錄下的所有文件及子目錄一併處理 |
-f | 強行壓縮文件 |
-d | 解開壓縮文件 |
-c | 把壓縮後的文件輸出到標準輸出去,不更改原始文件 |
-v | 顯示執行結果 |
zcat是查看壓縮文件,並不是解壓縮
- 壓縮文件bzip2和讀取壓縮文件bzcat
參數 | 含義 |
---|---|
-c | 將壓縮與解壓縮的文件輸出到標準輸出 |
-d | 解壓 |
-f | 解壓出來的時候,如果有同名文件,不會覆蓋,必須使用這個參數纔會覆蓋 |
-k | bzip2壓縮和解壓之後原來的文件會被刪除,如果想要保留原有文件,就要用這個參數 |
-z | 強制執行壓縮 |
-v | 顯示壓縮的詳細信息 |
查看壓縮文件的內容
- 壓縮文件和讀取壓縮文件tar
參數 | 含義 |
---|---|
-v | 顯示指令執行過程 |
-f | 指定備份文件 |
-z | 通過gzip指令處理文件 |
-c | 創建新的備份文件 |
-t | 列出備份文件的內容 |
-x | 從備份文件中還原內容 |
壓縮的命令:tar -czvf 壓縮後文件名 [想要壓縮的文件列表]