Linux服務器運維常用命令總結

1、ip addr   查看本機IP地址

Windows上查看IP地址是ipconfig, Linux上是ifconfig,但是Linux上還有一個命令叫ip addr可以查看IP地址。

2、service network restart  重啓網卡

3、wget命令  下載文件的工具

wget是Linux中的一個下載文件的工具,wget是在Linux下開發的開放源代碼的軟件,作者是Hrvoje Niksic,後來被移植到包括Windows在內的各個平臺上。

它用在命令行下。對於Linux用戶是必不可少的工具,尤其對於網絡管理員,經常要下載一些軟件或從遠程服務器恢復備份到本地服務器。如果我們使用虛擬主機,處理這樣的事務我們只能先從遠程服務器下載到我們電腦磁盤,然後再用ftp工具上傳到服務器。這樣既浪費時間又浪費精力,那不沒辦法的事。而到了Linux VPS,它則可以直接下載到服務器而不用經過上傳這一步。wget工具體積小但功能完善,它支持斷點下載功能,同時支持FTP和HTTP下載方式,支持代理服務器和設置起來方便簡單。下面我們以實例的形式說明怎麼使用wget。

參考鏈接:wget命令詳解

4、rpm -q centos-release  查看centos系統版本

rpm命令是RPM軟件包的管理工具。RPM(Red Hat Package Manager)原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。RPM套件管理方式的出現,讓Linux易於安裝、升級、刪除和查詢軟件信息,間接提升了Linux的適用度。

rpm常見命令參數:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

 用法: rpm [選項...]

-a:查詢所有套件;

-b<完成階段><套件檔>+或-t <完成階段><套件檔>+:設置包裝套件的完成階段,並指定套件檔的文件名稱;

-c:只列出組態配置文件,本參數需配合"-l"參數使用;

- d:只列出文本文件,本參數需配合"-l"參數使用;

-e<套件檔>或--erase<套件檔>:刪除指定的套件;

-f<文件>+:查詢擁有指定文件的套件;

-h或--hash:套件安裝時列出標記;

-i:顯示套件的相關信息;

-i<套件檔>或--install<套件檔>:安裝指定的套件檔;

-l:顯示套件的文件列表;

-p<套件檔>+:查詢指定的RPM套件檔;

-q:使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶;

-R:顯示套件的關聯性信息;

-s:顯示文件狀態,本參數需配合"-l"參數使用;

-U<套件檔>或--upgrade<套件檔>:升級指定的套件檔;

-v:顯示指令執行過程;

-vv:詳細顯示指令執行過程,便於排錯。  

5、rz 和sz 文件名   跨系統文件上傳和下載

有時候想在windows和linux之間上傳或下載某個文件,其實有個很簡單的方法就是rz,sz命令。

首先,你的遠程Linux服務器上需要安裝安裝lrzsz工具包,yum  install lrzsz,安裝完畢即可使用。

然後,rz 與 sz 需要你的終端支持(即rz命令是在客戶端裏面執行的)。終端就是你用來連接遠程服務器的客戶端,像是 XShell、SecureCRT、rxvt、putty 什麼的,用來訪問管理遠程或虛擬化的UNIX/Linux桌面環境,

rz,sz是便是Linux/Unix同Windows進行件傳輸的命令行工具

rz、sz 命令可以很方便的將本地的文件上傳到服務器或者從服務器上下載文件到本地,但是一般 Linux 系統並沒有默認安裝這兩個工具。

①Linux服務器端安裝

要是Linux服務器不支持rz、sz命令的話,需要安裝lrzsz 工具以支持

yum install lrzsz -y

②客戶端使用

上傳:

rz     本地上傳文件到服務器

下載:

sz  文件名     從服務器下載文件到本地

本人使用的客戶端是XShell

在XShell裏面輸入rz命令就可以出現本地窗口,供我們選擇文件上傳

6、systemctl start mysqld.service   負責控制systemd系統和服務管理器

其中的一般start或restart是沒有結果直接返回的,要查看啓動結果,可以用命令:systemctl status mysqld.service

以前都用service命令管理mysql,現在liunx系統升級了,又有了新的更好的方法管理系統進程,現在我們來學習如何用systemctl命令管理mysql。

Systemctl是一個systemd工具,主要負責控制systemd系統和服務管理器。
Systemd是一個系統管理守護進程、工具和庫的集合,用於取代System V初始進程。Systemd的功能是用於集中管理和配置類UNIX系統。
在Linux生態系統中,Systemd被部署到了大多數的標準Linux發行版中,只有爲數不多的幾個發行版尚未部署。Systemd通常是所有其它守護進程的父進程,但並非總是如此。

啓動mysql服務

systemctl start mysqld.service

停止mysql服務

systemctl stop mysqld.service

重啓mysql服務

systemctl restart mysqld.service

查看mysql服務當前狀態

systemctl status mysqld.service

設置mysql服務開機自啓動

systemctl enable mysqld.service

停止mysql服務開機自啓動

systemctl disable mysqld.service

7、cat filename和| grep "字符串"有什麼區別

問題:

執行cat filename  | grep "字符串"和 grep "字符串" {文件名}命令,結果雖然是一樣的,但是執行的流程有什麼區別?

答案:

cat會一次性顯示所有的內容,適合查看內容較少的文i本文件。

管道“|”用來將前一個命令的標準輸出傳遞到下一個命令的標準輸入

grep "字符串" {文件名}  根據用戶指定的文本模式對目標文件進行逐行搜索,顯示能夠被模式所匹配到的行。

①cat filename命令

cat 命令用於連接文件並打印到標準輸出設備上。

cat主要有三大功能: 1.一次顯示整個文件。$ cat filename 2.從鍵盤創建一個文件。$ cat > filename  只能創建新文件,不能編輯已有文件. 3.將幾個文件合併爲一個文件: $cat file1 file2 > file

語法格式

cat [-AbeEnstTuv] [--help] [--version] fileName

參數說明:

-n 或 --number:由 1 開始對所有輸出的行數編號。

-b 或 --number-nonblank:和 -n 相似,只不過對於空白行不編號。

-s 或 --squeeze-blank:當遇到有連續兩行以上的空白行,就代換爲一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符號,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行結束處顯示 $。

-T 或 --show-tabs: 將 TAB 字符顯示爲 ^I。

-A, --show-all:等價於 -vET。

-e:等價於"-vE"選項;

-t:等價於"-vT"選項;

實例:

把 textfile1 的文檔內容加上行號後輸入 textfile2 這個文檔裏:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文檔內容加上行號(空白行不加)之後將內容附加到 textfile3 文檔裏:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文檔內容:

cat /dev/null > /etc/test.txt

cat 也可以用來製作鏡像文件。例如要製作軟盤的鏡像文件,將軟盤放好後輸入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 寫到軟盤,輸入:

cat IMG_FILE > /dev/fd0

  • 1. OUTFILE 指輸出的鏡像文件名。
  • 2. IMG_FILE 指鏡像文件。
  • 3. 若從鏡像文件寫回 device 時,device 容量需與相當。
  • 4. 通常用製作開機磁片。

②grep命令

grep(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

語法:

grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]

參數:

-a或--text 不要忽略二進制的數據。
-A<顯示列數>或--after-context=<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之後的內容。
-b或--byte-offset 在顯示符合範本樣式的那一列之前,標示出該列第一個字符的位編號。
-B<顯示列數>或--before-context=<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前的內容。
-c或--count 計算符合範本樣式的列數。
-C<顯示列數>或--context=<顯示列數>或-<顯示列數> 除了顯示符合範本樣式的那一列之外,並顯示該列之前後的內容。
-d<進行動作>或--directories=<進行動作> 當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep指令將回報信息並停止動作。
-e<範本樣式>或--regexp=<範本樣式> 指定字符串做爲查找文件內容的範本樣式。
-E或--extended-regexp 將範本樣式爲延伸的普通表示法來使用。
-f<範本文件>或--file=<範本文件> 指定範本文件,其內容含有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式爲每列一個範本樣式。
-F或--fixed-regexp 將範本樣式視爲固定字符串的列表。
-G或--basic-regexp 將範本樣式視爲普通的表示法來使用。
-h或--no-filename 在顯示符合範本樣式的那一列之前,不標示該列所屬的文件名稱。
-H或--with-filename 在顯示符合範本樣式的那一列之前,表示該列所屬的文件名稱。
-i或--ignore-case 忽略字符大小寫的差別。
-l或--file-with-matches 列出文件內容符合指定的範本樣式的文件名稱。
-L或--files-without-match 列出文件內容不符合指定的範本樣式的文件名稱。
-n或--line-number 在顯示符合範本樣式的那一列之前,標示出該列的列數編號。
-q或--quiet或--silent 不顯示任何信息。
-r或--recursive 此參數的效果和指定"-d recurse"參數相同。
-s或--no-messages 不顯示錯誤信息。
-v或--revert-match 反轉查找。
-V或--version 顯示版本信息。
-w或--word-regexp 只顯示全字符合的列。
-x或--line-regexp 只顯示全列符合的列。
-y 此參數的效果和指定"-i"參數相同。
--help 在線幫助。

舉例:

yum list installed | grep java  顯示匹配已安裝的java的軟件包

8、more和less命令的區別
more: 顧名思義顯示更多
less: 由於more不能後退,就取more的反義詞less加上後退功能
所以Linux裏流傳着這樣一句話:"less is more".

總結下more 和 less的區別:

平常工作中經常需要查看很大的文本文件,如果用vi打開的話會非常慢,我們平常都用less,less比more更強大更易用。

1.  less可以按鍵盤上下方向鍵顯示上下內容,more不能通過上下方向鍵控制顯示

2.  less不必讀整個文件,加載速度會比more更快

3.  less退出後shell不會留下剛顯示的內容,而more退出後會在shell上留下剛顯示的內容

① more   分頁顯示大文本文件

格式:

more [-OPTION] [FILE]

參數:

-f:強制打開特殊文件,如目錄或二進制文件

-n:每頁行數。(可以理解爲每按一下空格,跳轉的行數)

+n:從第n行開始顯示

-s:將連續空行顯示爲一行

+/pattern: 搜索字符串(pattern), more的搜索功能好難用,還是用less的吧。

操作:

空格鍵:下一頁

Enter:向下一行

q:退出

②less  分頁顯示大文本文件,支持後退到上一頁

格式:

less [-OPTION] [FILE]

參數:

-f:強制打開特殊文件,如目錄或二進制文件

-i: 忽略搜索時的大小寫

-s:將連續空行顯示爲一行

-N:顯示行號

操作:

空格鍵:向下滾動一頁

Enter:向下滾動一行

pageup:向上滾動一頁

pagedown:向下滾動一頁

?:向上搜索字符串

/:向下搜索字符串

n:上一個搜索結果

N:下一個搜索結果

more和less都可以直接打開文件也可以接收標準輸入:

less test.txt
cat less.txt | lessmore

可以設置每頁顯示的行數,less不可以。但是less的搜索功能更強大,所以根據需求選擇適當的命令

9、firewall防火牆相關命令

在 Centos 7 中防火牆由 firewalld 來管理,而不是 iptables。

9.0.查看已經開放的端口

firewall-cmd --list-ports  

9.1. 查看防火牆狀態

firewall-cmd --state  ## 結果顯示爲running或not running

9.2. 關閉防火牆firewall和禁止防火牆開機啓動

systemctl stop firewalld.service

systemctl disable firewalld.service

9.3. 關閉防火牆firewall後開啓

systemctl start firewalld.service

9.4. 開啓端口

Centos7 firewall開放3306端口:

## zone -- 作用域
## add-port=80/tcp -- 添加端口,格式爲:端口/通訊協議
## permanent -- 永久生效,沒有此參數重啓後失效

firewall-cmd --zone=public --add-port=3306/tcp --permanent
## 開啓3306端口後,workbench或naivcat 就能連接到MySQL數據庫了

9.5. 重啓防火牆

firewall-cmd --reload

9.6. 常用命令介紹

firewall-cmd --state                           ##查看防火牆狀態,是否是running
firewall-cmd --reload                          ##重新載入配置,比如添加規則之後,需要執行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服務,在列表中的服務是放行的
firewall-cmd --query-service ftp               ##查看ftp服務是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##臨時開放ftp服務
firewall-cmd --add-service=ftp --permanent     ##永久開放ftp服務
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服務
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看規則,這個命令是和iptables的相同的
man firewall-cmd                               ##查看幫助
systemctl status firewalld.service                               ##查看防火牆狀態
systemctl [start|stop|restart] firewalld.service                 ##啓動|關閉|重新啓動  防火牆

##查詢端口號80 是否開啓
firewall-cmd --query-port=80/tcp

更多命令,使用 firewall-cmd --help 查看幫助文件

10、未完待續....

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章