1. 程式人生 > >快速上手Linux(三):Linux常用命令

快速上手Linux(三):Linux常用命令

1.Linux常用命令

  • 軟體操作命令
  • 伺服器硬體資源和磁碟資源
  • 檔案和資料夾操作命令
  • 系統使用者操作命令
  • 防火牆相關設定
  • 提權操作sudo和檔案傳輸操作

1.1軟體操作命令

  • 軟體包管理器 yum
  • 安裝軟體:yum install xxx
  • 解除安裝軟體:yum remove xxx
  • 搜尋軟體: yum search xxx [模糊搜尋]
  • 清理快取: yum clean packages
  • 列出已安裝:yum list
  • 軟體包資訊:yum info xxx eg:yum info vim-common

1.2伺服器硬體資源資訊

  • 記憶體: free -m [-m表示已M的形式顯示]

  • 硬碟:df -h[-h表示人類能看懂]

  • 負載:w或者top

    如圖,平均負載:第一個表示前1分鐘,第二個表示前5分鐘,第三個表示前十五分鐘,表示一個健康指標,1的話表示滿負荷運載,0.6/0.7表示比較健康的狀態

8QAuX.md.png

  • CPU個數和核數
    • cat /proc/cpuinfo
  • 硬碟分割槽工具 fdisk

1.3檔案操作命令

  • Linux中一切皆檔案
1.3.1Linux目錄結構
  • 根目錄 /
  • 家目錄 /home [~表示的是當前使用者的家目錄,home表示由好幾個小使用者]
  • 臨時目錄 /tmp
  • 配置目錄 /etc
  • 使用者程式目錄 /usr

8Wa4n.md.png

1.3.2 檔案操作基本命令

8Wc6E.md.png

ls -a

可以看到該目錄下的所有檔案和目錄,包括隱藏檔案

ls -l 可以看到該目錄下的所有目錄和檔案的詳細資訊,可以縮寫為ll

ls -al 所有檔案+隱藏資訊

cd usr 切換到該目錄下usr目錄

cd ../ 切換到上一層目錄

cd / 切換到系統根目錄

cd ~ 切換到使用者主目錄

cd - 切換到上一個所在目錄

8WC5Q.md.png

​ 建立迴圈目錄mkdir -p imooc/linux/test

rm -r

-r 表示迴圈,因為rm不能直接刪除資料夾

rm -rf 強制迴圈刪除

cp ./file1 ~/ 複製

1.4文字編輯神器:Vim

  • 在伺服器上沒有類Windows的操作介面,所有GUI介面都無法使用
  • Vim是最出名的Linux文字編輯器,可以對檔案修改操作
  • Vim安裝:yum install vim
1.4.1Vim使用
  • vim fileName 新建檔案並開啟
  • i insert命令,插入
  • Esc 按鍵,退出插入模式。再點選: wq 可以退出儲存
  • 非編輯狀態下,即不是insert狀態下
    • gg 游標移動到這個檔案的第一行
    • G 游標移動到這個檔案的最後一行
    • dd 刪除某行,
    • u 回退上述操作
    • yy 複製某行 ,p 貼上
    • : set number 顯示行數
    • & 行末尾
    • ^ 行開始
1.4.2檔案的許可權
  • 許可權是Linux中的重要概念,每個檔案/目錄等都具有許可權,通過ls -l命令我們可以檢視某個目錄下的檔案或目錄的許可權

84axA.md.png

檔案的型別:

​ d:代表目錄

​ -:代表檔案

​ l:代表連結(可以認為是window中的快捷方式)

後面的9位分為3組,每3位置一組,分別代表屬主的許可權,與當前使用者同組的 使用者的許可權,其他使用者的許可權

​ r:代表權限是可讀,r也可以用數字4表示

​ w:代表權限是可寫,w也可以用數字2表示

​ x:代表權限是可執行,x也可以用數字1表示

1.4.3 檔案搜尋、查詢、讀取

84rzO.md.png

84Chq.md.png

​ 使用more 命令的時候,可以按住enter鍵,一行一行的往下讀取。

grep -n "pp" fileName 搜尋指定檔案中的關鍵字,並且顯示出行數

cat fileName | wc -l 顯示檔案的總行數

grep "pp" fileName | wc -l 顯示該關鍵字在檔案中出現的總行數

find . 列出當前目錄下的所有檔案

find /etc 列出etc目錄下的所有檔案

find . -name ".字尾" -name 表示名字,表示當前目錄下,所有檔名字尾為XX的檔案

find . -type f -type表示型別,f為檔案,當前目錄下型別為檔案的所有檔案

find . -type d d為資料夾路徑

find . -ctime -20 將目前目錄及其子目錄下所有最近 20 天內更新過的檔案列出

find /var/logs -type f -mtime +7 -ok rm { } 查詢/var/logs目錄中更改時間在7日以前的普通檔案,並在刪除之前詢問它們

1.4.4檔案解壓縮
  • 打包並壓縮檔案

Linux中的打包檔案一般是以.tar結尾的,壓縮檔案也一般是以.gz結尾的。

而一般情況下打包和壓縮是一起進行的,打包並壓縮後的檔案的字尾名一般.tar.gz。

命令:tar -zcvf 打包壓縮後的檔名 要打包壓縮的檔案

​ 其中:z:呼叫gzip壓縮命令進行壓縮

 c:打包檔案

 v:顯示執行過程

 f:指定檔名

示例:打包並壓縮/test下的所有檔案 壓縮後的壓縮包指定名稱為xxx.tar.gz

tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt

或:tar -zcvf xxx.tar.gz /test/*

  • 解壓壓縮包

命令:tar [-xvf] 壓縮檔案

其中:x:代表解壓

示例:將/test下的xxx.tar.gz解壓到當前目錄下 tar -xvf xxx.tar.gz

將/test下的xxx.tar.gz解壓到根目錄/usr下 tar -xvf xxx.tar.gz -C /usr ——C代表指定解壓的位置

1.5系統使用者操作命令

命令 解釋
useradd 新增使用者
adduser 新增使用者
userdel 刪除使用者
passwd 設定密碼

useradd userName 新增使用者

passwd userName 設定使用者密碼

1.6防火牆的設定

[我電腦上暫時無法實現下述功能,不知道是不是因為版本的原因CentOs6]

  • 作用: 保護伺服器安全
  • 設定防火牆規則
    • 開放80(Web Service),22(SSH),443(HTTPS)埠
  • 關閉防火牆
1.6.1常用命令
  • 安裝yum install firewalld
  • 啟動service firewalld start
  • 重啟service firewalld restart
  • 檢查狀態service firewalld status
  • 關閉或者禁用防火牆 service firewalld stop/disable
1.6.2防火牆使用
  • yum list |grep firewall 確認防火牆已經安裝
  • ps -ef |grep firewall 確認防火牆已經開啟
  • firewall-cmd --state 檢視版本
  • firewall-cmd --get-zones 列出所有的區域
  • firewall-cmd --get-default-zone 列出預設區域
  • firewall-cmd --list-all-zone 列出所有區域配置.
  • firewall-cmd --zone=public --list-ports 檢視所有開啟的埠
  • iptables -L -n 檢視規則
  • firewall-cmd --reload 更新防火牆規則
  • 新增/查詢/移除服務:
    • firewall-cmd –add-service=ssh
    • firewall-cmd –query-service=ssh
    • firewall-cmd –remove-service=ssh
    • firewall -cmd –list-service 列出所有的服務
  • 新增/查詢/刪除埠
    • 新增 firewall-cmd –zone=public –add-port=80/tcp
    • 重新載入 firewall-cmd –reload
    • 檢視 firewall-cmd –zone=public –query-port=80/tcp
    • 刪除 firewall-cmd –zone=public –remove-port=80/tcp
  • 服務和埠只開啟一個就可以,比如ssh,如果移除了service,但是添加了埠20也是可以訪問的。

1.7提權和檔案上傳下載操作

1.7.1提權

一般安裝軟體不要在root賬號下面安裝,但是在非root賬號下安裝軟體需要root許可權,即提權。

前提是在root賬戶下,執行 visudo ,賦予這個賬號的某些許可權。

8PRjS.png

sudo yum install vim 提權安裝

1.7.2檔案下載
  • curl -o baidu.html http:www.baidu.com -o可以指定檔名

1.73 檔案上傳

Linux

  • scp fileName [email protected]地址:/tmp/ 表示將該檔案上傳到伺服器的某個路徑。Linux使用該命令,Windows使用Xshell,
  • scp [email protected]:/tmp/imooc.txt ./ 表示將伺服器上的檔案下載下來。

Windows

  • sudo yum install lrzsz ,伺服器上安裝該軟體
  • rz ,彈出視窗,選擇檔案上傳即可
  • sz fileName ,彈出路徑,選擇下載路徑即可

1.8參考

慕課網上的快速上手Linux課程,大家感興趣的話可以購買,十分不錯。