Linux下高效指令(很重要)

Linux是一套無償使用和自由傳播的類Unix操做系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操做系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操做系統。python

Linux管理磁盤

查看當前磁盤使用狀況:df -h fdisk -l (查看全部的硬盤)
服務器添加硬盤:在系統設置添加mysql

分區: fdisk /dev/sdb (sdb, sdc, sde)
指令:m(幫助信息), n (新加分區)
第二步: 指令p (主分區)
第三步:寫入磁盤 w
使用:掛載: mount /dev/sdb1 /data/ 掛載到/data目錄下,掛載成功以下

 


能夠掛載到多個設備linux

mount /dev/cdrom /mnt

Vi命令

全部的指令都是在指令行下輸入的,不是在編輯模式下進行的!
複製多行/單行:輸入yy,而後按k
刪除某一行:按dd; 刪除某個字符: 光標選中某個字符,按x
刪錯某個字符/某一行想返回:usql

替換某個文件全部內容:%s/failymao/momo/g (ESC後:替換文件中全部【g表示全部】falilymao的內容爲momo服務器

替換某一行某個內容:%s/momo/failymao/1 (替換最後一行)網絡

在首行添加某個字符或者空白字符:%s/my/ my/g
第二種方法(my後面添加空格) :%s/my/& /
首行添加:%s/^/& /(^正則首行,&表示追加)
末尾行添加:%s/$/& hello($表示末尾)
匹配行前插入空白行:某個字符下按 O(大寫),行後插入空白行按o(小寫)
跳轉:
跳轉最後一個字符:GG
跳轉第一個字符:gg
查找: /my
刪除匹配的項目以後的全部內容:dG多線程

sed命令

替換某個文件全部的內容:運維

sed 's/momo/failymao/g' test.txt(查看替換,s表示查找)
sed -i 's/momo/failymao/g' test.txt替換(加參數 -i 表示寫入)
匹配行前插入:sed -i '/IS/i 123456' test.txt
匹配行後插入:sed -i '/IS/a 123456' test.txt (a 表示after)
修改某個配置文件信息:sed '/SELINUX/s/disabled/123456/g' /etc/selinux/config (修改 /etc/selinux/config配置文件中SELTINUX後面的disabled爲123456)

 

find命令

查找當前目錄某個文件:tcp

find . -name "test.txt"

查找根目錄某個文件:工具

find / -name "test.txt"

查找以固定格式結尾的全部文件:

find . name "*.py"

查找以固定格式結尾的目錄或者文件:

find . name "*.py" -typt d (d表示類型目錄)

查找以固定格式結尾的目錄或者文件:

find . name "*.py" -typt d -mtime +1 -size +10M (d表示類型爲目錄,-mtime +1 表示一天以上,-1表示1天以內,-size表示大小爲10M的文件目錄)

查找文件包含有某些內容的文件:

find /tmp/ -name "*" -type f -name "momo"

查找的文件進行拷貝:

find /root/ -name "*" -type f -name "*server*" -exec cp {}/samba \;(查找/root目錄下,查找以文件中包含有server的文件,並(-exec)複製(cp)到 ({}接目錄)/samba目錄下,(;)固定格式)

打包:

find /root/ -name "*.py" -exec tar czf zip_python.tar.gz {} \; 
(將查找/root目錄下以py結尾的文件並在當前目錄下打包)

刪除文件:

find /samba -name "*" -type f -name "*server*" -exec rm -rf {} \;(刪除/samba下,包含文件名中含有「server」的全部的文件!)
刪除文件 == 等同於exec:find /root/ -name "*.py" | xargs rm -rf {} \; (管道符| xargs 等同於 -exec)

管道符grep

過濾文件:前面的結果做爲後面的輸入:

cat test.txt |grep "hou"(查看text.txt文件中有「hou」的內容) == grep "hou" test.txt

排除文件:

cat /etc/passwd |grep -v "mysql"(過濾掉/etc/passwd中含有「mysql」的內容,打印出結果!)

打印過濾的固定的某一行:

ifconfig |grep "net" |awk '{print $1}'(打印ifconfig命令中含有net的字符的,第一列內容)

grep 正則

grep '^10' text.txt 匹配以10`開頭
grep '10$' text.txt匹配以10結尾
grep "[0-9][0-9][0-9] " test.txt 匹配三位數的任意組成的數
grep "[a-z]" test.txt匹配 包含有a-z字母的字段(小寫)
grep "^112$" text.txt匹配以112開頭結尾的
(grep -E "[0-9]{1,3}\."){3}匹配0-9的任意數字1-3次,. 表示匹配.,{3}出現三次

查看內存,ip信息

查看內存信息:free -m
查看cup: top
查看httpd:ps -ef |grep httpd
查看tcp端口:netstat -tnl
查看udp: netstat -nul
查看當前目錄文件大小: du -sh

特殊指令合計

其餘應用實例:輸出文本數據中最大最小的數

112
1223
444 334
444 11 22 444 578 23123
1234 3443 234553 122 908 123445
12 14 567 456 23478

執行 :

cat number.txt |sed 's/ /\n/g' |grep -v "^$"|sort -nr |sed -n '1p;$p'

指令詳解:

1) sed 's/ /\n/g' 將全部空格轉化成換行
2) |grep -v "^$"把開頭結尾都是空格的組 排除掉, -v 表示排除
3) |sort -nr從大到小排序
4) |sed -n '1p;$p' -n表示多行打印, 1p表示第一個,$p表示最後一個

awk

指定打印匹配的某一行

cat test.txt |awk '{print $4}' --->打印匹配的第四列 ($NF表示最後一列)
cat /etc/passwd |awk -F: '{print $1}'---> -F表示format,自定義格式,打印第一列
示例 ifconfig 匹配出IP地址
方法1: ifconfig eth1|grep "broadcast" |awk '{print $2}'|sed 's/addr://g'打印ip 地址
方法2:ifconfig eth1|grep "broadcase"|awk '{print $2}'|awk -F: '{print $2}'
df -h |grep "/$" |awk '{print $5}'|sed 's/%//g' 打印硬盤使用率 ,去掉百分號

linux指令的熟練度決定了你是否能成爲一個運維屆的老司機,可否開五菱宏光順利上秋名山!切記多練!多練!多練!

相關文章
相關標籤/搜索