Linux 命令大全

目錄

1、文件瀏覽命令html

2、文件目錄操做命令mysql

3、文件查找命令linux

4、文件權限設置ios

5、系統性能監控命令程序員

6、網絡查看命令sql

7、linux 其餘命令數據庫

 

1、文件瀏覽命令

  格式: 命令 [option] fileapache

  • cat  由第一行開始顯示文件內容  
  • tac  從最後一行開始顯示,tac 是 cat 的倒寫
  • nl   顯示行號                                           -b a :空行也列出行號(相似 cat -n); -b t :非空行才列出行號(默認值); 
  • more 一頁一頁的顯示文件內容           [空格鍵]下一頁,[Backspace]上一頁。    +n 從笫n行開始顯示    -n 定義屏幕大小爲n行  -c 清屏顯示
  • less 與 more 相似,但他能夠往前翻頁    [空格鍵] 滾動一行, [回車鍵] 滾動一頁,[pagedown]: 下一頁,[pageup]:上一頁
  • head 看頭幾行,                                    -n 設定行數
  • tail   看尾部幾行                                     -f 循環讀取    tail -100f catalina.out
  • od   以二進制的方式讀取文件內容 

 

2、文件目錄操做命令

1. mkdir    -m:mode 設定權限  -p:parents 建立父級目錄             mkdir -m 777 -p dir1/dir2  centos

2. rm    -r 遞歸   -f force 強行刪除,忽略不存在的文件,系統再也不提示    rm -rf dir  緩存

3. mv   -b :覆蓋前先備份   -f :force 強制覆蓋   -i :詢問是否覆蓋       mv 1.txt 2.txt  可用於重命名

4. ls命令   列出目錄中全部子目錄和文件

-a, –all 列出目錄下的全部文件,包括以.開頭的隱含文件
-l 列出目錄或文件的詳細信息,包括文件的權限、全部者、文件大小等
-R, –recursive 遞歸查詢   -r, –reverse 依相反次序排列     -t 以文件修改時間排序
-F 顯示文件類型(File type),在列出的文件名後添加符號:/ 代表是一個目錄;@ 代表是到其它文件的符號連接;* 代表是一個可執行文件。 

ls -l s* 列出當前目錄中全部以「s」開頭的目錄的詳細內容
ls -F /opt/soft |grep /$ 只列出文件下的子目錄
ls -ltr s* 列出目錄下以s 開頭的檔案,愈新的排愈後面
ls | sed "s:^:`pwd`/:"   列出文件的絕對路徑

5. tar   爲linux的文件和目錄建立檔案

  tar [主選項+輔選項] 文件或目錄

  主選項:【每條命令只能有一個主選項】

-c: --create  新建一個壓縮文檔,即打包     -x: --extract,--get  解壓文件
-t: --list  查看壓縮文檔裏的全部內容    -r:--append   向壓縮文檔裏追加文件    -u:--update   更新原壓縮包中的文件

  輔助選項:

-z 支持gzip解壓文件  -j 支持bzip2解壓文件  -Z 支持compress解壓文件
-v 顯示操做過程        -f 指定壓縮文件  -t 顯示壓縮文件的內容
-d 記錄文件的差異    -W 確認壓縮文件的正確性  -l 文件系統邊界設置
-k 保留原有文件不覆蓋  -m 保留文件不被覆蓋

      

tar -cvf log.tar 1.log 2.log   僅打包,不壓縮!
tar -tf log.tar   不解壓的狀況下查看

6. gzip

-a 使用ASCII文字模式 -d 解壓文件 -l 列出壓縮文件的詳細信息  -r 遞歸處理   -v 顯示指令執行過程
-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統缺省值爲6。

gzip *  / gzip -dv *   壓縮和解壓縮文件或目錄,若當前目錄下有10個文件則生成10個.gz的壓縮包,gzip沒有打包功能!

 

3、文件查找命令

1. find命令 在目錄結構中搜索文件

格式:find pathname -options [-print -exec -ok ...]

命令選項:
-name 按照文件名查找文件   -perm 按照文件權限來查找文件
-user 按照文件屬主來查找文件  -group 按照文件所屬的組來查找文件
-mtime (modify time)指文件內容被修改的時間 +n:大於n, -n:小於n
-atime (access time)文件被讀取或者執行的時間 -ctime (change time)文件狀態改變時間,如經過chmod修改文件屬性
-type 查找某一類型的文件,f:普通文件,d:目錄,p:管道文件,l:符號連接文件,c:字符設備文件,b:塊設備文件
-size n:[c] 查找文件長度爲n塊的文件,帶有c時表示文件長度以字節計 -depth:在查找文件時,首先查找當前目錄中的文件,而後再在其子目錄中查找

find -atime -2 查找2天內修改過的文件
find . -type f -name "*.log"  根據關鍵字和類型查找
find /opt/soft/ -perm 777  按照目錄或文件的權限來查找文件
find . -size +1000c -print 查找當前目錄大於1K的文件

2. which命令   查看可執行文件的位置

  which指令會在PATH變量指定的路徑中,搜索某個系統命令的位置,而且返回第一個搜索結果。   which pwd

3. whereis命令  定位文件在文件系統中的位置

-b 查找二進制文件 -m 幫助文件   -s 源代碼文件    whereis -b svn

4. locate命令   配合數據庫查看文件位置

  locate和find功能相似,但locate是透過updatedb程序將硬盤中的全部檔案和目錄資料先創建一個索引數據庫,在執行loacte時直接找該索引,查詢速度會較快

locate pwd  查找和pwd相關的全部文件
locate /etc/sh  搜索etc目錄下全部以sh開頭的文件

 

4、文件權限設置命令

1. chmod命令

  權限分爲只讀r、只寫w 和 可執行x,用戶分爲 文件全部者u、同組用戶g、其餘用戶o 和 全部的用戶及羣組a

1)文字設定法: chmod [who] [+ | - | =] [mode] 文件名

2)數字設定法: chmod [mode] 文件名

  • 數字屬性的mode爲3個數字,按順序表示(u)(g)(o)對應的權限。r=4,w=2,x=1 ,- 爲0 表示刪除權限
  • rwx屬性爲4+2+1=7 ; rw-屬性則4+2=6;r-x屬性則4+1=5。
  • chmod ug+w,o-x test.log ;   chmod -R 777 dir

2. chgrp命令  (change group)    改變文件或目錄所屬的用戶組

-c 當發生改變時輸出調試信息 -f 不顯示錯誤信息 -R 遞歸處理 -v 運行時顯示詳細的處理信息
--dereference 做用於符號連接的指向,而不是符號連接自己 --no-dereference 做用於符號連接自己
用戶組的全部信息都存放在/etc/group文件中 cat /etc/group

chgrp -v group1 1.log
chgrp --reference=1.log 2.log 改變文件2.log的羣組屬性,使得文件2.log的羣組屬性和參考文件1.log的羣組屬性相同

3. chown命令(change owner)  改變文件或目錄的全部者和所屬的用戶組

  chown -R root /usr/tony  

 

5、系統性能監控命令

1. top命令   可以實時顯示系統中各個進程的資源佔用情況,經常使用於服務端性能分析。

  -u  指定用戶名; -p  指定進程;  -n  循環顯示的次數

   

  顯示結果中的S 表示進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/中止 Z=殭屍進程

2. free命令   顯示系統使用和空閒的內存狀況

  -k  以KB爲單位顯示內存使用狀況;  -m  以MB爲單位;-g   以GB爲單位; -s<間隔秒數>  持續觀察內存使用情況。

  free -m -s 10

  

3. vmstat命令 顯示關於內核線程、虛擬內存、磁盤、陷阱和 CPU 活動的統計信息。

-a:顯示活躍和非活躍內存
-f:顯示從系統啓動至今的fork數量 。
-m:顯示slabinfo
-n:只在開始時顯示一次各字段名稱。
-s:顯示內存相關統計信息及多種系統活動數量。
-d:顯示磁盤相關統計信息。

Procs(進程)       r: 運行隊列中進程數量  b: 等待IO的進程數量
Memory(內存)  swpd: 使用虛擬內存大小  free: 可用內存大小  buff: 用做緩衝的內存大小  cache: 用做緩存的內存大小
Swap                    si: 每秒從交換區寫到內存的大小  so: 每秒寫入交換區的內存大小
IO                         bi: 每秒讀取的塊數  bo: 每秒寫入的塊數
系統                      in: 每秒中斷數,包括時鐘中斷  cs: 每秒上下文切換數。
CPU                      us: 用戶進程執行時間(user time)  sy: 系統進程執行時間  id: 中央處理器的空閒時間(包括IO等待時間)  wa: 等待IO時間   (以百分比表示)

4. iostat命令   統計系統的磁盤操做活動

   查看CPU、網卡、tty設備、磁盤、CD-ROM 等等設備的活動狀況, 負載信息。但不能指定進程。

  格式:iostat[參數][時間][次數]

-C 顯示CPU使用狀況 -d 顯示磁盤使用狀況
-k 以 KB 爲單位顯示 -m 以 M 爲單位顯示
-N 顯示磁盤陣列(LVM) 信息 -n 顯示NFS 使用狀況
-p[磁盤] 顯示磁盤和分區的狀況 -t 顯示終端和CPU的信息
-x 顯示詳細信息 -V 顯示版本信息

  (1) iostat -2 -3   每隔2秒刷新顯示,且顯示3次

%user:CPU處在用戶模式下的時間百分比  %nice:CPU處在帶NICE值的用戶模式下的時間百分比   %system:系統模式
%iowait:CPU等待輸入輸出完成時間的百分比   %steal:管理程序維護另外一個虛擬處理器時,虛擬CPU的無心識等待時間百分比   %idle:CPU空閒時間百分比
備註:若是%iowait的值太高,表示硬盤存在I/O瓶頸,%idle值高,表示CPU較空閒,若是%idle值高但系統響應慢時,有多是CPU等待分配內存,此時應加大內存容量。%idle值若是持續低於10,那麼系統的CPU處理能力相對較低,代表系統中最須要解決的資源是CPU。

      

  (2) iostat -d -x -k 1 1  查看設備使用率(%util)、響應時間(await)

  每秒用於 I/O 操做的時間比,若是 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。

  

5. lsof命令   列出當前系統打開的文件

-c <進程名> 列出指定進程所打開的文件;   -p <進程號> 列出指定進程號所打開的文件
-u username 顯示所屬user進程打開的文件; -g gid 顯示歸屬gid的進程狀況
+d <目錄> 顯示目錄下被進程打開的文件    +D<目錄> 同上,可是會搜索目錄下的全部目錄,時間相對較長
-a 表示兩個參數都必須知足時才顯示結果   -i 用以顯示符合條件的進程狀況

lsof -d <FD> 0表示標準輸入,1表示標準輸出,2表示標準錯誤,因此大多數應用程序所打開的文件的 FD 都是從 3 開始
lsof -c mysql -c apache 列出一個或多個程序進程所打開的文件信息
lsof -i 列出全部的網絡鏈接 lsof -i tcp/udp/:3306/udp:55/tcp:80
lsof -i @peida.linux:20,21,22,25,53,80 -r 3 每隔3秒打印peida.linux上端口爲:20,21,22,25,53,80相關的全部文件信息

6. ps  (Process Status) 列出系統當前運行的進程。       

-a 顯示同一終端下的全部程序 -aux 顯示全部包含其餘使用者的行程 -f 顯示程序間的關係 -u 指定用戶

ps -ef|grep tomcat    ps 與grep經常使用組合用法,查找特定進程
ps -aux --sort -pcpu | less      根據 CPU 使用率按降序排序
ps -aux --sort -pmem | less    根據內存使用率按降序排序

 

6、網絡查看命令

1. ifconfig命令   獲取或修改網絡接口配置信息

格式:ifconfig [網絡設備] [參數]

ifconfig  顯示網絡設備信息
ifconfig eth0 up/down   啓動/關閉指定網卡
ifconfig eth0 add/del 33ffe:3240:800:1005::2/64   爲網卡eth0配置/刪除IPv6地址
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE   修改MAC地址
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255   配置IP地址,添加子掩碼和廣播地址
ifconfig eth0 mtu 1500   設置最大傳輸單元
ifconfig eth0 arp/-arp     啓用/關閉ARP協議

2. ip命令   ip命令用來顯示或操縱Linux主機的路由、網絡設備、策略路由和隧道。[替換ifconfig]

3. netstat命令   顯示網絡鏈接狀態及其相關信息

-a 顯示全部socket,包括正在監聽的。 -c 每隔1秒就從新顯示一遍,直到用戶中斷它。
-i 顯示全部網絡接口的信息 -n 以網絡IP地址代替名稱,顯示出網絡鏈接情形。
-t 顯示TCP協議的鏈接狀況 -u 顯示UDP協議的鏈接狀況。
-p 顯示創建相關鏈接的程序名和PID。 -b 顯示在建立每一個鏈接或偵聽端口時涉及的可執行程序。 -o顯示與每一個鏈接相關的所屬進程 ID。
-e 顯示以太網統計。此選項能夠與 -s 選項結合使用。 -s 顯示每一個協議的統計。
-f 顯示外部地址的徹底限定域名(FQDN)。 -r顯示核心路由表,格式同「route -e」

netstat -l   顯示監聽的套接口
netstat -a | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'    統計機器中網絡鏈接各個狀態個數
netstat -ap | grep ssh     找出程序運行的端口
netstat -anpt | grep ':8080'    找出運行在指定端口的進程

4. ss命令    (Socket Statistics) 用來獲取socket統計信息  [替換netstat]

  ss能夠顯示和netstat相似的內容。但它可以顯示更多更詳細的有關TCP和鏈接狀態的信息,並且比netstat更快速更高效。ss比netstat快的主要緣由是,netstat是遍歷/proc下面每一個PID目錄,ss直接讀/proc/net下面的統計信息。可使用 time ss 和 time netstat -at 對比兩個命令的效率。

  ss經常使用參數和netstat相似,如-anp

5. ping命令   用來測試與目標主機的連通性

ping -c 10 -i 0.5 192.168.120.206       -c 指定次數 -i 間隔的秒數
ping -b 192.168.120.1      ping網關,可用route查看網關地址

6. telnet命令  遠程登陸  

  telnet由於採用明文傳送報文,安全性很差,不少Linux服務器都不開放telnet服務,而改用更安全的ssh方式了

  telnet <ip/hostname>

7. ssh命令  遠程登陸

8. rcp命令  (remote file copy) 遠程文件拷貝

  rcp [參數] [源文件] [目標文件]         -r 遞歸 -x 爲傳送的全部數據打開DES加密 -p 試圖保留源文件的修改時間和模式

  rcp -r  /home/root/dir  hostname:/home/root/

9. scp命令  (secure copy) 遠程文件拷貝

  scp [參數] [原路徑] [目標路徑]

  scp root@192.168.120.204:/home/root/test.tar.gz /home/root/    從遠處複製文件到本地目錄, scp傳輸是加密的

10. route命令   顯示和操做IP路由表

route -n 顯示當前路由
route add/del default gw 192.168.120.240 添加/刪除默認網關
route add/del -net 224.0.0.0 netmask 240.0.0.0 dev eth0 添加/刪除網關/設置網關
route add/del -net 224.0.0.0 netmask 240.0.0.0 reject 添加/刪除一條屏蔽的路由,目的地址爲 224.x.x.x 將被拒絕

11. traceroute命令   檢測發出數據包的主機到目標主機之間所通過的網關

  -q: 設置向每一個網關發送的探測包個數(缺省爲3)  -m 設置跳數

    如下返回結果每一個紀錄就是一跳 ,每跳錶示一個網關,咱們看到每行有三個時間,其實就是3個數據包對映的網關響應時間。
複製代碼
 [root@localhost ~]# traceroute www.baidu.com
 traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets  1 192.168.74.2 (192.168.74.2) 2.606 ms 2.771 ms 2.950 ms  2 211.151.56.57 (211.151.56.57) 0.596 ms 0.598 ms 0.591 ms  3 211.151.227.206 (211.151.227.206) 0.546 ms 0.544 ms 0.538 ms  4 210.77.139.145 (210.77.139.145) 0.710 ms 0.748 ms 0.801 ms  5 202.106.42.101 (202.106.42.101) 6.759 ms 6.945 ms 7.107 ms  6 61.148.154.97 (61.148.154.97) 718.908 ms * bt-228-025.bta.net.cn (202.106.228.25) 5.177 ms  7 124.65.58.213 (124.65.58.213) 4.343 ms 4.336 ms 4.367 ms  8 202.106.35.190 (202.106.35.190) 1.795 ms 61.148.156.138 (61.148.156.138) 1.899 ms 1.951 ms  9 * * * 10 * * *
複製代碼

 

7、linux 其餘命令

1. grep 文本搜索

ps -ef|grep -c svn  查找指定進程個數
cat test.txt | grep -nf key.txt    從文件中讀取關鍵詞對test.txt進行搜索, 且顯示行號
grep 'linux' test1.txt test2.txt   從多個文件中查找關鍵詞
cat test.txt |grep ^[^u]   輸出非u開頭的行內容
cat test.txt |grep hat$     輸出以hat結尾的行內容

2. wc 統計指定文件中的字節數、字數、行數

-c 統計字節數。  -m 統計字符數。這個標誌不能與 -c 標誌一塊兒使用。
-l 統計行數。    -w word統計單詞數。計算由空白、跳格或換行字符分隔的字符串數量。

wc test.txt 顯示:行數 單詞數 字節數 文件名
ls -l | wc -l 統計當前目錄下的文件數

3. watch  週期性執行命令/定時執行命令

-n或--interval 指定間隔的時間(缺省2秒)   -d或--differences  會高亮顯示變化的區域

watch -n 5 -d 'cat /proc/loadavg'    每10秒輸出系統的平均負載

4. ln 文件連接

  爲某一個文件在另一個位置創建一個同步的連接,能夠將其視爲檔案的別名,而連接又可分爲兩種 : 硬連接(hard link)與軟連接(symbolic link)。硬連接會在你選定的位置上生成一個和源文件大小相同的文件,不管是軟連接仍是硬連接,文件都保持同步變化。

軟連接:
1.軟連接,以路徑的形式存在。相似於Windows操做系統中的快捷方式
2.軟連接能夠 跨文件系統 ,硬連接不能夠
3.軟連接能夠對一個不存在的文件名進行連接
4.軟連接能夠對目錄進行連接

硬連接:
1.硬連接,以文件副本的形式存在。但不佔用實際空間。
2.不容許給目錄建立硬連接
3.硬連接只有在同一個文件系統中才能建立

 ln [參數][源文件或目錄][目標文件或目錄]

-b 刪除,覆蓋之前創建的連接 -i 交互模式,文件存在則提示用戶是否覆蓋
-d 容許超級用戶製做目錄的硬連接 -f 強制執行
-s 軟連接(符號連接) -n 把符號連接視爲通常目錄 -v 顯示詳細的處理過程

ln -s test.log link1 給文件建立軟連接
ln test.log ln1 給文件建立硬連接
ln test.log /opt/soft 建立test.log的硬鏈接/opt/soft/test.log
1)源文件被刪除後,並無影響硬連接文件;軟連接文件在centos系統下不斷的閃爍,提示源文件已經不存在
2)重建源文件後,軟連接不在閃爍提示,說明已經連接成功,找到了連接文件系統;重建後,硬連接文件並無受到源文件影響,硬連接文件的內容仍是保留了刪除前源文件的內容,說明硬連接已經失效

5. make 編譯命令

  make是一個解釋makefile中指令的命令工具,make可自動完成編譯工做,而不用gcc命令單獨編譯每一個源文件,而且能夠只對程序員在上次編譯後修改過的部分進行編譯,提升了開發效率。Makefile文件描述了整個工程的編譯、鏈接等規則。

  Linux應用軟件的安裝包一般有三種:
a. tar包,如software.tar.gz。它是使用UNIX系統的打包工具tar打包的。

  1)「tar –xvf 解壓後的tar包」進行解包;
  2) 閱讀附帶的INSTALL文件、README文件;
  3) 執行「./configure」命令爲編譯作好準備;
  4) 執行「make」命令進行軟件編譯;
  5) 執行「make install」完成安裝;
  6) 執行「make clean」刪除安裝時產生的臨時文件。

b. rpm包,如software.rpm。它是Redhat Linux提供的一種包封裝格式。

rpm參數 : -i    安裝軟件     -t     測試安裝,不是真的安裝    -p   顯示安裝進度    
           -U   升級安裝    -v    檢測套件是否正確安裝        -f    忽略任何錯誤

       安裝:rpm –ivh software.rpm  卸載: rpm –e software //軟件名

c. dpkg包,如software.deb。它是Debain Linux提供的一種包封裝格式。

   安裝:dpkg –i software-1.2.3-1.deb  卸載: dpkg –e software

RedHat 系列 
  1) 常見的安裝包格式 rpm包,安裝rpm包的命令是「rpm -參數」 
  2)包管理工具 yum 
  3) 支持tar包

Debian系列 
  1) 常見的安裝包格式 deb包,安裝deb包的命令是「dpkg -參數」 
  2) 包管理工具 apt-get 
  3) 支持tar包

複製代碼
apt-get update 更新軟件包,在修改/etc/apt/sources.list或者/etc/apt/preferences以後運行該命令
apt-get upgrade 更新已安裝的軟件包 apt-get dist-upgrade 升級系統 apt-get install packagename 安裝軟件包 apt-get remove packagename 卸載軟件包(保留配置文件) apt-get –purge remove packagename 卸載軟件包(刪除配置文件) apt-get clean 刪除包緩存中的全部deb //APT的底層包是dpkg, 而dpkg安裝軟件包時, 會將*.deb放在緩存中/var/cache/apt/archives/ apt-get autoclean 刪除包緩存中的已通過期的deb
相關文章
相關標籤/搜索