基礎指令
- 1. adduser指令&&passwd指令
- 2. userdel指令
- 3. pwd指令
- 4. ls指令
- 5. cd指令
- 6. tree指令
- 7. touch指令
- 8. mkdir指令
- 9. rmdir指令&&rm指令
- 10. man指令
- 11. cp指令
- 12. mv指令
- 13. cat指令
- 14. more指令
- 15. less指令
- 16. head指令
- 17. tail指令
- 18. date指令
- 19. cal指令
- 20. find指令
- 21. which指令
- 22. whereis指令
- 23. alias指令
- 24. grep指令
- 25. zip/unzip指令
- 26. tar指令
- 27. bc指令
- 28. uname指令
- 重要的幾個熱鍵
- 關機指令
- 擴展指令
- 補充指令和知識
1. adduser指令&&passwd指令
adduser指令
語法: adduser [用戶名]
功能: 新建用戶
passwd指令
語法: passwd [用戶名]
功能: 為用戶設置密碼
2. userdel指令
語法: userdel [選項] [用戶名]
功能: 刪除用戶
3. pwd指令
語法: pwd
功能: 顯示用戶所在的目錄
4. ls指令
語法: ls [選項] [目錄或文件]
功能: 對于目錄,該命令列出該目錄下的所有子目錄與文件。對于文件,將列出文件名以及其他信息
常用選項:
-a列出目錄下的所有文件,包括以 . 開頭的隱含?件。
-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-d 將目錄象文件一樣顯示,而不是顯示其下的文件。 如:ls –d 指定目錄
-i 輸出文件的 i 節點的索引信息。 如 ls –ai 指定文件
-k 以 k 字節的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的詳細信息。
-n 用數字的 UID,GID 代替名稱。 (介紹 UID, GID)
-F 在每個文件名后附上一個字符以說明該文件的類型,“*”表示可執行的普通文件;“/”表示目錄;“@”表示符號鏈接;“|”表示FIFOs;“=”表示套接字(sockets)。(目錄類型識別)
-r 對目錄反向排序。
-t 以時間排序。
-s 在l文件名后輸出該文件的大小。(大小排序,如何找到目錄下最大的文件)
-R 列出所有子目錄下的文件。(遞歸)
-1 一行只輸出一個文件。
ll 是 ls -l 的簡寫
5. cd指令
Linux理論知識:路徑的認識
- Linux系統中,磁盤上的?件和?錄被組成?棵?錄樹,每個節點都是?錄或?件
- 其中普通?件?定是?錄樹的葉?節點
- ?錄可能是葉?(空?錄),也可能是路上節點
- 理解路徑存在的意義:樹狀組織?式,都是為了保證快速定位查找到指定的?件,?定位?件就
需要具有唯?性的?案來進?定位?件。其中任何?個節點,都只有?個?節點,所以,從根?
錄開始,定位指定?件,路徑具有唯?性- 絕對路徑:?般從/開始,不依賴其他?錄的定位?件的?式
- 相對路徑:相對于當前??所處?錄,定位?件的路徑?式
- 絕對路徑?般不會隨著??的路徑變化?喪失唯?性,?般在特定服務的配置?件中經常被使?
- 相對路徑因為它的便捷性,?般在命令?中使?較多
語法: cd 目錄名
功能: 改變工作目錄。將當前工作目錄改變到指定的目錄下
cd ~ 進入用戶家目錄
cd - 返回最近訪問目錄,主要用于在兩個路徑來回切換
cd 相對路徑
cd 絕對路徑
6. tree指令
語法: tree 目錄名
功能: 顯示當前目錄的樹狀圖
安裝tree
yum install -y tree
7. touch指令
語法: touch [選項] … 文件 …
功能: touch命令參數可更改文檔或目錄的日期時間,包括存取時間和更改時間,或者新建一個不存在的文件。
常用選項:
-a : change only the access time
-c : change only the modification time
創建普通文件
在文件前加一個 . 創建一個隱藏文件
文件 = 文件內容數據 + 文件屬性數據
我們在創建文件時就自帶文件屬性數據,例如:
所以一個空文件也會占用磁盤空間,Linux也同理。
表示:誰創建的、文件內容數據、什么時候創建的等等。
stat 文件名 獲得文件屬性
我們主要看Access、Modify、Change,它們的初始時間都是文件被創建的時間。
修改文件Access時間
修改Modify時間
Change 表示最近一次修改文件屬性的時間
8. mkdir指令
語法: mkdir [選項] 目錄
功能: 在當前目錄下創建一個目錄
常用選項:
-p/–parents:可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
創建普通空目錄
遞歸建立多個目錄,創建指定路徑
9. rmdir指令&&rm指令
語法: rmdir [選項] [目錄名]
功能: 刪除空目錄
常用選項:
-p 當子目錄被刪除后如果父目錄也變成空目錄的話,就連帶父目錄一起刪除。
刪除空目錄
刪除路徑
指定路徑中有不為空的路徑便無法刪除
rm命令可以同時刪除文件或目錄
語法: rm [選項] [目錄或文件]
功能: 刪除文件或目錄
常用選項:
-f 即使文件屬性為只讀(即寫保護),也直接刪除
-i 刪除前逐一詢問確認
-r 刪除目錄及其下所有文件
刪除普通文件
刪除目錄
遞歸強制刪除非空目錄
10. man指令
Linux的指令有很多參數,我們不可能全記住,可以通過查看聯機手冊獲取幫助。
yum install -y man-page 安裝man手冊
需要root用戶進行。
語法: man [選項] 指令
常用選項:
-k 根據關鍵字搜索聯機幫助
num 只在第num章節查找
-a 將所有章節的都顯?出來,?如man printf它缺省從第?章開始搜索,找到就停?,?a選項,當按下q退出,他會繼續往后?搜索,直到所有章節都搜索完畢
解釋一下:man手冊分為9章(不同系統可能會有差別)
- 是普通的命令
- 是系統調?,如open,write之類的(通過這個,?少可以很?便的調查到調?這個函數,需要加什么頭?件)
- 是庫函數,如printf,fread4是特殊?件,也就是/dev下的各種設備?件
- 略
- 是指?件的格式,?如passwd,就會說明這個?件中各個字段的含義
- 是給游戲留的,由各個游戲??定義
- 是附件還有?些變量,?如像environ這種全局變量在這?就有說明
- 是系統管理?的命令,這些命令只能由root使?,如ifconfig
- 略
查看printf指令(沒錯,printf也是?個指令)
查看系統調用,默認沒有這個指令,man就自動去2號手冊查找
查看系統調用
查看C庫函數
查看變量
查看man手冊自己
11. cp指令
語法: cp [選項] 源文件或目錄 目標文件或目錄
功能: 復制文件或目錄
說明:
- cp指令?于復制?件或?錄
- 如同時指定兩個以上的?件或?錄,且最后的?的地是?個已經存在的?錄,則它會把前?指定的所有?件或?錄復制到此?錄中
常用選項:
-f或–force強?復制?件或?錄,不論?的?件或?錄是否已經存在
-i或–interactive 覆蓋?件之前先詢問用戶
-r遞歸處理,將指定?錄下的?件與??錄?并處理。若源?件或?錄的形態,不屬于?錄或符號鏈接,則?律視為普通?件處理
cp src des 把src文件/目錄復制到des文件/目錄
cp -r src des 把src目錄遞歸復制到des目錄
cp -rf src des 把src目錄強制遞歸復制到des目錄
12. mv指令
mv命令是move的縮寫,可以用來移動文件或者將文件改名(move (rename) files),是Linux系統下常用的命令,經常用來備份文件或者目錄。
語法: mv [選項] 源文件或目錄 目標文件或目錄
功能:
- 視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。
- 當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。
- 當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。
常用選項:
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋
更改名稱
如果當前路徑存在同名文件,改名即覆蓋
mv整個目錄
13. cat指令
語法: cat [選項] [文件]
功能: 查看目標文件內容
常用選項:
-b 對非空輸出行編號
-n 對輸出的所有行編號
-s 不輸出多行空行
echo 把信息顯示到顯示器中
> 重定向,把信息重定向到文件中,如果文件不存在就新創一個
cat 文件 顯示目標文件內容
>> 追加,把信息追加到目標文件內容的下一行,如果文件不存在就新創一個
命令行構建多行文本
對常用選項測試
tac倒著輸出文件中的內容,tac就是cat倒著寫的形式
14. more指令
語法: more [選項]
功能: more命令,功能類似cat
常用選項:
-n 指定輸出行數
q 退出more
more 目標文件 查看一整個屏幕文件內容,只能按回車鍵向下滑動觀看,適合大文本觀看,因為cat命令在文件內容多時會直接刷屏
more -n 文件名 顯示前n行
在more顯示行里,輸入/搜索的內容,就可以查找指定內容,但只能向下尋找
15. less指令
- less 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是linux正統查看文件內容的工具,功能極其強大。
- less 的用法比起 more 更加的有彈性。在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看
- 但若使用了 less 時,就可以使用 [pageup][pagedown] 等按鍵的功能來往前往后翻看文件,更容易用來查看一個文件的內容!
- 在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜
語法: less [參數] 文件
功能: less與more類似,但使用less可以隨意瀏覽文件,而more僅能向下移動,卻不能向上移動,而且less在查看之前不會加載整個文件。
常用選項:
-i 忽略搜索時的大小寫
-N 顯示每行的行號
/字符串: 向下搜索“字符串”的功能
?字符串: 向上搜索“字符串”的功能
n: 重復前一個搜索(與 / 或 ? 有關)
N: 反向重復前一個搜索(與 / 或 ? 有關)
q: quit
測試 -N 功能,其他功能可自行測試
16. head指令
head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示文件的開頭至標準輸出中,而 tail 是看文件的結尾。
語法: head [參數]… [文件]…
功能: head 用來顯示檔案的開頭至標準輸出中,默認head命令打印其相應文件的開頭10行。
選項:
-n <行數> 顯示的行數
17. tail指令
tail 命令從指定點開始將文件寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日志文件,tail -f filename會把filename里最尾部的內容顯示在屏幕上,并且不但刷新,使你看到最新的文件內容.
語法: tail 必要參數 [文件]
功能: 用于顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。
選項:
-f 循環讀取
-n<行數> 顯示行數
基本功能演示
那如果我們想要拿到中間的內容要怎么辦?
此時我們就需要用到管道“ | ”
管道可以傳輸資源,需要一個入口和一個出口,并且可以結合各種命令,實現各種操作。
通過這種方式,我們就拿到了自己想要的內容。
18. date指令
指定格式顯示時間: date +%Y:%m:%d
用法: date [OPTION] … [+FORMAT]
1. 在顯示方面,使用者可以設定顯示的格式,格式設定為一個加號后接數個標記,其中常用的標記列表如下:
%H : 小時(00…23)
%M : 分鐘(00…59)
%S : 秒(00…61)
%X : 相當于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相當于 %Y-%m-%d
2. 在設定時間方面
date -s //設置當前時間,只有root權限才能設置,其他只能查看。
date -s 20080523 //設置成20080523,這樣會把具體時間設置成空00:00:00
date -s 01:01:01 //設置具體時間,不會對日期做更改
date -s “01:01:01 2008-05-23″ //這樣可以設置全部時間
date -s “01:01:01 20080523″ //這樣可以設置全部時間
date -s “2008-05-23 01:01:01″ //這樣可以設置全部時間
date -s “20080523 01:01:01″ //這樣可以設置全部時間
3. 時間戳
Unix時間戳(英文為Unix epoch, Unix time, POSIX time 或 Unix timestamp)是從1970年1月1日(UTC/GMT的午夜)開始所經過的秒數,不考慮閏秒
19. cal指令
cal命令可以用來顯示公歷(陽歷)日歷。公歷是現在國際通用的歷法,又稱格列歷,通稱陽歷。“陽歷”又名“太陽歷”,系以地球繞行太陽一周為一年,為西方各國所通用,故又名“西歷”。
命令格式: cal [參數] [年份]
功能: 用于查看日歷等時間信息,如只有一個參數,則表示年份(1-9999),如有兩個參數,則表示月份和年份
常用選項:
-3 顯示系統前一個月,當前月,下一個月的月歷
-j 顯示在當年中的第幾天(一年日期按天算,從1月1號算起,默認顯示當前月在一年中的天數)
-y 顯示當前年份的日歷
20. find指令
- Linux下find命令在目錄結構中搜索文件,并執行指定的操作。
- Linux下find命令提供了相當多的查找條件,功能很強大。由于find具有強大的功能,所以它的選項也很多,其中大部分選項都值得我們花時間來了解一下。
- 即使系統中含有網絡文件系統( NFS),find命令在該文件系統中同樣有效,只你具有相應的權限。
- 當我們進行find搜索的時候,可能需要訪問磁盤,進而導致效率低下。
- 在運行一個非常消耗資源的find命令時,很多人都傾向于把它放在后臺執行,因為遍歷一個大的文件系統可能會花費很長的時間(這里是指30G字節以上的文件系統)。
語法: find pathname -options
功能: 用于在文件樹中查找文件,并作出相應的處理(可能訪問磁盤)
常用選項:
-name 按照?件名查找?件
21. which指令
功能: 搜索系統指定的命令
22. whereis指令
功能: 用于找到程序的源、二進制文件或手冊
23. alias指令
功能: 設置命令的別名
24. grep指令
文本內容的行過濾工具,默認會匹配文本的關鍵字,匹配上的進行顯示。
語法: grep [選項] 搜尋字符串 文件
功能: 在文件中搜索字符串,將找到的行打印出來
常用選項:
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 ‘搜尋字符串’ 內容的那一行
25. zip/unzip指令
語法: zip 壓縮文件.zip 目錄或文件
功能: 將目錄或文件壓縮成zip格式
常用選項:
-r 遞歸處理,將指定目錄下的所有文件和子目錄一并處理
普通文件或空目錄的zip/unzip
非空目錄的遞歸zip/unzip
關于rzsz
這個?具?于windows機器和遠端的Linux機器通過XShell傳輸?件.安裝完畢之后可以通過拖拽的?式將?件上傳過去.
yum install -y lrzlz 安裝rzsz
sz 用于Linux傳輸到Windows
rz 用于Windows傳輸到Linux,也可以直接把Windows上的文件直接拖拽到Linux中
26. tar指令
語法: tar [-cxtzjvf] 文件與目錄 …
功能: 打包/解包,不打開它,直接看內容
常用選項:
-c :建立一個壓縮文件的參數指令(create 的意思);
-x :解開一個壓縮文件的參數指令!
-t :查看 tarfile 里面的文件!
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之后要立即接檔名喔!不要再加參數!
-C : 解壓到指定目錄
tar czf name.tgz dirname , c創建一個壓縮文件,z用到gzip壓縮 ,f后根壓縮文件名稱
tar xzf name.tgz , x解壓,z具有gzip屬性,f解壓文件名稱, 解壓到當前路徑
tar xzf name.tgz -C 路徑 解壓到指定路徑下
27. bc指令
bc命令可以很方便的進行浮點運算
28. uname指令
語法: uname [選項]
功能: uname用來獲取電腦和操作系統的相關信息。
補充說明: uname可顯示linux主機所用的操作系統的版本、硬件的名稱等基本信息
常用選項:
-a :顯示系統所有相關信息
-s :顯示內核名稱
-n :顯示主機名稱
-r :顯示內核版本號
-v :顯示內核版本
-m :顯示計算機硬件名
-p :顯示主機處理器類型
-i :顯示硬件平臺類型
-o :顯示操作系統名稱
uname -a或–all 詳細輸出所有信息,依次為內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操作系統名稱
內核名稱:Linux
主機名:hcss-ecs-c88a
內核版本號:3.10.0-1160.119.1.el7.x86_64
命名規則:
主版本號:3
次版本號:10【奇數為開發版本,偶數為穩定版本】
修訂版本號:0【修改的次數】
此次版本的第N次修改:1160
el7 CentOS7簡稱
x86_64:CPU架構(64位)
內核版本:#1 SMP Tue Jun 4 14:43:51 UTC 2024
硬件名:x86_64
處理器類型:x86_64
硬件類型平臺:x86_64
操作系統名稱:GNU/Linux
uname 如果未指定任何選項,其效果相當于執行”uname -s”命令,即顯示系統內核的名字
uname -n 顯示主機名
uname -r 內核版本號
linux系統中計算機體系結構其實就是CPU架構,x86_64
uname -v 內核版本
uanem -m 計算機硬件名
uname -p 主機處理器類型
uname -i 硬件平臺類型
uname -o 操作系統名稱
重要的幾個熱鍵
[Tab]按鍵—具有『命令補全』和『檔案補齊』的功能
[Ctrl]-c按鍵—中止前臺的異常程序
[Ctrl]-r按鍵—搜索歷史命令,左右即可選中
[Ctrl]-d按鍵—通常代表著:『鍵盤輸入結束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用來取代exit
關機指令
語法: shutdown [選項]
常見選項:
-h : 將系統的服務停掉后,立即關機。
-r : 在將系統的服務停掉之后就重新啟動
-t sec : -t 后面加秒數,亦即『過幾秒后關機』的意思
擴展指令
◆ 安裝和登錄命令: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
補充指令和知識
指令
lscpu 查看cpu信息
lsmem 查看內存信息
df -h 查看磁盤使用情況
vmstat 報告關于內核線程、虛擬內存、磁盤、陷阱和 CPU 活動的統計信息
sar 主要幫助我們掌握系統資源的使用情況,特別是內存和CPU的使用情況
stat 用于顯示文件的狀態信息
netstat 查看網絡連接狀態
top 查看cpu資源使用狀態
free 查看內存資源狀態
who 查看當前linux系統在線用戶
whoami 查看我是誰
知識
- linux 2.6.* 內核默認支持的文件系統有哪些?[多選]
A.ext3
B.ext2
C.ext4
D.xfs
E.ufs
正確答案是:A,B,C,D
A 全稱Linux extended file system, extfs,即Linux擴展文件系統,ext2為第二代
D XFS一種高性能的日志文件系統,2000年5月,Silicon Graphics以GNU通用公共許可證發布這套系統的源代碼,之后被移植到Linux 內核上。XFS 特別擅長處理大文件,同時提供平滑的數據傳輸
E UFS是UNIX文件系統的簡稱,它來源于4.3Tahoe發行版中提供的BSD Fat Fast File System(FFS)系統,屬于FFS的演化版本
- 在Linux系統中, 為找到文件try_grep含有以a字母為行開頭的內容, 可以使用命令?
A.grep -E #$ try_grep
B.grep -E #a try_grep
C.grep -E ^$ try_grep
D.grep -E ^a try_grep
正確答案是:D
grep選項中,-E選項可以用來擴展選項為正則表達式;
$ 表示匹配文件末尾,字符需要在 $ 之前表示以字符結尾 a$表示以a結尾
^ 表示匹配文件起始,字符需要在^之后表示以字符起始 ^a表示以a起始