N21_Keen_第二周
1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
cp:
cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... 常用選項: -i:交互式 -r,-R:遞歸復制所以內容 -a:歸檔,相當于-dR(用來保持文件的一致性,比如符號鏈接文件) -f:強制復制 cp SRC DEST: 1、SRC為一個文件;如果DEST不存在,則新建一個文件把內容填充進去;如果DEST存在則把SRC的內容覆蓋進去 2、SRC為多個文件;DEST必須存在,否則會出錯 3、SRC是一個目錄,要使用-r選項;如果DEST不存在則創建一個新的目錄把里面的內容復制進去;如果DEST是一個文件則會出錯,是一個目錄不會出錯
mv:
mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE... 常用選項: -i:交互式 -f:強制 mv SRC DEST: 1、SRC為目錄或者文件都可以,DEST為指定的路徑 2、這命令可以為文件重命名
rm:
rm [OPTION]... FILE... 常用選項: -i:交互式 -f:強制刪除 -r:遞歸 rm file: 可以刪除一個文件,刪除目錄要用-r選項
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
命令執行狀態返回值: 0表示命令執行成功,1-255表示命令執行失敗 命令行展開: ~:表示用戶的主目錄;root用戶的主目錄為/root,普通用戶的主目錄為/home/USERNAME {}:可承載一個以逗號分隔的列表,并將其展開為多個路徑,比如:/tmp/{a,b} = /tmp/a, /tmp/b
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
[root@keen 桌面]# mkdir /tmp/{a_c,a_d,b_c,b_d}[root@keen 桌面]# ls /tmp/a_c orbit-root virtual-root.7kFenj virtual-root.QkvN85 a_d password.out virtual-root.86faFy virtual-root.R58RRP b_c pulse-4yXSdKP5cUqy virtual-root.b1fLRi vmware-config0 b_d pulse-aTb0gtGLY11g virtual-root.faq3Zi VMwareDnD fstab virtual-root.4yhoIP virtual-root.GLztdP vmware-root keyring-PxjuXO virtual-root.5LkXul virtual-root.JdPoHy x orbit-gdm virtual-root.5mNTnK virtual-root.KKdwFd yum.log
(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 [root@keen 桌面]# 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@keen 桌面]# ls /tmp/ a_c orbit-root virtual-root.86faFy vmware-config0 a_d password.out virtual-root.b1fLRi VMwareDnD b_c pulse-4yXSdKP5cUqy virtual-root.faq3Zi vmware-root b_d pulse-aTb0gtGLY11g virtual-root.GLztdP x fstab virtual-root.4yhoIP virtual-root.JdPoHy yum.logkeyring-PxjuXO virtual-root.5LkXul virtual-root.KKdwFd mylinux virtual-root.5mNTnK virtual-root.QkvN85 orbit-gdm virtual-root.7kFenj virtual-root.R58RRP [root@keen 桌面]# ls /tmp/mylinux/bin/ dev/ lib/ proc/ sys/ usr/ boot/ etc/ lib64/ sbin/ tmp/ var/ [root@keen 桌面]# ls /tmp/mylinux/var/lock/ log/ run/ [root@keen 桌面]# ls /tmp/mylinux/var/
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分布信息等等 touch: touch [OPTION]... FILE... 常用選項: -a:只修改訪問時間 -m:只修改修改時間 -t:修改指定的時間 -c:如果文件不存在,不會創建文件 三個時間戳: access time:訪問時間,簡寫為atime,讀取文件內容 modify time: 修改時間, mtime,改變文件內容(數據) change time: 改變時間, ctime,元數據發生改變
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
alias: 1、直接alias可以顯示當前的命令別名 2、alias NAME="COMMAND" 可以定義命令的別名(如果在命令行中定義則對當前shell有限;如果要永久有效則要在配置文件中定義) 3、僅對當前用戶:~/.bashrc;對所有用戶有效:/etc/bashrc 管道: COMMAND1 | COMMAND2 | COMMAND3 |... 利用管道可以將前一個命令的執行結果當作后一個命令的參數輸入
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/l[0-9]*[[:lower:]]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/[0-9]*[^0-9]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls /etc/[^[:alpha:]][[:alpha:]]*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch tfile-`date +%F-%k-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^0-9] /tmp/mytest1
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -ra /etc/*.d /tmp/mytest2
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp -a /etc/{l,m,n}*.conf /tmp/mytest3
原創文章,作者:keen,如若轉載,請注明出處:http://www.www58058.com/25165
寫的很好,排版也很棒, 加油