一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示?
cp命令:copy,有2類復制方法
1、單源復制:如果DEST不存在:則實現創建此文件,并復制源文件的數據流至DEST中;
如果DEST存在:如果DEST是非目錄文件,則覆蓋目標文件;如果DEST是目錄文件,則先DEST目錄下創建一個與源文件同名的文件,并復制其數據流;
2、多源復制:
如果DEST不存在:錯誤;
如果DEST存在:
如果DEST是非目錄文件:錯誤;
如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原名;
常用選項:
-i:交互式復制,即覆蓋之前提醒用戶確認;
-f:強制覆蓋目標文件;
-r:遞歸復制目錄;
-d:復制符號鏈接文件的本身,而非其指向的源文件;
-a:-dR -preserve=all,archive,用于實現歸檔;
–preserv=
mode:權限
ownership:屬主和屬組
timestamps:時間戳
context:安全標簽
xattr:擴展屬性
links:符號鏈接
all:上述所有屬性
mv命令:移動或者改名
mv – move (rename) file
用法:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
在同一級的目錄下,用mv命令,為改名,并把目標文件的內容修改為何源文件一樣內容;
~]# cat test1 1 ~]# mv test1 test3 ~]# cat test3 1
在不同目錄下,目標目錄內無與之要移動文件的目錄內的相同名字的文件,則把源文件移動至目標目錄下;
rm命令:刪除命令
rm – remove files or directories
用法:
rm [OPTION]… FILE…
選項:
-r:遞歸刪除
-f:–force 強制刪除
-i:交互式刪除,刪除前需用戶確認
二:bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示?
命令行展開:
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
mkdir -pv /tmp/x/{y1/{a,b},y2}
mkdir {a,b}_{c,d}
命令的執行狀態結果:
bash通過狀態返回值輸出此結果;
成功:0
失?。?-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;
引用命令的執行結果是:
$(COMMADN)或`COMMAND`
~]# cat /etc/fstab &>/dev/null ~]# echo "$?" 0 ~]# cat /etc/fstabb &>/dev/null ~]# echo "$?" 1
三:請使用命令行展開功能來完成以下練習
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
~]# mkdir /tmp/{a,b}_{c,d}
(2)、創建/tmp/mylinux目錄下的:
mylinux/ ├── bin ├── boot │ └── grub ├── dev ├── etc │ ├── rc.d │ │ └── init.d │ └── sysconfig │ └── network-scripts ├── lib │ └── modules ├── lib64 ├── proc ├── sbin ├── sys ├── tmp ├── usr │ └── local │ ├── bin │ └── sbin └── var ├── lock ├── log └── run
~]# mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
四、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?
文件分為兩類數據:
1、元數據:metadata 描述數據的,例如書中的目錄
2、數據:data 真正的數據,例如書中的內容
時間戳:
Access(訪問時間): 2016-08-16 06:39:59.915983316 +0800 讀取文件
Modify(更改時間): 2016-08-16 06:39:59.915983316 +0800 數據改變
Change(改動時間): 2016-08-16 06:39:59.915983316 +0800 元數據改變
數據改變,元數據一定改變,所以改動時間隨著更改時間改變而改變
用stat查看
修改文件時間戳信息可用touch命令
touch命令:
change file timestamps;
-c:指定文件路徑不存在時不予創建;
-a:僅修改access time;
-m:僅修改modify time;
-t:年月日小時分鐘秒
五、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
分為兩種模式定義別名,一種為全局模式下,一種為用戶個人;
其中交互式登錄shell進程:
/etc/prifile->/etc/profile.d/*->~/bash_profile->~/.bashrc->/etc/bashrc 從一級級的去定義。
非交互式登錄shell進程:
~/.bashrc->/etc/bashrc->/etc/profile.d/*
可以在這些配置文件中去定義別名;
僅在當前shell生效的別名:
alias NAME='VALUE'
六、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄?
~]# ls /var/ |grep "^l*[0-9][a-z]$"
七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄?
~]# ls -d /etc |grep "^[0-9].*[^0-9]$"
八、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄?
~]# ls /etc/ |grep "^[^[:alpha:]][[:alpha:]].*"
九、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22?
~]# touch /tmp/tfile-`date +%F-%H-%M-%S`
十、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中?
~]# cp -fr /etc/p*[^[:digit:]] /tmp/mytest1
十一、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中?
~]# cp -fr /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中?
~]# cp /etc/[l,m,n]*.conf /tmp/mytest3
原創文章,作者:N22-白蟻,如若轉載,請注明出處:http://www.www58058.com/38532
寫的很好,排版還可以在漂亮一點,加油。3大題2小題跟老師的題目不一樣