重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
Linux常用的命令可以分為以下幾類:安裝和登錄命令、文件處理命令、系統管理相關命令、網絡操作命令、系統安全相關命令、其它命令。
創新互聯建站長期為上千客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為保靖企業提供專業的網站設計、網站制作,保靖網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。
安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
網絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux簡介
Linux,全稱GNU/Linux,是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統。伴隨著互聯網的發展,Linux得到了來自全世界軟件愛好者、組織、公司的支持。
它除了在服務器方面保持著強勁的發展勢頭以外,在個人電腦、嵌入式系統上都有著長足的進步。使用者不僅可以直觀地獲取該操作系統的實現機制,而且可以根據自身的需要來修改完善Linux,使其最大化地適應用戶的需要。
Linux不僅系統性能穩定,而且是開源軟件。其核心防火墻組件性能高效、配置簡單,保證了系統的安全。在很多企業網絡中,為了追求速度和安全,Linux不僅僅是被網絡運維人員當作服務器使用,甚至當作網絡防火墻,這是Linux的一大亮點。
不同版本的Linux命令數量不一樣,這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統中的作用分成幾個部分介紹給,通過這些基礎命令的學習可以進一步理解Linux系統:
安裝和登錄命令:login、shutdown、halt、reboot、mount、umount、chsh。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統管理相關命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last。
網絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup。
學習linux注意事項
1、Linux嚴格區分大小寫。
2、Linux所有的存儲設備都必須掛載之后用戶才能使用,包括硬盤、U盤和光盤。
3、Windows下的程序不能直接在Linux中安裝和運行。
查看CPU信息可以使用lscpu命令
從命令的輸出結果可以看得出來CPU的型號是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同時可以執行四個任務。
如果想要同時執行更多的任務,可以在VMware WorkStation中修改,修改完成以后會立即生效。
除了lscpu以外,還可以使用cat /proc/cpuinfo命令查看CPU信息,不過它是以每核分開顯示的。
使用free或者是cat /proc/meminfo可以查看當前系統的內存信息,包括總內存、已經使用內存以及可用內存信息
Linux和Windows不同的是Linux的圖形界面只是它的一個程序,而不是必備組件。我們之前安裝CentOS8.4選擇的Server With GUI包含GNOME桌面的圖形環境,我們可以使用init 3命令關閉圖形,CentOS8會出現一個字符登錄界面。
然后再使用free -h觀察已經使用的內存只有334M,相比圖形界面的730M 減少了接近400M內存,為了節省內存,生產環境一般不會安裝和使用圖形界面。
想要再切回圖形界面使用init 5命令即可。
還可以使用runlevel命令查看當前系統運行的模式,其中輸出結果的3表示之前是字符界面,5表示當前系統運行的是圖形界面
使用lsblk命令可以查看磁盤信息,包括有幾塊磁盤以及每塊磁盤的分區、容量信息
通過命令的執行結果可以得知目前CentOS8系統上有三塊磁盤,分別是sda,sdb,sdc,其中sdb和sdc沒有分區,
而sda磁盤是在安裝系統時創建了四個分區,具體信息如下表格所示
除此以外還可以使用 cat /proc/partitions命令查看磁盤信息,從命令的執行結果可以看出容量還是以KB為單位。
通過arch命令可以查看當前系統架構為x86_64,這也是目前主流的系統架構。
不同的Linux發行版使用的Linux內核版本不同,通過uname -r可以查看Linux系統的內核版本
通過 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系統的版本,后期在開發程序時不同的操作系統版本需要做不同的處理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS還可以使用 cat /etc/redhat-release版本
Linux中的時間有系統時間和硬件時間兩種
date和clock可以使用分號隔開后同時執行看系統時間和硬件時間
目前我的系統時間和硬件時間相差了18秒
如果硬件時間是準確的,那么就通過命令clock -s以硬件時間為準,同步校正系統時間。
如果系統時間是準確的,那么通過clock -w命令以系統時間為準,同步校正硬件時間
不同的國家在同一時刻所處的時間是不同的,因為時區不同。
例如中國就是東八區,東八區和格林威治的時區相比相差8個小時(也就是比北京時間慢了8個小時),之前在安裝操作系統的時候設置的時區就是Asia/Shanghai,,通過timedatectl status查看當前時間狀態,其中 Universal time就是格林威治時間,而Local Time就是系統設置時區(Asia/Shanghai)的時間,它們兩者剛好相差了8個小時。 Time zone: Asia/Shanghai (CST, +0800) 表示當前的時區是亞洲上海。
如果現在你去了法國巴黎,可以通過timectl set-timezone 設置時區為歐洲巴黎,當修改時區后使用date命令查看系統時間顯示的就是當前法國的巴黎時間,相比北京時間慢了6個小時。
修改時區最終影響的是 /etc/localtime文件
不過目前我在中國,因此還是改回亞洲上海
timedatectl list-timezones可以查看所有時區
cal命令可以查看當前月份的日歷,例如今天是2021年10月5號
查看指定月份的日歷
還可以查看指定年份的日歷
生產環境不能隨便關機和重啟!!! 因為服務器基本都是 7*24 對外提供服務
測試環境或者是本地虛擬機安裝的Linux服務器可以按需求關機或者重啟
關機可以使用halt或者poweroff命令
而shutdown可以實現關機或者重啟,shutdown -r表示重啟,即reboot,shutdown -h表示關機,即halt。 -c表示取消關機或重啟。
除此以外shutdown 還可以指定時間來關機或重啟,默認是1分鐘后執行。
關機和重啟命令的常見用法
Linux下有nano和vim等文本編輯器,目前我們先使用nano來編輯文本。
如果系統上沒有安裝nano文本編輯器,那么在使用之前首先需要使用yum install -y nano命令來安裝nano文本編輯器
在使用nano進行文本編輯時,nano后面跟文件路徑即可打開文件,然后可以直接修改文件,類似于windows的記事本,修改完成后然后按Ctrl+x退出,接著按y保存修改,回車后退出nano。
然后使用nano /etc/motd來修改該文件,motd文件是用戶登錄之后提示的內容
然后輸入Welcome to my class
之后按Ctrl+x退出nano編輯器,按y保存到文件匯中,然后按回車鍵確認修改。
再重新登錄CentOS8.4
登錄成功之后就會看到/etc/motd文件內容顯示在終端上
我這里準備了一個motd文件,首先使用MobaXterm終端上傳到/etc目錄下覆蓋現有的motd文件,在使用MobaXterm終端登錄CentOS8.4-1后,首先將SSH Broswer的路徑切換到/etc目錄下
然后點擊上傳文件的按鈕
選擇提前準備好的motd文件上傳到/etc目錄下
然后再次重新登錄系統就會看到一個大佛
大家可以自行訪問 在線生成ASCII(圖)藝術字,然后將內容復制到motd文件即可。
當我們登錄Linux打開一個終端窗口,然后輸入命令,用戶與計算機的這種臨時交互被稱為一次會話(Session)、會話的一個重要的特點就是窗口與其中啟動的進程是連接在一起的,打開窗口則會話開始,關閉窗口則會話結束,而且會話內部的進程也會隨之而終止,不管有沒有運行完成。
這里舉一個例子,我們首先使用XShell遠程登錄CentOS8.4-1,然后使用ping 10.0.0.103命令檢測是否能夠連接10.0.0.103,也就是Ubuntu Server 20.04.3-1那臺機器
命令執行的結果顯示能夠連接,而且只要你不關閉窗口會一直顯示收到數據以及耗時。
然后我們復制一個會話
然后使用ps aux|grep ping 查看ping的進程信息,因為沒有關閉會話窗口所以進程還在
當我們關閉之前開啟的會話窗口之后
再次使用ps aux|grep ping查看進程會發現ping進程不存在了
為了解決上述的問題,我們就可以將會話與窗口解綁,也就是窗口關閉時會話并不會終止,而是繼續運行,等到以后需要的時候,再讓會話綁定其他窗口。
而終端復用器程序(例如screen,tmux)就是將會話與窗口的解綁工具,將它們徹底分離。
首次運行screen時會發現Shell提示command not found
我們需要使用yum install -y screen 來安裝screen,但是執行之后發現提示錯誤:: Unable to find a match: screen
Centos8安裝screen需要使用epel來安裝,安裝epel后,再安裝screen,解決centos8無法安裝screen的問題
然后再執行yum install -y screen 便可安裝成功
Screen安裝成功
在安裝完screen后就可以使用了,首先在終端輸入screen,然后你就會看到屏幕好像是刷新了一下,本質就是一個會話
然后再次運行ping 10.0.0.103
由于開啟了screen,即使關閉了所有的會話窗口,你會發現使用ps aux |grep ping 命令查看ping命令的進程也還在。
如果后期在做運維工作,有些命令很耗時又怕誤操作關閉會話導致命令的進程關閉就可以使用screen。
screen除了創建會話,能讓命令關閉窗口后繼續在后臺執行的功能以外,還能夠實現遠程桌面共享,從而實現遠程協助的功能。
實現該功能必須滿足兩個條件,兩個用戶必須使用同一個賬號登錄同一臺機器。
例如這里小紅和小明同時使用root賬號登錄了CentOS8.4,其中左邊的窗口是小紅,右邊的窗口是小明
然后小紅使用screen -S help開啟一個遠程會話,會話的名稱叫help
然后小明使用screen -x help加入小紅開啟的會話
此時小明可以看到小紅窗口的內容
當小明解決小紅的問題后,可以使用ctrl a,d退出當前會話
如果小明不知道小紅的會話名稱,可以使用screen -ls獲取當前會話
echo就是用于輸出信息
echo輸出固定字符串
echo輸出變量值
echo輸出轉義字符
echo 默認可以實現換行
echo輸出信息還可以帶顏色
echo還可以清除屏幕,等價于clear命令或者是快捷鍵Ctrl+l
1選擇
1.1一個文件的名字為rr.Z,可以用來解壓縮的命令時()
tar
gzip
compress
uncompress
1.2可以結束進程命令()
kill
ctrl+c
shutdown
halt
1.3 Linux下對文件進行歸檔的命令為:(多選)
dd
tar
zip
unzip
1.4 Linux查當前目錄下30天以前的文件并移動到/dev/null下的命令:(多選)
find.-mtime 30-type f xargs mv{}/dev/null;
find.-mtime+30-type xargs mv{}/dev/null;
find.-mtime+30-type f-exec mv{}/dev/null;
find.-mtime+30-type f-exec rm–rf{};
1.5 dstat與下面哪個命令類似
vmstat
sar
iotop
abc
1.6 rpm安裝軟件的參數
rpm-ivh
rpm-Ivh
rpm-Uvh
rpm-Iuvh
1.7 yum升級軟件包選項
rpm-uvh
rpm-Uvh
1.8查看網絡流量命令是?
iftop
nsload
ifstatd
以上命令全可以
1.9停止進程的命令,除了kill還有誰?
pkill
killa
allkill
以上命令都不正確
1.10服務器之間傳文件的命令有?
wget
scp
ftp
以上命令都可以
1.11對文件進行歸檔的命令為
dd
cpio
gzip
tar
1.12在rpm命令中,安裝新的rpm包軟件使用的參數是()
-i
-v
-h
-e
1.13du命令中,使用友好的方式顯示信息的參數是()
-h
-f
-a
-t
1.14將/home/stud1/wang目錄做歸檔壓縮,壓縮后生成wang.tar.gz文件,并將此文件保存到/home目錄下,實現如此任務的tar命令格式___
tar zxvf/home/stud1/wang.tar.gz/home/wang
tar xcvf/home/stud1/wang/home/wang
tar zcv/home/stud1/wang/home/wang
tar zcvf/home/stud1/wang/home/wang.tar.gz
1.15終止一個前臺進程可能用到的命令和操作()A:kill
B:CTRL+C
C:shutdown
D:halt
1.16關閉Linux系統(不重新啟動)可使用命令()
A:Ctrl+Alt+Del
B:halt
C:shutdown-r now
D:reboot
1.17下列提法中,不屬于ifconfig命令作用范圍的是__
A:配置本地環回地址
B:配置網卡的IP地址
C:激活網絡適配器
D:加載網卡到內核中
1.18有關歸檔和壓縮命令,下面描述正確的是()
A:用uncompress命令解壓縮由compress命令生成地后綴為.zip的壓縮文件
B:upzip命令和gzip命令可以解壓相同類型文件
C:tar歸檔其壓縮的文件可以有gzip命令解壓縮
D:tar命令歸檔后的文件也是一種壓縮文件
1.19終止一共前臺進程可能用到的命令和操作
kill
ctrl+c
shut down
halt
1.22為了將當前目錄下的歸檔文檔myftp,tar解壓縮到/tmp目錄下,用戶可以使用命令
tar xvzf my
tar xvzf my
tar vzf my
tar xvzf my
1.23下面有關linux查看系統負載的命令,說法錯誤的是?
uptime命令主要用于獲取主機運行時間和查詢linux系統負載等信息
vmstat命令可以查看cpu負載
sar命令可以查看網絡接口信息
free命令可以查看磁盤負載情況
1.24以下哪些方式/命令不可以查看某ip是否可達?
telnet
ping
tracert
top
1.25 tar命令用于解壓的參數是?-v-x-c-f
1.26下面哪個命令不是用來查看網絡故障?
telnet
ping
init
netstat
1.28為了知道誰在正注冊到你的機器上,可以用命令:___
Who users finger ping
1.29查看本網段其他計算機的MAC地址,可先ping對方主機,然后;
arp-g
arp-n
arp-a
arp-d
1.3014日下午2點date+%y%m%d%H%M輸出的時間是什么
201711141212
1711141212
2017111412
201711021212
1.31以下哪個命令可以得出1487進程的線程運行情況()
top-Hp 1487
top-Pp 1487
ps-mp 1487
sat-p 1487
1.32從/home/oracle下搜索一個日志文件alert.log,以下哪種方式可達到目的()
find/home./oracle-name alert.log
locate alert.log
find./-mtime 7 alert.log
find/home/oracle-exec alert.log
1.34以下哪些命令可以用來測試網絡中特定主機的80端口是否可以訪問()
Ping telnet netstat lsof
2填空
2.1測試網絡中主機的連通性用什么命令
2.2如何查看numa是否關閉_**_
2.3將/home/stud1/wang目錄做歸檔壓縮,壓縮后生成wang.tar.gz文件,并將此文件保存到/home目錄下,實現如此任務的tar命令格式_**
2.4某個進程使用端口7001,如何快速找到該進程的PID
2.5結束后臺進程的命令是**_**
2.6將/home/studl/wang目錄做歸檔壓縮,壓縮后生成wang.tar.gz文件,并將此存到/home目錄下,實現此任務的tar命令格式******__******
2.7 ping100個包的命令——
2.8 linux下,解壓縮bz2格式文件的命令是**_**
2.9 linux下,查看網絡連接狀態的命令是**___**
2.10Linux查看文件系統的命令為__,顯示目錄或文件占用磁盤的命令為___
2.11通常我們測試網絡連通性使用的ping命令,它是通過____協議進行工作的
2.12簡述下列命令的各自作用
nslookup
dig
top
traceroute
2.13將/home/stud1/wang目錄做歸檔壓縮,壓縮后生成wang.tar.gz文件,并將此問價保存到/home目錄下,實現此任務的tar命令格****_****
2.14Linux系統查看進程數的命令___
2.15Linux系統查看系統內存的命令:____,**__**
2.16Linux系統查看cpu使用率的命令:____,**__**
2.17Linux系統查看硬盤空間使用率的命令:___
2.18Linux系統將某一文件下的所有.log文件進行打包壓縮,命令為___
2.19Linux常用的性能監控命令是:_、_、_、_、_、_等
2.20假設output程序可能輸出標準輸出和標準錯誤,請寫出一條命令把這兩者都忽略__
2.21 rpm軟件包安裝命令**_**
3簡答
3.1查看硬盤結構顯示的命令?查看文檔命令?編輯文檔命令?
3.2配置網絡環境的命令,手工修改IP,主機名,DNS和網關
3.3有壓縮包a.tar.gz,如何解壓該包?如何不解壓該包,如何查看該包的內容?
3.4某進程abcd在系統中起了很多,數量難以統計,造成系統負荷較高,如何一條命令確保將此進程全部殺掉
3.5某日志路徑是/data/logs/a.txt,如何跟蹤該日志,以查看當時的運行狀態?
3.6 dmesg命令顯示的是哪方面信息
3.7尋找名稱為mytest.log的文件
3.8寫出du-sh與df-h的區別
3.9查看當前linux服務器是否監聽80端口,如果監聽,請找出其進程ID,并結束該進程。
3.10使用curl或者wget獲取http服務的header信息。
3.11寫出查看linux系統性能的命令,如cpu、內存、流量、io等
3.12解釋下列命令的意思
dd if=/dev/random of=/dev/sda
3.13如何查看占用端口8080的進程
3.14查著占用內存最多的進程
3.15壓縮和解壓縮目錄/opt/gjsy/所有文件命令
3.16Linxu系統下如何查看8080端口上運行的程序狀態
3.17ps aux中的VSZ代表什么意思,RSS代表什么意思?
3.18PING是使用TCP/IP協議中的**_**協議
3.19寫出網絡故障排查常用的命令**__**
3.20寫出你常用的網絡抓包工具,軟件名稱**__**
3.21將/home/stud1/wang目錄做歸檔壓縮,壓縮后生成wang.tar.gz文件,并將此文件保存到/home目錄下,實現此任務的tar命令格式___
3.22解釋該命令的含義:nohup zcat test.gz|grep"x6game"~/log.txt
2/dev/null
3.23查看系統硬件負載工具或命令有哪些
3.24使用lsof命令查看占用80端口的進程
3.25如何使用CURL測試POST接口
3.26怎樣在目錄/home/user/training/下找到擴展名為txt的文件
3.27最常用的網絡測試命令有什么?
3.28ping的測試結果中都包含哪些部分?
3.29如何找出占用22端口的進程及進程號?
3.30如何刪除當前目錄(包含字目錄)下所有30天以前創建的文件名后綴為.log的文件
3.31以下一些Linux命令的作用分別是什么?
init 0
chkconfig--level 3 sendmail on
tar-czvf test.tar.gz./
chown-R
ln-s/data/log//var/log/sina_log
umount-f/data0
rpm-ivh baihui.rpm
rpm-qf/bin/ls
3.32LINUX常用命令pwd、top、df、ifconfig、cat分別代表什么含義?
3.33linux常用命令:關機、重啟、編輯某文檔文件、刪除某文件、更改操作系統密碼命令分別是什么?
3.34請使用命令:刪除/backup目錄下10天前的普通文件
3.35如何查看服務器當前連接ip的列表
3.36寫出liunx系統中diff、chmod、grep、kill、tar五個常用命令的功能
3.37簡述tar-cjvf/tmp/test.tar.gz/root命令中錯誤及錯誤原因
3.38Linux系統從A服務器測試B服務器一個tcp端口是否聯通使用___
3.39寫一個腳本查找最后創建時間使3天前,后綴是*.log的文件并刪除
3.40linux如何根據進程ID查找啟動程序的路徑
3.41查看占用swap的進程id
3.42列出linux常見打包工具并寫相應解壓縮參數(至少三種)
3.43Linux中鎖定一個文件用什么命令?他和md5sum有什么區別?
3.44如何在系統中查找所有所屬用戶為user1的文件
3.45查看某個文件或者文件夾占用磁盤空間大小的命令
3.46如何查看遠程linux系統運行了多少時間?我的服務器內存,cpu,硬盤都是多少,系統版本,linux會優先將數據緩存到內存中,我的機器真實內存消耗實際上是多少
3.47查看服務器當前開啟了哪些端口?如何查看某服務器是否存在IO壓力
3.48如何查看某個文件system.log被哪些進程占用
擴展
1.21在退出unix系統賬戶之后還需要繼續運行某個進程,那么可用()
awk sed crontab nohup screen
1.20使用trace命令的目的是()
可用的,十分成功的測試手段
非常基本的測試手段
把IP地址和DNS加入路由表中
在源到目標傳輸的過程中查找失散點
1.27哪個變量用來指定一個遠程x應用程序將輸出放到哪個x server上
TERM
DISPLAY
ECHO
OUTPUT
1.33P系列服務器被用做文件服務器,所有的用戶文件存都放在一非rootvg的文件系統上,用什么方法可以快速備份和恢復這些數據和文件系統的定義()
tar
cpio
savefs
savevg
| 線上查詢及幫助命令 |
man:全稱為manual,用于查看系統中自帶的各種參考手冊;
help:用于顯示shell內部命令的幫助信息;
| 文件和目錄操作命令 |
ls:全拼list,列出目錄的內容及其內容屬性信息;
cd:全拼change directory,切換當前工作目錄至dirName(目錄參數);
cp:全稱copy,復制文件或目錄;
find:用于在指定目錄及目錄下查找文件;
mkdir:全拼make directories,創建目錄;
mv:全拼move,移動或重命名文件;
pwd:全拼print working directory,顯示當前工作目錄的絕對路徑;
rename:可用字符串替換的方式批量改變文件名;
rm:全拼remove,刪除一個或多個文件或目錄。必須格外小心地使用該命令;
rmdir:全拼remove empty directories,刪除空目錄;
touch:修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件;
| 查看文件及內容處理命令 |
cat:全拼concatenate,用于連接多個文件并且打印到屏幕輸出或重定向到指定文件中,可查看文件內容;
tac:cat的反向拼寫,因此命令的功能為反向顯示文件內容。文件內容的最后一行先顯示,第一行最后顯示;
less:可以隨意瀏覽文件,而more僅能向前移動,卻不能向后移動,而且less在查看之前不會加載整個文件;
head:顯示文件的開頭的內容。在默認情況下,head命令顯示文件的頭10行內容;
tail:查看文件尾部內容,有一個常用的參數-f常用于查閱正在改變的文件。可以看到最新的文件內容;
| 文件壓縮及解壓縮命令 |
tar:tar命令是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件;
unzip:用于解壓縮zip文件;
gzip:用于壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過后,其名稱后面會多出".gz"的擴展名;
zip:用來將文件壓縮成為常用的zip格式。