linux基礎
幫助命令
man
(manual pages) 獲取某個命令的說明和使用方式的詳細介紹
man 命令名
man手冊的內容很多,涉及了Linux使用過程中的方方面面,爲了便於查找,man 手冊被進行了分冊(分區段)處理,手冊通常被分爲以下9個區段:
1 | Standard commands(標準命令) |
---|---|
2 | System calls(系統調用) |
3 | Library functions(庫函數) |
4 | Special devices(設備說明) |
5 | File formats(文件格式) |
6 | Games and toys(遊戲和娛樂) |
7 | Miscellaneous(雜項) |
8 | Administrative Commands(系統管理命令和守護進程) |
9 | other(其他,用來存放內核例行程序的文檔) |
所有的手冊頁遵循一個常見的佈局,一般包括以下部分內容:
1)手冊名稱與所在章節,如上圖最上方的 LS(1),其中 LS 表示手冊名稱,(1)表示該手冊位於第一章節。
2)NAME(名稱):該命令或函數的名稱,接着是一行簡介。
3)SYNOPSIS(概要):對於命令,正式的描述它如何運行,以及需要什麼樣的命令行參數。對於函數,介紹函數所需的參數,以及哪個頭文件包含該函數的定義。
4)DESCRIPTION(說明):命令或函數功能的文本描述。
5)EXAMPLES(示例):常用的一些示例。
6)SEE ALSO(參見):相關命令或函數的列表。
除以上內容外,不同命令存在其它部分內容,但這些部分沒有得到跨手冊頁的標準化。
常見的例子有:OPTIONS(選項)、EXIT STATUS(退出狀態)、ENVIRONMENT(環境)、BUGS(程序漏洞)、FILES(文件)、AUTHOR(作者)、REPORTING BUGS(已知漏洞)、HISTORY(歷史)、COPYRIGHT(版權)等,大家瞭解一下即可。
man設置瞭如下的功能鍵:
功能鍵 | 功能 |
---|---|
空格鍵 | 顯示手冊頁的下一屏 |
Enter鍵 | 一次滾動手冊頁的一行 |
b | 回滾一屏 |
f | 前滾一屏 |
q | 退出man命令 |
h | 列出所有功能鍵 |
/word | 搜索word字符串 |
info
如果覺得 man 顯示的信息都還不夠,滿足不了需求,那麼可使用 info 命令來獲取幫助。
info 來自自由軟件基金會的 GNU 項目,是 GNU 的超文本幫助系統,能夠更完整的顯示出 GNU 信息。
man 和 info 就像兩個集合,它們有一個交集部分,但與 man 相比,info 工具可顯示更完整的 GNU 工具信息。
help
help命令用於顯示shell內部的幫助信息。help命令只能顯示shell內部的命令幫助信息。而對於外部命令的幫助信息只能使用man或者info命令查看。
命令名 --help
文件搜索命令
find
作用: find命令用來進行文件搜索,其功能十分強大,但由於搜索很佔系統資源,建議儘量少使用find命令來執行搜索任務。在使用find命令時,應該儘可能縮小搜索範圍,避免服務器使用高峯期進行文件搜素。綜上所述,在整理Linux文件時,儘可能保證規範化,提前規劃好文件的存放目錄。
搜索方法
- 根據文件或者目錄名稱搜索
find[搜索目錄] [-name/-iname][搜索字符]
-name區分大小寫
-iname不區分大小寫
#找當前目錄下的文件
yao@ubuntu:~$ find /home -name demo.txt
/home/yao/Desktop/mainfile/demo.txt
#搜索所有txt,正則
yao@ubuntu:~$ find /home -name *txt
/home/yao/Desktop/mainfile/file1/demo.txt
/home/yao/Desktop/mainfile/file2/demos.txt
/home/yao/Desktop/mainfile/demo.txt
模糊搜索:*/?
根據文件大小搜索
find [搜索目錄] -size +n/-n/n 大於/小於/等於 n
根據所有者或者所屬組搜索
find [目錄名] user
find [目錄名] group
locate
**作用:**在文件資料庫中查找文件
locate [文件名]
yao@ubuntu:~$ locate mainfile
/home/yao/Desktop/mainfile
/home/yao/Desktop/mainfile/demo.txt
/home/yao/Desktop/mainfile/file1
/home/yao/Desktop/mainfile/file2
/home/yao/Desktop/mainfile/file3
/home/yao/Desktop/mainfile/file1/demo.txt
/home/yao/Desktop/mainfile/file2/demos.txt
locate命令和find命令的區別:
find命令是全盤檢索。
locate是在文件資料庫中進行搜索。
因此,locate命令的執行速度比find快。這裏 需要注意的是,文件資料庫是需要不斷更新的。我們新建的文件如果不更新文件資料庫,就無法使用locate查詢。
手動更新資料庫,我們可以使用updatedb命令,但對於/tmp目錄下的新建文件,是無法更新的,因爲/tmp目錄不屬於文件資料庫的收錄範圍。
yao@ubuntu:~$ locate uncity#剛剛新建如果沒有重啓終端,會找不到
yao@ubuntu:~$ sudo updatedb
[sudo] password for yao:
yao@ubuntu:~$ locate uncity
/home/yao/Desktop/uncity
/home/yao/Desktop/uncity/uncity1
/home/yao/Desktop/uncity/uncity2
which
**作用:**搜索命令所在的目錄以及別名信息
which [命令]
yao@ubuntu:~$ which ls
/bin/ls
whereis
**作用:**搜索命令所在目錄及幫助文檔的路徑
whereis [命令]
yao@ubuntu:~$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
壓縮解壓命令
gzip命令
作用:(GNU zip)壓縮文件,文件拓展名爲.gz
gzip [文件名]
yao@ubuntu:~/Desktop/ZipDemo$ touch demo
yao@ubuntu:~/Desktop/ZipDemo$ gzip demo
#原文件變成了demo.gz,不再原目錄保存原文件
yao@ubuntu:~/Desktop/ZipDemo$ gzip file
gzip: file is a directory -- ignored
#只能壓縮文件不能壓縮目錄
gunzip命令
作用:(GNU unzip)解壓.gz格式文件
gunzip [壓縮文件名]
yao@ubuntu:~/Desktop/ZipDemo$ gunzip demo.gz
#拓展名.gz可以不打出來,將對於文件解壓
tar 命令
**作用:**將文件壓縮爲.tar.gz格式
tar [選項][壓縮後的文件名]目錄
選項說明:
-c: 打包
-v: 顯示詳細信息
-f: 指定文件名
-z: 打包文件同時壓縮文件
解壓
格式
tar 選項[.tar.gz格式文件][指定解壓後文件存放目錄,默認爲當前目錄]
選項說明:
-x:解包
-v:顯示詳細信息
-f:指定解壓文件
-z:解壓縮
yao@ubuntu:~/Desktop/ZipDemo$ tar -zcvf file.tar.gz file
#在當前目錄下創建一個file.tar.gz,爲file的壓縮,file依然存在
yao@ubuntu:~/Desktop/ZipDemo$ rmdir file
#刪除這個空的file
yao@ubuntu:~/Desktop/ZipDemo$ tar -zxf file.tar.gz
#解壓file.tar.gz,原文件依然存在
zip命令
**作用:**將文件或者目錄壓縮爲.zip格式
zip [-r] [壓縮後文件名] 要壓縮的文件或者目錄
ao@ubuntu:~/Desktop/ZipDemo$ zip demo.zip demo
adding: demo (stored 0%)
#生成一個demo.zip,內有一個demo文件
-r:壓縮目錄及目錄內的所有文件(夾)
unzip 解壓
unzip [.zip格式拓展名]
yao@ubuntu:~/Desktop/ZipDemo$ unzip demo.zip
Archive: demo.zip
Archive: demo.zip
replace demo? [y]es, [n]o, [A]ll, [N]one, [r]ename:
#返回一個可以多項操作的語句
bzip2
**作用:**將文件壓縮爲.bz2格式
**注意:**只能壓縮文件
bzip2[/-k]文件
yao@ubuntu:~/Desktop/ZipDemo$ unzip demo.zip
Archive: demo.zip
#生成一個demo.bz2,內有一個demo文件
-k:保留原文件
unbzip2
**作用:**解壓.bz2格式的文件
unbzip2[/-k]文件
系統管理命令
date
顯示日期時間
yao@ubuntu:~$ date
Thu Aug 8 13:38:06 CST 2019
yao@ubuntu:~$ date '+%Y-%m-%d %H:%M:%S'#格式化時間
2019-08-08 13:39:07
format格式 | 含義 |
---|---|
%Y,%y | 年 |
%m | 月 |
%d | 日 |
%H | 時 |
%M | 分 |
%S | 秒 |
cal
顯示日曆
yao@ubuntu:~$ cal
August 2019
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
yao@ubuntu:~$ cal -y #顯示全年日曆
ps
查看進程的信息情況,常用選項
選項 | 作用 |
---|---|
-a | 顯示終端上所有的進程(包括其他用戶的進程) |
-u | 顯示進程的詳細狀態 |
-X | 顯示沒有控制終端的進程 |
-r | 顯示正在運行的進程 |
-w | 顯示加款,以便顯示更多的信息 |
sudo reboot
重啓
sudo shutdown
關機
shutdown
shutdown -r /-h 14:20
在指定時間重啓/關機
init
init 0 關機
init 6 重啓
檢測磁盤空間
df
sudo df -m
選項 | 作用 |
---|---|
-a | 顯示所有文件系統的磁盤使用情況 |
-m | 以1024字節爲單位顯示 |
-t | 顯示各指定文件系統的磁盤使用情況 |
-T | 顯示文件系統 |
yao@ubuntu:~$ sudo df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 991272 0 991272 0% /dev
tmpfs tmpfs 202712 6360 196352 4% /run
/dev/sda1 ext4 18447100 4475196 13011804 26% /
tmpfs tmpfs 1013544 280 1013264 1% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
tmpfs tmpfs 1013544 0 1013544 0% /sys/fs/cgroup
tmpfs tmpfs 202712 64 202648 1% /run/user/1000
進程終止
kill
kill [signal] pid
signal : 信號值0-15,
yao@ubuntu:~$ sudo df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 991272 0 991272 0% /dev
tmpfs tmpfs 202712 6360 196352 4% /run
/dev/sda1 ext4 18447100 4475196 13011804 26% /
tmpfs tmpfs 1013544 280 1013264 1% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
tmpfs tmpfs 1013544 0 1013544 0% /sys/fs/cgroup
tmpfs tmpfs 202712 64 202648 1% /run/user/1000
#### 進程終止
##### kill
```shell
kill [signal] pid
signal : 信號值0-15,
9表示絕對終止,用來終止一般信號無法終止的進程