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