Linux下高效指令

2021-08-18 15:48:07 字數 4082 閱讀 9203

linux是一套免費使用和自由傳播的類unix作業系統,是乙個基於posix和unix的多使用者、多工、支援多執行緒和多cpu的作業系統。它能執行主要的unix工具軟體、應用程式和網路協議。它支援32位和64位硬體。linux繼承了unix以網路為核心的設計思想,是乙個效能穩定的多使用者網路作業系統。

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 ''(列印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]\.")匹配0-9的任意數字1-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 '' --->列印匹配的第四列 ($nf表示最後一列)

cat /etc/passwd |awk -f: ''---> -f表示format,自定義格式,列印第一列

示例 ifconfig 匹配出ip位址

方法1: ifconfig eth1|grep "broadcast" |awk ''|sed 's/addr://g'列印ip 位址

方法2:ifconfig eth1|grep "broadcase"|awk ''|awk -f: ''

df -h |grep "/$" |awk ''|sed 's/%//g' 列印硬碟使用率 ,去掉百分號

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

linux下常用指令

一 顯示該目錄下檔案 指令lsls 顯示當前目錄下所有檔案 指令ls l ls l 顯示當前目錄下所有檔案的許可權,使用者組等資訊 二 目錄建立 指令mkdir mkdir x xx 三 目錄複製 指令cp cp x xx pppp ppp pp xx 複製到pp 四 目錄剪下 指令mv mv x ...

Linux下的指令 查詢指令 find

linux下find命令在目錄結構中搜尋檔案,並執行指定的操作。1.linux下find命令格式 find pathname options print exec ok 2.命令功能 用於在檔案樹中查詢檔案,並作出相應的處理 可能訪問磁碟 3.命令引數 pathname find命令所查詢的目錄路徑...

Linux下如何高效切換目錄?

linux 下對於目錄的切換,大家肯定會想到乙個命令 cd命令。這個是 linux 下再基本不過的命令,如果這個命令都不知道的話,趕緊剖腹自盡去吧。cd 命令確實很方便,但如果需要頻繁在下面的目錄切換,你可能要懷疑人生了 home alvin projects blogdemos linux sys...