Linux系統的基礎命令
命令的語法通用格式:# COMMAND OPTIONS ARGUMENTS
COMMAND: 發起命令,請求內核將某個二進制程序運行為一個進程
命令本身是一個可執行的程序文件;二進制格式的文件,有可能會調用共享庫文件
多數程序文件都存放在:/bin, /sbin, /usr/sbin ,/usr/bin, /usr/local/bin, /usr/local/sbin
普通命令存放位置:/bin,/usr/sbin,/usr/local/bi
管理命令存放位置:/sbin,/usr/sbin,/usr/local/sbin
共享庫: /lib,/lib64,/usr/lib,/usr/li64,/usr/local/lib,/usr/local/lib64
32位的庫: /lib,/usr/lib,/usr/local/lib
64位的庫:/lib64,/usr/li64,/usr/local/lib64
注意:并非所有的命令都有一個早某目錄與之對應的可執行程序文件
命令必須遵循特定格式規范:exe,msi,ELF(Linux)
# file /bin/ls
命令分為兩類:
由shell程序的自帶的命令:內置命令(builtin)
獨立的可執行程序文件,文件名即命令名:外部命令
shell程序是獨特的程序,負責解析用戶提供的命令;
環境變量:
PATH:從哪些路徑匯中查找用戶鍵入的命令字符串所對應的命令字符串
[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:自作向右
如果是shell內部命令,則不會有這些命令存在的位置,是shell程序自帶的
查看命令類型:type+命令
OPTIONS:
指定命令的運行特性;
選項有兩種表現形式:
短選項:-C eg. -l , -d
注意:有些命令的選項沒有-;
如果同一命令使用多個短選項,多數可合并:
[root@localhost /]# ls -l -d /var
drwxr-xr-x. 19 root root 4096 8月 10 15:18 /var
[root@localhost /]# ls -ld /var
drwxr-xr-x. 19 root root 4096 8月 10 15:18 /var
長選項:–word, eg.–help,–human-readable
注意:長選項可以帶參數;
注意:有些選項可以帶參數,此稱為選項參數;
ARGUMENTS:
命令的作用對象;命令對什么生效
注意:不同的命令參數;有些命令可以同時帶多個參數,多個之間以空白字符分割
基礎命令介紹
which命令:
which – shows the full path of (shell) commands. 顯示命令的完整路徑
which [options] [–] programname […]
–skip-alias:不顯示別名
whereis命令:
locate the binary, source, and manual page files for a command
定位二進制、來源、幫助手冊文件的命令
-b:只顯示二進制格式
-m:只顯示幫助手冊
who命令:
查看登錄當前系統的相關信息
-b: 顯示上一次系統是什么時候啟動的
-r: 顯示運行級別
w命令:
增強版的who命令,用于顯示誰登陸了系統以及在做什么
bash的基礎特性:
命令歷史:shell進程會對其會話中保存此前用戶提交執行過的命令
# history
定制history的功能:可通過環境變量實現:
HISTSIZE:shell進程可保留的命令歷史的條數
eg.[root@bogon ~]# echo $HISTSIZE
1000
HISTFILE:持久保留命令歷史的文件
每個用戶下都有一個隱藏文件.bash_history
文件中不會有用戶剛剛操作過的命令,因為這個文件是用戶登出后內存寫入這個文件的
HISTFILESIZE:命令歷史的文件的大小
eg [root@bogon ~]# echo $HISTFILESIZE
1000
注意:比如命令歷史文件中有800條記錄,當系統開機時自動加載到內存中,開機后用戶操作300條命令
所以用history命令操作后看到的歷史命令的條數可以使1100條
比如命令歷史文件中有300條記錄,本次操作800條命令,用戶登出后本次操作的記錄保存到歷史文 件中那么歷史文件的大小還是1000條,最前面的100條記錄溢出
-c:清空命令歷史(刪除內存中的記錄)
-d+偏移量:刪除指定位置的歷史記錄
-w:將當前歷史寫入到歷史文件中并追加到歷史列表中(內存–>文件)
-r:讀取歷史文件并將內容追加到歷史列表中(文件–>內存)
history + #:顯示最近的#條命令
調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令
?。。涸僖淮螆绦猩弦粭l命令
!STRING:自一次執行命令歷史列表中最近一個以STRING開頭的命令
注意:命令的重復執行有時候需要依賴于冪等性
調用上一條命令的最后一個參數:
Esc,.
!$
eg:[root@bogon ~]# file !$
file /etc/sysconfig/network-scripts/ifcfg-eno16777736
/etc/sysconfig/network-scripts/ifcfg-eno16777736: ASCII text
控制命令歷史記錄的方式:
環境變量:HISTCONTROL
[root@bogon ~]# echo $HISTCONTROL
ignoredups —-忽略連續且相同的命令歷史記錄
其取值有三個:
ignoredups:忽略重復的命令
ignorespace: 忽略以空格開頭的的命令
ignorebouth:以上兩者同時生效
修改變量的值:
NAME='value'—> 僅對當前shell有效
目錄管理類的命令:
mkdir:創建目錄
mkdir [OPTION]… DIRECTORY…
注意:路徑基名方為命令的作用對象;基名之前的路徑必須得存在
-p: 自動按需創建父目錄
-v:顯示詳細的創建過程
-m + MODE:直接給定權限
rmdir: 刪除空目錄–>僅用于刪除空目錄
-p:刪除某空目錄后,如果父目錄為空,則一并刪除之
-v:顯示過程
tree命令:
-L :指定要顯示的目錄層級
more命令:
more FILE
特點:翻屏至文件尾部后自動退出
less命令:
less FIEL
head命令:
查看文件的前N行
head [options] FILE
-n
-n number
tail命令:
查看文件的后N行
tail [options] FILE
-n
-n number
-f:查看文件尾部內容結束后不退出,跟隨顯示新增的行。
stat命令:
顯示文件或文件系統的狀態
eg.[root@bogon ~]# stat /tmp/yum.log
文件:"/tmp/yum.log"
大小:0 塊:0 IO 塊:4096 普通空文件
設備:fd00h/64768d Inode:134 硬鏈接:1
權限:(0600/-rw——-) Uid:( 0/ root) Gid:( 0/ root)
環境:system_u:object_r:initrc_tmp_t:s0
最近訪問:2016-08-10 14:41:23.814002701 +0800
最近更改:2016-08-10 14:41:23.814002701 +0800
最近改動:2016-08-10 14:41:23.814002701 +0800
創建時間:-
文件:都有兩類數據
元數據:metadata–>描述屬性的信息
數據:data –>數據本身的信息
時間戳:
最近訪問(access time):2016-08-13 16:25:44.156843879 +0800
最近更改(modify time):2016-08-10 14:41:23.814002701 +0800
最近改動(change time):2016-08-10 14:41:23.814002701 +0800
touch命令:
修改文件的時間戳
-c:指定的文件路徑不存在時不予創建
-a:僅修改access time
-m:僅修改modify time
-t STAMP :修改指定的時間
[[CC]YY]MMDDhhmm[.ss]
cp命令:文件復制
源文件:目標文件
單源復制:cp [OPTION]… [-T] SOURCE DEST
多源復制:cp [OPTION]… SOURCE… DIRECTORY
多源復制:cp [OPTION]… -t DIRECTORY SOURCE…
單源復制:cp [OPTION]… [-T] SOURCE DEST
如果 DEST不存在:
則先創建此文件,并復制源文件的數據流到 DEST中
如果 DEST存在:
如果DEST是非目錄文件:則覆蓋目標文件
如果DEST是目錄文件:則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流
多源復制:cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
如果DEST不存在:錯誤
如果DEST存在:
如果DEST是非目錄文件:錯誤
如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原名
常用選項:
-i: 交互式復制,覆蓋之前提醒用戶確認
-f:強制覆蓋目標文件
-R/-r:遞歸復制目錄:復制目錄及目錄中的內容
-d:復制符號鏈接文件本身,而不復制它所連接的源文件
-a: -dR –preserve=all ,archive,用于實現歸檔(做備份);
–preserv=
mode:權限
pwnership:屬主和屬組
tomestamps;時間戳
context:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述所有屬性
mv命令:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:
-i: 交互式
-f:強制覆蓋目標文件
rm命令:刪除文件
常用選項:
-i:交互式
-f:強制執行
-r:遞歸刪除目錄
注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄(回收站)
變量:
命名的內存空間
變量類型:
浮點型
數值型
精確數值
近似數值
變量類型決定了存儲格式、數據范圍、參與運算等
原創文章,作者:N22-長春-石頭,如若轉載,請注明出處:http://www.www58058.com/35347