linux常用實戰命令
阿新 • • 發佈:2018-12-12
一下是一些自己總結的實戰命令:
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適合雲端計算