關於linux的一些經常使用的指令

top:命令常常用來監控linux的系統情況,好比cpu、內存的使用。

free:觀察內存使用。

Find:查找指定的文件。

   Whereis:查找指定的文件源和二進制文件和手冊等

   Which:用於查詢命令或別名的位置。

   Locate:快速查找系統數據庫中指定的內容。

   Grep:查找文件裏符合條件的字符串。

2. grep

在文件中查找字符串(不區分大小寫)

$ grep -i "the" demo_file

輸出成功匹配的行,以及該行以後的三行

$ grep -A 3 -i "example" demo_text

在一個文件夾中遞歸查詢包含指定字符串的文件

$ grep -r "ramesh" *

更多示例:Get a Grip on the Grep! – 15 Practical Grep Command Examples
3. find

查找指定文件名的文件(不區分大小寫)

$ find -iname "MyProgram.c"

對找到的文件執行某個命令

$ find -iname "MyProgram.c" -exec md5sum {} \;

查找home目錄下的全部空文件

$ find ~ -empty


23. free

這個命令用於顯示系統當前內存的使用狀況,包括已用內存、可用內存和交換內存的狀況

默認狀況下free會以字節爲單位輸出內存的使用量

    $ free
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1580220    1986188          0     203988     902960
    -/+ buffers/cache:     473272    3093136
    Swap:      4000176          0    4000176

若是你想以其餘單位輸出內存的使用量,須要加一個選項,-g爲GB,-m爲MB,-k爲KB,-b爲字節

    $ free -g
                 total       used       free     shared    buffers     cached
    Mem:             3          1          1          0          0          0
    -/+ buffers/cache:          0          2
    Swap:            3          0          3

若是你想查看全部內存的彙總,請使用-t選項,使用這個選項會在輸出中加一個彙總行

    ramesh@ramesh-laptop:~$ free -t
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1592148    1974260          0     204260     912556
    -/+ buffers/cache:     475332    3091076
    Swap:      4000176          0    4000176
    Total:     7566584    1592148    5974436

24. top

top命令會顯示當前系統中佔用資源最多的一些進程(默認以CPU佔用率排序)若是你想改變排序方式,能夠在結果列表中點擊O(大寫字母O)會顯示全部可用於排序的列,這個時候你就能夠選擇你想排序的列

    Current Sort Field:  P  for window 1:Def
    Select sort field via field letter, type any other key to return
      a: PID        = Process Id              v: nDRT       = Dirty Pages count
      d: UID        = User Id                 y: WCHAN      = Sleeping in Function
      e: USER       = User Name               z: Flags      = Task Flags
      ........

若是隻想顯示某個特定用戶的進程,可使用-u選項

$ top -u oracle

更多示例:Can You Top This? 15 Practical Linux Top Command Examples
25. df

顯示文件系統的磁盤使用狀況,默認狀況下df -k 將以字節爲單位輸出磁盤的使用量

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

使用-h選項能夠以更符合閱讀習慣的方式顯示磁盤使用量

$ df -h
Filesystem                  Size   Used  Avail Capacity  iused      ifree %iused  Mounted on
/dev/disk0s2               232Gi   84Gi  148Gi    37% 21998562   38864868   36%   /
devfs                      187Ki  187Ki    0Bi   100%      648          0  100%   /dev
map -hosts                   0Bi    0Bi    0Bi   100%        0          0  100%   /net
map auto_home                0Bi    0Bi    0Bi   100%        0          0  100%   /home
/dev/disk0s4               466Gi   45Gi  421Gi    10%   112774  440997174    0%   /Volumes/BOOTCAMP
//app@izenesoft.cn/public  2.7Ti  1.3Ti  1.4Ti    48%        0 18446744073709551615    0%   /Volumes/public

使用-T選項顯示文件系統類型

$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

26. kill

kill用於終止一個進程。通常咱們會先用ps -ef查找某個進程獲得它的進程號,而後再使用kill -9 進程號終止該進程。你還可使用killall、pkill、xkill來終止進程

$ ps -ef | grep vim
ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim

$


wc: 計數
  -l: 行數
  -w: 字數
  -c: 字符數

  wc -l file1 file2 ......能夠統計多個文件

cat 讀取文本內容
  -n: 顯示行號
  -b: 顯示行號且忽略空行

  cat -n 1.txt

more 顯示文本內容,每次一屏,按空格繼續
  find / -name "*.sh" | more

 

tail 從指定的位置開始顯示後面得內容
  tail -f server.log 用於在server上邊運行邊察看日誌
  tail -10 dos2unix.sh 察看最後10行

 

head
  與tail對應

用 "route -n" 和 "netstat -nr" 命令,咱們能夠查看默認網關。除了默認的網關信息,這兩個命令還能夠顯示當前的路由表。


36. ifconfig

ifconfig用於查看和配置Linux系統的網絡接口

查看全部網絡接口及其狀態

$ ifconfig -a

使用up和down命令啓動或中止某個接口

    $ ifconfig eth0 up
     
    $ ifconfig eth0 down

43. less

這個命名能夠在不加載整個文件的前提下顯示文件內容,在查看大型日誌文件的時候這個命令會很是有用

$ less huge-log-file.log

當你用less命令打開某個文件時,下面兩個按鍵會給你帶來不少幫助,他們用於向前和向後滾屏

CTRL+F – forward one window
CTRL+B – backward one window


查看linux中某個端口(port)是否被佔用
1、使用lsof

格式:
1
    
lsof -i:port

好比我要查看80端口占用狀況,可使用 lsof -i:80

能夠很清楚的看到是被那個端口占用了

備註:須要注意的時候,lsof須要擁有該進程的權限,方能夠查看,佔用狀況。好比,我使用另外一個用戶,就沒法查看了。

當前的名爲dequan用戶就看不到進程佔用狀況。若是使用nginx或root用戶就能夠了,以下:

2、使用netstat

格式:
1
    
netstat -anp|grep port

好比查看80佔用狀況,以下:
top:命令常常用來監控linux的系統情況,好比cpu、內存的使用。

free:觀察內存使用。

Find:查找指定的文件。

   Whereis:查找指定的文件源和二進制文件和手冊等

   Which:用於查詢命令或別名的位置。

   Locate:快速查找系統數據庫中指定的內容。

   Grep:查找文件裏符合條件的字符串。

2. grep

在文件中查找字符串(不區分大小寫)

$ grep -i "the" demo_file

輸出成功匹配的行,以及該行以後的三行

$ grep -A 3 -i "example" demo_text

在一個文件夾中遞歸查詢包含指定字符串的文件

$ grep -r "ramesh" *

更多示例:Get a Grip on the Grep! – 15 Practical Grep Command Examples
3. find

查找指定文件名的文件(不區分大小寫)

$ find -iname "MyProgram.c"

對找到的文件執行某個命令

$ find -iname "MyProgram.c" -exec md5sum {} \;

查找home目錄下的全部空文件

$ find ~ -empty


23. free

這個命令用於顯示系統當前內存的使用狀況,包括已用內存、可用內存和交換內存的狀況

默認狀況下free會以字節爲單位輸出內存的使用量

    $ free
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1580220    1986188          0     203988     902960
    -/+ buffers/cache:     473272    3093136
    Swap:      4000176          0    4000176

若是你想以其餘單位輸出內存的使用量,須要加一個選項,-g爲GB,-m爲MB,-k爲KB,-b爲字節

    $ free -g
                 total       used       free     shared    buffers     cached
    Mem:             3          1          1          0          0          0
    -/+ buffers/cache:          0          2
    Swap:            3          0          3

若是你想查看全部內存的彙總,請使用-t選項,使用這個選項會在輸出中加一個彙總行

    ramesh@ramesh-laptop:~$ free -t
                 total       used       free     shared    buffers     cached
    Mem:       3566408    1592148    1974260          0     204260     912556
    -/+ buffers/cache:     475332    3091076
    Swap:      4000176          0    4000176
    Total:     7566584    1592148    5974436

24. top

top命令會顯示當前系統中佔用資源最多的一些進程(默認以CPU佔用率排序)若是你想改變排序方式,能夠在結果列表中點擊O(大寫字母O)會顯示全部可用於排序的列,這個時候你就能夠選擇你想排序的列

    Current Sort Field:  P  for window 1:Def
    Select sort field via field letter, type any other key to return
      a: PID        = Process Id              v: nDRT       = Dirty Pages count
      d: UID        = User Id                 y: WCHAN      = Sleeping in Function
      e: USER       = User Name               z: Flags      = Task Flags
      ........

若是隻想顯示某個特定用戶的進程,可使用-u選項

$ top -u oracle

更多示例:Can You Top This? 15 Practical Linux Top Command Examples
25. df

顯示文件系統的磁盤使用狀況,默認狀況下df -k 將以字節爲單位輸出磁盤的使用量

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

使用-h選項能夠以更符合閱讀習慣的方式顯示磁盤使用量

$ df -h
Filesystem                  Size   Used  Avail Capacity  iused      ifree %iused  Mounted on
/dev/disk0s2               232Gi   84Gi  148Gi    37% 21998562   38864868   36%   /
devfs                      187Ki  187Ki    0Bi   100%      648          0  100%   /dev
map -hosts                   0Bi    0Bi    0Bi   100%        0          0  100%   /net
map auto_home                0Bi    0Bi    0Bi   100%        0          0  100%   /home
/dev/disk0s4               466Gi   45Gi  421Gi    10%   112774  440997174    0%   /Volumes/BOOTCAMP
//app@izenesoft.cn/public  2.7Ti  1.3Ti  1.4Ti    48%        0 18446744073709551615    0%   /Volumes/public

使用-T選項顯示文件系統類型

$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

26. kill

kill用於終止一個進程。通常咱們會先用ps -ef查找某個進程獲得它的進程號,而後再使用kill -9 進程號終止該進程。你還可使用killall、pkill、xkill來終止進程

$ ps -ef | grep vim
ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim

$


wc: 計數
  -l: 行數
  -w: 字數
  -c: 字符數

  wc -l file1 file2 ......能夠統計多個文件

cat 讀取文本內容
  -n: 顯示行號
  -b: 顯示行號且忽略空行

  cat -n 1.txt

more 顯示文本內容,每次一屏,按空格繼續
  find / -name "*.sh" | more

 

tail 從指定的位置開始顯示後面得內容
  tail -f server.log 用於在server上邊運行邊察看日誌
  tail -10 dos2unix.sh 察看最後10行

 

head
  與tail對應

用 "route -n" 和 "netstat -nr" 命令,咱們能夠查看默認網關。除了默認的網關信息,這兩個命令還能夠顯示當前的路由表。


36. ifconfig

ifconfig用於查看和配置Linux系統的網絡接口

查看全部網絡接口及其狀態

$ ifconfig -a

使用up和down命令啓動或中止某個接口

    $ ifconfig eth0 up
     
    $ ifconfig eth0 down

43. less

這個命名能夠在不加載整個文件的前提下顯示文件內容,在查看大型日誌文件的時候這個命令會很是有用

$ less huge-log-file.log

當你用less命令打開某個文件時,下面兩個按鍵會給你帶來不少幫助,他們用於向前和向後滾屏

CTRL+F – forward one window
CTRL+B – backward one window


查看linux中某個端口(port)是否被佔用
1、使用lsof

格式:
1
    
lsof -i:port

好比我要查看80端口占用狀況,可使用 lsof -i:80

能夠很清楚的看到是被那個端口占用了

備註:須要注意的時候,lsof須要擁有該進程的權限,方能夠查看,佔用狀況。好比,我使用另外一個用戶,就沒法查看了。

當前的名爲dequan用戶就看不到進程佔用狀況。若是使用nginx或root用戶就能夠了,以下:

2、使用netstat

格式:
1
    
netstat -anp|grep port

好比查看80佔用狀況,以下:

linux

相關文章
相關標籤/搜索