Linux運(yùn)維人員想要加薪需要掌握的常用命令項(xiàng)
今天馬哥教育要跟大家分享的文章是關(guān)于Linux運(yùn)維人員想要加薪需要掌握的常用命令項(xiàng)。 Linux入門新手和正在Linux學(xué)習(xí)的小伙伴快來看一看吧,希望能夠?qū)Υ蠹矣兴鶐椭?
1、搜索
在vi和vim中如果打開一個(gè)很大的文件,不容易找到對(duì)應(yīng)的內(nèi)容,可以使用自帶的搜索關(guān)鍵字進(jìn)行搜索定位:
在vi和vim界面中輸入:"/"(反斜杠),之后會(huì)出現(xiàn)一個(gè)輸入框讓你輸入,當(dāng)你輸入的關(guān)鍵字在文件中存在就會(huì)以高亮的形式顯示出來,之后按 回車 就確定定位到當(dāng)前高亮位置,如果不是你要找的,則可以按:"n",意即尋找下一個(gè)輸入關(guān)鍵字的內(nèi)容。
2、vim恢復(fù)以及亂碼問題
(1)在vi和vim中如果不小心誤刪除了一些東西,想要恢復(fù)怎么辦?
首先要退出編輯狀態(tài),即按Esc鍵,之后再按u撤銷之前的修改的內(nèi)容。
(2)在用vi或vim打開一個(gè)文件的時(shí)候,如果有些地方出現(xiàn)一些特殊符號(hào)或是亂碼,可以通過以下命令嘗試:
vim -b mytest.php(其中-b一般是用來查看對(duì)應(yīng)的二進(jìn)制文件的)
3、管道命令,即豎杠-->‘|’
上面的意思是:將查詢出來的內(nèi)容交給管道后面的命令裝飾之后再展示出來
例如:cat install.log | more (more的意思是將一屏放不下的內(nèi)容以分頁的形式顯示)
ls -l /etc | more
如果想看上一頁的內(nèi)容,可以通過:Shift + PageUp來查看
管道配合grep(過濾)可以達(dá)到很好用的組合例如:
cat -n hello.txt | grep "hello" (查看hello.txt文件內(nèi)容,并過濾出來帶有hello的內(nèi)容) , -n表示顯示出來第幾行的內(nèi)容。
4、find搜尋文件或目錄
find /home -name hello* (查找home目錄下的文件名或目錄為hello的)
find / -name h?m* (在跟目錄下查找h開頭第二個(gè)字符是任意的,第三個(gè)是m,后面的是任意的字符)
ind / -size +1000000k (表示在根目錄下查詢文件大于1000000K的文件)
查找目錄下的所有文件中是否含有某個(gè)字符串,并且只打印出文件名
find .|xargs grep -ri "IBM" -l
5、字符串替換命令
· :s/well/good/ 替換當(dāng)前行第一個(gè) well 為 good
· :s/well/good/g 替換當(dāng)前行所有 well 為 good
· :n,$s/well/good/ 替換第 n 行開始到最后一行中每一行的第一個(gè) well 為 good
· :n,$s/well/good/g 替換第 n 行開始到最后一行中每一行所有 well 為 good
· n為數(shù)字,若n為.,表示從當(dāng)前行開始到最后一行
· :%s/well/good/ (等同于 :g/well/s//good/) 替換每一行的第一個(gè) well 為 good
· :%s/well/good/g (等同于 :g/well/s//good/g) 替換每一行中所有 well 為 good
· 特殊符號(hào)轉(zhuǎn)義:可以使用#作為分隔符,此時(shí)中間出現(xiàn)的/不會(huì)作為分隔符
· :s#well/#good/# 替換當(dāng)前行第一個(gè) well/ 為 good/
· :%s#/usr/bin#/bin#g可以把文件中所有路徑/usr/bin換成/bin
6、重定向命令
· ls -l /etc/ 希望
· ls -l /etc > /home/myback.txt (覆蓋重定向)把顯示的結(jié)果覆蓋到/home/myback.txt中去
· ls -l /etc >> /home/myback.txt (追加重定向)把顯示的結(jié)果追到/home/myback.txt中去
7、刪除多行
刪除多行步驟如下:
1.首先要顯示對(duì)應(yīng)的行數(shù)這樣方能知道從第幾行到第幾行刪除
: set nu
2.按Esc鍵退出,在命令行中輸入:190,6233d (即[190 , 6233]都刪除掉)
如果想要情況整個(gè)文件內(nèi)容,在直接運(yùn)行以下命令:
清空文件內(nèi)容:> log.txt
8、行位定位
· 直接定位到最后一行:
按Esc鍵退出,在命令行中輸入:G
· 直接定位到第一行:
按Esc鍵退出,在命令行中輸入:1 G
· 直接定位到某一行:(第17行)
按Esc鍵退出,在命令行中輸入:17 G
9、復(fù)制一行或多行
<1. 復(fù)制一行
yy復(fù)制當(dāng)前行
p粘貼
<2. 復(fù)制多行
7yy從當(dāng)前行開始復(fù)制7行
p粘貼
10、Linux中查看Python的版本
Python -V
或者
Python --version
11、grep的用法
<1. 顯示匹配的后n行 (after)
grep -A n
<2. 顯示匹配的前n行 (before)
grep -B n
<3. 顯示匹配的前后n行 (context)
grep -C n
<4. 忽略大小寫
grep -i str
12、ll或ls顯示說明
ll -ht (h會(huì)按照標(biāo)準(zhǔn)格式自動(dòng)轉(zhuǎn)換大小即:456M,1.2G等,t表示顯示內(nèi)容按照時(shí)間倒序排列)
應(yīng)用案例:
清空8月份的日志文件:
rm -rf `ll -ht | awk '/8月/ {print 6,6,NF}' | awk '{print $NF}'`
說明:awk '/pattern/action'--> awk '/8月/{print 6,6,NF}',只顯示第六行與最后一行的內(nèi)容且只保留8月的列表內(nèi)容顯示。
ls中文件顏色的顯示代表的意義為:
1. 藍(lán)色 -->目錄
2. 綠色 -->可執(zhí)行文件
3. 紅色 -->壓縮文件
4. 淺藍(lán)色 -->鏈接文件
5. 灰色 -->其他文件
13、查看某文件被哪個(gè)進(jìn)程所占用
lsof 文件名

14、創(chuàng)建用戶以及查看當(dāng)前用戶
· useradd redis
· passwd redis
如果是Ubuntu系統(tǒng)則需要使用如下命令:
· useradd openstack -m -s /bin/bash
· userdel -r openstack
查看當(dāng)前系統(tǒng)存在的用戶組和用戶
· /etc/group文件包含所有組
/etc/shadow和/etc/passwd系統(tǒng)存在的所有用戶名
15、常用查看文件大小與Linux系統(tǒng)命令
查看內(nèi)存使用情況:free -m (m為MB,g為GB)

查看對(duì)應(yīng)磁盤使用情況:df -lh

查看對(duì)應(yīng)CPU使用情況:cat /proc/cpuinfo
會(huì)有32個(gè)大致相同的內(nèi)容展示(下標(biāo)是從0開始的),這就說明該服務(wù)器為8核操作系統(tǒng)

或者有更牛逼的命令:
· cat /proc/cpuinfo | grep "model name" | head -1 (只顯示一行對(duì)應(yīng)的CPU型號(hào)以及其他信息)
· cat /proc/cpuinfo | grep "model name" (系統(tǒng)有幾個(gè)核就會(huì)顯示幾行)
· cat /proc/cpuinfo | grep "model name" | wc -l (統(tǒng)計(jì)出一共有多少核)
查看對(duì)應(yīng)服務(wù)器版本當(dāng)前操作系統(tǒng)發(fā)行版信息:cat /etc/issue 或 cat /etc/redhat-release

查看更為底層的版本信息:cat /proc/version(例如:CentOS實(shí)際最根源為RetHat,此命令將會(huì)顯示所采用RetHat的版本)

如果想查看某個(gè)文件夾當(dāng)前所占用的空間使用:
du -h node (cd /data/solr-4.8.0/)

如果想查看當(dāng)前目錄下的所有文件各個(gè)大小
du -sh * (cd /)

16、查看內(nèi)存情況
<1. jstat -gc pid可以看到對(duì)應(yīng)各個(gè)內(nèi)存大小、使用狀況以及GC處理情況
<2. jmap -heap [pid] 查看內(nèi)存分布
<3. jstat -gcutil [pid] 1000 每隔1s輸出java進(jìn)程的gc情況
17、修改文件夾及其里面的內(nèi)容的權(quán)限
chown -R solr:solr /home/solr/lib
意思是將/home/solr/lib文件夾及其里面內(nèi)容的用戶所屬權(quán)限修改為solr用戶所屬權(quán)限。
18、查看某個(gè)端口鏈接狀態(tài)的連接數(shù)
· netstat -nlap | grep -i est | grep -i 6379 | awk '{print $4}'
· netstat -nlap | grep -i est | grep -i 1121 | wc -l
平時(shí)使用總結(jié),使用此命令如果實(shí)在記不住后面參數(shù)有哪些,那么直接記住為:-nlap即可,大部分情況都可以滿足我們的需求
netstat常見參數(shù)如下:
-a (all)顯示所有選項(xiàng),默認(rèn)不顯示LISTEN相關(guān)
-t (tcp)僅顯示tcp相關(guān)選項(xiàng)
-u (udp)僅顯示udp相關(guān)選項(xiàng)
-n拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l僅列出有在Listen (監(jiān)聽)的服務(wù)狀態(tài)
-p顯示建立相關(guān)鏈接的程序名
-r顯示路由信息,路由表
-e顯示擴(kuò)展信息,例如uid等
-s按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
· grep -i (i表示忽略大小寫)
· awk '{print $4}' (表示只打印第4列)
· grep -i est (est表示:ESTABLISHED,即只顯示ESTABLISHED即連接狀態(tài)的端口)
grep命令最后的那個(gè)顯示出來的結(jié)果以它進(jìn)行標(biāo)紅,即最后一個(gè)grep為:grep -i 6379, 那么打印出來的結(jié)果其中的6379標(biāo)紅,結(jié)果如下如所示:

19、同步服務(wù)器的時(shí)間
ntpdate pool.ntp.org
將這個(gè)命令啟用為定時(shí)腳本執(zhí)行,具體如下所示:
1 */2 * * * ntpdate pool.ntp.org
20、不允許ssh登錄如何配置
修改vim /etc/sysconfig/sshd_config文件,增加一行:AllowUsers solr,具體如下所示:

使其生效運(yùn)行如下命令:
service sshd reload
常用系統(tǒng)級(jí)配置總結(jié):
1.限制登錄:/etc/ssh/sshd_config 修改后需重啟:service sshd restart
2.用戶配置:/etc/passwd
3. sudo權(quán)限:/etc/sudoers
21、常用JDK系統(tǒng)環(huán)境變量配置
JAVA_HOME=/usr/java/jdk1.7.0_55
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
22、查看Redis/Tomcat的版本
· redis-cli info | grep 'redis_version'
· tomcat版本需要進(jìn)入到安裝目錄下的bin/文件夾:
· ./version.sh或者sh version.sh
23、怎么看Linux的防火墻是否阻止80端口
iptables -vnL | grep ":80 "
返回有內(nèi)容說明開通,沒返回內(nèi)容,則說明阻止
24、查看文件編碼以及修改文件編碼
1、直接查看文件編碼
file -i 文件
2、在vim中修改此文件編碼格式
:set fileencoding=utf-8
3、修改vim的統(tǒng)一編碼格式
vim ~/.vimrc
# 增加一句話
set encoding=utf-8 fileencoding=utf-8
25、創(chuàng)建軟連接
Linux下的軟鏈接類似于windows下的快捷方式。常用于實(shí)際路徑很深,每次進(jìn)入的時(shí)候需要花費(fèi)一定時(shí)間,此時(shí)我們?cè)诟夸泟?chuàng)建一個(gè)軟鏈接指向該目錄,那么我們進(jìn)入該軟連接其實(shí)就是進(jìn)入了軟鏈接指向的實(shí)際目錄。
ln -s /data/elastic/plugin/ik/custom myES
以上命令中的/data/elastic/plugin/ik/custom就是源文件,myES是鏈接文件名, 其作用是當(dāng)進(jìn)入myES目錄,實(shí)際上是鏈接進(jìn)入了/data/elastic/plugin/ik/custom目錄
刪除軟鏈接:
rm -rf myES
注意不是rm -rf myES/(此命令會(huì)將原始目錄也一并刪除,會(huì)造成很嚴(yán)重的后果,切記?。?!)
26、定位IO拼接的常用方??法
定位IO瓶頸的一些方法(iotop工具具體查看IO負(fù)載主要是落在哪個(gè)進(jìn)程上)。
作者:星火燎原智勇
鏈接:https://www.cnblogs.com/liang1101/p/6536775.html