常用linux命令,開發(fā)必備-速收藏
在前面我們介紹了通過VirtualBox安裝Linux的方法,參考:
一網(wǎng)打盡,一文講通虛擬機(jī)VirtualBox及Linux使用
本文我們將介紹在使用linux的過程中常用的一些Linux命令,掌握這些常用命令,對操作linux是非常的有幫助,本文基于CentOS7.6。

常見執(zhí)行Linux命令的格式是這樣的: 命令名稱 [命令參數(shù)] [命令對象]
注意,命令名稱、命令參數(shù)、命令對象之間請用空格鍵分隔。
命令對象一般是指要處理的文件、目錄、用戶等資源,而命令參數(shù)可以用長格式(完整的選項名稱),
也可以用短格式(單個字母的縮寫),兩者分別用--與-作為前綴

目前市面上較知名的發(fā)行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

1、系統(tǒng)服務(wù)管理
1.1、systemctl
Linux 服務(wù)管理兩種方式service和systemctl
systemd是Linux系統(tǒng)最新的初始化系統(tǒng)(init),作用是提高系統(tǒng)的啟動速度,盡可能啟動較少的進(jìn)程,盡可能更多進(jìn)程并發(fā)啟動。systemd對應(yīng)的進(jìn)程管理命令是systemctl,systemctl命令兼容了service。
systemctl 提供了一組子命令來管理單個的 unit,其命令格式為:
systemctl [command] [unit]
command 主要有:
start:立刻啟動后面接的 unit。
stop:立刻關(guān)閉后面接的 unit。
restart:立刻關(guān)閉后啟動后面接的 unit,亦即執(zhí)行 stop 再 start 的意思。
reload:不關(guān)閉 unit 的情況下,重新載入配置文件,讓設(shè)置生效。
enable:設(shè)置下次開機(jī)時,后面接的 unit 會被啟動。
disable:設(shè)置下次開機(jī)時,后面接的 unit 不會被啟動。
status:目前后面接的這個 unit 的狀態(tài),會列出有沒有正在執(zhí)行、開機(jī)時是否啟動等信息。
is-active:目前有沒有正在運行中。
is-enable:開機(jī)時有沒有默認(rèn)要啟用這個 unit。
kill :不要被 kill 這個名字嚇著了,它其實是向運行 unit 的進(jìn)程發(fā)送信號。
show:列出 unit 的配置。
mask:注銷 unit,注銷后你就無法啟動這個 unit 了。
unmask:取消對 unit 的注銷。
- 輸出系統(tǒng)中各個服務(wù)的狀態(tài):
systemctl list-units --type=service

- 查看服務(wù)的運行狀態(tài):
systemctl status firewalld

- 關(guān)閉服務(wù):
systemctl stop firewalld

- 啟動服務(wù):
systemctl start firewalld

- 重新啟動服務(wù)(不管當(dāng)前服務(wù)是啟動還是關(guān)閉):
systemctl restart firewalld
- 重新載入配置信息而不中斷服務(wù):
systemctl reload firewalld
- 禁止服務(wù)開機(jī)自啟動:
systemctl disable firewalld

- 設(shè)置服務(wù)開機(jī)自啟動:
systemctl enable firewalld

2、文件管理
2.1、ls
Linux ls(英文全拼:list files)命令用于顯示指定工作目錄下之內(nèi)容(列出目前工作目錄所含之文件及子目錄)。

在 Linux 系統(tǒng)中,有幾個目錄是比較重要的,平時需要注意不要誤刪除或者隨意更改內(nèi)部文件。
/etc: 這個是系統(tǒng)中的配置文件,如果你更改了該目錄下的某個文件可能會導(dǎo)致系統(tǒng)不能啟動。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統(tǒng)預(yù)設(shè)的執(zhí)行文件的放置目錄,比如 ls 就是在 /bin/ls 目錄下的。
值得提出的是,/bin, /usr/bin 是給系統(tǒng)用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給 root 使用的指令。
/var: 這是一個非常重要的目錄,系統(tǒng)上跑了很多程序,那么每個程序都會有相應(yīng)的日志產(chǎn)生,而這些日志就被記錄到這個目錄下,具體在 /var/log 目錄下,另外 mail 的預(yù)設(shè)放置也是在這里。
語法:ls [-alrtAFR] [name...]
- -a 顯示所有文件及目錄 (. 開頭的隱藏文件也會列出)
- -l 除文件名稱外,亦將文件型態(tài)、權(quán)限、擁有者、文件大小等資訊詳細(xì)列出
- -r 將文件以相反次序顯示(原定依英文字母次序)
- -t 將文件依建立時間之先后次序列出
- -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
- -F 在列出的文件名稱后加一符號;例如可執(zhí)行檔則加 "*", 目錄則加 "/"
- -R 若目錄下有文件,則以下之文件亦皆依序列出
ls -l /

2.2、pwd
pwd(英文全拼:print work directory) 命令用于顯示工作目錄。
執(zhí)行 pwd 指令可立刻得知您目前所在的工作目錄的絕對路徑名稱。

2.3、cd
cd(英文全拼:change directory)命令用于切換當(dāng)前工作目錄。
cd [dirName]
其中 dirName 表示法可為絕對路徑或相對路徑。若目錄名稱省略,則變換至使用者的 home 目錄 (也就是剛 login 時所在的目錄)。
另外,~ 也表示為 home 目錄 的意思, . 則是表示目前所在的目錄, .. 則表示目前目錄位置的上一層目錄。
cd /usr/local


2.4、date
date命令可以用來顯示或設(shè)定系統(tǒng)的日期與時間,在顯示方面,使用者可以設(shè)定欲顯示的格式,格式設(shè)定為一個加號后接數(shù)個標(biāo)記。
date '+%Y-%m-%d %H:%M:%S'

2.5、passwd
用于設(shè)置用戶密碼:
語法:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
必要參數(shù):
-
-d 刪除密碼
-
-f 強(qiáng)迫用戶下次登錄時必須修改口令
-
-w 口令要到期提前警告的天數(shù)
-
-k 更新只能發(fā)送在過期之后
-
-l 停止賬號使用
-
-S 顯示密碼信息
-
-u 啟用已被停止的賬戶
-
-x 指定口令最長存活期
-
-g 修改群組密碼
-
指定口令最短存活期
-
-i 口令過期后多少天停用賬戶

passwd yonghu

2.6、su
su(英文全拼:swith user)命令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。改變用戶身份(切換到超級用戶)
語法:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
事例:su -
2.7、clear
用于清除屏幕信息
2.8、man
顯示指定命令的幫助信息:
man ls

2.9、who
who命令用于顯示系統(tǒng)中有哪些使用者正在上面,顯示的資料包含了使用者 ID、使用的終端機(jī)、從哪邊連上來的、上線時間、呆滯時間、CPU 使用量、動作等等。
- 查詢系統(tǒng)處于什么運行級別:
who -r

- 顯示目前登錄到系統(tǒng)的用戶:
who -buT

2.10、free
顯示系統(tǒng)內(nèi)存狀態(tài)(單位MB),會顯示內(nèi)存的使用情況,包括實體內(nèi)存,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段,以及系統(tǒng)核心使用的緩沖區(qū)等。
語法:free [-bkmotV][-s <間隔秒數(shù)>]
事例:free -m

2.11、ps
ps (英文全拼:process status)命令用于顯示當(dāng)前進(jìn)程的狀態(tài),類似于 windows 的任務(wù)管理器。
顯示系統(tǒng)進(jìn)程運行動態(tài):
ps -ef
查看sshd進(jìn)程的運行動態(tài):
ps -ef | grep sshd

2.12、top
查看即時活躍的進(jìn)程,top命令是Linux下常用的性能分析工具,能夠?qū)崟r顯示Linux系統(tǒng)中各個進(jìn)程的資源占用狀況,類似于Windows系統(tǒng)的任務(wù)管理器功能。
top命令的語法格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
常用參數(shù)說明
d 指定每兩次屏幕信息刷新之間的時間間隔。當(dāng)然用戶可以使用s交互命令來改變之。
p 通過指定監(jiān)控進(jìn)程ID,僅僅監(jiān)控某個進(jìn)程的狀態(tài)。
q 該選項將使top沒有任何延遲的進(jìn)行刷新。如果調(diào)用程序有超級用戶權(quán)限,那么top將以盡可能高的優(yōu)先級運行。
S 指定累計模式
s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
i 使top不顯示任何閑置或者僵死進(jìn)程。
c 顯示整個命令行而不只是顯示命令名

2.13、mkdir
mkdir(英文全拼:make directory)命令用于創(chuàng)建目錄。
語法:mkdir [-p] dirName

2.14、more
more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。
如:用于文件過長時分頁查看文件內(nèi)容 每頁10行查看core50test.out.log文件
more -c -10 /root/app_data/data/logs/core50test/core50test.out.log

2.15、cat
查看Linux啟動日志文件,并標(biāo)明行號:
cat -Ab /var/log/boot.log

2.16、touch
創(chuàng)建text.txt文件:
touch text.txt

2.17、rm
rm(英文全拼:remove)命令用于刪除一個文件或者目錄。
語法
rm [options] name...
參數(shù):
-
-i 刪除前逐一詢問確認(rèn)。
-
-f 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無需逐一確認(rèn)。
-
-r 將目錄及以下之檔案亦逐一刪除。
事例:
- 刪除文件:
rm text.txt

- 強(qiáng)制刪除某個目錄及其子目錄:
rm -rf testdir/

2.18、cp
將test1目錄復(fù)制到test2目錄
cp -r /mydata/test1 /mydata/test2
2.19、mv
移動或覆蓋文件:
mv text.txt text2.txt
3、壓縮與解壓
3.1、tar
tar(英文全拼:tape archive )命令用于備份文件。tar 是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內(nèi)的文件。
- 將/etc文件夾中的文件歸檔到文件etc.tar(并不會進(jìn)行壓縮):
tar -cvf /root/mydata/etc.tar /etc
- 用gzip壓縮文件夾/etc中的文件到文件etc.tar.gz:
tar -zcvf /root/mydata/etc.tar.gz /etc
- 用bzip2壓縮文件夾/etc到文件/etc.tar.bz2:
tar -jcvf /root/mydata/etc.tar.bz2 /etc

- 分頁查看壓縮包中內(nèi)容(gzip):
tar -ztvf /root/mydata/etc.tar.gz |more -c -10

- 解壓文件到當(dāng)前目錄(gzip):
tar -zxvf /root/mydata/etc.tar.gz
4、磁盤和網(wǎng)絡(luò)管理
4.1、df
df(英文全拼:disk free) 命令用于顯示目前在 Linux 系統(tǒng)上的文件系統(tǒng)磁盤使用情況統(tǒng)計。
df -hT

4.2、du
du (英文全拼:disk usage)命令用于顯示目錄或文件的大小。du 會顯示指定的目錄或文件所占用的磁盤空間。
du -h --max-depth=1 ./*

4.3、ifconfig
顯示當(dāng)前網(wǎng)絡(luò)接口狀態(tài)

4.4、netstat
netstat 命令用于顯示網(wǎng)絡(luò)狀態(tài)。利用 netstat 指令可讓你得知整個 Linux 系統(tǒng)的網(wǎng)絡(luò)情況。
- 查看當(dāng)前路由信息:
netstat -rn

- 查看所有有效TCP連接:
netstat -an
- 查看系統(tǒng)中啟動的監(jiān)聽服務(wù):
netstat -tulnp

- 查看處于連接狀態(tài)的系統(tǒng)資源信息:
netstat -atunp

4.5、wget
wget是Linux中的一個下載文件的工具,wget是在Linux下開發(fā)的開放源代碼的軟件,作者是Hrvoje Niksic,后來被移植到包括Windows在內(nèi)的各個平臺上。
對于Linux用戶是必不可少的工具,尤其對于網(wǎng)絡(luò)管理員,經(jīng)常要下載一些軟件或從遠(yuǎn)程服務(wù)器恢復(fù)備份到本地服務(wù)器。如果我們使用虛擬主機(jī),處理這樣的事務(wù)我們只能先從遠(yuǎn)程服務(wù)器下載到我們電腦磁盤,然后再用ftp工具上傳到服務(wù)器。這樣既浪費時間又浪費精力,那不沒辦法的事。而到了Linux VPS,它則可以直接下載到服務(wù)器而不用經(jīng)過上傳這一步。wget工具體積小但功能完善,它支持?jǐn)帱c下載功能,同時支持FTP和HTTP下載方式,支持代理服務(wù)器和設(shè)置起來方便簡單。
如果不能使用,請先安裝wget
yum install -y wget
查看幫助手冊
wget --help

a、使用 wget 下載單個文件
以下的例子是從網(wǎng)絡(luò)下載一個文件并保存在當(dāng)前目錄
在下載的過程中會顯示進(jìn)度條,包含(下載完成百分比,已經(jīng)下載的字節(jié),當(dāng)前下載速度,剩余下載時間)。
wget http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

b、使用 wget -O 下載并以不同的文件名保存
wget -O wordpress.tar.gz http://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
**c、使用 wget -c 斷點續(xù)傳 **
使用wget -c重新啟動下載中斷的文件:
對于我們下載大文件時突然由于網(wǎng)絡(luò)等原因中斷非常有幫助,我們可以繼續(xù)接著下載而不是重新下載一個文件
wget -c https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
d、使用 wget -b 后臺下載
對于下載非常大的文件的時候,我們可以使用參數(shù)-b進(jìn)行后臺下載
[root@network test]# wget -b https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
你可以使用以下命令來察看下載進(jìn)度
tail -f wget-log
5、軟件的安裝與管理
5.1、rpm
rpm(英文全拼:redhat package manager) 命令用于管理套件。 原本是 Red Hat Linux 發(fā)行版專門用來管理 Linux 各項套件的程序,由于它遵循 GPL 規(guī)則且功能強(qiáng)大方便,因而廣受歡迎。逐漸受到其他發(fā)行版的采用。RPM 套件管理方式的出現(xiàn),讓 Linux 易于安裝,升級,間接提升了 Linux 的適用度。
-
安裝軟件包:rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
-
模糊搜索軟件包:rpm -qa | grep nginx
-
精確查找軟件包:rpm -qa nginx
-
查詢軟件包的安裝路徑:rpm -ql nginx-1.12.2-2.el7.x86_64
-
查看軟件包的概要信息:rpm -qi nginx-1.12.2-2.el7.x86_64
-
驗證軟件包內(nèi)容和安裝文件是否一致:rpm -V nginx-1.12.2-2.el7.x86_64
-
更新軟件包:rpm -Uvh nginx-1.12.2-2.el7.x86_64
-
刪除軟件包:rpm -e nginx-1.12.2-2.el7.x86_64
用法: rpm [選項...] -a:查詢所有套件; -b<完成階段><套件檔>+或-t <完成階段><套件檔>+:設(shè)置包裝套件的完成階段,并指定套件檔的文件名稱; -c:只列出組態(tài)配置文件,本參數(shù)需配合``"-l"``參數(shù)使用; -d:只列出文本文件,本參數(shù)需配合``"-l"``參數(shù)使用; -e<套件檔>或--erase<套件檔>:刪除指定的套件; -f<文件>+:查詢擁有指定文件的套件; -h或--``hash``:套件安裝時列出標(biāo)記; -i:顯示套件的相關(guān)信息; -i<套件檔>或--``install``<套件檔>:安裝指定的套件檔; -l:顯示套件的文件列表; -p<套件檔>+:查詢指定的RPM套件檔; -q:使用詢問模式,當(dāng)遇到任何問題時,rpm指令會先詢問用戶; -R:顯示套件的關(guān)聯(lián)性信息; -s:顯示文件狀態(tài),本參數(shù)需配合``"-l"``參數(shù)使用; -U<套件檔>或--upgrade<套件檔>:升級指定的套件檔; -``v``:顯示指令執(zhí)行過程; -vv:詳細(xì)顯示指令執(zhí)行過程,便于排錯。
5.2、yum
yum(Yellow dog Updater Modified)是CentOS中屬于RPM前端軟件包管理器,能從指定的服務(wù)器中下載RPM包,并自動分析和處理RPM包之間的依賴關(guān)系,最后將依次所依賴的軟件包都安裝了,而無需繁瑣的一個一個安裝。
yum 語法
yum [options] [command] [package ...]
- options:可選,選項包括-h(幫助),-y(當(dāng)安裝過程提示選擇全部為 "yes"),-q(不顯示安裝的過程)等等。
- command:要進(jìn)行的操作。
- package:安裝的包名
yum常用命令
-
安裝軟件包: yum install nginx
-
刪除軟件包命令:**yum remove **
-
檢查可以更新的軟件包:yum check-update
-
清除緩存命令:
- yum clean packages: 清除緩存目錄下的軟件包
- yum clean headers: 清除緩存目錄下的 headers
- yum clean oldheaders: 清除緩存目錄下舊的 headers
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的 headers
-
更新指定的軟件包:yum update nginx
-
在資源庫中查找軟件包信息:刪除軟件包命令:**yum remove **

-
列出已經(jīng)安裝的所有軟件包:yum info installed
-
列出軟件包名稱:yum list nginx*

-
模糊搜索軟件包:yum search nginx


一文講通.NET Core部署到Windows IIS最全解決方案]
.NET Core部署到linux(CentOS)最全解決方案,常規(guī)篇
.NET Core部署到linux(CentOS)最全解決方案,進(jìn)階篇(Supervisor+Nginx)
.NET Core部署到linux(CentOS)最全解決方案,高階篇(Docker+Nginx 或 Jexus)
.NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現(xiàn)持續(xù)集成、自動化部署)
一網(wǎng)打盡,一文講通虛擬機(jī)VirtualBox及Linux使用
全新跨平臺版本.NET敏捷開發(fā)框架-RDIFramework.NET5.0震撼發(fā)布
RDIFramework.NET敏捷開發(fā)框架助力企業(yè)BPM業(yè)務(wù)流程系統(tǒng)的開發(fā)與落地
通過SignalR技術(shù)整合即時通訊(IM)在.NET敏捷開發(fā)框架中落地
一路走來數(shù)個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。
RDIFramework.NET官方網(wǎng)站:http://www.rdiframework.net/
RDIFramework.NET官方博客:http://blog.rdiframework.net/
特別說明,框架相關(guān)的技術(shù)文章請以官方網(wǎng)站為準(zhǔn),歡迎大家收藏!
RDIFramework.NET框架由海南國思軟件科技有限公司專業(yè)團(tuán)隊長期打造、一直在更新、一直在升級,請放心使用!
歡迎關(guān)注RDIFramework.NET框架官方微信公眾號(微信號:guosisoft),及時了解最新動態(tài)。
使用微信掃描二維碼立即關(guān)注

作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機(jī)號)
框架官網(wǎng):
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發(fā)框架
,
給用戶和開發(fā)者最佳的.Net框架平臺方案,為企業(yè)快速構(gòu)建跨平臺、企業(yè)級的應(yīng)用提供強(qiáng)大支持。
關(guān)于作者:系統(tǒng)架構(gòu)師、信息系統(tǒng)項目管理師、DBA。專注于微軟平臺項目架構(gòu)、管理和企業(yè)解決方案,多年項目開發(fā)與管理經(jīng)驗,曾多次組織并開發(fā)多個大型項目,在面向?qū)ο蟆⒚嫦蚍?wù)以及數(shù)據(jù)庫領(lǐng)域有一定的造詣。現(xiàn)主要從事基于
RDIF
框架的技術(shù)開發(fā)、咨詢工作,主要服務(wù)于金融、醫(yī)療衛(wèi)生、鐵路、電信、物流、物聯(lián)網(wǎng)、制造、零售等行業(yè)。
如有問題或建議,請多多賜教!
本文版權(quán)歸作者和CNBLOGS博客共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯(lián)系我,非常感謝。

浙公網(wǎng)安備 33010602011771號