一、【寫在前面】
注意到csdn在鼓勵作者創作centos常見命令相關的文章,借此機會水一篇博文。
centos作為上個版本國內最常用的開源操作系統,占有量非常恐怖,排個前三應該沒有任何疑問。但是我建議直接去學ubuntu,因為主流在用的centos7要停止維護了,據本人淺顯認知,會有一部分轉用云廠商魔改的centos和國產操作系統,一部分轉用ubuntu,一部分轉用類似rockylinux……
這篇文章面向0基礎小白,linux類系統因為繞不開terminal(win上叫cmd)這個東西,所以門檻稍微高那么一丟丟,要花時間學一下命令,希望這篇對你進入linux的大門有幫助
二、【預備知識】
(1) linux的terminal命令都可以看作是
命令名 參數一 參數二 參數三……
比如 find -type f -name filename? ? 這就是一個簡單的查找命令,開頭的是命令名,后面都是參數,用空格分隔
(2) Linux的路徑與C:/path/dir這種不同,一般都是/path/to/ur/dir這種格式
/path/to/ur/dir? 這種是絕對路徑,也就是從根目錄開頭一級級指到當前文件夾的路徑
~/path? ../path? ?./path 這種都是相對路徑,就是某個地方開始逐級指向的路徑,從左到右分別是從家目錄開始,上一級目錄開始,當前目錄開始
(3)linux命令一般可以理解為shell命令(shell命令其實是linux命令的超集)
linux上在terminal的命令都可以視為是shell命令,把多個命令簡單堆疊,再加一點循環或者判斷就是一個shell腳本了
常見的shell解釋器有sh bash? ash zsh等……我們的操作本質是被shell解釋后丟給內核去處理。
(4)強弱引用
與大多數編程語言一致,''(單引號)是強引用,""(雙引號)是弱引用。簡單來說強引用里面的命令或者變量只會被當成字符串
三、【命令總結】
1. 基礎類
?這些命令是要優先看的,相當于你拿到windows之后知道鼠標怎么點,點哪里。提前說明一下
命令 | 作用 | 額外說明 |
---|---|---|
ctrl+alt+T | 呼出終端快捷鍵,嚴格來說不是命令 | 相當于打開windows的cmd |
cd /? | 這里是切換到根目錄 | cd是change directory的縮寫,根目錄可以理解為我的電腦,最上層的目錄。你可以注意到與windows的C:/path盤符加路徑不同,linux直接是/path這樣的格式作為路徑 |
cd ~ | 切換到家目錄 | 類比windows,登陸電腦可以有多個用戶,每個用戶都有一個家目錄,windows是在C:\Users\下,linux一般是在 /home 下 |
cd .. | 切換到上一層目錄 | 比如/home/user的上層目錄是/home |
cd - | 切換到上一個訪問的目錄 | 相當于windows的后退 |
ls? | 展示當前路徑下的文件和文件夾 | terminal中cd到一個路徑后,不會立馬顯示里面有什么內容,需要 ls 展示一下 |
ls -l | 展示當前路徑下的文件和文件夾的詳細信息 | 有時候操作系統會設置一個默認的別名命令 ll ,也就是說直接輸入 ll 等價于ls -l |
mkdir /path/to/dir | 新建文件夾 | 但是只能一級一級建立,也就是說如果/path/to中的to這個文件夾不在,那么就創建不成功 |
mkdir -p /path/to/dir | 遞歸創建文件夾 | 可以創建多層文件夾,上面那條的補充 |
echo? 'helloword' | 輸出文字用的,可理解為helloword | |
value1="hello" | 對變量value1進行賦值 | 如果value1沒被賦值過,會自動創建這個變量 |
apt install 軟件名 | 安裝軟件,ubuntu命令 | |
yum install 軟件名 | 安裝軟件,centos命令 | |
dpkg -i /path/to/ur/*.deb | 離線安裝命令,需要先下好deb包,注意一下ubuntu是deb包,centos是rpm包 | *是通配符,相當于模糊匹配該路徑下任何.deb結尾的文字 |
mv?[source] [destination] | move,剪切命令 | |
cp [source] [destination] | copy,復制命令 | |
rm?/path | remove ,刪除命令 | 謹慎使用 |
systemctl start [service] | 啟動服務 | |
systemctl stop [service] | 停止服務 | |
systemctl restart [service] | 重啟服務 | |
systemctl status [service] | 查看服務狀態 | |
systemctl enable [service] | 設置服務開機啟動 | |
systemctl disable [service] | 禁用服務開機啟動 | |
netstat -a | 查看所有端口 | |
ps -ef | 查看所有進程 | 經常配合kill一起使用,殺掉某個程序 |
kill PID | 殺死PID對應的程序 | |
kill -9 PID | 強制殺死PID對應的程序 | 可能會導致程序異常 |
記住上面的命令,基本操作就沒有問題了,接下來寫一些用的相對沒那么頻繁的命令。?
2. 常用類
df -h | 查看磁盤使用情況 | |
du -sh /path???????? | 查看目錄大小 | |
mount device /path | 掛載一個硬盤 | 之前說過,linux的文件系統與windows不同,沒有盤符,不同的盤linux是通過一個掛載點來確認的,比如/path1 掛載A盤,/path2 掛載B盤 |
unmount /path? ? ? ? | 解掛一個硬盤 | |
tar -czvf [archive.tar.gz] [directory] | 創建一個壓縮文件 | |
tar -xzvf [archive.tar.gz] | 解壓縮一個文件 | |
top | linux的任務管理器 | |
free -h | 查看內存使用情況 | |
iostat | 查看CPU和I/O統計信息 | |
ifconfig | 查看網卡信息 | |
find /path -name [filename] | 查找文件 | |
sh file.sh | ||
grep | 篩選,常跟管道符一起合用 | 比如cat filename | grep keyword 查找文件里的關鍵詞 |
ip a???????? | 查看機器的IP信息 | |
ssh user@1.1.1.1 | 使用ssh遠程登陸某一臺主機,這里是默認端口22,如果需要制定端口,加一個-p | |
scp source destination | 簡而言之就是遠程的 | |
curl baidu.com | curl,一般也是看連通性,得到的信息更多一點,可以看到返回 | |
ping url | ping命令檢測網絡連通性 | |
wget url | 下載命令 | |
nohup ./path/a.sh & | 把一個腳本丟到后臺去執行 | 使用 |