有趣常用的linux命令

Michael_DD發表於2014-09-24

有趣常用的linux命令


linux命令可以簡化我們工作中的許多工。關於Linux這個主題已經考慮很久了,也還是在不斷的完善中,在自己的實驗和各種資料的整理中,認為還是一些不錯的命令。

自己也會在後續不斷完善,大家有比較好的命令可以分享一下。

  • 1.檢視自己常用的linux命令

history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10 
這行指令碼能輸出你最常用的十條命令,可以看出自己平時最常用的一些命令。看看時間都去哪了?

-bash-4.1$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10

    193 ll

    123 cd

     79 sqlplus

     75 su

     71 ps

     64 crs_stat

     45 ksh

     32 vi

     26 less

     22 ls

hp-ux執行,可能有一些出入,調整為如下:

history | awk '{print $3}' | sort | uniq -c | sort -rn | head –10

 

  • 2. python -m SimpleHTTPServer

這條命令的優點就是簡單,不用考慮太多的細節,直接執行即可啟動一個簡單的web伺服器。透過即可訪問。命令執行情況如下,透過瀏覽器檢視的截圖如下:

-bash-4.1$ python -m SimpleHTTPServer 

Serving HTTP on 0.0.0.0 port 8000 ...

192.168.3.1 - - [19/May/2014 07:24:38] "GET / HTTP/1.1" 200 -

192.168.3.1 - - [19/May/2014 07:24:39] code 404, message File not found

192.168.3.1 - - [19/May/2014 07:24:39] "GET /favicon.ico HTTP/1.1" 404 -

192.168.3.1 - - [19/May/2014 07:25:10] "GET /tmp/ HTTP/1.1" 200 -

ND97)%GWF{K(OG2TQ})2APA

其實臨時需要分享一些文件,可以很方便,當然還有其它更好的用途。

 

  • 3.!!

下面這條命令有些神奇的味道,已經不能再簡單了,但是看似簡單,但是使用時需要謹慎,自己做學習之用還是比較好的,這也是這個命令的兩面性了,如果它做的是一個rm操作,還是需要自己反覆校驗才可以。要不可能帶來災難。

!!

意思是重複執行上一條命令,示例如下,它會列出上一條命令,並且執行

 

[ora11g@rac1 test]$ ls -lrt *.log

-rw-r--r-- 1 ora11g dba 0 May  2 17:44 f.log

-rw-r--r-- 1 ora11g dba 0 May  2 17:44 d.log

-rw-r--r-- 1 ora11g dba 0 May  2 17:44 b.log

[ora11g@rac1 test]$ !! 
ls -lrt 
total 4 
-rw-r--r-- 1 ora11g dba  0 May  2 17:44 f.log 
-rw-r--r-- 1 ora11g dba  0 May  2 17:44 e.lst 
-rw-r--r-- 1 ora11g dba  0 May  2 17:44 d.log 
-rw-r--r-- 1 ora11g dba  0 May  2 17:44 c.lst 
-rw-r--r-- 1 ora11g dba  0 May  2 17:44 b.log 
-rw-r--r-- 1 ora11g dba  0 May  2 17:45 a.lst.bak 
-rw-r--r-- 1 ora11g dba 15 May 19 07:39 a.lst

 

  • 4.  ^log^lst

將上一條命令中的 log替換為 lst,並執行

[ora11g@rac1 test]$ ^log^lst

ls -lrt *.lst

-rw-r--r-- 1 ora11g dba 0 May  2 17:44 e.lst

-rw-r--r-- 1 ora11g dba 0 May  2 17:44 c.lst

-rw-r--r-- 1 ora11g dba 0 May  2 17:44 a.lst

 

  • 5. cp filename{,.bak}

快速備份或複製檔案。

[ora11g@rac1 test]$ cp test.dmp{,.backup}

[ora11g@rac1 test]$ ll

total 56

-rw-r--r-- 1 ora11g dba   293 Apr 13 01:36 showevent.sh

drwxr-xr-x 2 ora11g dba  4096 May  2 17:45 test

-rw-r--r-- 1 ora11g dba 16384 Jan 31 17:16 test2.dmp

-rw-r--r-- 1 ora11g dba 16384 Jan 31 17:15 test.dmp

-rw-r--r-- 1 ora11g dba 16384 May 19 07:32 test.dmp.backup

  • 6. cal

cal命令可能是快被大家遺忘的一個命令了,其實還是蠻實用的。比如檢視2008年的年曆,可以很清晰地顯示出來,如果想顯示2008年5月份的日曆,也很方便的。

cal 2008

cal 5 2008

8JLMFM1H@(9[P%2}1E5]T2J

 

  • 7. wc

可能大家日常使用wc -l比較多,其實還可以統計有多少單詞,多少字元。

[ora11g@rac1 test]$ cat a.lst 
this is a test 
[ora11g@rac1 test]$ wc -l a.lst 
1 a.lst 
[ora11g@rac1 test]$ wc -c a.lst 
15 a.lst 
[ora11g@rac1 test]$ wc -w a.lst 
4 a.lst

 

  • 8. tac

這條命令如果仔細觀察是cat的反轉。功能也是如此。

-bash-4.1$ cat a.txt

This price is $5.00

This price is $6.00

this is good

-bash-4.1$ tac a.txt

this is good

This price is $6.00

This price is $5.00

 

  • 9. nl

如果輸出的時候需要顯示行號,nl也是一個不錯的選擇。效果和cat -n等價

-bash-4.1$ cat a.txt

This price is $5.00

This price is $6.00

this is good

-bash-4.1$ nl a.txt

     1  This price is $5.00

     2  This price is $6.00

     3  this is good

-bash-4.1$ cat -n a.txt

     1  This price is $5.00

     2  This price is $6.00

     3  this is good

 

  • 10. 顯示當前目錄的檔案大小情況

-bash-4.1$ du -h --max-depth=1

4.0K    ./Pictures

4.0K    ./Templates

2.4G    ./test

372K    ./.gconf

60K     ./.ssh

12M     ./.mozilla

12K     ./.dbus

16K     ./.gnupg

 

  • 11. look

這個命令從我第一次用,就一下子有種相見恨晚的感覺,開始學英語的時候如果早知道這個命令就好了。

-bash-4.1$ look beautif

beautification

beautifications

beautified

beautifier

beautifiers

beautifies

beautiful

beautifully

beautifulness

beautify

beautifying

 

  • 12. factor

可以顯示為對應的質數的乘積

-bash-4.1$ factor 2 12

2: 2

12: 2 2 3

-bash-4.1$ factor 2 15

2: 2

15: 3 5

 

  • 13. expr

shell在處理數字的時候畢竟還是要略遜一籌,這個命令也提供了一些便捷的處理方式,不過需要注意格式。

-bash-4.1$ expr 12/3

12/3

-bash-4.1$ expr  12 / 3

4

 

  • 14. 行列轉換

shuf這個命令用起來真是舒服,很簡單就實現了行列轉換。

[ora11g@rac1 test]$ ls

a.lst  a.lst.bak  b.log  c.lst  d.log  e.lst  f.log

[ora11g@rac1 test]$ ls|shuf

a.lst

c.lst

b.log

d.log

f.log

e.lst

a.lst.bak

 

  • 15. last

如果想檢視最近登入的使用者情況。

-bash-4.1$ last|less

grid     pts/2        192.168.3.1      Mon May 19 07:23   still logged in   
grid     pts/0        192.168.3.1      Mon May 19 03:18   still logged in   
grid     pts/1        192.168.3.1      Sun May 18 17:13 - 07:28  (14:15)    
grid     pts/0        192.168.3.1      Sat May 17 08:32 - 17:48 (1+09:16)   
reboot   system boot  2.6.32-71.el6.x8 Sat May 17 08:31 - 07:43 (1+23:12)   
grid     pts/1        192.168.3.1      Sat May 17 02:58 - crash  (05:32)    
grid     pts/0        192.168.3.1      Sat May 17 01:56 - crash  (06:35)

 

  • 16. 對應的外網ip.

如果想檢視對應的外網ip,一個命令就可以搞定。

[ora11g@rac1 test]$  curl ifconfig.me 
117.79.232.14 
[ora11g@rac1 test]$

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1279628/,如需轉載,請註明出處,否則將追究法律責任。

相關文章