目錄
Linux命令行介紹
目錄操作
ls 目錄所含文件信息
ls 常用選項
pwd 在那個目錄下
cd 進入目錄
?mkdir 創建目錄?
?文件操作
touch 創建普通文件
echo向文件寫入
cat 輸出文件內容
cp 拷貝文件/目錄
mv剪切+重命名
rm 刪除文件/目錄
查找
* 匹配符
man 查找指令
which查指令
whereis查指令
find查文件
瀏覽文件
more瀏覽大文本
less瀏覽大文本
head讀取文件頭
less讀取文件尾
head和tail通常與管道一起使用
grep行文本過濾器
?打包和壓縮
zip和unzip
tar指令
Linux系統指令
whoami顯示用戶名
umame獲取操作系統相關信息
alias對指令改名
history歷史命令列表?
Linux系統熱鍵
ctrl+c中止程序
ctrl+r查歷史指令
Tab自動補全
ctrl+d關閉shell
Linux命令行介紹
Linux命令行包含四個部分:用戶名,主機名,當前所在目錄,命令行提示符;
關于命令行提示符:root賬號和普通賬號是不一樣的,root是#,而普通用戶是$;?
目錄操作
Linux下一切皆文件,每個文件包含兩個信息:文件屬性+文件內容
ls 目錄所含文件信息
ls+[選項]+目錄:顯示目錄所包含的文件,當不加目錄默認顯示當前目錄信息。
當我們第一次以普通用戶進行云服務器的時候,使用ls好像沒有任何反應,因為當前目錄下沒有文件所以沒有任何顯示。通過mkdir+目錄名實現對目錄的創建。
ls 常用選項
ls有多種不同的選項,對于選項可以疊加使用。
-l : 顯示文件詳細信息:顯示更多的文件屬性(文件的擁有者,所屬組,大小,文件最近更新時間....);
ls -l 可以簡寫為ll 。
-a: 顯示隱藏文件,與windows一樣Linux下也包含隱藏文件?;Linux的隱藏文件是以 .開頭的文件。
在隱藏文件中含有兩個特殊的文件 .文件 和 .. 文件;其中. 文件就指的是當前文件,而.. 文件指的是上一級文件。 通過 .文件可以幫助用戶執行當前目錄下的文件,通過 ..文件可以幫助用戶訪問上一級文件。
?-d: 顯示指定目錄的文件信息,而不是文件內容,通常搭配-l進行使用------->顯示指定文件屬性。
pwd 在那個目錄下
pwd: 用于顯示當前所處的目錄名稱。
Linux使用 / 作為分隔符,Windows使用 \?作為分隔符;
cd 進入目錄
cd + 目錄名稱:表示進入目錄,該目錄名稱可以是絕對路徑也可以是相對路徑。
絕對路徑:cd /home/bit/test.c? ?,絕對路徑服從家目錄或根目錄開始定位
相對路徑:cd ../bin,從lib進入bin ,相對路徑是從當前所在路徑下開始定位的。
cd ..? ?進入上一級路徑
cd ~? ?進入家目錄
cd -? ? 回到上次所處的目錄下
?mkdir 創建目錄?
mkdir + 目錄名稱:對目錄進行創建
目錄是樹狀結構的,Linux下有一個軟件,可以將目錄結構進行可視化,通過下面指令就可以實現對tree軟件的安裝,關于yum安裝在后面有詳細介紹。
yum install -y tree
?通過tree+文件就可以實現目錄結構的可視化了。
在Linux下支持對目錄進行遞歸創建,即直接創建a1/a2/a3/a4/a5這一串一層層的目錄。
mkdir -p +? 一串路徑:遞歸創建目錄
?文件操作
touch 創建普通文件
mkdir是創建目錄的,touch是創建普通文件的,比如.c,.cpp文件等等......
touch + 文件名:創建普通文件。
echo向文件寫入
echo+ 字符串 :將字符串輸出到顯示器(Linux下一切皆文件,顯示器也被看作是文件)上;
Linux中存在 > 輸入重定向,可以將echo輸出的內容重定向到其他文件中去。
echo +字符串 > 文件:實現字符串輸出重定向。
>輸出重定向會將文本中的原有數據清空再進行寫入
Linux下又存在追加重定向>>,可以在原文件后面進行追加,不會清空原來文件的內容。
echo + 字符串? >> 文件:實現在文本中追加字符串。
cat 輸出文件內容
cat+ 文件:可以實現將文件內容輸出到顯示器上。
cat -n:輸出文件內容并編號
cat -b:輸出文件內容,對非空行進行編號;?
cat -s:對多個連續空行只輸出一行空行;
?
cp 拷貝文件/目錄
Linux也可以向Windows一樣進行拷貝操作。
cp + 源文件/目錄? +? 目標文件/目錄:對文件進行拷貝。
在進行拷貝的是否又是目標文件不存在,操作系統會進行詢問是否要進行拷貝,可以使用-f選項進行強制拷貝。
cp +? -f 源文件/目錄? +? 目標文件/目錄:進行強制拷貝
如果在拷貝前希望操作系統進行詢問是否要拷貝,可以使用-i 選項;
cp +? -i?源文件/目錄? +? 目標文件/目錄:拷貝前進行詢問
?cp是不能直接對目錄進行拷貝的,需要使用-r 選項進行遞歸拷貝,進而實現拷貝目錄;
cp +? -r?目錄? +? 目標目錄:拷貝目錄文件。
mv剪切+重命名
Linux也有自己的剪切指令。
mv + 文件 +目錄:將文件剪切到其他目錄下;
mv + 文件名 +新文件名:對文件進行重命名;
mv + 文件 +路徑/文件名:實現文件的剪切+重命名。?
rm 刪除文件/目錄
rm+文件:實現對文件的刪除
1) 使用普通用戶進行刪除
2) 使用root進行刪除
以上兩個用戶在進行文件刪除的時候,對于root用戶來說操作系統會詢問是否確定要驚喜刪除,如果不希望操作系統進行詢問,可以使用-f 選項;
rm -f +文件:對文件進行強制刪除
rm -r +目錄:進行目錄刪除
普通用戶默認刪除時不會進行詢問,但是如果希望操作系統在進行刪除之前詢問,可以使用-i選項;
rm -i +文件:在刪除文件之前進行詢問;
查找
* 匹配符
??當一個目錄中存在大量文件時,進行查找就比較費力,使用*匹配符可以實現對文件的篩選。
ls *.c? :顯示所有.c為結尾的文件,
ls test* :顯示所有以test開頭的文件
man 查找指令
Linux下有man手冊允許用戶進行命令,系統調用,庫函數的查找。
man +選項:進行查找,eg:man ls進行指令/庫函數的查找
man手冊默認時英文的,可以通過一下指令安裝中文man手冊,關于man手冊的漢化,可以問下AI,操作也不難。
在man手冊中有多個不同的區段存儲不同類型的信息,man在查找時默認時從區段1一直向后找,找到后停止;通過對man手冊增添選項可以實現在指定區段中查找。
man -num + 指令:在指定區段中查找
在Linux下,printf即使Linux的一條基本的指令,又是C語言的一個成員函數,所以直接使用man printf在區段1中找到printf指令就停止了,不會找3中的C語言函數,所以此處指定區段進行查找。
在Linux中如果一個語句在不同的區段中都存在就可以使用-a選項讓其查找到后繼續向后查找;
man -a +語句:實現在多個區段中的查找。
?Linux下也是支持聯網查找的;
man -k + 語句:進行聯網查找。
which查指令
在Linux中每一條指令實際上都是一條條可執行程序,那么對于每個程序必定需要位置進行存放,which指令就可以對每條指令所在位置進行查找。
which+ 指令:在指定路徑下/usr/bin,查找指令所在位置;
whereis查指令
whereis也是在特定路徑下進行查找的,與which相比,whereis不僅會找到指令所在的文件,還會找到該指令的安裝包以及頭文件。
whereis+ 指令:查找指令文件,安裝包,頭文件位置;
find查文件
find用于查找文件,其是在磁盤中進行查找的。
find +? 指定路徑 + -name? +要查找的文件:進行文件查找;
瀏覽文件
cat能夠直接將文本的所有內容都打印到顯示器上,但是當一個文本很大有一萬多行的時候,直接將其打印出來往上翻是很麻煩的,所以我們需要更多瀏覽文件的方法來實現對文本的定位。
more瀏覽大文本
more + -行 +文件:可以實現從直接定位到改行,使用enter可以繼續往下翻,但是不能往上翻;
less瀏覽大文本
less與more不同,less+文件可以進行瀏覽文件,less還支持文件查找,能夠向上,向下翻找。
一般更多的使用less,而不會使用more;
head讀取文件頭
head -數字 文件:讀取文件的前幾行,沒給具體數字默認是10行;
less讀取文件尾
less -數字 文件:讀取文件的尾幾行;
head和tail通常與管道一起使用
在Linux下支持指令依次進行:比如head -1020 test | tail -20;表示先處理test文件的前1020行輸出給管道 | 的另一邊,在進行指令tail -20,這樣就是實現了打印第1000-1020這段區間的內容。
grep行文本過濾器
grep + 過濾關鍵字 + 文件:僅打印包含關鍵字的行;
-v選項可以打印不包含關鍵字的內容;
grep -v?+ 過濾關鍵字 + 文件:打印不包含關鍵字的行;
grep -n?+ 過濾關鍵字 + 文件:打印時,帶上原文件對應的行號;
grep -i?+ 過濾關鍵字 + 文件:過濾時,部分大小寫;
grep后面可以跟多個文件,通過-r選項也可以實現在目錄所含文件中查找;
grep -r +目錄:在目錄所含文件中進行查找。
?打包和壓縮
Linxu下也可以對文件進行打包和壓縮
zip和unzip
zip + 打包后名稱 + 文件:實現對普通文件進行壓縮;
zip -r +?打包后名稱 + 目錄:實現對目錄進行壓縮;
unzip + 壓縮包?-d +目錄:將文件解壓到指定目錄;
tar指令
Linux下打包壓縮的方式有很多種,此處再介紹一種tar;
tar -czf +?打包后名稱 + 目錄/普通文件:實現對文件進行壓縮;
tar -xzf + 壓縮包 -C? + 目錄:解壓到指定目錄;
Linux系統指令
whoami顯示用戶名
顯示當前用戶;
umame獲取操作系統相關信息
uname指令:獲取電腦名;
uname -a:-a或–all 詳細輸出所有信息,依次為內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操作系統名稱;
uname -r:僅輸出內核版本號,體系結構;
alias對指令改名
對指令進行重命名;但是沒有寫入配置文件中是臨時的。
alias 名稱 = '指令':對指令改名。
history歷史命令列表?
history顯示歷史命令列表,默認Linux記錄最新的1000條命令。
Linux系統熱鍵
ctrl+c中止程序
用于終止因為程序或指令異常(eg:死循環),導致無法進行指令輸出的情況。
ctrl+r查歷史指令
ctrl+r后輸入指令的一部分,就可以看到之前輸入的相關命令。
Tab自動補全
Tab可以對指令進行自動補全,連按兩次Tab可以顯示所有相關指令;
輸入指令的一部分就可以實現自動不全;
ctrl+d關閉shell
ctrl+d關閉shell。