-
Linux上文件系統管理類命令都有哪些,其常用的使用方法及其相關示例演示
(1).cp文件復制命令
單源復制:cp [OPTION]... [-T] SOURCE DEST 多源復制:cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... 常用選項: -i:交互式復制,即覆蓋之前提醒用戶確認; -f:強制覆蓋目標文件; -r, -R:遞歸復制目錄; -d:復制符號鏈接文件本身,而非其指向的源文件; -a:-dR --preserve=all, archive,用于實現歸檔; --preserv= mode:權限 ownership:屬主和屬組 timestamps: 時間戳 context:安全標簽 xattr:擴展屬性 links:符號鏈接 all:上述所有屬性 示例:將test1底下的文件復制到test2,目錄下 [root@localhost tmp]# cp test1/* test2 [root@localhost tmp]# ls -ll test2 total 0 -rw-r--r--. 1 root root 0 Aug 19 10:44 a -rw-r--r--. 1 root root 0 Aug 19 10:44 b -rw-r--r--. 1 root root 0 Aug 19 10:44 c
(2).mv文件移動命令
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE.. 常用選項: -i:交互式; -f:force 示例:將test1目錄及目錄下文件移到到test2目錄下 [root@localhost tmp]# mv test1 test2 [root@localhost tmp]# cd test2 [root@localhost test2]# ls test1
(3).rm刪除命令
rm [OPTION]... FILE... 常用選項: -i:interactive 交互 -f:force 強制 -r: recursive 遞歸 示例 刪除目錄:rm -rf /PATH/TO/DIR 危險操作:rm -rf /* [root@localhost tmp]# rm -rf /test2
2.bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
(1) 命令執行的狀態結果:
bash通過狀態返回值來輸出此結果:
成功:0
失?。?-255
命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;
命令正常執行時,有的還會有命令返回值:
根據命令及其功能不同,結果各不相同;
示例 [root@localhost tmp]# ls -l /etc/passwd -rw-r--r--. 1 root root 1792 Aug 9 16:54 /etc/passwd [root@localhost tmp]# echo $? 0 [root@localhost tmp]# ld -l /etc/passwd ld: cannot find -l/etc/passwd [root@localhost tmp]# echo $? 1
(2)命令行展開
{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;
示例:/tmp/{a,b} 相當于 /tmp/a /tmp/b
[root@localhost /]# mkdir /tmp/{a,b}
3.請使用命令行展開功能來完成以下練習:
(1)創建目錄下的:a_c,a_d,b_c,b_d
[root@localhost test]# mkdir {a,b}_{c,d} [root@localhost test]# ls a_c a_d b_c b_d [root@localhost test]#
(2)創建/tmp/mylinux目錄下的:
[root@localhost /]# 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}} [root@localhost /]# tree /tmp/mylinux/ /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 24 directories, 0 files
4. 文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件元數據包括:文件名,大小,塊,IO塊,設備,Inode,硬鏈接,軟連接,權限,Uid,Gid,環境,時間戳
查看文件的元數據信息:
[root@localhost test]# ls -l total 16 drwxr-xr-x. 2 root root 4096 Aug 19 11:05 a_c
stat命令: stat - display file or file system status stat FILE... [root@localhost test]# stat a_c File: `a_c' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd00h/64768d Inode: 924347 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-08-19 11:05:45.752278216 +0800 Modify: 2016-08-19 11:05:45.752278216 +0800 Change: 2016-08-19 11:05:45.752278216 +0800
修改文件的時間戳
touch命令: touch - change file timestamps touch [OPTION]... FILE... -c: 指定的文件路徑不存在時不予創建; -a: 僅修改access time; -m:僅修改modify time; -t STAMP [[CC]YY]MMDDhhmm[.ss]
示例
[root@localhost test]# touch -at 0812171200.21 aa [root@localhost test]# stat aa File: `aa' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fd00h/64768dInode: 924329 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2008-12-17 12:00:21.000000000 +0800 Modify: 2016-08-19 15:24:27.822367731 +0800 Change: 2016-08-19 15:25:26.270379965 +0800
5. 如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
命令別名: 獲取所有可用別名的定義: ~]# alias 定義別名: ~]# alias NAME='COMMAND' 注意:僅對當前shell進程有效 撤銷別名: ~]# unalias NAME 永久生效: 用戶個人:僅對當前用戶有效; ~/.bash_profile 全局:/etc/bashrc
命令引用:`` root@localhost test]# echo `date` Fri Aug 19 15:30:05 CST 2016
6. 顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其他字符)的文件和目錄
[root@localhost var]# ls -a /var |grep "^l[[:digit:]]\+[[:lower:]]$"
7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件和目錄
[root@localhost etc]# ls -a /etc |grep "^[0-9].*[^0-9]$"
8. 顯示/etc/目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件和目錄。
[root@localhost etc]# ls /etc |grep "^[^[:alpha:]][[:alpha:]].*"
9. 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名刑如:tfile-2016-05-27-09-32-22.
root@localhost etc]# touch /tmp/tfile-`date +%F-%H-%M-%S` [root@localhost etc]# ls /tmp/ tfile-2016-08-19-16-11-01
10. 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest目錄中
[root@localhost /]# cp -r /etc/p*[^0-9] /tmp/mytest
11. 復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/test2目錄中
[root@localhost test2]# cp -r /etc/*.d /tmp/test2
12. 復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@localhost test2]# cp -r /etc/[1,m,n]*.conf /tmp/mytest3
原創文章,作者:a295053193,如若轉載,請注明出處:http://www.www58058.com/37544
寫的很好,排版還可以在漂亮一點,加油,3大題2小題跟老師的題目不一樣