0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux運維應知必會的23個命令

jf_TEuU2tls ? 來源:星火燎原智勇 ? 2023-06-25 09:08 ? 次閱讀

運維工程師(Operations)在國內(nèi)又稱為運維開發(fā)工程師(Devops),在國外稱為 SRE(SiteReliability Engineering)。負責維護并確保整個服務的高可用性,同時不斷優(yōu)化系統(tǒng)架構、提升部署效率、優(yōu)化資源利用率提高整體的ROI。

作為工作幾年的Linux運維老司機,總結了Linux命令行的常用的一些用法,希望對您有所收獲。

1. 搜索

在vi和vim中如果打開一個很大的文件,不容易找到對應的內(nèi)容,可以使用自帶的搜索關鍵字進行搜索定位:

在vi和vim界面中輸入:"/"(反斜杠),之后會出現(xiàn)一個輸入框讓你輸入,當你輸入的關鍵字在文件中存在就會以高亮的形式顯示出來,之后按回車就確定定位到當前高亮位置,如果不是你要找的,則可以按:"n",意即尋找下一個輸入關鍵字的內(nèi)容。

2. vim恢復以及亂碼問題

(1) 在vi和vim中如果不小心誤刪除了一些東西,想要恢復怎么辦?

首先要退出編輯狀態(tài),即按Esc鍵,之后再按u撤銷之前的修改的內(nèi)容。

(2) 在用vi或vim打開一個文件的時候,如果有些地方出現(xiàn)一些特殊符號或是亂碼,可以通過以下命令嘗試:

vim -b mytest.php(其中-b一般是用來查看對應的二進制文件的)

3. 管道命令,即豎杠-->'|'

上面的意思是:將查詢出來的內(nèi)容交給管道后面的命令裝飾之后再展示出來

例如:cat install.log | more (more的意思是將一屏放不下的內(nèi)容以分頁的形式顯示)

ls -l /etc | more

如果想看上一頁的內(nèi)容,可以通過:Shift + PageUp 來查看

管道配合grep(過濾)可以達到很好用的組合例如:

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開頭第二個字符是任意的,第三個是m,后面的是任意的字符)

find / -size +1000000k (表示在根目錄下查詢文件大于1000000K的文件)

5 字符串替換命令

:s/well/good/替換當前行第一個well 為 good

:s/well/good/g 替換當前行所有well 為 good

:n,$s/well/good/ 替換第 n 行開始到最后一行中每一行的第一個 well 為 good

:n,$s/well/good/g 替換第 n 行開始到最后一行中每一行所有 well 為 good

n 為數(shù)字,若 n 為 .,表示從當前行開始到最后一行

:%s/well/good/ (等同于 :g/well/s//good/) 替換每一行的第一個 well 為 good

:%s/well/good/g (等同于 :g/well/s//good/g) 替換每一行中所有 well 為 good

特殊符號轉(zhuǎn)義:可以使用#作為分隔符,此時中間出現(xiàn)的 / 不會作為分隔符

:s#well/#good/# 替換當前行第一個 well/ 為 good/

:%s#/usr/bin#/bin#g可以把文件中所有路徑/usr/bin換成/bin

6. 重定向命令

ls -l /etc/ 希望

ls -l /etc > /home/myback.txt (覆蓋重定向)把顯示的結果覆蓋到/home/myback.txt中去

ls -l /etc >> /home/myback.txt (追加重定向)把顯示的結果追加到/home/myback.txt中去

7. 刪除多行

刪除多行步驟如下:

1. 首先要顯示對應的行數(shù)這樣方能知道從第幾行到第幾行刪除

: set nu

2. 按Esc鍵退出,在命令行中輸入:190,6233d(即[190 , 6233]都刪除掉)

如果想要情況整個文件內(nèi)容,在直接運行以下命令:

清空文件內(nèi)容:> log.txt

8. 行位定位

直接定位到最后一行:

按Esc鍵退出,在命令行中輸入:G

直接定位到第一行:

按Esc鍵退出,在命令行中輸入:1 G

直接定位到某一行:(第17行)

按Esc鍵退出,在命令行中輸入:17 G

9. 復制一行或多行

<1.?復制一行

yy復制當前行

p粘貼

<2.?復制多行

7yy從當前行開始復制7行

p粘貼

10. Linux中查看python的版本

python -V

或者

python --version

11.grep的用法

<1.?顯示匹配的后n行????(after)

grep-An

<2.?顯示匹配的前n行????(before)

grep-Bn

<3.?顯示匹配的前后n行 (context)

grep-Cn

<4.?忽略大小寫

grep-istr

12. ll或ls顯示說明

ll -ht (h會按照標準格式自動轉(zhuǎn)換大小即:456M,1.2G等,t 表示顯示內(nèi)容按照時間倒序排列)

應用案例:

清空8月份的日志文件:

rm-rf`ll-ht|awk'/8月/{print6,6,NF}'|awk'{print$NF}'`

說明:awk '/pattern/action'--> awk '/8月/{print6,6,NF}',只顯示第六行與最后一行的內(nèi)容且只保留8月的列表內(nèi)容顯示。

ls中文件顏色的顯示代表的意義為:

1.藍色--> 目錄

2.綠色--> 可執(zhí)行文件

3.紅色--> 壓縮文件

4.淺藍色--> 鏈接文件

5.灰色--> 其他文件

13.查看某文件被哪個進程所占用

lsof 文件名

3ac0c6ce-12ea-11ee-962d-dac502259ad0.png

14. 創(chuàng)建用戶以及查看當前用戶

useradd redis

passwd redis

如果是Ubuntu系統(tǒng)則需要使用如下命令:

useradd openstack -m-s/bin/bash

userdel -r openstack

查看當前系統(tǒng)存在的用戶組和用戶

/etc/group文件包含所有組

/etc/shadow和/etc/passwd系統(tǒng)存在的所有用戶名

15. 常用查看文件大小與Linux系統(tǒng)命令

查看內(nèi)存使用情況:free -m (m為MB,g為GB)

3ad43e84-12ea-11ee-962d-dac502259ad0.png

查看對應磁盤使用情況:df -lh

3adc7644-12ea-11ee-962d-dac502259ad0.png

查看對應CPU使用情況:cat /proc/cpuinfo

會有32個大致相同的內(nèi)容展示(下標是從0開始的),這就說明該服務器為8核操作系統(tǒng)

3aece8c6-12ea-11ee-962d-dac502259ad0.png

或者有更牛逼的命令:

cat /proc/cpuinfo | grep "model name" | head -1(只顯示一行對應的CPU型號以及其他信息)

cat /proc/cpuinfo | grep "model name"(系統(tǒng)有幾個核就會顯示幾行)

cat /proc/cpuinfo | grep "model name" | wc -l(統(tǒng)計出一共有多少核)

查看對應服務器版本當前操作系統(tǒng)發(fā)行版信息:cat /etc/issue 或 cat /etc/redhat-release

3b07e6f8-12ea-11ee-962d-dac502259ad0.png

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

3b116e08-12ea-11ee-962d-dac502259ad0.png

如果想查看某個文件夾當前所占用的空間使用:

du -h node (cd /data/solr-4.8.0/)

3b41a046-12ea-11ee-962d-dac502259ad0.png

如果想查看當前目錄下的所有文件各個大小

du -sh * (cd /)

3b73d412-12ea-11ee-962d-dac502259ad0.png

16.查看內(nèi)存情況

<1.? jstat?-gc?pid     可以看到對應各個內(nèi)存大小、使用狀況以及GC處理情況

<2.? jmap?-heap?[pid]?   ?查看內(nèi)存分布

<3.? jstat?-gcutil?[pid]?1000 ?每隔1s輸出java進程的gc情況

17. 修改文件夾及其里面的內(nèi)容的權限

chown -R solr:solr /home/solr/lib

意思是將 /home/solr/lib 文件夾及其里面內(nèi)容的用戶所屬權限修改為solr用戶所屬權限

18. 查看某個端口鏈接狀態(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ù)有哪些,那么直接記住為:-nlap 即可,大部分情況都可以滿足我們的需求

netstat常見參數(shù)如下:

-a (all)顯示所有選項,默認不顯示LISTEN相關

-t (tcp)僅顯示tcp相關選項

-u (udp)僅顯示udp相關選項

-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。

-l 僅列出有在 Listen (監(jiān)聽) 的服務狀態(tài)

-p 顯示建立相關鏈接的程序名

-r 顯示路由信息,路由表

-e 顯示擴展信息,例如uid等

-s 按各個協(xié)議進行統(tǒng)計

-c 每隔一個固定時間,執(zhí)行該netstat命令。

提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到

grep -i(i表示忽略大小寫)

awk '{print $4}'(表示只打印第4列)

grep -i est(est表示:ESTABLISHED,即只顯示ESTABLISHED即連接狀態(tài)的端口)

grep命令最后的那個顯示出來的結果以它進行標紅,即最后一個grep為:grep -i 6379, 那么打印出來的結果其中的6379標紅,結果如下如所示:

3b88c804-12ea-11ee-962d-dac502259ad0.png

19. 同步服務器的時間

ntpdatepool.ntp.org

將這個命令啟用為定時腳本執(zhí)行,具體如下所示:

1 */2 * * * ntpdatepool.ntp.org

20.不允許ssh登錄如何配置

修改vim /etc/sysconfig/sshd_config文件,增加一行:AllowUsers solr,具體如下所示:

3bc58f8c-12ea-11ee-962d-dac502259ad0.png

使其生效運行如下命令:

servicesshdreload

常用系統(tǒng)級配置總結:

1. 限制登錄:/etc/ssh/sshd_config 修改后需重啟:service sshd restart

2. 用戶配置:/etc/passwd

3. sudo權限:/etc/sudoers

21.常用JDK系統(tǒng)環(huán)境變量配置

1.JAVA_HOME=/usr/java/jdk1.7.0_55

2.CLASSPATH=.:$JAVA_HOME/lib.tools.jar

3.PATH=$JAVA_HOME/bin:$PATH

4.exportJAVA_HOME CLASSPATH PATH

22.查看Redis/Tomcat的版本

redis-cli info | grep 'redis_version'

tomcat版本需要進入到安裝目錄下的 bin/ 文件夾:

./version.sh或者sh version.sh

23.怎么看linux的防火墻是否阻止80端口

1iptables -vnL |grep":80 "

返回有內(nèi)容說明開通,沒返回內(nèi)容,則說明阻。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux系統(tǒng)

    關注

    4

    文章

    587

    瀏覽量

    27186
  • python
    +關注

    關注

    53

    文章

    4753

    瀏覽量

    84092
  • CentOS
    +關注

    關注

    0

    文章

    76

    瀏覽量

    13688

原文標題:Linux運維應知必會的23個命令,你用過幾個?

文章出處:【微信號:浩道linux,微信公眾號:浩道linux】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux高效命令總結

    今天浩道跟大家分享高效硬核干貨,分享幾十高效的linux命令。讓你在運維道路上多些高效技能!
    發(fā)表于 09-20 09:06 ?500次閱讀

    40linux高效命令總結

    今天浩道跟大家分享硬核干貨,給大家伙分享40總結好的拿來即用的高效linux命令!
    發(fā)表于 10-24 14:59 ?432次閱讀

    9必會Linux基本命令

    Linux 操作指南通常希望您在終端中執(zhí)行某些操作,這乍一看似乎令人生畏。但不要擔心;這份 Linux 命令備忘單將涵蓋打開終端和發(fā)出一些有用命令的過程。
    發(fā)表于 10-28 10:12 ?696次閱讀

    Linux基本命令總結

    都說Linux命令多,實際工作中我們又有多少命令會接觸用到呢?本文跟大家分享Linux工作中
    的頭像 發(fā)表于 01-11 10:32 ?878次閱讀

    老男孩Linux培訓教程

    `  繼《跟老男孩學習Linux:Web集群實戰(zhàn)》和《跟老男孩學習Linux:Shell
    發(fā)表于 12-15 15:16

    linux命令大全

    Linux高端學習需要掌握大量的命令及相關工具,通讀bash man page、掌握VIM使用、了解SSH是Linux高端
    發(fā)表于 03-15 16:36

    學習Linux發(fā)展方向

     現(xiàn)下Linux應用廣泛,從桌面到服務器,從操作系統(tǒng)到企業(yè)應用,Linux像雨后春筍般迅速成長,Linux人才需求持續(xù)升溫。其中Linux系統(tǒng)
    發(fā)表于 07-25 17:15

    Linux都要會哪些shell技能

    更適合處理復雜的業(yè)務邏輯,以及開發(fā)復雜的軟件工具,實現(xiàn)通過web訪問等。Shell是一命令解釋器,解釋執(zhí)行用戶所輸入的命令和程序。一輸
    發(fā)表于 11-30 17:38

    linux怎么排查

    linux排查常用命令(開發(fā)專享)
    發(fā)表于 11-11 06:34

    利用6 Linux 典型問題來分析處理問題的思路

    結合上面介紹的 Linux 問題的解決思路后,下面我們挑選了6比較典型的 Linux
    的頭像 發(fā)表于 01-13 10:37 ?2862次閱讀

    29條工程師必會實用Linux命令

    雖然Linux發(fā)行版支持各種各樣的餓GUI(graphical user interfaces),但在某些情況下,Linux命令行接口(bash)仍然是簡單快速的。
    的頭像 發(fā)表于 05-05 15:25 ?3244次閱讀
    29條<b class='flag-5'>運</b><b class='flag-5'>維</b>工程師<b class='flag-5'>必會</b>實用<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>

    如何定義linux工程師

    相信讀者們必定聽說過linux,也聽說過工程師。那么工程師是什么概念呢?
    的頭像 發(fā)表于 08-21 15:51 ?3003次閱讀

    Linux工程師的定義

    作爲互聯(lián)網(wǎng)的幕后英雄,Linux工程師臨時藏匿在群眾認知范圍之外,關于的討論依舊是一片無人涉足的荒漠。在某知名行業(yè)研討調(diào)查后果中,非
    的頭像 發(fā)表于 08-31 11:34 ?3751次閱讀

    Linux經(jīng)常使用的40命令總結

    本文檔的主要內(nèi)容詳細介紹的是Linux經(jīng)常使用的40命令總結
    的頭像 發(fā)表于 11-22 11:14 ?2481次閱讀

    常用Linux命令行的用法總結

    今天浩道跟大家分享Linux行規(guī),能否加薪就看你懂不懂Linux23
    發(fā)表于 01-29 11:21 ?389次閱讀