1.文件管理常用命令:
<1>mkdir,rmdir
mkdir:make directory
mkdir [OPTION]… DIRECTORY…
-p:自動按需創建父目錄;
-v:verbose,顯示詳細過程;
-m MODE;直接給定權限;
注意:路徑基名方為命令的作用對象;基名之前的路徑必須存在;
rmdir:remove empty directories
rmdir [OPTION]… DIRECTORY…
-p:刪除某目錄后,如果其父目錄為空,則一并刪除之;
-v:顯示過程;
<2>文件管理工具:cp,mv,rm
cp命令:copy
源文件;目標文件;
單源復制: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,用于實現歸檔;
–preserve
mode:權限
owership:屬主和屬組
timestamp:時間戳
context:擴展屬性
links:符號鏈接
all:上述所有屬性
mv命令:move
mv – move (rename) files
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:
-i:交互式
-f:force
rm命令:remove
rm [OPTION]… FILE…
常用選項:
-i:interactive
-f:force
-r:recursive
刪除目錄:rm -rf /PATH/TO/DIR
危險操作:rm -rf /?? rm -rf /*
<3>常用命令pwd,ls,cat,tac,file
常用命令:
pwd:printing working directory
顯示工作目錄
cd:change directory
切換目錄
cd [/PATH/TO/SOMEDIR]
cd 不加任何參數,表示回到家目錄 =
cd ~:切換到自己的家目錄
cd ~USERNAME:切換至指定用戶的家目錄;
cd -:在上一次所在目錄與當前目錄之間來回切換;
相關的環境變量
$PWD:當前目錄 這是個變量,echo $PWD
$OLDPWD
ls: list,列出指定目錄下的內容
ls [OPTIONS].. filename
-a:顯示所有文件,包括隱藏文件
-A:顯示出.和..之外的所有文件
-l:–long,長格式列表,即顯示文件的詳細屬性信息
-:文件類型,- ,d,b,c,l,s,p
左三位rw-:文件的屬主的權限;
中三位:文件屬組的權限;
后三位:其他用戶的權限
1:數字表示文件被硬鏈接的次數;
第一個root,文件的屬主
第二個root,文件的屬組
8957:數字表示文件的大小,單位是字節;
10月 14 19:34:文件最后一次被修改的時間;
-h,–human-readable:對文件的大小單文進行換算,換算后的結果可能會非精確值;
-ld,d和l結合使用,查看目錄的自身而非其內部的文件列表
-r:reverse,逆序顯示
-R:recursive,遞歸顯示
cat:concatenate
文件文本查看工具:
可以接多個文件,一塊顯示
cat [OPTIONS]… [FILENAME]..
-n:給顯示的文本行編號
-E:顯示行結束符$
tac:文件文本查看工具,文件內容是逆序的
file:查看文件內容類型;
file [FILE]…
echo:回顯
echo [SHORT-OPTION].. [STRING]…
-n:不進行換行;
-e:讓轉義符生效;
\n:換行
\t:制表符
STRING可以使用引號,單引號和雙引號均可用
單引號:強引用,變量引用不執行替換
echo ‘$SHELL’
雙引號:弱引用,變量引用會被替換
echo “$SHELL”
注意:變量引用的正規符號 $(name)
2.bash的基礎特性:命令的執行狀態結果與命令行展開
bash的基礎特性:命令的執行狀態結果
命令執行的狀態結果:
bash通過狀態返回值來輸出此結果;
成功:0
失?。?-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中; echo $?看最近一條命令的狀態返回值;
命令正常執行時,有的還回有命令返回值;
根據命令及其功能不同,結果各不相同;
引用命令的執行結果:
$(COMMAND)
或`COMMAND`?? //注意反引號,左上角1旁邊,只能在英文輸入法時鍵入
bash的基礎特性之:命令行展開
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{}:可承載以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:/tmp/{a,b},相當于 /tmp/a , tmp/b
3.利用多選項創建目錄結構:
mkdir -v {a,b}_{c,d}
[root@localhost tmp]# ll
total 0
drwxr-xr-x. 2 root root? 6 Jul? 1 22:26 a_c
drwxr-xr-x. 2 root root? 6 Jul? 1 22:26 a_d
drwxr-xr-x. 2 root root? 6 Jul? 1 22:26 b_c
drwxr-xr-x. 2 root root? 6 Jul? 1 22:26 b_d
mkdir -pv /tmp/mysysroot/{bin,etc/sysconfig/network-scripts,sbin,usr/{bin,lib,lib64,local/{bin,etc,lib,sbin},sbin},var/{cache,log,run}}
[root@localhost tmp]# tree mysysroot/
mysysroot/
├── bin
├── etc
│?? └── sysconfig
│?????? └── network-scripts
├── sbin
├── usr
│?? ├── bin
│?? ├── lib
│?? ├── lib64
│?? ├── local
│?? │?? ├── bin
│?? │?? ├── etc
│?? │?? ├── lib
│?? │?? └── sbin
│?? └── sbin
└── var
├── cache
├── log
└── run
4.元數據和可以更改時間戳的命令touch
文件的數據類型有兩類:元數據:metadata;數據:data。用stat來查看元數據信息。
touch命令:改變時間戳
touch – change file timestamps
touch [OPTION]… FILE…
-c:指定的文件路徑不存在時不予創建
-a:僅修改access time
-m:僅修改modify time
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
5.關于別名的命令alias
獲取所有可用別名的定義:
~]#alias
定義別名:
~]#alias NAME=’COMMAND’
注意:僅對當前shell進程有效
撤銷別名:
~]#unalias NAME
6.常用命令的綜合用法演示
1:顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現一位任意字符的文件或目錄; ls -d /var/l?[[:lower:]]
2:顯示/etc目錄下,以任意一位數字開頭,且以非數字結尾的文件或目錄;
ls -d /etc/[0-9]*[^0-9]
3:顯示/etc目錄下,以非字母開頭,后面接一個字母及其它任意長度任意字符的文件或目錄;
ls -d /etc/[^a-z][a-z]*
4、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch?/tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
5.復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^0-9] /tmp/mytest1
6.復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -r /etc/*.d /tmp/mytest2
7.復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -r /etc/[lmn]*.conf /tmp/mytest3
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102131