LINUX中經常使用操做命令

linux下查看負載的主要命令有下面一些:html

top, uptime,w,vmstatlinux

其餘一些操做

cat /proc/cpuinfo :便可查看CPU信息,幾個processor即爲幾個CPU;web

sar:能夠監控系統全部資源狀態,sar -n DEV查網卡流量歷史、sar -q 查看歷史負載,最有用的就是查網卡流量,流量過大:rxpck/s大於4000,或者rxKB/s大於5000,則頗有可能被攻擊了,須要抓包分析;正則表達式

free:查看當前系統的總內存大小以及使用內存的狀況;shell

ps:查看進程,ps aux 或者 ps -elf,常和管道符一塊兒使用,查看某個進程或者它的數量;apache

netstat:查看端口,netstat -lnp用於打印當前系統啓動了哪些端口,netstat -an用於打印網絡鏈接情況;vim

tcpdump:抓包工具分析數據包,知道有哪些IP在攻擊;能夠將內容寫入指定文件1.cap中,顯示包的內容,不加-w屏幕上顯示數據流向;緩存

wireshark:抓包工具,能夠臨時用該命令查看當前服務器上的web請求bash

1.cat命令服務器

cat命令是一個直接將文件一會兒所有輸出到shell界面的命令,對於小文件cat比較好用,可是因爲cat的一次性輸出,使得對大文件的查看比較麻煩,並且有時當文件過長而超過shell的緩存範圍時,可能沒法產看文件的所有。

cat的用法:

cat [OPTIONS] FILE...

OPTIONS:

-n:顯示時顯示行號(包括空白行)

-b:顯示時顯示行號(不包括空白行)

-E:在每行行尾顯示$符

-T:以^I替換tab符

注:tac命令與cat命令相反,它是逆序輸出文件

2.more命令

more命令能夠分屏查看文件,當到達文件末尾時自動退出。

more [OPTIONS] FILE...

more有一些快捷鍵:

空格建:向下翻屏

B鍵:向上翻屏

/pattern:使用正則表達式查找

Q鍵:退出

3.less命令

less命令與man命令相似,能夠分屏查看文件,但尾部不會退出,經常使用快捷鍵有:

空格鍵:向下翻屏

B鍵:向上翻屏

Q鍵退出

/pattern或pattern:搜索

n:顯示搜索的上一個

N:顯示搜索的下一個

K鍵:向前翻一行

回車鍵:向後翻一行

4.tail命令

tail命令能夠只產看文件的後幾行。

tail的用法:

tail [OPTIONS] FILE...

OPTIONS:

-n NUMBER:指定查看的行數,能夠省略n,直接寫成-3等

-f:使tail保持活動狀態,每當文件有尾部寫入時,會將寫入內容及時的輸出出來

-s SECOND:與-f結合,指定-f的查看週期

6.head命令

head命令是產看文件頭部前幾行的,可是head沒有tail出名,由於通常文件老是在尾部發生變化,可是head也是一個很方便的命令。head的用法和tail相同

7.cut命令

cut命令是按指定的分隔符(默認是空格)將每行分紅幾段,通常的cut要求文件每行的結構相同,例如/etc/passwd文件的結構:

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

cut的用法:

cut [OPTIONS] FILE...

OPTIONS:

-d:指定分隔符

-f:指定第幾段

例如:

cut -d: -f1 /etc/passwd //顯示當前主機上的全部用戶

cut -d: -f1-3 /etc/passwd //顯示一、二、3段

8.tr命令

tr是一個替換命令,能夠替換文本中的一些字符。tr的用法比較特殊:

tr [OPTIONS] SET1 [SET2]

SET1是要替換的字符,SET2是替換後的字符,這裏沒有指定文件。

tr 'a-z' 'A-Z' < text.txt //將全部小寫字母替換爲大寫

須要說明的是,因爲tr後面沒法跟文件名,因此當要對一個文件操做的時候,須要使用輸入重定向。

另外,tr有一個-d選項,能夠刪除自定字符:

tr -d 'a' < text.txt //刪除全部的字符a

9.wc命令

wc是一個文本統計命令,能夠統計文本的字符數、行數等。

wc [OPTIONS] FILE...

OPTIONS:

-l:只顯示行數

-w:只顯示單詞數

-c:只顯示字符數

10.sort命令

sort命令是一個排序命令,默認以首字母進行排序。

sort [OPTIONS] FILE...

OPTIONS:

-r:逆序

-u:若是臨近行重複,則只顯示一次

-n:按數值排

-t:指定分隔符

-k:指定排序字段,與-t組合使用

-f:忽略大小寫

-b:忽略開頭的空白

-i:忽略非打印字符

-M:按月份排序,unknow<'JAN'除此以外,還有不少查看文件的命令,如強大的sed和awk命令,

經常使用指令

  1. ls 顯示文件或目錄
  2. -l 列出文件詳細信息l(list)
  3. -a 列出當前目錄下全部文件及目錄,包括隱藏的a(all)
  4. mkdir 建立目錄
  5. -p 建立目錄,若無父目錄,則建立p(parent)
  6. cd 切換目錄
  7. touch 建立空文件
  8. echo 建立帶有內容的文件。
  9. cat 查看文件內容
  10. cp 拷貝
  11. mv 移動或重命名
  12. rm 刪除文件
  13. -r 遞歸刪除,可刪除子目錄及文件
  14. -f 強制刪除
  15. find 在文件系統中搜索某文件
  16. wc 統計文本中行數、字數、字符數
  17. grep 在文本文件中查找某個字符串
  18. rmdir 刪除空目錄
  19. tree 樹形結構顯示目錄,須要安裝tree包
  20. pwd 顯示當前目錄
  21. ln 建立連接文件
  22. more、less 分頁顯示文本文件內容
  23. head、tail 顯示文件頭、尾內容
  24. ctrl+alt+F1 命令行全屏模式

系統管理命令

  1. stat 顯示指定文件的詳細信息,比ls更詳細
  2. who 顯示在線登錄用戶
  3. whoami 顯示當前操做用戶
  4. hostname 顯示主機名
  5. uname 顯示系統信息
  6. top 動態顯示當前耗費資源最多進程信息
  7. ps 顯示瞬間進程狀態 ps -aux
  8. du 查看目錄大小 du -/home帶有單位顯示目錄信息
  9. df 查看磁盤大小 df -帶有單位顯示磁盤信息
  10. ifconfig 查看網絡狀況
  11. ping 測試網絡連通
  12. netstat 顯示網絡狀態信息
  13. man 命令不會用了,找男人? 如:man ls
  14. clear 清屏
  15. alias 對命令重命名 如:alias showmeit=」ps -aux」 ,另外解除使用unaliax showmeit
  16. kill 殺死進程,能夠先用ps  top命令查看進程的id,而後再用kill命令殺死進程。

打包壓縮相關命令

  1. gzip
  2. bzip2
  3. tar打包壓縮
  4. -歸檔文件
  5. -壓縮文件
  6. -z gzip壓縮文件
  7. -j bzip2壓縮文件
  8. -顯示壓縮或解壓縮過程 v(view)
  9. -使用檔名
例:
  1. tar -cvf /home/abc.tar /home/abc 只打包,不壓縮
  2. tar -zcvf /home/abc.tar.gz /home/abc 打包,並用gzip壓縮
  3. tar -jcvf /home/abc.tar.bz2 /home/abc 打包,並用bzip2壓縮
固然,若是想解壓縮,就直接替換上面的命令tar  -cvf  /   tar  -zcvf  /  tar  -jcvf 中的「c」 換成「x」 就能夠了。

關機/重啓機器

  1. shutdown
  2. -關機重啓
  3. -關機不重啓
  4. now 馬上關機
  5. halt 關機
  6. reboot 重啓

Linux管道

將一個命令的標準輸出做爲另外一個命令的標準輸入。也就是把幾個命令組合起來使用,後一個命令除之前一個命令的結果。
例:grep -r 「close」 /home/* | more 在home目錄下全部文件中查找,包括close的文件,並分頁輸出。

Linux軟件包管理

dpkg (Debian Package)管理工具,軟件包名以.deb後綴。這種方法適合系統不能聯網的狀況下。
好比安裝tree命令的安裝包,先將tree.deb傳到Linux系統中。再使用以下命令安裝。
  1. sudo dpkg -i tree_1.5.3-1_i386.deb 安裝軟件
  2. sudo dpkg -r tree 卸載軟件
 
注:將tree.deb傳到Linux系統中,有多種方式。VMwareTool,使用掛載方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高級軟件工具。這種方法適合系統可以鏈接互聯網的狀況。
依然以tree爲例
  1. sudo apt-get install tree 安裝tree
  2. sudo apt-get remove tree 卸載tree
  3. sudo apt-get update 更新軟件
  4. sudo apt-get upgrade
 
將. rpm文件轉爲. deb文件
.rpm爲RedHat使用的軟件格式。在Ubuntu下不能直接使用,因此須要轉換一下。
  1. sudo alien abc.rpm

vim使用

vim三種模式:命令模式、插入模式、編輯模式。使用ESC或i或:來切換模式。
 
命令模式下:
  1. :q 退出
  2. :q! 強制退出
  3. :wq 保存並退出
  4. :set number 顯示行號
  5. :set nonumber 隱藏行號
  6. /apache 在文檔中查找apache 按n跳到下一個,shift+n上一個
  7. yyp 複製光標所在行,並粘貼
  8. h(左移一個字符←)、j(下一行↓)、k(上一行↑)、l(右移一個字符→)

用戶及用戶組管理

  1. /etc/passwd 存儲用戶帳號
  2. /etc/group 存儲組帳號
  3. /etc/shadow 存儲用戶帳號的密碼
  4. /etc/gshadow 存儲用戶組帳號的密碼
  5. useradd 添加用戶名
  6. userdel 刪除用戶名
  7. adduser 添加用戶名
  8. groupadd 添加組名
  9. groupdel 刪除組名
  10. passwd root 給root設置密碼
  11. su root
  12. su – root
  13. /etc/profile 系統環境變量
  14. bash_profile 用戶環境變量
  15. .bashrc 用戶環境變量
  16. su user 切換用戶,加載配置文件.bashrc
  17. su – user 切換用戶,加載配置文件/etc/profile ,加載bash_profile

更改文件的用戶及用戶組

  1. sudo chown [-R] owner[:group] {File|Directory}
例如:還以jdk-7u21-linux-i586.tar.gz爲例。屬於用戶hadoop,組hadoop
要想切換此文件所屬的用戶及組。可使用命令。
  1. sudo chown root:root jdk-7u21-linux-i586.tar.gz

文件權限管理

三種基本權限
R   讀  數值表示爲4
W   寫  數值表示爲2
X   可執行 數值表示爲1
如圖所示,jdk-7u21-linux-i586.tar.gz文件的權限爲-rw-rw-r–
-rw-rw-r–一共十個字符,分紅四段。
第一個字符「-」表示普通文件;這個位置還可能會出現「l」連接;「d」表示目錄
第二三四個字符「rw-」表示當前所屬用戶的權限。     因此用數值表示爲4+2=6
第五六七個字符「rw-」表示當前所屬組的權限。        因此用數值表示爲4+2=6
第八九十個字符「r–」表示其餘用戶權限。                 因此用數值表示爲2
因此操做此文件的權限用數值表示爲662?

更改權限

sudo chmod [u所屬用戶  g所屬組  o其餘用戶   a全部用戶]    [+增長權限   -減小權限]   [r   w   x]   目錄名 
例如:有一個文件filename,權限爲「-rw-r—-x」 ,將權限值改成」-rwxrw-r-x」,用數值表示爲765
  1. sudo chmod u+x g+w o+r filename
上面的例子能夠用數值表示
  1. sudo chmod 765 filename

 

工做中用到的一些有意思的命令:

  1. linux nc
  2. tree

第1、系統查看命令

# uname -a # 查看內核/操做系統/CPU信息
# head -n 1 /etc/issue # 查看操做系統版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出全部PCI設備
# lsusb -tv # 列出全部USB設備
# lsmod # 列出加載的內核模塊
# env # 查看環境變量

第2、資源/硬盤佔用狀況

# free -m # 查看內存使用量和交換區使用量
# df -h # 查看各分區使用狀況
# du -sh <目錄名> # 查看指定目錄的大小
# grep MemTotal /proc/meminfo # 查看內存總量
# grep MemFree /proc/meminfo # 查看空閒內存量
# uptime # 查看系統運行時間、用戶數、負載
# cat /proc/loadavg # 查看系統負載

第3、磁盤和分區狀況

# mount | column -t # 查看掛接的分區狀態
# fdisk -l # 查看全部分區
# swapon -s # 查看全部交換分區
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
# dmesg | grep IDE # 查看啓動時IDE設備檢測情況

第4、網絡查看

# ifconfig # 查看全部網絡接口的屬性
# iptables -L # 查看防火牆設置
# route -n # 查看路由表
# netstat -lntp # 查看全部監聽端口
# netstat -antp # 查看全部已經創建的鏈接
# netstat -s # 查看網絡統計信息

第5、進程查看

# ps -ef # 查看全部進程
# top # 實時顯示進程狀態

第6、用戶查看

# w # 查看活動用戶
# id <用戶名> # 查看指定用戶信息
# last # 查看用戶登陸日誌
# cut -d: -f1 /etc/passwd # 查看系統全部用戶
# cut -d: -f1 /etc/group # 查看系統全部組
# crontab -l # 查看當前用戶的計劃任務

第7、系統服務狀況

# chkconfig –list # 列出全部系統服務
# chkconfig –list | grep on # 列出全部啓動的系統服務

第8、程序查看

# rpm -qa # 查看全部安裝的軟件包

相關文章
相關標籤/搜索