1. 程式人生 > >Linux指令學習

Linux指令學習

Linux命令格式:命令名  選項  引數

  Linux 剛面世時並沒有圖形介面,所有的操作全靠命令完成,如 磁碟操作、檔案存取、目錄操作、程序管理、檔案許可權 設定等,在職場中,大量的伺服器維護工作都是在遠端通過SSH 客戶端來完成的,並沒有圖形介面,所有的維護工作,都需要通過命令來完成,在職場中,作為後端程式設計師,必須要或多或少的掌握一些 Linux 常用的終端命令,Linux 發行版本的命令大概有 200 多個,但是常用的命令只有 10 多個而已。

檔案及目錄操作

linux下,我們是看不到硬體碟符的,我們只能看到資料夾(目錄)

linux主要目錄速查表

 / :根目錄,Ubuntu只有一個根目錄,所有檔案都在它下面

/home/user:使用者工作目錄或者家目錄。

/bin、/usr/bin:可執行二進位制檔案的目錄

/boot:放置 linux 系統啟動時用到的一些檔案,如 linux 的核心檔案:/boot/vmlinuz;系統引導管理器:/boot/grub

/dev:存放linux系統下的裝置檔案,訪問該目錄下某個檔案,相當於訪問某個裝置,常用的是掛載光碟機mount /dev/cdrom /mnt

/etc:系統配置檔案存放的目錄,不建議在此目錄下存放可執行檔案,重要的配置檔案有

/home:系統預設的使用者家目錄,新增使用者賬號

  • ~ 表示當前使用者的家目錄
  • ~edu 表示使用者 edu 的家目錄

/root:系統管理員root的家目錄

/tmp:一般使用者或正在執行的程式臨時存放檔案的目錄,任何人都可以訪問,重要資料不可放置在此目錄下

/srv:服務啟動之後需要訪問的資料目錄,如 www 服務需要訪問的網頁資料存放在 /srv/www 內

/usr:應用程式存放目錄

  • /usr/bin:存放應用程式
  • /usr/share:存放共享資料
  • /usr/lib:存放不能直接執行的,卻是許多程式執行所必需的一些函式庫檔案
  • /usr/local:存放軟體升級包
  • /usr/share/doc:系統說明檔案存放目錄
  • /usr/share/man:程式說明檔案存放目錄

/var:放置系統執行過程中經常變化的檔案

  • /var/log:隨時更改的日誌檔案
  • /var/spool/mail:郵件存放的目錄
  • /var/run:程式或服務啟動後,其 PID 存放在該目錄下

小技巧

  • ctrl + shift + = 放大終端視窗的字型顯示
  • ctrl + - 縮小終端視窗的字型顯示
  • 自動補全:在敲出 檔案/目錄/命令 的前幾個字母之後,按下tab鍵,如果輸入的沒有歧義,系統會自動補全
  • 按 上 / 下 游標鍵可以在曾經使用過的命令之間來回切換
  • 如果想退出,並且不想執行當前選中的命令,可以按 ctrl+ c

目錄檔案操作

檢視當前目錄:pwd

顯示目錄內容:ls

  • 作用:ls命令用來檢視當前資料夾的檔案和子目錄
  • 引數: 
    • ls -l 以列表方式顯示檔案的詳細資訊
    • ls -a 顯示全部(包括隱藏檔案)
    • ls -t 按照修改時間排序
    • ls -l -h 配合-l以人性化的方式顯示檔案大小

ls -l        執行結果:

說明:執行結果從左到右含義分別為:檔案許可權、連線數或子目錄數、檔案擁有者、檔案所在組、檔案大小、最後修改時間、檔名稱

切換目錄:cd 目錄

符號 含義
cd 切換到當前使用者的主目錄(/home/使用者目錄)
cd ~ 切換到當前使用者的主目錄(/home/使用者目錄)
cd . 當前目錄
cd .. 上級目錄
cd - 上一次所在目錄

 

相對路徑和絕對路徑

  • 相對路徑 在輸入路徑時,最前面不是 / 或者 ~,表示相對 當前目錄 所在的目錄位置
  • 絕對路徑 在輸入路徑時,最前面是 / 或者 ~,表示從 根目錄/家目錄 開始的具體目錄位置

建立目錄:mkdir 目錄

  • 引數:mkdir -p 如果父目錄不存在,同時建立父目錄

檔案操作

建立空檔案:touch

  例如:touch test.txt temp.p

向檔案寫入內容:echo

  格式:echo>檔名

  例如:echo 'abc' > test1.txt (將abc字串寫入test1.txt,會覆蓋原來的內容;如果不想覆蓋原來的內容,使用兩個大於符號>>)

檢視檔案內容:cat 檔名

以樹狀圖的形式檢視目錄檔案結構:tree [目錄名]

檢視檔案前幾行:head -n 行數 檔名

  • 搜尋檔名包含1的檔案     find -name "*1*"
  • 搜尋所有以.txt為副檔名的檔案 find -name "*.txt"
  • 搜尋以數字1開頭的檔案     find -name "1*"

檢視檔案最後幾行:tail -n 行數 檔名

檔案查詢:find 查詢路徑 -name 檔名/目錄名

檔案複製:cp 原檔案 新檔案

檔案移動:mv 原檔名 新檔名

檔案刪除:rm [選項] 檔名|目錄名

  • 選項
    • -f 強制刪除(慎用!)
    • -i 互動模式,在刪除前詢問
    • -r 遞迴刪除目錄下的內容,刪除資料夾時必須的加此引數

打包壓縮

windows常用rar,Mac常用zip,Linux常用tar.gz。linux中常使用tar命令進行打包、壓縮、解壓操作,gz字尾名錶示進行了壓縮,tar字尾名錶示進行了打包,加字尾名是為了清晰、易於理解,而不是必須的。

打包/解包

# 打包檔案
tar -cvf 打包檔案.tar 被打包的檔案/路徑...
# 解包檔案
tar -xvf 打包檔案.tar

引數:

  • c 建立打包檔案
  • x 解開打包檔案
  • v 列出詳細過程,顯示進度
  • f 執行打包的檔名稱,f後面一定是.tar檔案,所以必須放在選項後面

壓縮與解壓

1、gzip

tar與gzip命令結合可以實現檔案 打包和壓縮

  • tar只負責打包檔案,但不壓縮,
  • 用gzip壓縮tar打包後的檔案,其副檔名一般用xxx.tar.gz

壓縮:tar -zcvf 壓縮包名字.tar.gz 檔案1 檔案2 目錄3

  • 引數:
    • z 使用gzip方式壓縮
    • c 建立包 create
    • v 顯示操作檔案的細節,顯示進度
    • f 要操作的檔名,f後面一定是.tar檔案,所以必須放在選項後面

解壓:tar -zxvf 壓縮包名字.tar.gz

  • 引數:
    • z 使用gzip方式壓縮
    • c 建立包 create
    • v 顯示操作檔案的細節
    • f 要操作的檔名 file

解壓檔案到指定路徑:tar -zxvf 打包檔案.tar.gz -C 目標路徑

  解壓縮到指定目錄,注意:要解壓縮的目錄必須存在

2、bzip2(two)

tar與bzip2命令結合可以實現檔案打包和壓縮,tar只負責打包檔案,但不壓縮。用bzip2壓縮tar打包後的檔案,其副檔名用xxx.tar.bz2

在tar命令中有一個選項-j可以呼叫bzip2,從而可以實現實現壓縮和解壓縮的功能

  • 壓縮的檔案:tar -jcvf 打包檔案.tar.bz2 被壓縮的檔案    
  • 解壓縮檔案:tar -jxvf 打包檔案.tar.bz2   

網路操作

檢視本機網路地址:ifconfig

測試網路連通性:ping [對方主機地址]

檔案許可權管理

三個許可權引數:讀 寫 執行

  • 引數:r可讀,w可寫,x可執行,-什麼都不行

在rwx三個許可權中,從右至左依次用值4、2、1來表示,所以擁有某個檔案的讀、寫、執行許可權也可以用三個許可權值累加的方式來表示,如下表所示:

許可權 含義 對應值
rwx 可讀、可寫、可執行 4+2+1=7
rw- 可讀、可寫、不可執行 4+2+0=6
r-x 可讀、不可寫、可執行 4+0+1=5
r-- 可讀、不可寫、不可執行 4+0+0=4
-wx 不可讀、可寫、可執行 0+2+1=3
-w- 不可讀、可寫、不可執行 0+2+0=2
--x 不可讀、不可寫、可執行 0+0+1=1
--- 不可讀、不可寫、不可執行 0+0+0=0

修改檔案權重:chmod {許可權值} {檔案/目錄名}

  • 例如:給檔案test1.txt新增可執行許可權 chmod +x test.txt
  • 例如:設定檔案,擁有者有讀、寫、執行許可權,其他使用者沒有訪問許可權 chmod 700 test1.txt

萬用字元

萬用字元 含義
* 代表任意個數字元
代表任意一個字元,至少1個
[] 表示可以匹配字元組中的任意一個
[abc] 匹配a、b、c中的任意一個
[a-f] 匹配從a到f範圍內的任意一個字元

遠端管理常用命令

關機/重啟:shutdown 選項 時間

  • shutdown now 現在就關閉電腦
  • shutdown 20:10 時間20:10分關閉電腦
  • shotdown -r +10 十分鐘後重啟電腦
  • shotdown -c 取消之前指定的關機計劃
  • -r 重新啟動
  • 不設定選項和引數:預設1分鐘後 關閉電腦

檢視或匹配網絡卡資訊

  • ifconfig   :檢視/配置計算機當前的網絡卡配置資訊
  • ping ip地址 :檢查目標 ip地址 的連線是否正常,數值越大,速度越慢

遠端登入和複製檔案

  • 關機/重新啟動   ssh 使用者名稱@ip
  • 遠端複製檔案:  scp 使用者名稱@ip:檔名或路徑 使用者名稱@ip:檔名或路徑

軟體安裝

通過apt安裝/解除安裝軟體

安裝軟體:sudo apt install 軟體包

解除安裝軟體:sudo apt remove 軟體包

更新軟體:sudo apt upgrade 軟體包

&n