溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中經(jīng)典命令有哪些

發(fā)布時間:2021-12-30 16:05:29 來源:億速云 閱讀:168 作者:小新 欄目:云計算

這篇文章給大家分享的是有關(guān)linux中經(jīng)典命令有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1.刪除0字節(jié)文件  
find -type f -size 0 -exec rm -rf {} \;

2.查看進程  
按內(nèi)存從大到小排列  
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr

3.按cpu利用率從大到小排列  
ps -e -o "%C : %p : %z : %a"|sort -nr

4.打印說cache里的URL  
grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}'

5.查看http的并發(fā)請求數(shù)及其TCP連接狀態(tài):  
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'


6. sed -i '/Root/s/no/yes/' /etc/ssh/sshd_config sed在這個文里Root的一行,匹配Root一行,將no替換成yes.

7.1.如何殺掉mysql進程:  
ps aux|grep mysql|grep -v grep|awk '{print $2}'|xargs kill -9   (從中了解到awk的用途)  
pgrep mysql |xargs kill -9 [網(wǎng)友:&FROST]

killall -TERM mysqld

kill -9 `cat /usr/local/apache2/logs/httpd.pid` 試試查殺進程PID


8.顯示運行3級別開啟的服務:  
ls /etc/rc3.d/S* |cut -c 15- (從中了解到cut的用途,截取數(shù)據(jù))

9.如何在編寫SHELL顯示多個信息,用EOF  
cat << EOF  
+--------------------------------------------------------------+  
|         === Welcome to Tunoff services ===                   |  
+--------------------------------------------------------------+  
EOF

10. for 的巧用(如給mysql建軟鏈接)  
cd /usr/local/mysql/bin  
for i in *  
do ln /usr/local/mysql/bin/$i /usr/bin/$i  
done

11. 取IP地址:  
ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- 或者

ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'

12.內(nèi)存的大小:  
free -m |grep "Mem" | awk '{print $2}'


13.  
netstat -an -t | grep ":80" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort

14.查看Apache的并發(fā)請求數(shù)及其TCP連接狀態(tài):  
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

15.因為同事要統(tǒng)計一下服務器下面所有的jpg的文件的大小,寫了個shell給他來統(tǒng)計.原來用xargs實現(xiàn),但他一次處理一部分,搞的有多個總和....,下面的命令就能解決啦.  
find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'


CPU的數(shù)量(多核算多個CPU,cat /proc/cpuinfo |grep -c processor)越多,系統(tǒng)負載越低,每秒能處理的請求數(shù)也越多。

--------------------------------------------------------------------------------------------------------------------  
16 CPU負載 # cat /proc/loadavg  
檢查前三個輸出值是否超過了系統(tǒng)邏輯CPU的4倍。

18 CPU負載 #mpstat 1 1  
檢查%idle是否過低(比如小于5%)

19 內(nèi)存空間 # free  
檢查free值是否過低 也可以用 # cat /proc/meminfo

20 swap空間 # free  
檢查swap used值是否過高 如果swap used值過高,進一步檢查swap動作是否頻繁:  
# vmstat 1 5  
觀察si和so值是否較大

21 磁盤空間 # df -h  
檢查是否有分區(qū)使用率(Use%)過高(比如超過90%) 如發(fā)現(xiàn)某個分區(qū)空間接近用盡,可以進入該分區(qū)的掛載點,用以下命令找出占用空間最多的文件或目錄:  
# du -cks * | sort -rn | head -n 10

22 磁盤I/O負載 # iostat -x 1 2  
檢查I/O使用率(%util)是否超過100%

23 網(wǎng)絡負載 # sar -n DEV  
檢查網(wǎng)絡流量(rxbyt/s, txbyt/s)是否過高

24 網(wǎng)絡錯誤 # netstat -i  
檢查是否有網(wǎng)絡錯誤(drop fifo colls carrier) 也可以用命令:# cat /proc/net/dev

25 網(wǎng)絡連接數(shù)目 # netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

26 進程總數(shù) # ps aux | wc -l  
檢查進程個數(shù)是否正常 (比如超過250)

27 可運行進程數(shù)目 # vmwtat 1 5  
    列給出的是可運行進程的數(shù)目,檢查其是否超過系統(tǒng)邏輯CPU的4倍


28 進程 # top -id 1  
觀察是否有異常進程出現(xiàn)

29 網(wǎng)絡狀態(tài) 檢查DNS, 網(wǎng)關(guān)等是否可以正常連通

30 用戶 # who | wc -l  
檢查登錄用戶是否過多 (比如超過50個) 也可以用命令:# uptime

31 系統(tǒng)日志 # cat /var/log/rflogview/*errors  
檢查是否有異常錯誤記錄 也可以搜尋一些異常關(guān)鍵字,例如:  
# grep -i error /var/log/messages  
# grep -i fail /var/log/messages  
# egrep -i 'error|warn' /var/log/messages 查看系統(tǒng)異常  
32 核心日志 # dmesg  
檢查是否有異常錯誤記錄

33 系統(tǒng)時間 # date  
檢查系統(tǒng)時間是否正確

34 打開文件數(shù)目 # lsof | wc -l  
檢查打開文件總數(shù)是否過多

35 日志 # logwatch –print 配置/etc/log.d/logwatch.conf,將 Mailto 設置為自己的email 地址,啟動mail服務 (sendmail或者postfix),這樣就可以每天收到日志報告了。  
缺省logwatch只報告昨天的日志,可以用# logwatch –print –range all 獲得所有的日志分析結(jié)果。  
可以用# logwatch –print –detail high 獲得更具體的日志分析結(jié)果(而不僅僅是出錯日志)。

36.殺掉80端口相關(guān)的進程  
lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh

37.清除僵死進程。  
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9

38.tcpdump 抓包 ,用來防止80端口被人***時可以分析數(shù)據(jù)  
# tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

39.然后檢查IP的重復數(shù) 并從小到大排序 注意 "-t\ +0" 中間是兩個空格  
# less pkts | awk {'printf $3"\n"'} | cut -d. -f 1-4 | sort | uniq -c | awk {'printf $1" "$2"\n"'} | sort -n -t\ +0

40.查看有多少個活動的  php-cgi進程  
netstat -anp | grep  php-cgi | grep ^tcp | wc -l

41.利用iptables對應簡單***  
netstat -an | grep -v LISTEN | awk ‘{print $5}’ |grep -v 127.0.0.1|grep -v 本機ip|sed “s/::ffff://g”|awk ‘BEGIN { FS=”:” } { Num[$1]++ } END { for(i in Num) if(Num>8) { print i} }’ |grep ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}’| xargs -i[] iptables -I INPUT -s [] -j DROP

Num>8部分設定值為閥值,這條句子會自動將netstat -an 中查到的來自同一IP的超過一定量的連接的列入禁止范圍。本機ip改成你的服務器的ip地址


查看軟件xxx安裝內(nèi)容

dpkg -L xxx


查找軟件

apt-cache search 正則表達式

查找文件屬于哪個包


dpkg -S filename

查詢軟件xxx依賴哪些包


apt-cache depends xxx

查詢軟件xxx被哪些包依賴


apt-cache rdepends xxx

增加一個光盤源


sudo apt-cdrom add

系統(tǒng)升級


sudo apt-get updatesudo apt-get dist-upgrade

清除所以刪除包的殘余配置文件


dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P  -

系統(tǒng)

查看內(nèi)核


uname -a

查看Ubuntu版本


cat /etc/issue

查看內(nèi)核加載的模塊


lsmod

查看PCI設備


lspci

查看USB設備


lsusb

查看網(wǎng)卡狀態(tài)


sudo ethtool eth0

查看CPU信息


cat /proc/cpuinfo

顯示當前硬件信息


lshw

硬盤

查看硬盤的分區(qū)


sudo fdisk -l

查看硬盤剩余空間


df -h    df -H

查看目錄占用空間


du -hs 目錄名

優(yōu)盤沒法卸載


syncfuser -km /media/usbdisk

內(nèi)存

查看當前的內(nèi)存使用情況


free -l

進程

查看當前有哪些進程


ps -A

殺死一個進程


kill 進程號(就是ps -A中的第一列的數(shù)字)或者  killall 進程名

強制殺死一個進程(在上面的殺死進程不成功的時候使用)


kill -9 進程號或者  killall -9 進程名

查看當前進程的實時狀況


top

查看進程打開的文件


lsof -p

ADSL

配置 ADSL


sudo pppoeconf

ADSL手工撥號


sudo pon dsl-provider

激活 ADSL


sudo /etc/ppp/pppoe_on_boot

斷開 ADSL


sudo poff

查看撥號日志


sudo plog

網(wǎng)絡

根據(jù)IP查網(wǎng)卡地址


arping IP地址

查看當前IP地址


sudo ifconfig eth0 |awk '/inet addr/ {split($2,x,":");print x[2]}'

查看當前外網(wǎng)的IP地址


w3m -no-cookie -dump ip.loveroot.com |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

查看當前監(jiān)聽80端口的程序


lsof -i :80

查看當前網(wǎng)卡的物理地址


sudo arp -a | awk '{print $4}'sudo ifconfig eth0 | head -1 | awk '{print $5}'

立即讓網(wǎng)絡支持nat


sudo echo 1 > /proc/sys/net/ipv4/ip_forwardsudo iptables -t nat -I POSTROUTING -j MASQUERADE

查看路由信息


netstat -rnsudo route -n

手工增加刪除一條路由


sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

修改網(wǎng)卡MAC地址的方法


sudo ifconfig eth0 down #關(guān)閉網(wǎng)卡sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址sudo ifconfig eth0 up #然后啟動網(wǎng)卡

服務

添加一個服務


sudo update-rc.d 服務名 defaults 99

刪除一個服務


sudo update-rc.d 服務名 remove

臨時重啟一個服務


/etc/init.d/服務名 restart

臨時關(guān)閉一個服務


/etc/init.d/服務名 stop

臨時啟動一個服務


/etc/init.d/服務名 start

設置

配置默認Java使用哪個


sudo update-alternatives --config java

修改用戶資料


sudo chfn userid

給apt設置代理


export http_proxy=http://xx.xx.xx.xx:xxx

修改系統(tǒng)登錄信息


sudo vim /etc/motd

中文

轉(zhuǎn)換文件名由GBK為UTF8


sudo apt-get install convmv convmv -r -f cp936 -t utf8 --notest --nosmart *

轉(zhuǎn)換文件內(nèi)容由GBK為UTF8


iconv -f gbk -t utf8 $i > newfile

文件

快速查找某個文件


whereis filenamefind 目錄 -name 文件名

查看文件類型


file filename

顯示xxx文件倒數(shù)6行的內(nèi)容


tail -n 6 xxx

查找包含xxx字符串的文件


grep -l -r xxx .

查找關(guān)于xxx的命令


apropos xxxman -k xxx

通過ssh傳輸文件


scp -rp /path/filename  username@remoteIP:/path  #將本地文件拷貝到服務器上scp -rp  username@remoteIP:/path/filename /path  #將遠程文件從服務器下載到本地

查看某個文件被哪些應用程序讀寫


lsof 文件名

壓縮

解壓縮 xxx.tar.gz


tar -zxvf xxx.tar.gz

解壓縮 xxx.tar.bz2


tar -jxvf xxx.tar.bz2

壓縮aaa bbb目錄為xxx.tar.gz


tar -zcvf xxx.tar.gz aaa bbb

壓縮aaa bbb目錄為xxx.tar.bz2


tar -jcvf xxx.tar.bz2 aaa bbb

Nautilus

顯示隱藏文件


Ctrl+h

顯示地址欄


Ctrl+l

特殊 URI 地址


* computer:/// - 全部掛載的設備和網(wǎng)絡* network:/// - 瀏覽可用的網(wǎng)絡* burn:/// - 一個刻錄 CDs/DVDs 的數(shù)據(jù)虛擬目錄* smb:/// - 可用的 windows/samba 網(wǎng)絡資源* x-nautilus-desktop:/// - 桌面項目和圖標*  file:/// - 本地文件* trash:/// - 本地回收站目錄* ftp:// - FTP 文件夾* ssh:// - SSH 文件夾

查看已安裝字體


在nautilus的地址欄里輸入”fonts:///“,就可以查看本機所有的fonts

程序

詳細顯示程序的運行信息


strace -f -F -o outfile <cmd>

日期和時間

設置日期


#date -s mm/dd/yy

設置時間


#date -s HH:MM

將時間寫入CMOS


hwclock --systohc

讀取CMOS時間


hwclock --hctosys

控制臺

不同控制臺間切換


Ctrl + ALT + ←Ctrl + ALT + →

指定控制臺切換


Ctrl + ALT + Fn(n:1~7)

控制臺下滾屏


SHIFT + pageUp/pageDown

控制臺抓圖


setterm -dump n(n:1~7)

數(shù)據(jù)庫

mysql的數(shù)據(jù)庫存放在地方


/var/lib/mysql

從mysql中導出和導入數(shù)據(jù)


mysqldump 數(shù)據(jù)庫名 > 文件名  #導出數(shù)據(jù)庫mysqladmin create 數(shù)據(jù)庫名 #建立數(shù)據(jù)庫mysql 數(shù)據(jù)庫名 < 文件名 #導入數(shù)據(jù)庫

忘了mysql的root口令怎么辦


sudo /etc/init.d/mysql stopsudo mysqld_safe --skip-grant-tables &sudo mysqladmin -u user password 'newpassword''sudo mysqladmin flush-privileges

修改mysql的root口令


sudo mysqladmin -uroot -p password '你的新密碼'

其它

下載網(wǎng)站文檔


wget -r -p -np -k  http://www.21cn.com· -r:在本機建立服務器端目錄結(jié)構(gòu);· -p: 下載顯示HTML文件的所有圖片;· -np:只下載目標站點指定目錄及其子目錄的內(nèi)容;· -k: 轉(zhuǎn)換非相對鏈接為相對鏈接。  

感謝各位的閱讀!關(guān)于“l(fā)inux中經(jīng)典命令有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI