date命令
date :查看系統當前時間和日期
cal命令
cal :顯示當月的日曆
df命令
df :查看磁盤當前可用空間
free命令
free :查看可用內存(運行內存)
exit命令
exit :結束終端會話
pwd命令
pwd :查看當前工作目錄
cd命令
cd :將主目錄切換爲工作目錄
cd ~ :將主目錄切換爲工作目錄
cd - :將上一次使用的目錄切換成當前的工作目錄
cd .. :返回上級目錄
cd ../.. :返回上兩級目錄
ls命令
ls :列出目錄內容
ls -l :以長格式顯示目錄內容詳細信息
ls -a :顯示所有檔案和目錄
ls -A :顯示除隱藏文件"."或者".."以外的所有文件
ls -F :在每個輸出項後追加文件的類型標識符,當文件爲普通文件時,不輸出任何標識符
"*" 表示具有可執行權限的普通文件
"/" 表示目錄
"@" 表示符號鏈接
"|" 表示命令管道FIFO
"=" 表示sockets套接字
ls -c -lt :按照文件狀態時間排序輸出目錄內容,根據索引的ctime字段排序
ls -c -l :按照文件首字母先後排序,同【ls -l】
ls -i :顯示文件索引節點號,一個索引節點代表一個文件
ls -m :以","分割每個文件或者目錄的名稱
ls -r :以文件名反序排序輸出文件目錄列表,與【ls】效果相反
ls -t :以文件或者目錄的修改時間排序,時間由近至遠
ls -a 例圖
ls -A 例圖
ls -F 例圖
ls -r 例圖
ls -c -lt 例圖
字段 | 含義 |
---|---|
drwxr-xr-x | 對文件的訪問權限。第一個字符表示文件類型,”-“表示普通文件,”d”表示目錄。接下來三個字符表示文件所有者的訪問權限;再接下來三個字符表示文件所屬組成員的訪問權限;最後三個字符表示其他所有人的訪問權限 |
2 | 文件硬鏈接數目 |
hcc | 文件所有者的用戶名 |
hcc | 文件所屬用戶組的用戶名 |
4096 | 以字節數表示文件大小 |
9月 | 月份 |
19 | 日期 |
10:48 | 時間 |
Book | 文件或者目錄名 |
通配符
通配符 | 匹配項 |
---|---|
* | 匹配任意多個字符(包括0個和1個) |
? | 匹配任意單個字符(不包括0個) |
[characters] | 匹配任意一個屬於字符集中的字符 |
[!characters] | 匹配任意一個不屬於字符集中的字符 |
[[:class:]] | 匹配任意一個屬於字符類中的字符 |
“*”匹配符示例
形式 | 說明 |
---|---|
g* | 以 g 開頭的任意文件 |
b*.txt | 以 b 開頭,中間有任意多個字符,並且以 .txt 結尾的文件 |
Data??? | 以 Data 開頭,後面跟三個任意字符的文件 |
[abc]* | 以 abc 任一字符開頭的任一文件 |
BACKUP.[0-9][0-9][0-9] | 以BACKUP.開頭,後面緊跟 3 個數字的任一文件 |
[[:upper:]]* | 以大寫字母開頭的任一文件 |
[![:digit:]]* | 不以數字開頭的任一文件 |
*[[:lower:]123] | 以小寫字母或數字 1、2、3 中任一個結尾的任一文件 |
mkdir命令
mkdir dir :在當前工作目錄創建一個名爲dir的目錄
mkdir dir1 dir2 dir3 :在當前工作目錄創建三個分別名爲 dir1、dir2、dir3的目錄
cp命令
cp file1 file2 :將文件 file1 的內容複製到 file2 中,file2 存在則覆蓋,不存在則創建
cp -i file1 file2 :將文件 file1 的內容複製到 file2 中,當 file2存在時,提示是否覆蓋file2
cp file1 file2 dir1 :將 file1、file2 複製到 dir1 目錄中,dir1 目錄必須存在
cp dir1/* dir2 :將 dir1 目錄下的文件複製到 dir2 目錄中,dir2 目錄必須存在
cp -r dir1 dir2 :將 dir1 目錄複製到 dir2 目錄中,-r必須要
cp /a/b . :將 /a/b 目錄下的所有文件複製到當前工作目錄
cp命令選項
選項 | 含義 |
---|---|
-a, –archive | 複製文件和目錄及其屬性,包括所有權和權限。通常來說,複製文件具有用戶所操作文件的默認屬性 |
-i, –interactive | 在覆蓋一個已存在的文件時,提示用戶進行確認。如果沒有指定該選項,cp會默認覆蓋文件 |
-r, –recursive | 遞歸的複製目錄及其內容。複製目錄時需要該選項(或-a選項) |
-u, –update | 當將文件從一個目錄複製到另一個目錄時,只會複製那些目標目錄中不存在的文件或者是目標目錄文件相應的更新文件 |
-v, –verbose | 複製文件時,顯示信息性消息 |
mv命令
mv file1 file2 :將文件 file1 內容複製到 file2中,file2 存在則覆蓋,不存在則創建,file1 將不再存在
mv -i file1 file2 :同上,僅當 file2 存在時,提示用戶確認
mv file1 file2 dir1 : 將 file1、file2 移動到 dir1 目錄中,dir1 目錄必須存在
cp dir1/* dir2 :將 dir1 目錄下的文件移動到 dir2 目錄中,dir2 目錄必須存在
mv dir1 dir2 :當 dir2 存在,將 dir1 以及內容移動到 dir2 中;當 dir2 不存在,將dir1 目錄下的內容移動到dir2 目錄中
mv命令選項
選項 | 含義 |
---|---|
-i, –interactive | 在覆蓋一個已存在的文件時,提示用戶進行確認。如果沒有指定該選項,mv會默認覆蓋文件 |
-u, –update | 當將文件從一個目錄移動到另一個目錄時,只會移動那些目標目錄中不存在的文件或者是目標目錄文件相應的更新文件 |
-v, –verbose | 移動文件時,顯示信息性消息 |
rm命令
rm file1 :在不提示用戶的情況下,刪除 file1
rm -i file1 :刪除 file1 前,提示用戶確認
rm file1 dir1 :刪除 file1、dir1 以及他們的內容
rm -rf file1 dir1 :同上,當 file1 或者 dir1 不存在時,不提示用戶文件或目錄不存在
alias別名
alias name= 'string'
alias foo= 'cd /usr; ls; cd ~' :將三個命令合成爲一個
unalias foo :取消別名
標準輸出重定向
【命令 > 文件名】將命令的輸出內容保存到文件中(主目錄)【覆蓋式】
ls -l > a.txt
【命令 >> 文件名】將命令的輸出內容保存到文件中(主目錄)【追加式】
ls -l >> a.txt
標準錯誤重定向
一個程序可以把生成的輸出發送到任意文件流中。如果把這些文件流中的前三個分別對應標準輸入文件、標準輸出文件和標準錯誤文件。由於標準錯誤又等同於文件描述符2,所以可以用這種表示法來重定向標準錯誤。
【命令 2> 文件名】將命令的錯誤輸出內容保存到文件中(主目錄)
將標準輸出和標準錯誤重定向到同一個文件中
方式一 :命令 > 文件 2>&1
ls > a.txt > 2>&1
方式二 :命令 &> 文件
ls &> a.txt
處理不想要的輸出
命令 2> /dev/null
打印文件的開頭部分/結尾部分(head/tail命令)
head a.txt :打印 a.txt 文件內容的前十行
head -n x a.txt :打印 a.txt 文件內容的前 x 行
tail a.txt :打印 a.txt 文件內容的後 10 行
tail -n x a.txt :打印 a.txt 文件內容的後 x 行
ls -l | tail :打印 ls -l 命令結果的後 10 行
ls -l | head :打印 ls -l 命令結果的前 10 行
ls -l | tail -n x :打印 ls -l 命令結果的後 x 行
ls -l | head -n x :打印 ls -l 命令結果的前 x 行
tee命令,從標準輸入讀取數據,輸出到標準輸出和文件
ls -l | tee a.txt :將 ls -l 命令的結果輸出到 a.txt 文件中,感覺和 ls -l > a.txt 效果相同
echo命令
echo Linux常用命令 :輸出"Linux常用命令"字符串內容
echo * :* 通配符,輸出當前工作目錄下所有內容,類似 ls 命令的結果
路徑名擴展
運行 ls 命令 :
AndroidPro c.txt lantern 公共的 圖片 音樂
a.txt Develop PDFReader 模板 文檔 桌面
Book examples.desktop sougou_input 視頻 下載
運行 echo A* 命令(以字母A開頭的所有文件或目錄) :
AndroidPro
運行 echo *p 命令(以字母p結尾的所有文件或目錄) :
Develop examples.desktop
運行 echo e 命令(中間包含字母e,前面和後面是任意字符的文件或目錄) :
Develop examples.desktop lantern PDFReader
運行 echo [[:upper:]]* 命令(以大寫字母開頭的所有文件或目錄):
AndroidPro Book Develop PDFReader
運行 echo usr/* 命令(usr 命令下的所有文件或目錄)
/usr/bin /usr/games /usr/include /usr/lib /usr/local /usr/locale /usr/sbin /usr/share /usr/src
波浪線擴展
echo ~ :當前用戶的主目錄
echo ~hcc :如果有 hcc 這個用戶
算術擴展
echo $((expression)) :輸入算術運算(只支持整數)
+ :加法[echo $((4+2))] --> 6
- :減法[echo $((4-2))] --> 2
* :乘法[echo $((4*2))] --> 8
/ :除法[echo $((4/2))] --> 2
% :取餘[echo $((4%2))] --> 0
** :取冪[echo $((4**2))] --> 16
花括號擴展
echo A{a,b,c}D ——> AaD AbD AcD
echo Num_{1..10} ——> Num_1 Num_2 Num_3 Num_4 Num_5 Num_6 Num_7 Num_8 Num_9 Num_10
echo {A..Z} ——> A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
echo a{A{1,2},B{3,4}}b ——> aA1b aA2b aB3b aB4b
echo a{A{1..2},B{3..4}}b ——> aA1b aA2b aB3b aB4b
光標移動命令(非 vi 編輯器中)
組合鍵 | 作用 |
---|---|
Ctrl+A | 移動光標到行首 |
Ctrl+E | 移動光標到行尾 |
Ctrl+F | 光標向前移動一個字符,和 Ctrl+ → 作用一樣 |
Ctrl+B | 光標向後移動一個字符,和 Ctrl+ ← 作用一樣 |
Alt+F | 光標向前移動一個字 |
Alt+B | 光標向後移動一個字 |
Alt+L | 清屏並把光標移到左上角,clear 命令可以完成相同的工作 |
修改文本命令(非 vi 編輯器中)
組合鍵 | 作用 |
---|---|
Ctrl+D | 刪除光標處的字符 |
Ctrl+T | 使光標處的字符和它前面的字符互換位置 |
Alt+L | 把從光標到字尾的字符轉換成小寫字母形式 |
Alt+U | 把從光標到字尾的字符轉換成大寫字母形式 |
複製和剪切命令
組合鍵 | 作用 |
---|---|
Ctrl+K | 剪切從光標到行尾的文本 |
Ctrl+U | 剪切從光標到行首的文本 |
Ctrl+Y | 把 kill-ring 緩衝區的文本粘貼到光標位置 |
Alt+D | 剪切從光標到當前詞尾的文本 |
Alt+Backspace | 剪切從光標到詞頭的文本。如果光標在一個單詞的開頭,則剪切前一個單詞 |