Linux基础命令(1)
1.強(qiáng)大好用的Shell
Shell是一個(gè)命令工具。Shell(也稱終端或殼)充當(dāng)?shù)氖侨伺c內(nèi)核(硬件)之間的翻譯官,用戶把一些命令“告訴”終端,它會(huì)調(diào)用相應(yīng)的程序服務(wù)去完成某些工作。
現(xiàn)在紅帽系統(tǒng)在內(nèi)的許多主流Linux系統(tǒng)默認(rèn)使用的終端是Bash解釋器,它主要有以下4項(xiàng)優(yōu)勢(shì):
①通過上下方向鍵來調(diào)取過往執(zhí)行過的Linux命令;
②命令或參數(shù)僅需輸入前幾位就可以用Tab鍵補(bǔ)全;
③具有強(qiáng)大的批處理腳本;
④具有實(shí)用的環(huán)境變量功能。
2、執(zhí)行查看幫助命令
Linux命令格式:
命令名稱 [命令參數(shù)]? [命令對(duì)象]
注意,命令名稱 、命令參數(shù)、命令對(duì)象之間要用空格鍵隔開。
長格式? man --help
短格式? man -help
首先我們先拿man這個(gè)命令實(shí)現(xiàn)一下
切換到root管理員身份
打開Linux系統(tǒng)命令行終端(我這里使用的是8版本哈)
輸入man man命令查看man命令自身的幫助信息(敲回車鍵即可)
man命令中常用按鍵以及用途
| 按鍵 | 用途 |
| 空格鍵 | 向下翻一頁 |
| PaGe down | 向下翻一頁 |
| PaGe? up | 向上翻一頁 |
| home | 直接前往首頁 |
| end | 直接前往尾頁 |
| / | 從上至下搜素某個(gè)關(guān)鍵詞,如“/linux” |
| ? | 從上至下搜素某個(gè)關(guān)鍵詞,如“?linux” |
| n | 定位到下一個(gè)搜索到的關(guān)鍵詞 |
| N | 定位到上一個(gè)搜索到的關(guān)鍵詞 |
| q | 退出幫助文檔 |
man命令幫助信息的結(jié)構(gòu)意義
| 結(jié)構(gòu)名稱 | 代表意義 |
| NAME | 命令的名稱 |
| SYNOPSIS | 參數(shù)的大致使用方法 |
| DESCRIPTION | 介紹說明 |
| EXAMPLES | 演示(附帶簡(jiǎn)單的說明) |
| OVERVIEW | 概述 |
| DEFAULTS | 默認(rèn)的功能 |
| OPTIONS | 具體的可用選項(xiàng)(帶介紹) |
| ENVIRPNMENT | 環(huán)境變量 |
| FILES | 用到的文件 |
| SEE ALSO | 相關(guān)的資料 |
| HISTORY | 維護(hù)歷史與聯(lián)系方式 |
常用系統(tǒng)工作命令
1、echo命令
echo命令用于在終端輸出字符串或變量提取后的值,格式為:echo [字符串|$變量]
例如:把指定字符串“happy”輸出到終端屏幕的命令為
[root@localhost ~]# echo happy
下面,我們使$變量的方式提取SHELL的值
[root@localhost ~]# echo $SHELL
2、date命令
date命令用于顯示及設(shè)置系統(tǒng)的時(shí)間或日期
格式為:data [選項(xiàng)][+指定的格式]
date命令中參數(shù)及其作用
| 參數(shù) | 作用 |
| %t | 跳格[Tab鍵] |
| %H | 小時(shí)(00-23) |
| %I | 小時(shí)(00-12) |
| %M | 分鐘(00-59) |
| %S | 秒(00-59) |
| %j | 今年中的第幾天 |
按默認(rèn)格式查看當(dāng)前系統(tǒng)時(shí)間的date命令如下
[root@localhost ~]# date
Sun Mar 14 22:42:03 EDT 2021
按照 年-月-日 小時(shí):分鐘:秒 的格式查看當(dāng)前系統(tǒng)時(shí)間的date命令如下
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2021-03-14 22:44:04
將系統(tǒng)的當(dāng)前時(shí)間設(shè)置為2017年8月8日8點(diǎn)28分擔(dān)date命令如下
[root@localhost ~]# date -s "20170808 8:28:00"
Tue Aug? 8 08:28:00 EDT 2017
[root@localhost ~]# date
Tue Aug? 8 08:28:36 EDT 2017
date查看今年是當(dāng)年中的第幾天
[root@localhost ~]# date "+%j"
220
3、reboot命令
reboot命令用于重啟系統(tǒng)(由于重啟計(jì)算機(jī)會(huì)涉及硬件資源的管理權(quán)限,只能使用root管理員來重啟)
[root@localhost ~]# reboot
4、poweroff
poweroff命令用于關(guān)閉系統(tǒng),該命令與reboot命令相同,都會(huì)涉及硬件資源的管理權(quán)限,因此只有root管理員才可以關(guān)閉電腦
[root@localhost ~]# poweroff
5、wegt命令
wegt命令用于在終端下載網(wǎng)絡(luò)文件,格式為“wget[參數(shù)] 下載地址”
wegt命令參數(shù)及其作用
| 參數(shù) | 作用 |
| -b | 后臺(tái)下載模式 |
| -P | 下載到指定目錄 |
| -t | 最大嘗試次數(shù) |
| -c | 斷點(diǎn)續(xù)傳 |
| -p | 下載頁面內(nèi)所有資源,包括圖片視頻 |
| -r | 遞歸下載 |
嘗試使用wegt命令下載
6、ps命令
ps命令用于查看系統(tǒng)中的進(jìn)程狀態(tài),格式為:“ps[參數(shù)]”
ps命令的參數(shù)以及作用
| 參數(shù) | 作用 |
| -a | 顯示所有進(jìn)程(包括其他用戶進(jìn)程) |
| -u | 用戶以及其他詳細(xì)信息 |
| -x | 顯示沒有控制終端的進(jìn)程 |
Linux系統(tǒng)中時(shí)刻運(yùn)行著許多進(jìn)程,如果能夠合理管理它們,則可以優(yōu)化系統(tǒng)的性能。
有五種常見的進(jìn)程狀態(tài),分別為運(yùn)行,中斷,不可中斷,僵死和停止
R(運(yùn)行):進(jìn)程正在運(yùn)行或在運(yùn)行的隊(duì)列中等待
S(中斷):進(jìn)程處于休眠中,當(dāng)某個(gè)條件達(dá)成后或者接收到信號(hào)時(shí),則脫離該狀態(tài)
D(不可中斷):進(jìn)程不響應(yīng)系統(tǒng)異步信號(hào),即便用kill命令也不能將其中斷
Z(僵死):進(jìn)程已經(jīng)終止,但是進(jìn)程描述符依然存在,直到父進(jìn)程調(diào)用wait4()系統(tǒng)函數(shù)后將進(jìn)程釋放
T(停止):進(jìn)程收到停止信號(hào)后停止運(yùn)行。
進(jìn)程狀態(tài)
| USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
| 進(jìn)程所有者 | 進(jìn)程ID | 運(yùn)算器占有率 | 內(nèi)存占用率 | 虛擬內(nèi)存使用量(單位是KB) | 占用的固定內(nèi)存量(單位是KB) | 所在終端 | 進(jìn)程狀態(tài) | 被啟動(dòng)的時(shí)間 | 實(shí)際使用CPU的時(shí)間 | 命令名稱與參數(shù) |
7、top命令
top命令用于動(dòng)態(tài)地監(jiān)視進(jìn)程活動(dòng)與系統(tǒng)負(fù)載調(diào)信息
下圖中每行的意義
第一行:系統(tǒng)時(shí)間,運(yùn)行時(shí)間,登錄終端數(shù),系統(tǒng)負(fù)載(三個(gè)數(shù)值分別為1分鐘,5分鐘,15分鐘內(nèi)的平均值,數(shù)值越小意味著負(fù)載越低)
第二行:進(jìn)程總數(shù),運(yùn)行中的進(jìn)程數(shù),睡眠中的進(jìn)程數(shù),停止的進(jìn)程數(shù),僵死的進(jìn)程數(shù)
第三行:用戶占用資源百分比,系統(tǒng)內(nèi)核占用資源百分比,改變過優(yōu)先級(jí)的進(jìn)程資源百分比,空閑的資源百分比等
第四行:物理內(nèi)存總量,內(nèi)存使用量,內(nèi)存空閑量,虛擬內(nèi)存空閑量,已被提前加載的內(nèi)存量
8、pidof命令
pidof命令用于查看某個(gè)指定服務(wù)進(jìn)程的PID值,格式為:pidof【參數(shù)】【服務(wù)名稱】
[root@localhost ~]# pidof sshd
1022
9、kill命令
kill命令用于終止某個(gè)指定PID的服務(wù)進(jìn)程。
10、killall命令
killall命令用于終止某個(gè)指定名稱的服務(wù)所對(duì)應(yīng)的全部進(jìn)程。
3、系統(tǒng)狀態(tài)監(jiān)測(cè)命令
1、ifconfig命令
ifconfig命令用于獲取網(wǎng)卡配置與網(wǎng)絡(luò)狀態(tài)等信息
2、uname命令
uname命令用于查看系統(tǒng)內(nèi)核與版本等信息
[root@localhost ~]# uname -a
Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
3、uptime命令
uptime命令用于查看系統(tǒng)的負(fù)載信息
[root@localhost ~]# uptime
?23:33:26 up 34 min,? 1 user,? load average: 0.00, 0.00, 0.06
4、free命令
free命令用于顯示當(dāng)前系統(tǒng)中內(nèi)存的使用量信息
[root@localhost ~]# free -h
?????????? 內(nèi)存總量?? 已用量??? 可用量? 進(jìn)程共享的內(nèi)存量?? 磁盤緩存的內(nèi)存量?? 可以用的內(nèi)存量
????????????? total??????? used??????? free????? shared??? buff/cache?? available
Mem:????????? 1.8Gi?????? 1.2Gi?????? 126Mi??????? 14Mi?????? 459Mi?????? 415Mi
Swap:???????? 2.0Gi??????? 10Mi?????? 2.0Gi
5、who命令
who命令用于查看當(dāng)前登入主機(jī)的用戶終端信息
[root@localhost ~]# who
root???? tty2???????? 2021-03-14 23:00 (tty2)
| 登錄的用戶名 | 終端設(shè)備 | 登錄到系統(tǒng)的時(shí)間 |
| root | tty2 | 2021-03-14 23:00 (tty2) |
| ? | ? | ? |
6、last命令
last命令用于查看所有系統(tǒng)的登錄記錄
7、history命令
history命令用于顯示歷史執(zhí)行過的命令
8、sosreport命令
sosreport命令用于收集系統(tǒng)配置及構(gòu)架信息并輸出診斷文檔。
[root@localhost ~]# sosreport
sosreport (version 3.6)
This command will collect diagnostic and configuration information from
this Red Hat Enterprise Linux system and installed applications.
An archive containing the collected information will be generated in
/var/tmp/sos.le34fxce and may be provided to a Red Hat support
representative.
Any information provided to Red Hat will be treated in accordance with
the published support policies at:
? https://access.redhat.com/support/
The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.
No changes will be made to system configuration.
Press ENTER to continue, or CTRL-C to quit.
Please enter the case id that you are generating this report for []:
?Setting up archive ...
?Setting up plugins ...
?Running plugins. Please wait ...?????????????????????????
Finished running plugins????????????????????????????????????????????????????????????? ?
Creating compressed archive...
Your sosreport has been generated and saved in:
? /var/tmp/sosreport-localhost-2021-03-14-odhuaxj.tar.xz
The checksum is: 645e5bd252bfd11b58875d49a169a209
Please send this file to your support representative.
4、工作目錄切換命令
1、pwd命令
pwd命令用于顯示用戶當(dāng)前所處的工作目錄
[root@localhost ~]# pwd
/root
2、cd命令
cd命令用于切換工作路徑,格式為:cd 【目錄名稱】
[root@localhost ~]# cd /etc
[root@localhost etc]#
此時(shí),要返回上一層的目錄1,可執(zhí)行如下命令:
[root@localhost etc]# cd -
/root
[root@localhost ~]#
還可以通過下面的命令快速回到家目錄
[root@localhost ~]# cd /etc
[root@localhost etc]# cd ~
3、ls命令
ls命令用于查看目錄的文件信息,格式為“l(fā)s【選項(xiàng)】【文件】”
如果想要查看目錄屬性信息,則需要額外添加一個(gè)-d參數(shù)
[root@localhost ~]# ls -ld /etc
drwxr-xr-x. 135 root root 8192 Mar 14 22:59 /etc
5、文本文件編輯命令
1、cat命令
cat命令用于查看純文本文件(內(nèi)容比較少的),格式為“cat 【選項(xiàng)】【文件】”。
額外加-n參數(shù),顯示行號(hào)
2、more命令
more命令用于查看純文本文件(內(nèi)容較多的),格式為“more 【選項(xiàng)】文件”
3、head命令
head命令用于查看從未被文檔的前N行,格式為“head 【選項(xiàng)】【文件】”
[root@localhost ~]# head -n 20 initial-setup-ks.cfg
4、tail命令
tail命令用于查看純文本文檔的后N行或持續(xù)刷新內(nèi)容,格式為“tail 【選項(xiàng)】【文件】”
tail命令最強(qiáng)悍的功能是可以持續(xù)刷新一個(gè)文件的內(nèi)容,當(dāng)想要實(shí)時(shí)查看最新的日志文件時(shí),這就特別有用,此時(shí)的命令格式為:tail -f 文件名
5、tr命令
tr命令用于替換文本文件中的字符,格式為 tr 【原始字符】【目標(biāo)字符】
6、wc命令
wc命令用于統(tǒng)計(jì)指定文本的行數(shù),字?jǐn)?shù),字節(jié)數(shù),格式為 wc【參數(shù)】文本
wc參數(shù)以及作用
| 參數(shù) | 作用 |
| -l | 只顯示行數(shù) |
| -w | 只顯示單詞數(shù) |
| -c | 只顯示字節(jié)數(shù) |
[root@localhost ~]# wc -l /etc/passwd
45 /etc/passwd
7、stat命令
stat命令用于查看文件的具體存儲(chǔ)信息和時(shí)等信息,格式為“ stat 文件名稱”
8、cut命令
cut命令用于按“列”提取文本字符,格式為“cut 【參數(shù)】文本”
9、diff命令
diff命令用于比較多個(gè)文本文檔的差異
diff --brief 文件1 文件2? 判斷文件是否相同
diff -c 文件1 文件2? 描述文件內(nèi)容具體的不同
?5、文件目錄管理命令
1、touch命令
touch命令用于創(chuàng)建空白文件或設(shè)置文件的時(shí)間,格式為:“touch 【選項(xiàng)】【文件】”
在創(chuàng)建空白的文本文檔方面,這個(gè)touch相當(dāng)簡(jiǎn)捷。
| 參數(shù) | 作用 |
| -a | 僅修改“讀取時(shí)間” |
| -m | 僅修改“修改時(shí)間” |
| -d | 同時(shí)修改atime和mtime |
我們通過Xshell遠(yuǎn)程連接虛擬機(jī)進(jìn)程操作,方便快捷,不用頻繁切換。
附上Xshell6的安裝包,可能不是最新版本,自行更新也不費(fèi)事哈。
鏈接:https://pan.baidu.com/s/1abe28wTAHsZShB3R9qWIvQ
提取碼:z7q0
接下來我們簡(jiǎn)單實(shí)現(xiàn)touch的功能
建立一個(gè)空白文件
[root@localhost ~]# touch test
查看test文件的修改日期
我們寫入一些內(nèi)容后,繼續(xù)查看時(shí)間
[root@localhost ~]# echo "happy" >> test
[root@localhost ~]# ls -l test
我們?cè)俅瓮ㄟ^touch命令把修改后的文件時(shí)間設(shè)置成修改之前的時(shí)間
[root@localhost ~]# touch -d "2021-03-15 02:08" test
2、mkdir命令
mkdir命令用于創(chuàng)建空白的目錄,格式為:“mkdir 【選項(xiàng)】 目錄”
除了能創(chuàng)建單個(gè)空白目錄之前,mkdir還能結(jié)合-p參數(shù)來遞歸創(chuàng)建出具有嵌套疊層關(guān)系的文件目錄
[root@localhost ~]# mkdir test1
[root@localhost ~]# cd test1/
[root@localhost test1]# mkdir -p a/b/c/d
[root@localhost test1]# cd a
[root@localhost a]# cd b
[root@localhost b]#
3、cp命令
cp命令用于復(fù)制文件或目錄,格式為“cp 【選項(xiàng)】源文件 目標(biāo)文件”
在Linux系統(tǒng)中哦,復(fù)制操作具體分為三種情況:
①如果目標(biāo)文件是目錄,則會(huì)把源文件復(fù)制到該目錄中;
②如果目標(biāo)文件也是普通文件,則會(huì)詢問是否要覆蓋它;
③如果目標(biāo)文件不存在,則執(zhí)行正常的復(fù)制操作
cp命令的參數(shù)及其作用
| 參數(shù) | 作用 |
| -p | 保留原始文件的屬性 |
| -d | 若對(duì)象為“鏈接文件”,則保留該“鏈接文件”的屬性 |
| -r | 遞歸持續(xù)復(fù)制(用于目錄) |
| -i | 若目標(biāo)文件存在則詢問是否覆蓋 |
| -a | 相當(dāng)于-pdr(p、d、r為上述參數(shù)) |
[root@localhost ~]# cp test? testcp
4、mv命令
mv命令用于剪切文件或文件重命名,格式為:“mv 【選項(xiàng)】 源文件 【 目標(biāo)路徑|目標(biāo)文件名】”
剪切操作不同于復(fù)制操作,因?yàn)樗鼤?huì)默認(rèn)把源文件刪除掉,只保留剪切后的文件。如果在同一個(gè)目錄中對(duì)一個(gè)文件進(jìn)行剪切操作,其實(shí)也是對(duì)其進(jìn)行重命名。
[root@localhost ~]# mv testcp? one (看文件時(shí)間)
?5、rm命令
rm命令用于刪除文件或目錄,格式為:“rm 【選項(xiàng)】文件”
刪除文件時(shí),系統(tǒng)會(huì)默認(rèn)向您詢問是否要執(zhí)行刪除操作,如果不想總是看到這種反復(fù)確認(rèn)的信息,可在rm命令后跟上-f的參數(shù)來強(qiáng)制刪除。另外想要?jiǎng)h除一個(gè)目錄,要在rm命令后面跟上一個(gè)-r參數(shù)才可以,否則刪除不掉。
6、dd命令
dd命令用于按照指定大小和個(gè)數(shù)的數(shù)據(jù)塊來復(fù)制文件或轉(zhuǎn)移文件,格式為:“dd【參數(shù)】”
dd命令是一個(gè)比較有特色的一個(gè)命令,它能夠讓用戶按照指定大小和個(gè)數(shù)的數(shù)據(jù)塊來復(fù)制文件的內(nèi)容。
dd命令的參數(shù)及其作用
| 參數(shù) | 作用 |
| if | 輸入的文件名稱 |
| of | 輸出的文件名稱 |
| bs | 設(shè)置每個(gè)“塊”的大小 |
| count | 設(shè)置要復(fù)制“塊”的個(gè)數(shù) |
7、file命令
file命令用于查看文件的類型。格式為:“file 文件名”
6,打包壓縮與搜索命令
1、tar命令
tar命令用于對(duì)文件進(jìn)行打包壓縮或解壓,格式為:“tar 【選項(xiàng)】【文件】”
tar命令的參數(shù)及其作用
| 參數(shù) | 作用 |
| -c | 創(chuàng)建壓縮文件 |
| -x | 解開壓縮文件 |
| -t | 查看壓縮包內(nèi)有那些文件 |
| -z | 用Gzip壓縮或解壓 |
| -j | 用bzip2壓縮或解壓 |
| -v | 顯示壓縮或解壓的過程 |
| -f | 目標(biāo)文件名 |
| -p | 保留原始的權(quán)限和屬性 |
| -P | 使用絕對(duì)路徑來壓縮 |
| -C | 指定解壓到的目錄 |
2、grep命令
grep命令用于1文本執(zhí)行關(guān)鍵詞搜索,并顯示匹配的結(jié)果,格式為:“grep 【選項(xiàng)】【文件】”
grep命令的參數(shù)及其作用
| 參數(shù) | 作用 |
| -b | 將可執(zhí)行的文件當(dāng)做文本文件來搜索 |
| -c | 僅顯示找到的行數(shù) |
| -i | 忽略大小寫 |
| -n | 顯示行號(hào) |
| -v | 反向選擇——僅列出沒有“關(guān)鍵詞”的行 |
3、find命令
find命令用于按照指定條件來查找文件,格式為“find 【查找路徑】尋找條件 操作”
在Linux系統(tǒng)中,搜索工作一般都是通過find命令來完成的,它可以使用不同的文件特性作為尋找條件(如文件名,大小,修改時(shí)間,權(quán)限等信息),一旦匹配成功則默認(rèn)將信息顯示到屏幕上。
find命令中的參數(shù)和作用
| 參數(shù) | 作用 |
| -name | 匹配名稱 |
| -perm | 匹配權(quán)限 |
| -user | 匹配所有者 |
| -group | 匹配所有組 |
| -mtime -n +n | 匹配修改內(nèi)容的時(shí)間 |
| -atime -n +n | 匹配訪問文件的時(shí)間 |
| -ctime -n +n | 匹配修改文件權(quán)限的時(shí)間 |
| -nouser | 匹配無所有者的文件 |
| -newer f1? !f2 | 匹配比文件f1新但比f2舊的文件 |
| -type b/d/c/p/l/f | 匹配文件類型 |
| -size | 匹配文件大小 |
| -prune | 忽略某個(gè)目錄 |
| -exec ··· {}\; | 后面可跟用于進(jìn)一步處理搜索的命令 |
| -nogroup | 匹配無所有組文件 |
?
總結(jié)
以上是生活随笔為你收集整理的Linux基础命令(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国六b对汽车有哪些影响?
- 下一篇: Linux原始网络编程,Linux操作系