1. 文件類命令及其常用的使用方法
文本查看類命令
cat head tail more less
分屏查看命令
more less
more FILE 翻至最后一頁自動退出
less FILE -f 翻至最后一頁不退出 若有追加內容則立即顯示
首尾查看命令
head tail
head命令: 查看文件前n行
head FILE
head [option] FILE
head -20 /etc/rc.d/init.d/functions
tail命令:查看文件的后n行
tail FILE
-f: 顯示文件后不退出等待追加的新行并立即顯示
tail -20 /etc/rc.d/init.d/functions
文件管理類
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不存在->error 若DEST存在, DEST是非目錄文件->error DEST是目錄文件:分別復制每一個文件至目錄目錄并保持原名 選項 -i: 交互式復制,即覆蓋之前提醒用戶確認 -f:強制覆蓋目標文件 -r/R:遞歸復制目錄: -d:復制符號鏈接本身 而非其指向的源文件 -a: -dR --preserve=all archive歸檔 --preserve= mode ownership timestamps context xattr links all
mv命令: move
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
-i:交互式 -f:force
rm命令: remove
-i:交互式 -f:force -r:recursive rm -rf /PATH/TO/DIR
所有不用的文件建議不要直接刪除,而是移動到某專用目錄(模擬回收站)
2. bash的工作特性
2.1 命令執行狀態返回值
命令執行結果:
命令執行狀態返回值:
保存于bash的特殊變量$? 成功:0 失敗1-255
2.2 引用
強引用 'XXX' 單引號——不做替換直接顯示
弱引用 "XXX" 雙引號——變量會被替換
命令引用——替換為命令執行結果
$(COMMAND)
`COMMAND`
[root@node2 ~]# A=20 [root@node2 ~]# echo '$A' $A [root@node2 ~]# echo "$A" 20 [root@node2 ~]# echo date date [root@node2 ~]# echo $(date) Sun Dec 11 10:21:16 CST 2016
2.3 命令行展開
命令行展開
~:可承載一個逗號分隔的路徑列表,并將其展開為多個路徑
創建 /tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2
mkdir -pv /tmp/x/{y1/{a,b},y2}
tree命令:顯示目錄結構
tree [options] directory
-L 顯示層數
練習:使用命令行展開功能完成:
(1)創建/tmp目錄下的a_c,a_d,b_c,b_d
mkdir -pv /tmp/{a,b}_{c,d}
(2)創建/tmp/mylinux目錄下的/下的各一級目錄及其部分子目錄:
mkdir -p /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr{/bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var{/cache,log,run}}
2.4 文件名通配符使用
globbing: 文件名通配
匹配模式: 元字符
*: 匹配任意長度的任意字符 ?: 匹配任意單個字符 []:匹配指定范圍內的任意單個字符 [a-z],[A-Z],[0-9],[a-z0-9] [[:upper:]] [[:lower:]] [[:alpha:]] [[:digit:]] [[::alnum]] 字母+數字 [[:space:]] [[:punct:]] 標點符號 [^]:匹配指定范圍外的任意單個字符 [^0-9] [^[:alnum:]]
練習:
顯示/var目錄下所有以l開頭 以小寫字母結尾,且中間至少出現一位數字(可以有其他字符)的文件或目錄
ls /var/l[0-9][[:lower:]]
顯示/etc目錄下以任意一個數字開頭且以非數字結尾的文件或目錄
ls /etc/[0-9]*[^0-9]
顯示在/etc目錄下以非字母開頭后跟一個字母以及其他任意長度任意字符的文件或目錄>ls /etc/[^[:alpha:]][:alpha:]*
在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件 tfile-2016-05-27-09-32-22
touch "tfile-$(date "+%Y-%m-%d-%H-%M-%S")"
復制/etc下所有以p開頭 以非數字結尾的文件或目錄到/tmp/mytest1目錄中
cp -r /etc/p*[^0-9] /tmp/mytest1
復制/etc所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
cp -r /etc/*.d /tmp/mytest2
復制/etc所有以l或m或n開頭,以.conf結尾的的文件至/tmp/mytest3目錄中
cp -r /etc/[l,m,n]*.conf /tmp/mytest3
3. 文件元數據信息有哪些 分別表示什么含義 如何查看 如何修改文件的時間戳信息
文件分數據和元數據
數據:data –> cat等看到的內容
元數據:meta data –>文件自身的屬性 stat看到的信息
文件大小 文件類型 權限 IO塊數 屬主屬組ID號 時間戳
時間戳: Access: 2016-12-10 14:36:34.574026967 +0800Modify: 2014-04-02 23:30:47.000000000 +0800 數據改變 Change: 2016-11-12 01:17:23.004986603 +0800 元數據改變
可用stat命令查看文件元數據
touch:change timestamps
touch [OPTION]..FILE -c 文件不存在時不予創建 -a 僅修改access time -m 僅修改modify time -t STAMP YYMMDDhhmm[.ss] touch -m -t 201312010303.03 /tmp/1.txt
原創文章,作者:alonedreamer,如若轉載,請注明出處:http://www.www58058.com/63183
贊,基礎內容的總結將成為后面最寶貴的記憶~繼續加油~