Linux管理磁碟 查看當前磁碟使用情況: (查看所有的硬碟) 伺服器添加硬碟:在系統設置添加 分區: (sdb, sdc, sde) 指令: (幫助信息), (新加分區) 第二步: 指令 第三步:寫入磁碟 使用:掛載: 掛載到/data目錄下,掛載成功如下 可以掛載到多個設備 Vi命令 所有的指令 ...
Linux管理磁碟
- 查看當前磁碟使用情況:
df -h fdisk -l
(查看所有的硬碟) 伺服器添加硬碟:在系統設置添加
分區:
fdisk /dev/sdb
(sdb, sdc, sde)
指令:m
(幫助信息),n
(新加分區)
第二步: 指令p (主分區)
第三步:寫入磁碟w
使用:掛載:
mount /dev/sdb1 /data/
掛載到/data目錄下,掛載成功如下
- 可以掛載到多個設備
mount /dev/cdrom /mnt
Vi命令
所有的指令都是在指令行下輸入的,不是在編輯模式下進行的!
- 複製多行/單行:輸入
yy
,然後按k
- 刪除某一行:按
dd
; 刪除某個字元: 游標選中某個字元,按x
- 刪錯某個字元/某一行想返回:
u
替換某個文件所有內容:
%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命令
- 查找當前目錄某個文件:
*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}'
- 方法1:
df -h |grep "/$" |awk '{print $5}'|sed 's/%//g'
列印硬碟使用率 ,去掉百分號
linux指令的熟練度決定了你是否能成為一個運維屆的老司機,能否開五菱巨集光順利上秋名山!切記多練!多練!多練!