1. 程式人生 > >linux常用實戰命令

linux常用實戰命令

一下是一些自己總結的實戰命令:

1、刪除多個同名的檔案,或者是殺死多個程序?

(1)find / -type f -name "test.txt" | xargs rm -f 或者 find / -type f -name "test.txt" -exec rm -f {} \; 刪除多個同名檔案;
(2)ps -ef |grep 3306|xargs kill -9   殺死所有3306埠程序

2、刪除過期資料?

find / -type f -name "*.log" -mtime -5 | xargs rm -f 刪除最近5天的log日誌(+5表示5天前)

3、生成倒序序列?

seq 5|tac

4、獲取文字中第20到30行的資料

(1)head -30 test.txt|tail -20
(2)sed -n 20,30p test.txt
(3)awk '{if(NR>19&&NR<31) print $0}' test.txt   NR表示行號,$0表示列印所有的內容
5、獲取/etc/passwd裡面的第一列資料

awk -F ':' '{print $1}' /etc/passwd
6、替換檔案內容

sed -i 's#old#young#g' test.txt    -i表示在test.txt檔案中生效

7、檢視linux系統版本

cat /etc/redhat-release
8、檢視linux的核心版本

uname -r/uname -a    -a引數是顯示所有引數

9、檢視linux是32位還是64位

uname -m/uname -a   -a引數是顯示所有引數
10、由root切換到普通使用者下

su - young   加-是為了將環境變數改成young的,這個一定要加
11、修改普通使用者的密碼

(1)passwd young 需要互動
(2)echo 123456|passwd --stdin young 不需要互動,適合大批量的修改密碼
12、檢視系統安裝的哪些包組

yum grouplist
13、安裝新的包組

yum groupinstall "Development Tools"   這裡包組一定要加""
14、將指定的應用設為開機自啟動,其他應用設定成開機不啟動

(1)for program in `chkconfig --list|grep "3:on"|awk '{print $1}'`;do chkconfig $program off;done   將所有應用設定成開機不啟動
(2)for program in crond network rsyslog sshd;do chkconfig $program on;done  將指定應用設定成開機自啟動
15、重啟ssh服務

/etc/init.d/sshd restart或者/etc/init.d/sshd reload
16、關閉防火牆

/etc/init.d/iptables stop

17、讓/etc/profile檔案生效

source /ect/profile     這個檔案對所有使用者都生效   如果想只對當前使用者生效,修改~/.bash_profile或者~/.bashrc
18、檢視某個埠的服務

(1)netstat -lntup|grep 52110
(2)lsof -i :52110
19、linux如何進行時間同步

linux進行時間同步,一般都離不開ntp服務
(1)/usr/sbin/ntpdate time.windows.com 臨時同步時間,後面的地址有很多個,可修改
(2)設定定時任務,每過一段時間執行上面的程式碼:echo '#time sync by root at 2018-02-04' >> /var/spool/cron/root;註釋
echo '*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1' >> /var/spool/cron/root 定時任務
(3)crontab -l檢查下
20、檢視 伺服器檔案描述符大小

ulimit -n
21、加大 伺服器檔案描述符大小
(1)ulimit -HSn 65535 臨時生效
(2)echo '*               -    nofile            65535' >> /etc/security/limits.conf永久生效
22、基本的 核心引數檔案調優

將下面內容放到/etc/sysctl.conf中
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000  65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384

23、防火牆優化

將下面內容放到/etc/sysctl.conf裡面
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait =120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
23、/etc/sysctl.conf怎麼生效

sysctl -p

24、檢視磁碟空間

(1)df -h 檢視磁碟實際的物理空間
(2)df -i 檢視Inode的空間
25、 隱藏linux啟動後提示的版本號

修改/etc/issue檔案,或者直接清空這個檔案
26、鎖定系統的關鍵檔案

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
27、解鎖系統關鍵檔案

chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
28、如何掛載磁碟

linux中的磁碟只有在掛載之後才能使用
mount /dev/sda1 /usr
29、網絡卡啟動與關閉

(1)啟動:ifup eth0 或者/etc/init.d/network start
(2)停止:ifdown eht0 或者/etc/init.d/network stop

30、檢視分割槽的Inode的大小

dumpe2fs /dev/sda1 |grep -i 'Inode size'
31、檢視分割槽的Block的大小

dumpe2fs /dev/sda1 |grep -i 'Block size'

32、快速檢視到目錄中最近更新的檔案

ls -lrt
33、讓過濾的內容顯示顏色

新增--color=auto
如 grep 3306 --color=auto /etc/services
34、實時監控某一個檔案內容的變化

tail -f test.txt
35、顯示檔案內容的行號
(1)cat -n test.txt
(2)less -N test.txt
(3)grep -n . test.txt  這裡帶個點的意思是把所有行過濾出來,點代表一個字元
(4)vi中:set nu
36、將檔案打包、解壓

對於tar.gz
(1)打包:tar zcvf etc.tar.gz /etc  將etc檔案打包
(2)tar zcvf test.tar.gz --exclude=test/array.sh ./test 將test目錄打包,排除array.sh檔案
(3)tar zcvfX test.tar.gz a.txt ./test將test目錄打包,排除a.txt文字中包含的檔名的檔案
(4)tar xf test.tar.gz 將壓縮包解壓到當前目錄
(5)tar xf test.tar.gz -C /tmp/ 將壓縮包解壓到指定目錄下

對於tar.bz
(1)tar jcvf test.tar.bz ./test
(2)tar jxvf test.tar.bz
37、檔案的型別有幾種

block,character,directory,pipe,file,socket,link,

38、將ls -l顯示的檔案時間標準化

ls -l --time-style=long-iso
39、檔案的許可權位的最後一位可能有一個點,是什麼意思?

這個點是跟selinux相關的上下文,關閉selinux,建立檔案不會帶點
40、將本機的ip地址取出來

(1)ifconfig eth0|sed -n 2p|awk -F '[ :]' '{print $13}'
(2)ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}'
(3)ifconfig eth0|grep 'inet addr'|cut -d ':' -f2|cut -d ' ' -f1
(4)ifconfig eth0|grep 'inet addr'|awk -F '[: ]+' '{print $4}'
(5)ifconfig eth0|awk -F '[: ]+' 'NR==2{print $4}'
(6)ifconfig eth0|sed -n 's#^.*addr:\(.*\)  Bcast.*$#\1#gp'
這邊涉及到sed的()分組的功能。sed 's/a/b/g' a部分可以用正則表示式,b部分不能用正則表示式。()是分組,在a部分使用()括起來的內容,在b部分可以用\1調出前面括號內的內容。如果a部分有多個括號,那麼依次是\2,\3呼叫第二個第三個括號,依次類推。
41、獲取檔案的許可權值

(1)stat a.txt|awk -F '[(/]' 'NR==4{print $2}'
(2)stat -c %a a.txt   -c指定格式,%a獲取八進位制許可權,%A獲取人類可讀的許可權格式
42、root切換到普通使用者下,輸入ifconfig提示command not found
在centos5中,ifconfig預設是管理員root的命令,其完整路徑為/sbin/ifconfig,在普通使用者的path路徑下沒有這個路徑
43、 日期輸出問題
(1)輸出17-01-01格式:date '+%y-%m-%d'
(2)輸出2017-01-01格式:date '+%Y-%m-%d'或者date '+%F'
(3)輸出周幾 date '+%w'或者date '+%u'
(4)輸出年月日 時分秒 date '+%y-%m-%d %H:%M:%S'或者date '+%F %T'
(5)輸出3天前的日期  date '+%F' --date='3 day ago' 或者date '+%F' --date='-3 day'
(6)輸出明天的日期  date '+%F' --date='next day'
(7)輸出3天后的日期   date '+%F' --date='+3 day' 或者date '+%F' --date='3 day' 
44、希望普通使用者能夠刪除本來沒有許可權刪除的檔案
(1)利用sudo提權
(2)刪除命令加上suid,這樣任何使用者都能擁有rm屬主所擁有的許可權

45、>/dev/null 2>&1什麼意思

>/dev/null 2>&1等價於1>/dev/null 2>/dev/null等價於&>/dev/null意思就是正確跟錯誤的輸出都不輸出出來

46、檔案比較多的時候,rm -f會刪除失敗,怎麼辦?

(1)ls|xargs rm -f
(2)find ./ -type f |xargs rm -f
(3)刪除上級目錄,然後再建立一個相同的

47、要求oldboy使用者7天內不能改密碼,60天以後必須修改密碼,過期前10天通知oldboy使用者,過期後30天禁止使用者登入。

(1)passwd -n 7 -x 60 -w 10 -i 30 oldboy
(2)chage -m 7 -M 60 -W 10 -I 30 odlboy

48、LDAP服務是什麼

在大規模的運維環境中,使用LDAP服務(微軟活動目錄)對linux賬戶進行統一認證,批量管理。

49、NAT是什麼

上網的時候一般會經過路由器,電腦閘道器的地址就是路由器的地址。同時由於我們的ip是私有ip,是不能再公網上傳輸的,
要通過NAT進行轉換,變成公網地址。

50、啟動網絡卡

(1)/etc/init.d/network restar
(2)ifup eth0(ifdown關閉網絡卡)

51、域名解析的方式

(1)ding www.baidu.com
(2)nslookup www.baidu.com

52、檢查網路情況

(1)ping baidu.com
(2)tracert -d www.baidu.com(windows下的)
(3)traceroute www.baidu.com
(4)telnet 192.168.11.11 80 檢查web是否開啟以及防火牆是否阻擋
(5)nmap 192.168.11.11 80

53、抓包工具

tcpdump  如tcpdump -n icmp -i eth0(icmp是協議)

54、舉幾個網路檔案系統

(1)NFS
(2)MFS分散式檔案系統
(3)GFS適合雲端計算