第一章_常用命令
文章目錄
- 第一章:Linux命令介紹及Linux常用命令
- 常用按鍵
- Tab鍵
- Ctrl+c 1
- Ctrl+d
- Shift+Page Up/Page Down
- 幫助文檔命令
- help參數
- man命令
- man page詳解
- 基礎信息
- NAME
- SYNOPSIS
- DESCRIPTION
- COMMANDS
- FILES
- SEE ALSO
- EXAMPLE
- 如何查看man page
- 瀏覽步驟
- 特殊操作
- info命令
- info命令的用法
- page head
- page tail
- info page的用法
- 常用的系統工作命令
- echo命令
- date命令
- reboot命令
- poweroff命令
- wget命令
- ps命令
- top命令
- pidof命令
- kill命令
- killall命令
- 系統狀態監測
- ifconfig命令
- uname命令
- uptime命令
- free命令
- who命令
- last命令
- history命令
- sosreport命令
- 工作目錄切換命令
- pwd命令
- cd命令
- ls命令
- 文件編輯命令
- cat命令
- more命令
- head命令
- tail命令
- tr命令
- wc命令
- stat命令
- cut命令
- diff命令
- 文件目錄管理命令
- touch命令
- mkdir命令
- cp命令
- mv命令
- rm命令
- dd命令
- file命令
- 打包與壓縮命令
- tar命令
- grep命令
- find命令
第一章:Linux命令介紹及Linux常用命令
在開始系統學習Linux之前,必須要先了解Linux的命令以及一些具體的常用命令,否則入門都無從說起.
常見的執行Linux命令的格式如下
命令名稱 [命令參數] [命令對象]其中: 命令參數是要執行的功能選擇,命令對象是指要處理的文件,目錄,用戶等資源
命令參數可以輸入全稱,也可以輸出縮寫,例如輸入: --help或-h
[]表示可以選擇,真正輸入時候不加括號
當有多個需要命令對象的命令參數時,要一一對應并且命令對象緊跟在命令參數后面,例如
表示最大嘗試下載3次,將http://www.linuxprobe.com/docs/Linuxprobe.pdf中的內容下載到指定的LinuxProbe文件夾中
本章包含以下內容:
- 常用的按鍵
- 幫助文檔命令
- 常用系統工作命令
- 系統狀態檢測命令
- 工作目錄切換命令
- 文本文件編輯命令
- 文件目錄管理命令
- 打包壓縮與搜索命令
常用按鍵
Tab鍵
[tab] 補全命令或文件(當前文件或命令只有一個時)
[tab][tab] 羅列所有可能的文件或命令(當前文件或命令不唯一時)
例如:
假設有三個命令:roscore, rosrun, rostry
輸入rosc之后按[tab]即可補全為roscore
輸入ros后按[Tab]沒有反應,按[Tab][Tab]顯示三個可能的命令
Ctrl+c 1
[Ctrl]+[c] 終止當前運行的程序
Ctrl+d
[Ctrl]+[d] 關閉當前終端
Shift+Page Up/Page Down
[Shift]+[Page Up] 向上翻頁
[Shift]+[Page Down] 向下翻頁
幫助文檔命令
隨著Linux逐漸的發展壯大,Linux中的各種命令肯定是越來越多的,而每個命令都可能會有命令參數還有命令對象,因此將所有命令及對應的參數和對象記下來是不可能的.
對此Linux中有幫助文檔命令,幫助我們調出某一命令的說明文檔,在說明文檔中我們就可以學習了解命令的具體使用規則
Linux的調出說明文檔的方法具體有三種:
- help參數
- info命令
- man命令
help參數
Linux中的命令通常是以腳本的形式寫成的,因此一般都會配備相應的說明文檔.
因此我們對某一個命令使用help參數,就可以調出相應的說明文檔
語法:
例如:
查詢date命令的用法
不過需要注意的是:
使用help參數查詢用法的時候,命令是知道拼寫的
man命令
man是manul(說明手冊)的縮寫,man命令查到的說明文檔相比于help參數查詢到的更加詳細,甚至會包括該命令的作者,乃至于與該命令相關的其他命令.
語法:
man 命令名稱實例:
查詢date命令的詳細說明
輸入代碼之后,就會彈出date這個代碼的相關內容的界面(打印在屏幕上),叫做man page,十分的詳盡.
整個man page分為好幾個部分,會有點難看懂,下面解釋man page的每個部分和相關代號表示的含義以及如何操作.
man page詳解
date的man page頁面如下:
[ wangsh ]~ $ man date DATE(1) User Commands DATE(1) # 請注意上面這個括號內的數字 NAME <==這個命令的完整全名,如下所示為date且說明簡單用途為配置與顯示日期/時間 date - print or set the system date and time SYNOPSIS <==這個命令的基本語法如下所示 date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] DESCRIPTION <==詳細說明剛剛語法談到的選項與參數的用法 Display the current time in the given FORMAT, or set the system date. -d, --date=STRING <==左邊-d為短選項名稱,右邊--date為完整選項名稱 display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -r, --reference=FILE display the last modification time of FILE ....(中間省略).... # 找到了!底下就是格式化輸出的詳細數據! FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) ....(中間省略).... ENVIRONMENT <==與這個命令相關的環境參數有如下的說明 TZ Specifies the timezone, unless overridden by command line parameters. If neither is specified, the setting from /etc/localtime is used. AUTHOR <==這個命令的作者啦! Written by David MacKenzie. REPORTING BUGS <==有問題請留言給底下的email的意思! Report bugs to <bug-coreutils@gnu.org>. COPYRIGHT <==受到著作權法的保護!用的就是 GPL 了! Copyright ? 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law. SEE ALSO <==這個重要,你還可以從哪里查到與date相關的說明文件之意 The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command info date should give you access to the complete manual. date 5.97 Nov 2019 DATE(1)下面將分塊介紹整個man page的每一個部分是什么意思
基礎信息
DATE(1) User Commands DATE(1)- date是命令的全稱
- 數字(如這里的(1))表明查詢內容的屬性
具體數字代表的含義見下表:
| 1 | 用戶在shell環境中可以操作的命令或可執行文件 |
| 2 | 系統內核可調用的函數與工具 |
| 3 | 一些常用的函數(function)與函數庫(library),大部分為c語言庫(libc) |
| 4 | 設備文件的說明,通常是在/dev下的文件 |
| 5 | 配置文件或是某些文件的格式 |
| 6 | 游戲(games) |
| 7 | 慣例與協議等,例如linux文件系統,網絡協議,ASCII代碼等說明 |
| 8 | 系統管理員可用的管理命令 |
| 9 | 跟內核有關的文件 |
注意:
-
加粗的比較重要
-
其實man也是一個命令,所以他也具有自己對應的man page ,查詢時候直接輸入man man即可
NAME
NAME <==這個命令的完整全名,如下所示為date且說明簡單用途為配置與顯示日期/時間 date - print or set the system date and time- Name這里表示命令的完整全名,并且給出相應的簡短說明
SYNOPSIS
SYNOPSIS <==這個命令的基本語法如下所示 date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]- SYNOPSIS這里表示命令的語法(syntax)的簡介
DESCRIPTION
DESCRIPTION <==詳細說明剛剛語法談到的選項與參數的用法 Display the current time in the given FORMAT, or set the system date. -d, --date=STRING <==左邊-d為短選項名稱,右邊--date為完整選項名稱 display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -r, --reference=FILE display the last modification time of FILE ....(中間省略).... # 找到了!底下就是格式化輸出的詳細數據! FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) ....(中間省略)....-
這個部分首先給出了這個命令的詳細介紹
-
然后給出了針對前面語法中給出的選項與參數進行說明
COMMANDS
這個部分給出了當程序(軟件)正在之行時候,可以在這個程序(軟件)中執行的命令
注:
- date命令的man page并沒有這一部分
FILES
這個程序或者數據所使用的或參考或鏈接到的文件
SEE ALSO
SEE ALSO <==這個重要,你還可以從哪里查到與date相關的說明文件之意 The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command info date should give you access to the complete manual.- 這里給出和這個命令或數據相關的其他說明
EXAMPLE
example里面會給出命令的一些實例,這里沒有給出
如何查看man page
瀏覽步驟
特殊操作
| Space | 向下翻一頁 |
| Page Down | 向下翻一頁 |
| Page Up | 向上翻一頁 |
| Home | 回到第一頁 |
| End | 跳轉到最后一頁 |
| /String | 從當前頁面向下查找關鍵詞 |
| ?String | 從當前頁面想上尋找關鍵詞 |
| n,N | 在查找關鍵詞時候,n是到下一個關鍵詞出,N是到上一個關鍵詞處 |
| q | 退出當前命令或者文件的man page |
info命令
在所有的基于Unix的系統中,都有man命令這樣的查詢方式,但是在Linux系統中,又提供了另外一種查詢方式,就是info命令.
通過man命令打印出來的內容稱為man page,那么通過info命令打印出來的稱為info page.
info page其實在內容上與man page 差不多.但是和man page相比info page結構更加清晰,內容能夠更好地被展現出來.
info page是將所有的內容拆成一個一個的段落,每個段落都有自己獨立的page,不同的page之間用類似于網頁的跳轉的方式進行連接
不過需要注意的是支持info命令的說明文件首先必須以info格式寫成才能夠使用info的特殊功能.
其次支持info命令的文件必須放在/user/share/info/這個目錄下面.
下面將介紹info 的用法
info命令的用法
和man類似
info 查詢的命令下面介紹info page中的具體內容
page head
首先info page的頭部包含了許多重要信息
[ wangsh ]~$ info info File:info.info, Node: Top, Next:Getting Started, Up: (dir) Info:An instruction ****************** 略- File:表明當前page的位置
- Node:表示當前界面所在整個info文件中的位置,這里是Top節點,也就是最前面的節點
- Next:表示下一個節點的名稱,這里是Getting Started
- Up:回到上一層的節點總覽畫面,就是查看與當前節點同級的所有節點
- Prv:前一個節點,但是由于這里是Top節點,沒有上一個節點,所以沒有顯示
page tail
頁面尾的地方通常表示的是當前節點的下一級節點(沒錯,整個info文件類似于樹)
Menu: Getting Started: Advanced: Expert Info: Index:info page的用法
按鍵什么與man page一模一樣,但是不知道怎么用info的時候,可以按下h(help)來查看按鍵的作用
后面的命令指示簡單的提一下,更多的使用幫助命令去查閱
常用的系統工作命令
對于新手來說,在使用linux系統的時候,如果遇到了問題,在網上查到了解決辦法,可是卻完全看不懂,這個時候就很頭疼了.
其實這些解決問題的命令往往都是系統工作命令,下面就將講解
echo命令
echo命令用于在終端輸出字符串或變量提取后的值.
語法:
echo [字符串] 或 echo [$變量]例如:
輸出字符串Jack Wang
提取變量SHELL的值輸出
echo $SHELLdate命令
date命令用于顯示及設置系統時間和日期
語法:
date [命令參數] [指定格式]當指定格式(命令對象)以==加號+==開頭時,將按照指定的格式輸出當前時間
一些常用參數如下:
| %t | 制表符[Tab鍵] |
| %H | 24小時( 00 ~ 23 ) |
| %I | 12小時( 00 ~ 12 ) |
| %M | 分鐘( 00 ~ 59 ) |
| %S | 秒( 00 ~ 59 ) |
| %j | 當前年份的第幾日 |
例如:
按照默認格式顯示當前時間
按照"年-月-日 小時:分鐘:秒"的格式查看當前系統時間
date "+%Y-%m-%d%t%H:%M:%S""查看當前日期是當前年份的第幾日
date "+%j"設置系統日期
date -s "20200416 8:30:00"- 將當前時間設置為2020年4月16日8點30分
reboot命令
reboot命令用于重啟計算機
由于涉及到硬件資源管理,因此需要root用戶來使用
poweroff命令
poweroff命令用于關閉計算機
和reboot一樣,也涉及到了硬件資源管理,需要root權限
wget命令
wget命令用于在終端中下載網絡文件
語法:
wget [參數] [下載地址]常用的參數如下:
| -b | 后臺下載模式 |
| -P | 下載到指定目錄 |
| -t | 最大嘗試次數 |
| -c | 斷點續傳 |
| -p | 下載頁面所有資源,包括圖片,視頻等 |
| -r | 遞歸下載 |
例如:
下載http://www.linuxprobe.com/docs/LinuxProbe.pdf這一地址中的Linux教學文件
下載http://www.linuxprobe.com的所有數據
wget -r -p http://www.linuxprobe.com >>>將會把所有內容保存到當前工作目錄下一個名為www.linuxprobe.com的目錄中ps命令
ps命令用于查看系統中的進程狀態
語法:
ps [參數]一般會配合管道符技術(在后面講解)來查找特定的進程的pid
常用的參數如下:
| -a | 顯示所有進程(包括其他用戶的進程) |
| -u | 用戶以及其他詳細信息 |
| -x | 顯示沒有控制終端的進程 |
Linux中時刻都運行著許多進程,合理的管理他們能夠優化系統性能.Linux系統中有5種常見的進程狀態,分別為: 運行,中斷,不可中斷,僵死,停止
- R :Running,運行中,進程正在運行或者在運行隊列中等待
- S :Stop,中斷,進程處于休眠中,當某個條件形成或者接收到信號時,脫離該狀態
- D :不可中斷,進程不響應系統異步信號,即使使用kill命令也不能將其中斷
- Z :Zombie,僵死,進程已經終止,但是進程描述符依然存在,知道父進程調用wait4()系統函數后將進程釋放
- T :進程收到停止信號后停止運行
例如:
ps -au得到結果如下
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 3979 0.1 2.3 203224 43204 tty1 Ss+ 06:53 0:05 /usr/bin/Xorg root 4715 0.0 0.1 116256 3044 pts/0 Ss 06:54 0:00 /bin/bash root 32917 0.0 0.0 123356 1376 pts/0 R+ 07:54 0:00 ps -au其中每欄的含義如下
| USER | 進程所有者 |
| PID | 進程ID號 |
| %CPU | CPU占用率 |
| %MEM | 內存占用率 |
| VSZ | 虛擬內存使用量(單位是KB) |
| RSS | 占用的固定內存量(單位是KB) |
| TTY | 所在終端 |
| STAT | 進程狀態 |
| START | 被啟動的時間 |
| TIME | 實際使用CPU時間 |
| COMMAND | 命令名稱與參數 |
top命令
top命令用于動態地見識進程活動與系統負載等信息
語法:
top使用top命令后,將會看到下面的界面
top - 08:10:18 up 1:26, 2 users, load average: 0.40, 0.15, 0.08 Tasks: 477 total, 3 running, 474 sleeping, 0 stopped, 0 zombie %Cpu(s): 33.9 us, 1.3 sy, 0.0 ni, 64.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 1870760 total, 1327452 used, 543308 free, 1080 buffers KiB Swap: 2097148 total, 0 used, 2097148 free. 482864 cached MemPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4359 root 20 0 1676796 327100 38576 S 32.6 17.5 2:16.75 gnome-shell 3979 root 20 0 203224 43204 7916 S 2.3 2.3 0:08.50 Xorg 4706 root 20 0 771500 18860 12408 S 0.7 1.0 0:01.06 gnome-term+ 1 root 20 0 52840 6724 3756 S 0.0 0.4 0:01.51 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+ 7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0前五行命令如下:
pidof命令
pidof命令用于查詢某個指定服務的PID值
語法:
pidof [參數] [服務名稱]例如:
查詢sshd服務程序的PID
kill命令
kill命令用于終止某個指定PID的服務進程
通常是用pidof查出服務的pid號碼,然后用kill命令結束進程
語法:
kill [參數] [進程PID]killall命令
killall命令用于終止某個指定名稱的服務所對應的全部進程
往往復雜軟件的服務程序會有多個進程協同為用戶提供服務,使用killall能結束所有的進程
語法:
killall [參數] [進程名稱]系統狀態監測
Linux系統作為服務器,我們需要具備快速查看Linux系統運行狀態的能力
下面將講解與網卡網絡,系統內核,系統負載,內存使用情況,當前啟動終端數量,歷史登錄記錄,命令執行記錄及救援診斷等相關命令的使用方法
ifconfig命令
ifconfig命令用于獲取網卡配置與網絡狀態等信息
語法:
ifconfig [網絡設備] [參數]需要注意的是,Ubuntu中ifconfig命令并非安裝時自帶的,需要下載net-tools組件
單純使用ifconfig命令查看本機當前的網卡配置與網絡狀態等信息,其實主要看的就是網卡名稱,inet參數后面的IP地址,ether參數后面的網卡物理地址(又稱為MAC地址),以及RX,TX的接收數據包與發送數據包的個數和累計流量
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.218.128 netmask 255.255.255.0 broadcast 192.168.218.255inet6 fe80::20c:29ff:fef3:b4e6 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:f3:b4:e6 txqueuelen 1000 (Ethernet)RX packets 445 bytes 38554 (37.6 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 1418 bytes 103785 (101.3 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 0 (Local Loopback)RX packets 525 bytes 52048 (50.8 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 525 bytes 52048 (50.8 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0uname命令
uname命令用于查看系統內核與系統版本等信息
語法:
uname [參數]如果要查看系統內核與系統版本等信息,語法為
uname -auptime命令
uptime命令用于查看系統的負載信息
顯示當前系統時間,系統已運行時間,啟動終端數量以及平均負載值(1分鐘,5分鐘,15分鐘)等信息
語法:
uptime得到的結果如下
08:50:50 up 2:07, 2 users, load average: 0.08, 0.07, 0.06free命令
free命令用于顯示當前系統中內存的使用量信息
語法:
free [選項]通常為了更人性化的查看會加上==-h==參數(自動轉換單位)
查看當前系統中的內存使用量:
free -h得到結果如下:
total used free shared buffers cached Mem: 1.8G 1.3G 516M 10M 1.1M 471M -/+ buffers/cache: 837M 989M Swap: 2.0G 0B 2.0G其中:
- total:內存總量
- used:已用量
- free:可用量
- shared:進程共享的內存量
- buffers:磁盤緩存的內存量
- cached:緩存的內存量
who命令
who命令用于查看當前登錄主機的用戶終端信息
語法:
who [參數]直接使用who得到的結果如下
root :0 2020-06-28 06:54 (:0) root pts/0 2020-06-28 06:54 (:0)=其中:
- 第一列為登錄的用戶名
- 第二列為登錄的終端設備
- 第三列為登錄到系統的時間
last命令
last命令用于查看所有系統的登錄記錄
語法:
last 參數得到的結果和who命令的結果類似
history命令
history命令用于顯示歷史執行過的前1000條命令
如果覺得不夠,可以在/etc/profile文件中修改HISTSIZE變量值
語法:
history [參數]可以使用==-c==參數來清除歷史記錄
sosreport命令
sosreport命令用于手機系統配置及架構信息并輸出診斷文檔
語法:
sosreport和ifconfig一樣sosreport命令Ubuntu中不是自帶的,需要下載sosreport`
工作目錄切換命令
工作目錄是指用戶在當前系統中所處的位置
由于工作目錄牽涉系統儲存結構相關的只是,因此在后面詳細講解.這里只是介紹下使用
pwd命令
pwd命令用于顯示用戶當前所處的工作目錄
語法:
pwdcd命令
cd命令用于切換工作命令
語法:
cd 目錄名稱常用的用法:
cd ~ //返回當前用戶的家目錄 cd.. //進入上級目錄 cd ~username //進入其他用戶的家目錄 cd - //返回上一次所處的目錄ls命令
ls命令用于輸出當前目錄下的文件信息
語法:
ls 選項 文件文件編輯命令
Linux系統中==“萬物皆文件”==,因此我們必不可少的需要對文本進行編輯
下面就將講解文件編輯命令
cat命令
cat命令用于查看純文本文件(內容較少時候)
語法:
cat [選項] [文件]使用==-n==選項顯示行號
more命令
more命令用于查看純文本文件(內容較多的)
使用more可以查看當前閱讀百分比和空格/回車向下翻頁
語法:
more [選項] [文件]head命令
head命令由于查看純文本文檔的前n行
具體使用就是使用==-n==參數指定看的行數
語法
head [選項] [文件]tail命令
tail命令用于查看純文本文檔的后n行
同樣也是加上==-n==參數指定看的行數
可以使用-f參數來持續刷新文件
語法:
tail [選項] [文件]tr命令
tr命令由于替換文本中的字符
語法:
tr [原始字符] [目的字符]一般和管道符結合起來進行快速修改
wc命令
wc用于統計指定文本的行數,字數,字節數
語法:
wc 參數 文本得到的結果分別是查詢文件的行數,字數和字節數
stat命令
stat命令用于查看文件的具體存儲信息和時間等信息
語法:
stat 文件名稱使用stat查看當下文件中的profile文件
[root@Jack-linuxprobe Desktop]# stat profileFile: ‘profile’Size: 1750 Blocks: 8 IO Block: 4096 regular file Device: fd01h/64769d Inode: 102579774 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2020-06-28 09:30:16.847868217 -0400 Modify: 2020-06-28 09:30:08.916869121 -0400 Change: 2020-06-28 09:30:08.916869121 -0400Birth: -可以看到profile文件具有三種狀態: Access,Modify,Change
這三種狀態在后面的touch命令講解中將會講到
cut命令
cut命令用于按列提取文本字符
語法:
cut 參數 文本diff命令
diff命令多用于比較多個文本文件的差異
語法:
diff [參數] [文件]如果要比較兩個文本是否一樣,可以使用–brief參數
如果兩個文件內容一樣,則不會產生任何信息
如果文件不一樣,那么就用==-c==參數來描述文件內容的具體不同
多出的內容會在這一行前面有加號,不同的內容會在這一行前面有嘆號
文件目錄管理命令
前面的講解更像是在打地基.在日常的linux運維中好需要掌握對文件的創建,修改,復制,剪切,更名與刪除等操作
下面就將講解linux中的文件目錄管理命令
touch命令
touch命令用于創建空白文件或者設置文件時間
語法:
touch [選項] [文件]使用touch創建空白文件很簡單,不加選項直接后面加文件名即可,所以問題關鍵在于使用touch參數修改文件時間
touch的參數如下
| -a | 僅修改讀取時間(atime) |
| -m | 僅修改修改時間(mtime) |
| -d | 同時修改atime和mtime |
所以我們可以先用ls查看一個文件修改時間然后修改這個文件,最后通過touch再改回修改之前的時間
mkdir命令
mkdir命令用于創建空白目錄
語法:
mkdir 選項 目錄可以使用-p選項來遞歸創建具有重疊關系的目錄
cp命令
cp命令用于復制文件或目錄
語法:
cp 選項 源文件 目標文件mv命令
mv命令用于剪切文件或者將文件重命名
語法:
mv 選項 源文件 目標路徑/目標文件名rm命令
rm命令用于刪除文件或目錄
語法:
rm 選項 文件dd命令
dd命令用于按照指定大小和個數的數據塊來復制文件或者轉移文件
語法:
dd 參數file命令
file命令用于查看文件的類型
語法:
file 文件名需要注意的是,linux中不能通過后綴名來查看文件類型,因此需要用file來查看
打包與壓縮命令
在網絡上,人們傾向于傳輸壓縮文件,因為體積更小,效率更高
下面就將講解linux中的打包與壓縮命令
但是由于每個都很復雜,所以還是需要看查看說明文檔
tar命令
tar命令用于對文件進行打包壓縮或解壓
語法:
tar 選項 文件tar命令常用參數如下:
| -c | 創建壓縮文件 |
| -x | 解開壓縮文件 |
| -t | 查看壓縮包內有哪些文件 |
| -z | 用Gzip壓縮或者解壓 |
| -j | 用bzip壓縮或解壓 |
| -v | 顯示壓縮或者解壓的過程 |
| -f | 目標文件名 |
| -p | 保留原始的權限和屬性 |
| -P | 使用絕對路徑來壓縮 |
| -C | 指定解壓到的目錄 |
一般壓縮時候用==-czvf==,解壓縮用==-xzvf==
grep命令
grep命令用于在文本中執行關鍵詞搜索,并顯示匹配結果
語法:
grep 選項 文件常用選項如下:
| -b | 將可執行文件(binary)當做文本文件(text)搜索 |
| -c | 僅顯示找到的行數 |
| -i | 忽略大小寫 |
| -n | 顯示行號 |
| -v | 反向選擇,僅列出沒有關鍵詞的行 |
例如,在/etc/passwd這個文本文件中匹配/sbin/nologin
find命令
find命令用于按照指定條件來查找文件
格式:
find [查找路徑] [尋找條件] [操作]其中找條件是使用參數實現的
find命令常用的參數和作用如下:
| -name | 匹配名稱 |
| -perm | 匹配權限 |
| -user | 匹配所有者 |
| -group | 匹配所有組 |
| -mtime -n +n | 匹配修改內容的時間(-n指n天以內,+n指n天以前) |
| -atime -n +n | 匹配訪問文件的時間(-n指n天以內,+n指n天以前) |
| -ctime -n +n | 匹配修改文件權限的時間(-n指n天以內,+n指天以前) |
| -nouser | 匹配無所有者的文件 |
| -nogroup | 匹配無所有組的文件 |
| -newer f1 !f2 | 匹配比文件f1新但比文件f2舊的文件 |
| –type b/d/c/p/l/f | 匹配文件類型,后面的字母參數分別表示塊設備,目錄,字符設備,管道,鏈接文件,文本文件 |
| -size | 匹配文件的大小(+50KB表示大于50KB的文件,-50KB表示小于50KB的文件) |
| -preune | 忽略某個目錄 |
| -exec … {}; | 可用于后面進一步處理搜索結果的命令 |
例如
我們想要找出/etc文件夾下所有以host開頭的文件并打印出來
[root@Jack-linuxprobe Desktop]# find /etc -name "host*" -print在整個系統中搜索權限包含SUID權限的所有文件 只需要使用-perm參數匹配-4000即可
總結
- 上一篇: 银河麒麟服务器版显示,银河麒麟服务器设置
- 下一篇: rest风格使用两个变量_REST风格