什么是shell
shell 就是一個程序,它接受從鍵盤輸入的命令, 然后把命令傳遞給操作系統(tǒng)去執(zhí)行。幾乎所有的Linux發(fā)行版都提供一個名為bash的來自GNU項目的shell程序。
“bash”是“Bourne Again SHell”的首字母縮寫, 所指的是這樣一個事實,bash是最初Unix上由 SteveBourne寫成shell 程序 sh的增強版。
基本初體驗
Linux 里 Ctrl-c 和Ctrl-v 不代表粘貼復制,其定義要早于window。
沿著文本拖動鼠標,高亮的文字會被X窗口系統(tǒng)緩存到緩沖區(qū),通過鼠標中鍵可以快速粘貼。
cal 當月日歷
df 磁盤剩余空間數(shù)量
free 空閑內存數(shù)量
exit 退出終端會話
Ctrl-Alt-F1~F6 切換虛擬終端,F(xiàn)7是返回圖形桌面
三. 文件系統(tǒng)中跳轉
pwd —— 打印當前工作目錄名
cd —— 更改目錄
ls —— 列出目錄內容
絕對路徑和相對路徑:
cd /usr/bin 是絕對路徑,始于根目錄 /
cd . 或者 cd .. 是相對路徑,始于當前工作目錄
. (點)指工作目錄, ..(點點)指工作目錄的父目錄
實際使用中,選輸入量最少的那個!
另外,幾乎所有情況下,可以省略 ./,會被隱含的輸入。
規(guī)則:
- 大小寫敏感
- "."開頭的隱藏文件,需要 ls -a
Linux 沒有文件拓展名的概念,一切皆文件
用下劃線代替需要空格的命名
四. 研究操作系統(tǒng)
ls 用來展示anglian目錄下所包含的文件和子目錄列表
除了當前工作目錄外,可以制定要列出內容的目錄,并支持列出多個目錄
ls /usr
ls命令選項
| 選項 | 長選項 | 描述 |
|---|---|---|
| -a | --all | 列出所有文件,甚至包括文件名以圓點開頭的默認會被隱藏的隱藏文件。 |
| -d | --directory | 通常,如果指定了目錄名,ls 命令會列出這個目錄中的內容,而不是目錄本身。把這個選項與 -l選項結合使用,可以看到所指定目錄的詳細信息,而不是目錄中的內容。 |
| -F | --classify | 這個選項會在每個所列出的名字后面加上一個指示符。例如,如果名字是 目錄名,則會加上一個'/'字符。 |
| -h | --human-readable | 當以長格式列出時,以人們可讀的格式,而不是以字節(jié)數(shù)來顯示文件的大小。 |
| -l | 以長格式顯示結果。 | |
| -r | --reverse | 以相反的順序來顯示結果。通常,ls命令的輸出結果按照字母升序排列。 |
| -S | 命令輸出結果按照文件大小來排序。 | |
| -t | 按照修改時間來排序。 |
file filename 可用來打印文件類型,一切皆文件。
五. 操作文件和目錄
cp
-a --archive 參數(shù):復制文件和目錄,以及它們的屬性,包括所有權和權限
-r --recursive 參數(shù):遞歸地復制目錄及目錄中的內容,當復制目錄時,需要此參數(shù)(或者 -a)
cp -r dir1 dir2, 如果目錄dir2存在,則dir1和其內容copy到dir2里;如果dir2不存在,則創(chuàng)建dir2,把dir1內容copy到dir2里,然后dir2和dir1一樣。
mv 不存在 -a 和 -r 參數(shù)
mv dir1 dir2,如果目錄dir2存在,則移動目錄dir1和其內容到目錄dir2中;如果dir2不存在,則創(chuàng)建dir2,把dir1內容移動到dir2中,然后刪除dir1目錄(其實就是類似重命名的操作)。
rm 不存在 -a 參數(shù),但是有-r參數(shù),同樣表示遞歸刪除目錄和文件。