【linux】---常用命令整理


linux常用命令整理

 

一、ls命令   

    就是list的縮寫,通過ls 命令不僅可以查看linux文件夾包含的文件,而且可以查看文件權限(包括目錄、文件夾、文件權限)查看目錄信息等等

         常用參數搭配:

         ls -a 列出目錄所有文件,包含以.開始的隱藏文件

         ls -A 列出除.及..的其它文件

         ls -r 反序排列

         ls -t 以文件修改時間排序

         ls -S 以文件大小排序

         ls -l 除了文件名之外,還將文件的權限、所有者、文件大小等信息詳細列出來(可以直接寫成 ll)

實例:    

ll name*      #列出當前目錄中所有以“name”開頭的目錄的詳細內容

 

二、cd命令

cd /root/Docements      # 切換到目錄/root/Docements  
cd ./path               # 切換到當前目錄下的path目錄中,“.”表示當前目錄    
cd ../path              # 切換到上層目錄中的path目錄中,“..”表示上一層目錄  

 

三、rm命令

復制代碼
-f : #就是force的意思,忽略不存在的文件,不會出現警告消息  
-i : #互動模式,在刪除前會詢問用戶是否操作  
-r : #遞歸刪除,最常用於目錄刪除,它是一個非常危險的參數  

#舉例
rm -i file # 刪除文件file,在刪除之前會詢問是否進行該操作  
rm -fr dir # 強制刪除目錄dir中的所有文件  
復制代碼

 

四、cp命令

  1. -a :將文件的特性一起復制  
  2. -p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用於備份  
  3. -r :遞歸持續復制,用於目錄的復制行為   
cp /home/Test.java             #將home路徑下的Test.java文件復制到當前目錄下
cp -r dir1 dir2                #-r表示遞歸,將dir1代表的文件夾及里面的文件復制到dir2路徑那里
cp -r mysql /usr/local/mysql   #把mysql文件夾所有文件復制到/usr/local/mysql目錄下,沒有會自動創建目錄 
cp file1 file2 file3 dir  #把文件file1、file2、file3復制到目錄dir中 

 

五、mv命令

   移動文件或修改文件名,根據第二參數類型(如目錄,則移動文件;如為文件則重命令該文件)。

  1. -f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋  
  2. -i :若目標文件已經存在,就會詢問是否覆蓋  
  3. -u :若目標文件已經存在,且比目標文件新,才會更新  
mv file1 file2 file3 dir  # 把文件file1、file2、file3移動到目錄dir中  
mv file1 file2            # 把文件file1重命名為file2  

 

六、mkdir命令

      -m --mode=模式,設定權限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask

  -p --parents 遞歸創建目錄

  -v, --verbose 每次創建新目錄都顯示信息

mkdir abc              #創建一個空目錄
mkdir -p test/test1    #遞歸創建多個目錄
mkdir -v hao           #創建新目錄都顯示信息
mkdir -m 777 pc        #創建權限為777的目錄

 

7、pwd命令

pwd        #查看當前路徑
pwd -P    #查看軟鏈接的實際路徑

 

8、find命令    

 -name 按照文件名查找文件

 -perm 按文件權限查找文件

 -user 按文件屬主查找文件

 -group  按照文件所屬的組來查找文件。

 -amin n   查找系統中最后N分鍾訪問的文件

 -atime n  查找系統中最后n*24小時訪問的文件

 -mmin n   查找系統中最后N分鍾被改變文件數據的文件

 -mtime n  查找系統中最后n*24小時被改變文件數據的文件
復制代碼
 find ./ -name '*.log'    # 在當前目錄查找 以.log結尾的文件。 ". "代表當前目錄

 find /opt -perm 777      #查找/opt目錄下 權限為 777的文件

 -xargs                   #find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,並如此繼續下去。

find / -name mysql|xargs rm -rf   #找到所有文件名為mysql文件,並全部刪除。
復制代碼

 

9、tar命令

只能使用下面的某一個選項來指定tar要執行的動作。可以通過在選項后面跟一個或多個修飾符來改變該選項的行為

    -c            創建歸檔文件

    -u            將file-list中的文件添加到歸檔文件

    -x            從歸檔文件中提取file-list並把它寫入磁盤

修飾符

-f filename              使用filename來指出要創建或從中提取的歸檔文件的文件名

-j                             在創建歸檔文件或從歸檔文件中提取文件時,使用bzip2方式來進行壓縮和解壓縮

-z                            在創建歸檔文件或從歸檔文件中提取文件時,使用gzip方式來進行壓縮和解壓縮

-v                            顯示所有過程

-t                             列出歸檔文件中的目錄

復制代碼
tar -cvf demo.tar a b c       #將a b c打包成一個名為demo.tar的歸檔文件,並顯示打包的文件
tar -xvf demo.tar             #解壓名為demo.tar的歸檔文件到本目錄,並顯示解壓的文件
tar -zcvf demo.tar.gz a b c   #將a b c 三文件用gzip的方式打包並壓縮成demo.tar.gz
tar -zxvf demo.tar.gz         #用gunzip的的方式解壓demo.tar.gz文件
tar -jcvf demo.tar.bz2 a b c  #將a b c三文件用bzip2的方式壓縮並打包為demo.tar.bz2
tar -jxvf demo.tar.bz2        #將demo.tar.bz2用bunzip2的方式解壓縮到當前目錄
tar -cvf jpg.tar *.jpg #將目錄里所有jpg文件打包成tar.jpg
復制代碼

 

10、ps命令

  ps(process status),用來查看當前運行的進程狀態,一次性查看,如果需要動態連續結果使用top

         linux上進程有5種狀態:

         1. 運行(正在運行或在運行隊列中等待)

         2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)

         3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)

         4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放)

         5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行)

         命令參數:

         -A 顯示所有進程

         a 顯示所有進程

        - e 顯示環境變量

        - f 顯示進程間的關系

         r 顯示當前終端運行的進程

         -aux 顯示所有包含其它使用的進程

復制代碼
ps -A                #顯示所有進程信息
ps -u root           #顯示指定用戶信息
ps -ef               # 顯示所有進程信息,連同命令行
ps -ef |grep java    #顯示java 進程是否存在
  #grep命令是查找,中間的|是管道命令 是指ps命令與grep同時執行
ps -aux |grep java   #顯示java 進程是否存在
  #上面兩個其實沒有多大區別只是:aux可以查看進程的CPU占用率和內存占用率。ef可以查看進程的父進程ID和完整的COMMAND命令
復制代碼

 

11、top命令

       top顯示系統當前的進程和其他狀況,是一個動態顯示過程,顯示當前系統正在執行的進程的相關信息,包括進程ID、內存占用率、CPU占用率等

  常用參數:

         -c 顯示完整的進程命令

         -s 保密模式

         -p <進程號> 指定進程顯示

         -n <次數>循環顯示次數

   -d 指定每兩次屏幕信息刷新之間的時間間隔。 
top       #每隔5秒顯式所有進程的資源占用情況(默認是5秒)
top -d 2  #每隔2秒顯式所有進程的資源占用情況
top -c    #每隔5秒顯式進程的資源占用情況,並顯示進程的命令行參數(默認只有進程名)
top -p 12345 -p 6789   #每隔5秒顯示pid是12345和pid是6789的兩個進程的資源占用情況
top -d 2 -c -p 123456  #每隔2秒顯示pid是12345的進程的資源使用情況,並顯式該進程啟動的命令行參數

 

12、kill命令

      發送指定的信號到相應進程。

   常見參數

        HUP    1    終端斷線

        INT     2    中斷(同 Ctrl + C)

      QUIT    3    退出(同 Ctrl + \)

    TERM   15    終止

       KILL    9    強制終止

    CONT   18    繼續(與STOP相反, fg/bg命令)

    STOP    19    暫停(同 Ctrl + Z)

 kill -15 pid    #讓進程正常退出 。 既然信號 15 是退出進程的正確方式,那它也應該是最常用的方式,因而我們可以省略參數 -15。
 kill -9 pid     #當進程出現了異常狀況,不能通過信號15正常退出時,我們就需要通過非常的手段直接終結掉進程。所謂的非常手段就是傳遞信號 9 給目標進程!
 kill -15 $(ps -ef | grep peidalinux)   #殺死指定進程
#不是特殊情況,建議有15就可以了,慎用9哦

 

13、chmod命令

    用於改變linux系統文件或目錄的訪問權限。用它控制文件或目錄的訪問權限。該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。  

 

   常用參數:

         -c 當發生改變時,報告處理信息

         -R 處理指定目錄以及其子目錄下所有文件

   權限范圍

         u :目錄或者文件的當前的用戶

         g :目錄或者文件的當前的群組

         o :除了目錄或者文件的當前用戶或群組之外的用戶或者群組

         a :所有的用戶及群組

 三種基本權限

   R           讀          數值表示為4

   W          寫          數值表示為2

   X           可執行   數值表示為1

 如圖所示,dump.rdb文件的權限為-rw-r--r--

  -rw-r--r--一共十個字符,分成四段。

  第一個字符“-”表示普通文件;這個位置還可能會出現“l”鏈接;“d”表示目錄

  第二三四個字符“rw-”表示當前所屬用戶的權限。   所以用數值表示為4+2=6

  第五六七個字符“r--”表示當前所屬組的權限。       所以用數值表示為4

  第八九十個字符“r--”表示其他用戶權限。              所以用數值表示為4

  所以操作此文件的權限用數值表示為644 

 更改權限

sudo chmod [u所屬用戶  g所屬組  o其他用戶  a所有用戶]  [+增加權限  -減少權限]  [r  w  x]   目錄名 

例如:有一個文件filename,權限為“-rw-r----x” ,將權限值改為"-rwxrw-r-x",用數值表示為765

sudo chmod u+x g+w o+r  filename

上面的例子可以用數值表示

sudo chmod 765 filename

 

14、grep命令

   強大的文本搜索命令,grep(Global Regular Expression Print)全局正則表達式搜索

   grep太強大了,我這里就舉幾個常見的。

ps -ef|grep svn                  #查找指定進程
grep -n 'li' nginx.conf          #在nginx.conf查找包含"li"的行,同時顯示行號
grep 'linux' test.txt test2.txt  #從多個文件中查找關鍵詞

 

 

 15、vim命令

    vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。

  命令模式下:

               :q                      退出

              :q!                     強制退出

             :wq                   保存並退出

             :set number     顯示行號

             :set nonumber  隱藏行號

              /apache            在文檔中查找apache 按n跳到下一個,shift+n上一個

               yyp                   復制光標所在行,並粘貼

              h(左移一個字符←)、j(下一行↓)、k(上一行↑)、l(右移一個字符→)

 

16、cat命令

    cat主要有三大功能:

           1.一次顯示整個文件:cat filename

           2.從鍵盤創建一個文件:cat > filename 只能創建新文件,不能編輯已有文件.

           3.將幾個文件合並為一個文件:cat file1 file2 > file

          -b對非空輸出行號

          -n輸出所有行號

cat -n nginx.conf                        #查看文件並顯示行號
cat -n log2012.log log2013.log           #把 log2012.log 的文件內容加上行號后輸入 log2013.log 這個文件里
 cat -b log2012.log log2013.log log.log  #把 log2012.log 和 log2013.log 的文件內容加上行號(空白行不加)之后將內容附加到 log.log 里

 

17、more命令

  功能類似於cat, more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示

  命令參數

         +n      從笫n行開始顯示

         -n       定義屏幕大小為n行

         +/pattern 在每個檔案顯示前搜尋該字串(pattern),然后從該字串前兩行之后開始顯示 

         -c       從頂部清屏,然后顯示

         -d       提示“Press space to continue,’q’ to quit(按空格鍵繼續,按q鍵退出)”,禁用響鈴功能

         -l        忽略Ctrl+l(換頁)字符

         -s       把連續的多個空行顯示為一行

     常用操作命令

         Enter    向下n行,需要定義。默認為1行

         空格鍵  向下滾動一屏

         Ctrl+B  返回上一屏

         =       輸出當前行的行號

         V      調用vi編輯器

         !命令   調用Shell,並執行命令

         q       退出more

ls -l | more -5   #在所列出文件目錄詳細信息,借助管道使每次顯示5行 按空格鍵顯示下五行,enter向下1行。具體看上面參數。
more +3 text.txt #顯示文件中從第3行起的內容

 

18、less命令

    less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。

 

19、tail命令

   用於顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。

         常用參數:

         -f 循環讀取(常用於查看遞增的日志文件)

         -n<行數> 顯示行數(從后向前)

  tail -f ping.log  #循環讀取逐漸增加的文件內容

        這個可以用來看正式服報錯日志

 

20、chown命令

  chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID;組可以是組名或者組ID;文件是以空格分開的要改變權限的文件列表,支持通配符

         -c 顯示更改的部分的信息

         -R 處理指定目錄及子目錄

 chown mail:mail log2012.log   #改變擁有者和群組

chown root: log2012.log      #改變文件擁有者和群組
chown :mail log2012.log      #改變文件群組
chown -R -v root:mail test6  #改變指定目錄以及其子目錄下的所有文件的擁有者和群組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM