1. 程式人生 > >linux一些常見命令總結

linux一些常見命令總結

  1. 文件檢視:cat、tac、more、less、head、tail、cut、od、nl
  2. 檔案許可權:ls -l、chmod、chown、chgrp、umask
  3. 檔案查詢:find、whereis、locate、which
  4. 程式管理:jobs、bg、fg、kill、killall、ps、pstree、top、free、nice、renice
  5. 開機、關機:sync、shutdown、halt、poweroff、reboot、init
  6. 網路相關:ifconfig、netstat、arp、route
  7. 其它:uname、ulimit

一、文件檢視

  • cat:一次性顯示完,不能翻頁,不能編輯
  • tac:與cat相似,只不過顯示的內容是從最後一行到第一行逆序顯示的
  • more:可以向下翻頁
  • less:可以上、下翻頁
  • head:顯示文件的頭幾行,預設10行(-n lines)
  • tail:顯示文件的最後幾行,預設10行(-n lines)
  • cut:檢視文件的部分內容,可以顯示每行的部分內容
  • od:以二進位制方式讀取內容
  • nl:與cat類似,不過顯示的時候會順帶輸出行號

      這些命令都是不能編輯文件的,其中cat、head、tail執行完後,命令就執行完了,不能有後續操作;
      more和less執行完後,還可以翻頁,命令還沒有執行完。
      eg:對文件執行less後,命令列視窗顯示如下:
      這裡寫圖片描述
      可以發現整個視窗顯示的全部都是文件的內容,與man手冊類似,除非執行q退出

      而cat執行後,視窗顯示如下,當文件內容顯示完成後,會自動退出。此時cat命令已執行完,因此不能上、下翻頁
      這裡寫圖片描述

二、檔案許可權

  主要命令有:chmod、chown、chgrp、umask
  linux下每一個目錄、檔案都是有特定許可權的,分別為檔案擁有者、群組、其它使用者的許可權,許可權主要分為讀、寫、執行三種。
  (1)通過ls -l命令可以檢視一個檔案的許可權
  這裡寫圖片描述
  
  ls -al命令顯示的每個欄位表示的意思依次為:   
  這裡寫圖片描述
  
  其中連結數是指硬連結數。
  互為硬連結的檔案具有相同的檔案節點i節點,他們指向同一個檔案,無論是修改哪一個檔案,另一個也做相應的變化
  
  可以發現檔案的許可權一個包括10個字元
  這裡寫圖片描述


  
  其中第一個字元表示檔案的型別
  檔案型別:
  
  後面的字元每3個一組,分別表示檔案擁有者、檔案所屬群組、其它使用者對該檔案擁有的許可權,許可權為RWX的組合
  由於可以將每個許可權看作3bit的二進位制表示,因此RWX許可權也可以用數字表示,即R=4,W=2,X=1。這是我們常見的表示方式。4+2+1 = 7 ,即當一個檔案具有所有許可權時,許可權用數值表示為777
  
  (2)許可權的修改
  主要可以通過chmod、chown、chgrp等命令修改相關許可權
  這裡寫圖片描述
  除此之外,還可以用符號來修改檔案的許可權
  這裡寫圖片描述
  
  
  (3)檔案的R、W、X都比較容易理解,要注意的是目錄的許可權
  
  目錄的讀許可權決定了你能否修改該目錄下的檔案,包括新建、刪除、重新命名
  這裡寫圖片描述
  
  目錄的執行許可權決定了使用者能否進入這個目錄
  當訪問該目錄下的檔案時,同樣也不能訪問檔案的內容。
  這裡寫圖片描述
  
  (4)umask命令用於設定檔案許可權遮蔽字,當對應許可權位為1時,則遮蔽該位代表的許可權,即沒有該許可權。
  這裡寫圖片描述
  即群組W和其它使用者W許可權被遮蔽
  
  (5)同時當建立一個文件時,預設的許可權是RW-RW-RW-,即文件的執行許可權已經被遮蔽
  當建立一個目錄時,由於目錄的執行許可權與能否進入這個目錄有關,因此目錄的X許可權一般都是開放的,即目錄的預設許可權是RWXRWXRWX
  然後我們再利用umask=0022,遮蔽一些許可權後,新建一個文件的許可權為RW-R–R–,新建一個目錄的許可權為RWXR-XR-X
  這裡寫圖片描述
  
  (6)例題
  這裡寫圖片描述
  這裡寫圖片描述

三、檔案的查詢和定位

  • find會在指定路徑下查詢,查詢速度比較慢
  • whereis會在系統預設位置查詢,一般是HOME環境變數指定的所有路徑,且可查詢的檔案種類較少
  • locate會在系統的檔案資料庫中搜索
  • which只在環境變數中查詢指定檔案,查詢的範圍更小

四、shell指令碼

  • $?:最近一條命令或shell指令碼的出口狀態
  • $$:shell指令碼的程序ID
  • $#:返回位置引數的總個數
  • $*:表示所有的位置引數
  • [email protected]:表示所有的位置引數
      這裡寫圖片描述
      

五、程式管理

  主要命令有:jobs、bg、fg、kill、killall、ps、pstree、top、free、nice、renice
  (1)程式與程序
  程式:一般以實體文件的方式儲存在媒體(磁碟、光碟)中,沒有生命
  程序:正在執行的程式。
  每一個程序都有一個系統賦予的程序標識(程序ID),並與啟動程序的使用者(使用者ID)相關聯。
  使用者可以查詢所有程序的狀態,但是隻能控制自己的程序,如向程序傳送訊號、重新啟動或終止程序
  超級使用者則可以控制所有程序
  
  (2)bash中命令的呼叫過程
  fork-and-exec流程:首先fork出一個子程序,然後呼叫exec讓子程序其執行命令。任務執行完成後呼叫exit,然後再繼續執行父程序
  這裡寫圖片描述
  
  (3)Linux多使用者、多工環境
  多使用者:Linux下可以有多個使用者賬號存在,可以使每個使用者具有不同的許可權。每個使用者登入Linux後取得的shell的程序ID不同,因此可以對不同使用者設定不同的登入環境
  多工:所有處於競爭狀態的程序都能夠合理的共享資源,當有多個使用者同時登入Linux後,看起來系統也只是在為你一個人服務
  
  (4)bash環境下的任務管理
  我們登入bash後,可以在bash中同時執行多個任務嗎?
  當然可以,只要將任務設定為後臺執行即可。我們知道find命令非常耗時,如果讓find命令在前臺執行,那麼bash一直都被佔用,我們就不能執行其他任務了。因此可以將find放在後臺執行,讓我們可以繼續使用bash。
  &:使任務在後臺執行
  Ctrl+z:使任務掛起
  jobs:觀察當前bash中正在執行的任務
  bg:使任務在後臺執行
  fg:使任務在前臺執行
  kill、killall:終止某個任務
  bg、fg、kill:一般都是加%num引數,其中num為執行jobs命令後每個任務前面顯示的序號
  簡單示例如下:
  這裡寫圖片描述
  首先執行find任務,由於任務執行時間較長,為了能在此期間繼續執行其它任務,按下Ctrl + Z向程序傳送一個訊號將任務掛起。
  此時用jobs命令檢視可以發現任務的狀態變為Stopped
  然後可以執行bg %num命令將任務放在後臺執行,此時用jobs命令檢視可以發現任務的狀態已經變成了Running,表示任務正在執行
  當任務執行完後,任務就Exit退出了,任務也就被系統清除了。
  
  kill命令常見用法是:kill -signal PID/(%job_num),當不指定signal時,預設傳送的是訊號15,即SIGTERM。
  由於kill命令必須知道程序ID或任務號,比較麻煩。因此我們可以使用killall命令
  killall -signal process_name,如killall -9 find。 訊號9是SIGKILL
  一些常見訊號:
 這裡寫圖片描述

  (5)程序管理
  ps:檢視程序狀態資訊
  pstree:以樹形縮排形式顯示程序之間的呼叫關係
  top:實時監控程序的狀態資訊
  nice、renice:調節程序優先順序
  free:檢視系統資源
  ps命令提供的引數非常多,但是我們只需要記住常用的幾個即可。
  -a:顯示活動程序
  -e:顯示所有程序
  -f:顯示程序的重要狀態資訊
  -l:顯示程序的詳細狀態資訊
  一般使用:ps -ef 、 ps -l
  這裡寫圖片描述
  
  這裡寫圖片描述
  這裡寫圖片描述
  
  這裡寫圖片描述
  
  調節程序優先順序:nice、renice
  執行ps -l可以檢視程序的優先順序PRI,但是由於PRI是由linux系統控制的,我們不能改變,因此我們只能通過改變NI即nice的值來對程序優先順序進行調節。
  這裡寫圖片描述
  PRI(new) = PRI(old) + nice,當nice值為負時,則使PRI值減小。PRI值越小,優先順序越高,因此可以將nice設為負值以提升程序優先順序。但是為了避免使用者持續搶佔資源,因此一般不允許使用者將nice設為負。
  nice -n command
  如果程序已經存在時,則需要用到renice,renice number PID

六、開機、關機

  這裡寫圖片描述
  

七、網路相關

  主要命令有ifconfig、netstat、arp等
  
  (1)ifconfig
  可以用來檢視網路介面的基本配置和狀態資訊,常見用法有:
  ifconfig -a
  ifconfig eth0 192.168.1.111 netmask 255.255.255.0
  ifconfig eth0 down/up
  ifconfig eth0 mtu 1500

  (2)netstat
  可以給出網路狀態資訊
  netstat [-s] [-i [ifname] ] [-r] [-n] [-atuwp] [-c] [delay]
  -s:按照協議分類統計
  -i:顯示網路介面的狀態資訊
  -r:顯示核心路由表
  -n:只需顯示IP地址,而不用轉換成主機名或網路名
  -t:只顯示tcp套接字的狀態資訊
  -u:只顯示udp
  -w:只顯示原始套接字的狀態資訊
  -p:顯示每個套接字所屬程式的名稱和程序ID
  -c:表示每秒一次,(此時netstat程式沒有終止,除非Ctrl+c主動結束)
  -d:顯示抽樣統計資料的延時

  (3)arp
  arp協議是用於解決IP地址和MAC地址之間的對映關係的,arp命令的主要用法有:
  arp [-s] [-d] [-i [ifname] ] [n]
  -s:用於增加一個arp表項,如arp -s 10.10.10.1 00:11:22:33:44:55:66
  -d:用於刪除一個arp表項,如arp -d 10.10.10.1
  -i、-n與netstat中的引數意思相同
  
  (4)route
  常見用法有:
  route -n:顯示路由
  route add -net 192.168.11.0 netmask 255.255.255.0 dev eth0:增加一條到192.168.11.0的路由表項
  route del-net 10.0.0.0 netmask 255.0.0.0:刪除一條路由表項
  當要設定網路不可達時,可以直接在add、del命令後加上reject
  route add default gw 192.168.120.240:配置閘道器
  route del default gw 192.168.120.240
  

八、其它

  uname:可以檢視linux版本
  這裡寫圖片描述
  
  ulimit:檢視系統和檔案的限制
  這裡寫圖片描述
  常見的是core檔案的大小限制,一般系統預設是關閉core檔案,而有時為了除錯我們需要把core檔案開啟。
  這裡寫圖片描述
  這樣程式執行出錯時,就會產生core檔案了,然後我們就可以使用gdb進行除錯
  
參考資料:
《鳥哥的私房菜–基礎篇》

相關推薦

linux一些常見命令總結

文件檢視:cat、tac、more、less、head、tail、cut、od、nl 檔案許可權:ls -l、chmod、chown、chgrp、umask 檔案查詢:find、whereis、locate、which 程式管理:jobs、bg、fg、kill

Linux常見命令總結

幫助 目錄 inux 命令總結 復制 ++ quit 命令 快捷 Linux常見命令總結 vi 記事本 vim notepad++ :wq write quit:q 退出不保存 :q! 強制退出不保存 cat 顯示文件

linux 常見命令總結

常見命令都可以直接在terminal下通過man列出幫助資訊,如:man ls 1. ls    列出檔案和資料夾。    ls *  # 列出所有檔案    ls ../../rtl/   #列出指令路徑下的檔案

linux上安裝es(elasticsearch)及一些常見命令

/usr/src/es   下載es的安裝包儲存到當前目錄下(.tar)    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz    刪除檔案:    

Linux下常用命令總結

命令註:本文檔只記錄最常用的命令以及命令下的參數,更多的命令請參考linux文檔或使用命令help、man、info 進行對應查詢常用文件目錄操作指令ls 參數 文件 顯示文件或目錄(文件為空時,代表顯示當前目錄) -l 列出文件詳細信息l(list)

git的一些常見命令

orm 遠程倉庫 lin feature hang 常見 change 關系 lena 一、新建代碼庫 # 在當前目錄新建一個Git代碼庫 $ git init # 新建一個目錄,將其初始化為Git代碼庫 $ git init [project-name] # 下載

linux第一波命令總結

自動補全 ech 包管理 -type scp quit ctr 當前目錄 can 第一波命令總結1.1 ip 顯示ip地址 ip a == ip address 1.2 ifconfig 顯示ip地址 1.3 mkdir make direct

Linux系統基礎命令總結

一、幫助命令(1)helpxxxx --helphelp xxxx(2)manman xxxx二、ls檢視命令:列表顯示目錄內的檔案及目錄ls 引數-l 以列表的形式顯示-d 顯示目錄本身屬性-a顯示所有子目錄和檔案資訊-R以遞迴的方式顯示目錄及其子目錄中的所有內容三、touch命令:建立空檔案touch 檔

linux解壓命令總結(zip,tar.gz tar.xz tar.lz)

tar & tar.gz tar -xvf abc.tar tar -xvf abc.tar.gz tar.lz lzip -dv abc.lz   得到  abc.tar 再繼續解壓 tar.xz(壓縮比牛逼啊,320M

Linux作業系統常見命令

      在軟體開發和運維過程中,Linux作業系統操作是基本功,如下列出部分常見命令,以備忘記命令時查詢確認。     常見VNC命令 命令 說明 vncp

Linux運維命令總結

router 應用軟件 快捷 機器 cal 容器 目錄結構 指定 傳遞 、什麽是運維?什麽是遊戲運維? 1)運維是指大型組織已經建立好的網絡軟硬件的維護,就是要保證業務的上線與運作的正常, 在他運轉的過程中,對他進行維護,他集合了網絡、系統、數據庫、開發、安全、監控於一身的

Linux Screen常用命令總結

1 顯示所有screen列表 screen -ls 2 建立一個screen screen -S MyScreenName 3 進入一個screen screen -r screen名字 或 screen編號 注:如果screen -ls 顯示當前scree

redis中資料型別以及一些使用命令總結

redis資料型別:String、Hash、List、Set(無序不重複)以及zset(sorted Set(有序集合))。 在String中可以使用set/get來進行賦值和取值,String型別的值最大可以儲存512MB(一個鍵值)。 hash是一個鍵值對集合,是一個String

Linux 】常用命令總結(更新)

通過需求去總結一些命令是記憶的一個好方法,正在實踐中。 對檔案以及資料夾的操作命令: touch test.txt                                   //建立一個

Linux 下常用命令總結

Ubuntu中如何檢視系統版本和Linux核心版本 【1】檢視作業系統版本的命令 命令lsb_release -a lsb_release提供特定的LSB (Linux Standard Base)和釋出版本相關資訊。 版本為16.04 【2】檢視核心版本 c

Linux常見命令du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password的用法

du 1.作用 是磁碟空間使用情況,功能是逐級進入指定目錄的每一個子目錄並顯示該目錄佔用檔案系統資料塊的情況,如果沒有指定目錄,則對當前的目錄進行統計。 2.重要引數 (1) -a:顯示所有檔案對系統資料塊的使用情況 (2) -b : 顯示目錄或檔案大小時,以

Linux+Shell常用命令總結

因為自己不經常使用linux的命令列工具,但是mac的終端還是經常使用的,有些命令總是要想一會或者百度一下才知道怎麼用,抽時間整理了一下常用的命令,作為筆記. 常用命令 檢視檔案操作:   ls :列出當前目錄下所有檔案和目錄   cat file:檢視檔案內容  -n:顯示行號    less file:

Debian常見命令總結

dpkg學習: (1)dpkg是一個較底層的安裝工具,處理.deb檔案,軟體包依賴性需要更高層的前端工具是apt;    dpkg本身是不能解決依賴的。    dpkg是dpkg-deb的前端,如果dpkg搞不定,可以用dpkg-deb。&

Linux系統檢測命令總結

1.top命令 a.作用:顯示系統所用狀態的資訊,是“工作管理員“的加強版 b.格式:top -引數 c.引數 (a)-v:顯示top程式的版本號 (b)-H:動態重新整理top顯示程序列表 d.top資訊解釋 (a)第一行:顯示時間、執行時間、登入賬戶數; L

juniper常見命令總結(1)

ns25-> get interface //檢視介面資訊 ns25-> get int eth1 //檢視介面1的配置
 ns25-> set zone name office