- 桌面打開終端
- 終結命令
- 翻頁
- 查看歷史記錄
- 清屏
- 跳轉
- 查看路徑
- 切換目錄
- 顯示文件內容
- 創建文件和目錄
- 拷貝文件和移動文件
- 刪除文件和目錄
- 變為root用戶
- 修改訪問權限
- 快速查找
- 深入查找
- 篩選數據
- 排序
- 文件的統計
- 顯示目錄文件的大小
- 刪除文件中的重復內容
- 剪切文件的一部分內容
- 監視系統活動
桌面打開終端
control+alt+t
終結命令
命令 | 作用 | 備注 |
----|------
Ctrl + c | 終結終端的命令和正在執行的程序|
翻頁
命令 | 作用 | 備注 |
----|------
shift + fn + ↑|向上翻頁 | Mac上是fn + ↑
shift + fn + ↓ |下上翻頁 | Mac上是fn + ↓
查看歷史記錄
命令 | 作用 | 備注 |
----|------
↑鍵 |按時間順序向前查找用過的命令,每按一次就前進一個命令。 |
↓鍵 |按時間順序向后查找用過的命令,每按一次就前進一個命令。 |
Ctrl + R |用于查找使用過的命令。 |
history |用于列出之前使用過的所有命令 |
清屏
命令 | 作用 | 備注 |
----|------
Ctrl + L|用于清理終端的內容,就是清屏的作用 |
跳轉
命令 | 作用 | 備注 |
----|------
Ctrl + A |光標跳到一行命令的開頭 |
Ctrl + E |光標跳到一行命令的結尾|
Ctrl + U |刪除所有在光標左側的命令字符。|
Ctrl + K |刪除所有在光標右側的命令字符。|
查看路徑
命令 | 作用 | 備注 |
----|------
pwd|顯示當前目錄的路徑 |
which|獲取命令的可執行文件的位置 |which ls可以查看ls命令對應的可執行程序的地址
ls|列出當前目錄下的文件和目錄 |參數 -a:包括隱藏的內容;參數 -l:顯示詳細信息;參數-h:顯示文件大小;參數 -t:按文件最近一次修改時間排序
-
Ubuntu的終端默認是有顏色標注的,一般來說:
- 藍色 --> 目錄
- 綠色 --> 可執行文件
- 紅色 --> 壓縮文件
- 淺藍色 --> 鏈接文件
- 灰色 --> 其他文件
切換目錄
命令 | 作用 | 備注 |
----|------
cd|切換目錄 |回到根目錄:cd / ;回到上一級:cd .. ; 連退2級:cd ../.. ;重回家目錄:cd
顯示文件內容
命令 | 作用 | 備注 | 使用
----|------
cat |一次性顯示文件的所有內容|-n 參數在顯示內容上加上行號|cat -n a.txt
less |分頁顯示文件內容|進入查看模式后q鍵退出|less a.txt
head |顯示文件的開頭|默認顯示前10行,可以用-n參數制定|head -n 5 a.txt
rail|顯示文件的結尾|默認顯示尾10行,可以用-n參數制定|rail -n 5 a.txt
創建文件和目錄
命令 | 作用 | 備注 | 使用
----|------
touch |創建一個空白文件||touch a.txt
mkdir |創建一個目錄||mkdir folder
拷貝文件和移動文件
命令 | 作用 | 備注 | 使用
----|------
cp|拷貝文件或目錄||如下
mv|移動文件或重命名|使用中a為目錄|移動文件 mv a.txt a 重命名 mv a.txt b.txt
拷貝文件 cp new_file new_file_copy ;
拷貝文件到其他目錄cp new_file a/; #a為目錄
自定義名字cp new_file a/new_file_copy ;
拷貝目錄時候需要加參數 -R
刪除文件和目錄
命令 | 作用 | 使用
----| -----
rm |刪除文件和目錄 |rm a.txt
- -i 參數:向用戶確認是否刪除;
- -f參數:慎用,不會詢問是否刪除,強制刪除;
- -r參數:遞歸地刪除
變為root用戶
命令 | 作用 | 備注|使用
----| -----
su - |進入root模式||
sudo |暫時成為root|如果我們要運行只有root才可以運行的命令,那么可以在此命令前面加上sudo命令 |sudo ls
exit|退出root模式||
修改訪問權限
命令 | 作用 | 使用
----| -----
chmod |修改訪問權限 |如下
第一組rwx表示文件的所有者對于此文件的訪問權限。
第二組rwx表示文件所屬的群組的其他用戶對于此文件的訪問權限。
第三組rwx表示除前兩組之外的其他用戶對于此文件的訪問權限。
d:是英語directory的縮寫,表示“目錄”。就是說這是一個目錄。
l:是英語link的縮寫,表示“鏈接”。就是說這是一個鏈接。
r:是英語read的縮寫,表示“讀”。就是說可以讀這個文件。
w:是英語write的縮寫,表示“寫”。就是說可以寫這個文件,也就是可以修改。
x:是英語execute的縮寫,表示“執行,運行”。就是說可以運行這個文件。
用數字來分配權限:chmod的絕對用法
chmod 600 renamed_file
用字母來分配權限:chmod的相對用法
u:user的縮寫,是英語“用戶”的意思。表示所有者。
g:group的縮寫,是英語“群組”的意思。表示群組用戶。
o:other的縮寫,是英語“其他”的意思。表示其他用戶。
a:all的縮寫,是英語“所有”的意思。表示所有用戶。
+:加號,表示添加權限。
-:減號,表示去除權限。
=:等號,表示分配權限。
#文件file.txt的所有者增加讀和運行的權限。
chmod u+rx file.txt
#文件file.txt的群組其他用戶增加讀的權限。
chmod g+r file.txt
#文件file.txt的其他用戶移除讀的權限。
chmod o-r file.txt
#文件file.txt的群組其他用戶增加讀的權限,其他用戶移除讀的權限。
chmod g+r o-r file.txt
#文件file.txt的群組其他用戶和其他用戶均移除讀的權限。
chmod go-r file.txt
#文件file.txt的所有用戶增加運行的權限。
chmod +x file.txt
#文件file.txt的所有者分配讀,寫和執行的權限;群組其他用戶分配讀的權限,不能寫或執行;其他用戶沒有任何權限。
chmod u=rwx,g=r,o=- file.txt
- -R參數:遞歸地修改訪問權限
chmod配合-R參數可以遞歸地修改文件訪問權限。
chmod -R 700 /home/oscar
快速查找
命令 | 作用 | 備注|使用
----| -----
locate|搜索包含關鍵字的所有文件和目錄|是在文件的數據庫里查找記錄|locate file
sudo updatedb|將新建文件錄入文件數據庫|
locate命令方便快捷,易于使用。但缺點也很明顯:
- locate命令會列出所有在文件數據庫中找到的內容,有時候結果太多了,太繁雜。
- locate命令不能找到一天之內剛創建的文件,除非你先用root身份運行updatedb命令來更新文件數據庫。
深入查找
命令 | 作用 | 備注|使用
----| -----
find||參數使用參考下列|find 《何處》《何物》《做什么》
- 根據文件名查找
find /var/log -name "syslog"
- 根據文件大小查找
find /var -size +10M /*查找大于10M的 */
find /var -size -20G /* 查找小于20G的*/
- 根據文件的最近訪問時間查找
find -name "*.jpg" -atime -7 /*表示7天之內*/
-
僅查找目錄或文件
-type d:只查找目錄類型。d是directory的首字母,表示“目錄”。
-type f:只查找文件類型。f是file的首字母,表示“文件”。
find /var/log -name "mysql" -type d
- 調用命令
使用-exec參數,可以后接一個命令,對每個查找到的文件進行操作。
find -name "*.jpg" -exec chmod 600 {} \;
就是說對于每個找到的.jpg結尾的文件,都進行-exec參數指定的操作:
- 這個操作不必用雙引號括起來。
- {} 會用查找到的每個文件來替換。
- \; 是必須的結尾。
- 與locate區別
與locate命令不同,find命令不會在文件數據庫中查找文件的記錄,而是遍歷你的實際硬盤。
所以,如果你的硬盤容量很大的話,那find命令會查找比較久。
篩選數據
命令 | 作用 | 備注|使用
----| -----
grep text file|文件中查找關鍵字,并且顯示關鍵字所在的行。|text代表要搜索的文本,file代表供搜索的文件。|如下
grep alias .bashrc #普通用法
grep "Hello World" file2 #grep命令在一個文件中查找用空格隔開的文本,那么就要加上雙引號
-
參數一覽
- -i參數:忽略大小寫
- -n參數:顯示行號
- -v參數:只顯示文本不在的行
- -r參數:在所有子目錄和子文件中查找(如果你不知道你要找的文本在哪個文件里)
-o參數:只顯示匹配字符
-
grep的高級用法:配合正則表達式
- -E參數:了讓grep命令知道我們要使用正則表達式,須要加上-E參數,一般匹配 -o
grep -E -o ^alias .bashrc
排序
命令 | 作用 | 備注|使用
----| -----
sort|用于對文件的行進行排序。||sort name.txt
- 參數一覽
- -o參數:將排序后的內容寫入新文件
sort -o name_sorted.txt name.txt
- -r參數:倒序排列
- -R參數:隨機排序
- -n參數:對數字排序
文件的統計
命令 | 作用 | 備注|使用
----| -----
wc|統計行數,字符數,字節數等||wc name.txt
結果分別代表行數,單詞數, 字節數。
- 參數一覽
- w參數:統計單詞數
- c參數:統計字節數
- m參數:統計字符數
- l參數:統計列數
顯示目錄文件的大小
du
顯示當前目錄的所有文件以及所有子目錄的文件大小
- 參數一覽
- -h 以人類的角度直觀的顯示當前目錄或指定目錄/文件的大小
- -s 顯示文件目錄總共大小(不分別顯示子目錄)
- -sh 以人類的角度直觀的顯示文件目錄總共的大小
- -shc * 顯示當前目錄下的文件和子目錄(不展開子目錄)的大小,并以人類直觀的方式展現
刪除文件中的重復內容
命令 | 作用 | 備注|使用
----| -----
uniq|刪除文件中的重復內容|||uniq repeat.txt
- 參數一覽
- -c參數用于顯示重復的行數,如果是獨一無二的行,那么數目就是1。
- -d參數只顯示重復的行的值。
剪切文件的一部分內容
比如,我們要name.txt的每一行只保留第2至第4個字符??梢赃@樣做:
cut -c 2-4 name.txt
監視系統活動
命令 | 作用 | 備注|使用
----| -----
w|都有誰,在做什么?||
ps|查看進程的靜態列表|只會列出當前運行ps命令的用戶在當前這個終端中所運行的進程。|
top|查看進程的動態列表||
kill PID(進程號)|結束一個進程||kill 8461
killall |結束多個進程|不同于kill命令,killall命令后接程序名,而不是PID(進程號)|killall find|
本總結參考 Linux探索之旅