獲取命令的使用幫助的幾種方法:
1.man:(針對於linux內部命令)
man九章:
1.用戶命令幫助文檔(所有用戶都可以執行的命令)
2.系統調用
3.庫調用(c庫調用)
4.(特殊調用)設備和特殊文件
5.配置文件格式
6.遊戲相關的幫助信息
7.雜項
8.系統管理員類命令
9.內核歷程相關的幫助信息
在每個man手冊中都常見到的一些字段:
NAME:程序的名稱及相關的功能的簡單描述
SYNOPSIS:命令使用的語法格式
DESCRIPTION:程序的詳細描述信息
OPTIONS:選項的用法和選項的含義的詳細說明
AUTHOR:程序作者的信息
EXAMPLES:命令程序的使用範例
REPORTING BUGS:報告程序中所含的BUG的方式,通常是電子郵件
SEE ALSO:額外參考的內容
FILE:與該程序相關的其他的文獻資料,如配置文件,README文檔等
在幫助信息中可能出現的一些特殊符號的意義:
[]:可以省略不寫,也可以根據需要選擇使用
{}:在花括號中一般包含豎線“|”,表示從所有項目中必須選擇而且只能選擇一個使用:“|”有或者之意
<>:必須書寫的內容
…:可以有更多內容
區分內部命令和外部命令的方法:
# type COMMEND
查找結果中顯示爲“內嵌”或者“buildin”字樣的,則爲內部命令
其餘的結果都爲外部命令
內部命令的幫助獲取不使用man手冊,而使用help命令
# help BUILDIN_COMMAND
2.使用whereis命令獲得幫助
可以查看程序的二進制文件、源代碼文件及幫助手冊所在的位置
3.whatis
可以獲取被匹配到的命令的手冊頁的描述信息
4.which
可以顯示命令的別名的定義方式和命令的二進制文件的路徑
5.info命令
infoCOMMAND
獲取命令的在線幫助文檔
6.有很多的程序有自帶的幫助文檔
/usr/share/doc/APP_NAME-VERSION/
README:程序的相關信息
INSTALL:程序的安裝信息
CHANGES:程序的版本更迭的歷程相關的信息
LICENSE:程序所遵循的許可證類型
GPL
LGPL
BSD
Apache
MIT
7.搜索引擎
Google
搜索技巧 mysql filetype:pdf
mysql site:51cto.com
8.相關的網站站點中的文檔信息
wiki
FAQ
9.程序的發行方的官方站點提供的官方文檔
10.參考書籍:
O'Reiley
Wrox
電子工業出版社
簡單的系統管理類的命令:
註銷:在Linux裏邊就是退出登錄而已
exit
logout
ctrll+d
重啓(重新引導):將運行於內存中的所有進程關閉,關閉系統內核,對於所有的計算機部件進程重新通電,加載內核,啓動應用程序,打印登陸提示符
reboot
shutdown -r -t #|now|time (推薦)
#:數字,表示相對時間,即#分鐘之後重新引導
now:現在,立即重新引導,相當於-t 0;
time:12:00
init 6
關閉系統:將運行於內存中的所有進程關閉,關閉系統內核,對於所有的計算機部件斷電
halt
poweroff
init 0
shutdown -h {#|now|time} (推薦)
linux的哲學思想
1.一切皆文件
Linux把幾乎所有的數據和資源都抽象(虛擬)成文件的形式,甚至包括硬件網絡通信設備所使用的套接字以及管道都是如此
文件:一組有邊界的位於存儲設備中的流式數據
2.由衆多的功能單一的小程序組成,可以實現複雜任務
功能單一:每個小程序只做一件事,只實現一個功能;並且要做到最好
複雜任務:可以根據業務邏輯或業務類型,儘可能完美的組合多個小程序,使多個小程序相輔相成,將功能發揮至極致
3.儘量避免與用戶直接交互
在程序化,系統化,平臺化,自動化的運維空間中,人是極其易出錯的一個環節;儘量避免與用戶直接交互可以儘可能的保證結果的準確性和
過程的高效性;易於以編程的方式實現自動化任務的實施;
4.使用純文本文件保存程序的配置信息
在程序出現錯誤或者執行不暢的時候,可以使用文本編程工具分析程序的錯誤原因,而不必依賴於二進制文件
文件系統:
文件是分成兩部分存放:
元數據:描述文件的屬性
數據:文件的內容
分層編址方式:
在文件系統中,基於文件名引用文件,按名來進行文件存取
在文件系統中,對於文件名有一系列的規定
1.文件名不能包含“/”字符
“/”表示根文件系統;所謂根文件系統,即爲Linux文件的原始起點;
“/”表示路徑的分隔符
2.文件名的長度不能超過255個字符
3.在同一個位置,文件名不能重複使用;
4.文件的名稱嚴格區分大小寫
文件系統使用路徑的概念標識文件的位置;所謂路徑,就是定位一個文件所在的位置時,所必須經過的目錄的層級結構的集合
文件系統中路徑的描述方式:
絕對路徑:一切以“/”開始查找的路徑
相對路徑:一切以“當前工作目錄”開始查找的路徑;
“.”:表示當前工作目錄
“..”:表示當前工作目錄的父目錄(上一級目錄)
因此也可以說,一切以“.”或“..”開始查找的路徑,叫做相對路勁;而且在使用“.”表示當前工作目錄的時候,可以省略。
如何選擇路徑?選擇絕對路徑還是相對路徑?
如果在查找文件的時,目標文件和當前目錄不順路,就使用絕對路徑;如果順路就是用相對路徑
順路指的是:當前工作目錄被包含在絕對路徑之中
家目錄:
每個用戶登錄系統時默認的當前工作目錄;也是每個用戶的起始目錄;也成爲“home directory”
任何一個路徑其實都是由兩部分組成:
文件的基名:
basename
文件的目錄名:
dirname
FHS:文件系統的層級標準
bin:binary,所有用戶(包括普通用戶)可以執行的普通操作命令
boot(起步,啓動,引導):引導操作系統啓動的靜態文件,包括:引導程序,Linux內核,initramfs等;
dev:device,設備
塊設備:Block Device,隨機訪問,指的是能夠實現數據存放的設備
字符設備:character device,順序訪問(線性訪問),指的是能夠實現數據傳輸和數據處理功能的設備;
etc:Exsternal Text configure,存放主機中各應用程序的配置文件;
home:普通用戶的默認家目錄的根;
lib,lib64:Library,存放應用程序共享庫的目錄,內核的模塊
media:可移動設備的掛載點;
mnt:臨時文件系統的掛載點;
opt:optional,可選的,以前此目錄是非常流行的第三方應用程序的安裝目錄
root:root用戶的家目錄
run:保存一些進程的PID文件;目前已廢棄
sbin:super binary,存放那些還有超級用戶root能夠執行的系統管理類的命令
srv:存放由系統提供的服務的數據
tmp:temporary,臨時文件目錄,系統每30天會自動清理該目錄中的在30以上沒有訪問過的文件
usr:usual system root,linux系統的第二根,現在主要用於安裝第三方應用程序;
/usr/local:第三根,主要用於通過編譯源代碼的方式安裝第三方應用程序;
/usr/src:存放第三方應用程序的源代碼;
var:variable,變量,存放可變化的數據,數據庫類的文件
僞文件系統,其中存放的是內存中的數據通過操作系統映射的文件
proc:process,進程
sys:system
文件類型:
根據顏色來區分文件類型:
黑色或白色:普通文本文件,regular file;
綠色:可執行文件,命令;
黃色:設備文件,包括塊設備和字符設備;
紅色:包文件,包括:軟件包,壓縮包,歸檔包等;
深藍色:目錄文件
青藍色(天藍色):符號鏈接文件,相當於windows系統中的快捷方式;
紫色(粉色):套接字文件;
棕色:管道文件;
根據文件類型的標記區分文件類型:
-:普通文件
b:塊設備文件
c:字符設備文件:
d:目錄文件;
l:符號鏈接文件:
p:管道文件
s:套接字文件
準確的區分文件類型:
file命令
#file/PATH/TO/SOMEFILE
常用的命令使用方法:
1.echo: display a line of text
常用選項:
-n:不換行
-e:使用\所引導的轉義序列生效;
\n:換行
\t:水平製表符
2.cd
change the shell working directory
切換工作目錄
cd[-L|[-P[-e]]] [dir]
cd /PATH/TO/SOMEDIR:將工作目錄切換至參數所代表的目錄;
cd:將工作目錄切換至當前登錄用戶的家目錄;相當於cd ~;
cd -:將工作目錄切換至此前最後一次的工作目錄;
shell提供了兩個變量;
PWD
OLDPWD
注意,在SHELL中獲取變量值的方法;變量名嚴格區分大小寫;
echo ${VAR_NAME}
cd ~USERNAME:將工作目錄切換至指定用戶的家目錄中;
3.pwd
print the name of the current working directory
打印當前工作目錄的名稱
4.ls
ls -list directory contents
注意:目錄的內容是文件名;
ls [OPTION]...[FILE]...
在Linux的文件系統中,所有以“.”作爲文件名的起始字符的文件,都是隱藏文件
常用選項:
-a,--all:顯示所有文件,包括隱藏文件;
-A,--almost-all:顯示除了“.”和“..”之外的所有文件,包括隱藏文件
--color[=WHEN]:以不同的顏色來顯示查詢結果
-d,--directory:顯示目錄本身,而不是目錄中的文件名
-h,--human-
readable:在顯示文件大小的時候,顯示爲更加易讀的格式:通常與-l選項一同使用
-l:使用長列表格式顯示文件的詳細屬性
-rw-------.1 root root 1458 12月 23 2016 anaconda-ks.cfg
-:表示文件類型
rw-------:文件的權限位設置
.:表示該文件是否具有特殊屬性或擴展屬性
1:表示該文件被硬連接的次數
root:文件的屬主(所有者)
root:文件的屬組
1458:表示文件的大小,在沒有使用-h選項時,其單位爲字節;
12月 23 2016:文件的時間戳之一,表示最後一次被修改的時間
anaconda-ks.cfg:文件名
對於設備文件:
~]# ls -l /dev/sr0
brw-rw----.1 root cdrom 11,0 9月 24 10:50 /dev/sr0
11,0:major,minor
major:主設備號,用於標識設備類型,進而確定需要加載何種驅動程序
minor:次設備號,用於標識同一種設備類型中的不同的設備
設備號默認使用8位二進制表示,所以默認的設備號的範圍是0-255
-r,--reverse:倒序輸出結果
-R,--recursive:遞歸顯示,如果目標目錄中有子目錄,則遞歸顯示子目錄的內容,一次遞歸下去
-Z,--context:顯示文件的SELinux安全上下文標籤
5.mkdir
mkdir - make directories,創建新目錄
mkdir [OPTION]...DIRECTION...
-P,--parents:在創建目錄的時候,如果其父目錄不存在,則優先創建之;
-v,--verbose:爲每個被創建的目錄顯示一條信息
6.rm
rm - remove files or directories
rm [OPTION]... FILE...
-f, --force:暴力,強制刪除;
-r, -R, --recursive:遞歸刪除目錄及目錄中的內容;
7.touch
touch - change file timestamps修改文件的時間戳記.
-c, --no-create 不創建任何文件
-a:僅修改文件的訪問時間戳
-m:僅次該文件的修改時間戳
-t decimtime
這裏時間值 的格式爲MMDDhhmm[[CC]YY][.ss] 從左至右分別是月份,日期,小時,分鐘,可選的世紀和 年,以及可選的秒. touch
將用這組數值修改指定文件的時間戳記.請注意,這個格式與POSIX標準所規定的格式並 不一樣.
額外的,如果沒有指定-c選項,touch命令可以創建出被指定爲參數且不存在的文件
8.stat
stat - display file or file system status,顯示文件或文件系統的狀態;
格式:stat [OPTION]... FILE...
常用選項:
-c, --format=FORMAT:以指定的格式顯示文件的指定狀態屬性;
9.nano - Nano's ANOther editor, an enhanced free Pico clone
nano [OPTIONS] [[+LINE,COLUMN] FILE]...
^:脫字符,表示鍵盤上的ctrl鍵
^+o:保存文檔內容
^+x:退出編輯界面
10.cat - con;catenate files and print on the standard output 連接文件並在標準輸出上輸出
格式:cat [OPTION]... [FILE]...
常用選項:
-b, --number-nonblank:對非空白行進行編號輸出;
-n, --number:對所有行編號輸出;
-s, --squeeze-blank:合併連續的空白行;
-E, --show-ends:在行尾以$字符顯示;
tac - concatenate and print files in reverse
格式:tac [OPTION]... [FILE]...
注意:cat或tac命令,如果沒有給出參數,則所有的內容需要通過標準輸入(從鍵盤鍵入)完成;而後可以使用"^+c"或者"^+d"退出即可;
11.head - output the first part of files 輸出文件的起始部分
格式:head [OPTION]...[FILE]...
常用選項:
-c, --bytes=[-]K:以字節爲單位顯示相應長度的內容;
-n, --lines=[-]K:以行爲單位顯示相應長度的內容;
可以使用-#K方式替換-n #K;
注意:如果不使用任何選項,則默認顯示指定文件內容的前10行;如果文件中不足10行,則顯示全部內容;
12. tail - output the last part of files 輸出文件的末尾部分
格式:../src/tail [OPTION]... [FILE]...
常用選項:-c, --bytes=N 輸出最後N個字節
-f, --follow[={name|descriptor}]
當文件增長時,輸出後續添加的數據; -f, --follow以及 --follow=descriptor 都是相同的意思
-n, --lines=N 輸出最後N行,而非默認的最後10行
13.more
more - file perusal filter for crt viewing 分頁顯示文檔內容
格式:more [options] file [...]
交互式編輯方法:
可以使用"/"根據後續給出的字符串組合進行查找過濾;
可以使用"n"找到下一個匹配項;
使用"q"退出more模式;
使用Enter,可以向下翻一行;
使用Space,可以向下翻一頁;
14.less
less - opposite of more
格式:less [options] file [...]
交互式編輯方法:
可以使用"/"或"?"根據後續給出的字符串組合進行查找過濾;
可以使用"n"或"N"找到下一個匹配項;
使用"q"退出more模式;
使用Enter,可以向下翻一行;
使用Space,可以向下翻一頁;
日期和時間相關的命令:
15.date
操作系統時間,簡稱系統時間,使用軟件模式的時鐘記錄的時間
date - printf or set the system date and time
格式:
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
常用選項:
-s, --set =STRING:設置系統時間爲指定的時間
兩種格式:
1)MMDDHHmm[[CC]YY][.ss]
2)"CCYY-MM-DD HH:mm:ss" 或"CCYY/MM/DD HH:mm:ss"
FORMAT
%F:表示完整的年月日格式,即:YY-mm-dd
%T:表示完整的時分秒格式,及:HH:MM:SS
%Y:表示完整年份
%m:表示月份
%d:表示日期
%H:表示小時
%M:表示分鐘
%S:表示秒鐘
%s:時間戳,從1970-01-01 00:00:00到當前系統時間所經歷的秒數;
注意:1970年1月1日作爲Unix元年;
此時間戳是由32位二進制表示的,所以其表示的最大範圍0~4294967295;
16.clock/hwclock
hwclock - query or set the hardware clock (RTC)
格式:
hwclock [function] [option...]
常用選項:
-s, --hctosys:根據硬件時鐘設置系統時間;
-w, --systohc:根據系統時間設置硬件時鐘;(不推薦)
17.cal
與關機,重啓,註銷有關的命令
關機:half,poweroff,shutdown -h TIME,init 0:;
重啓:reboot,shutdown -r TIME,init 6;
註銷:exit,logout,^+d;
18.cp
cp - copy files and directories
格式:cp [OPTION]... [-T] SOURCE DEST:單源複製
cp [OPTION]... SOURCE... DIRECTORY:多源複製
注意:
1)cp命令至少要接兩個參數
2)最後一個參數,通常是此次複製的目標
3)如果在複製時給出的目標是目錄,則直接將文件複製到指定的目錄中,保留原文件名;如果在複製非目錄文件時,給出的目標是非目錄的文件 ,則此次操作時複製並改名。
常用選項:
-R,-r,--recursive:遞歸的複製目錄文件:
-d same as --no-dereference --preserve=links
複製的源文件是符號鏈接文件時,-d選項可以保留該符號鏈接文件作爲此次的源文件被複制,而不會複製該符號鏈接文件所指 的文件
19.mv
mv - 移動 (改名) 文件
格式:
mv [選項]... 源文件 目標文件
mv [選項]... 源文件... 目錄
常用選項:
-f, --force :覆蓋前永不提示
-n, --no-clobber:移動文件時,如果源文件與目標位置中的文件重名,則不移動