第二周作業:
本周作業內容:
1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
touch,rm,mv,cp,file,ls,chmod,chown,ln,rename,
touch 修改文件atime,如果文件不存在,那么創建該文件。
rm:刪除文件。
-r:循環刪除,包含文件和目錄
-f:強制刪除,布詢問。
-i:詢問是否刪除。
默認情況下,系統自帶別名,rm=rm -i
mv:移動文件,可以在移動的過程中重命名文件或文件夾。
例如:移動重命名mytest1目錄為mytest2
命令:mv /tmp/mytest1/ /tmp/mytest2/
cp:復制文件或文件夾。
例如:復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
命令:cp -r /etc/p*[^0-9] /tmp/mytest1/
file:探測文件類型
命令:file readme.txt?
輸出:readme.txt: ASCII text
ls:列出文件,顯示目錄內容,或顯示文件屬性
命令:ll readme.txt
輸出:-rw-r--r-- ?1 lanzh ?staff ? ?12B ?8 14 22:04 readme.txt
chmod:修改文件訪問權限
命令:chmod +x readme.txt
chown:修改文件屬主
命令:chown :root readme.txt
ln:為文件創建鏈接
默認創建硬鏈接,創建軟鏈接需要參數-s
命令:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
輸出:lrwxrwxrwx 1 root root 33 8月 ?10 10:36 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
rename 批量為文件改名
命令:rename .repo .repo.bak .*
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
0
1-255
[root@Tst-V15-101 tmp]# ls -la
總用量 36
drwxrwxrwt. 10 root root 4096 8月 ?14 21:23 .
dr-xr-xr-x. 17 root root 4096 8月 ? 9 22:35 ..
drwxrwxrwt. ?2 root root ? ?6 8月 ? 9 18:31 .font-unix
-rw-r--r-- ? 1 root root ?525 8月 ?12 15:16 how_are_you.txt
drwxrwxrwt. ?2 root root ? ?6 8月 ? 9 18:31 .ICE-unix
-rwx------. ?1 root root ?827 8月 ? 9 18:35 ks-script-9VchMy
-rwx------. ?1 root root 1167 8月 ? 9 18:35 ks-script-K76ivX
drwxr-xr-x ?17 root root 4096 8月 ?14 20:02 mylinux
drwxr-xr-x ?12 root root 4096 8月 ?14 21:25 mytest1
-rw-r--r-- ? 1 root root ?183 8月 ?12 14:56 passwd.out
drwxrwxrwt. ?2 root root ? ?6 8月 ? 9 18:31 .Test-unix
-rw-r--r-- ? 1 root root 3439 8月 ? 9 19:03 vgauthsvclog.txt.0
drwx------ ? 2 root root ?130 8月 ? 9 23:03 vmware-root
drwxrwxrwt. ?2 root root ? ?6 8月 ? 9 18:31 .X11-unix
drwxrwxrwt. ?2 root root ? ?6 8月 ? 9 18:31 .XIM-unix
-rw-------. ?1 root root ? ?0 8月 ? 9 18:30 yum.log
[root@Tst-V15-101 tmp]# echo $?
0
[root@Tst-V15-101 tmp]# ls /varr
ls: 無法訪問/varr: 沒有那個文件或目錄
[root@Tst-V15-101 tmp]# echo $?
2
[root@Tst-V15-101 tmp]#
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d
mkdir /tmp/{a,b}_{c,d}
(2)、創建/tmp/mylinux目錄下的:
mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmo,usr/local/{bin,sbin},var,lock,log,run}
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
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的元數據可以通過stat命令查看
[root@cobber7 CentOS-6.8-x86_64]# stat RELEASE-NOTES-en-US.html
? File: "RELEASE-NOTES-en-US.html"
? Size: 1359 ? ? ? ? ? Blocks: 8 ? ? ? ? ?IO Block: 4096 ? 普通文件
Device: fd00h/64768d ? Inode: 3028181 ? ? Links: 1
Access: (0444/-r--r--r--) ?Uid: ( ? ?0/ ? ?root) ? Gid: ( ? ?0/ ? ?root)
Access: 2016-07-15 18:28:42.000000000 +0800
Modify: 2016-05-22 05:04:07.000000000 +0800
Change: 2016-07-15 18:28:42.389633076 +0800
主要信息有:
文件名,
文件大小, 文件塊大小 IO塊大小 文件類型
設備類型 索引信息 鏈接數量
訪問權限 屬主信息 屬組信息
訪問時間
修改時間
變動時間
主要通過touch命令修改時間戳
例如:touch myfile 將訪問時間修改為系統當前時間。
-m 修改文件最后修改時間。
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
通過alias定義別名。
alias cls=clear
通過管道符號引用另一個命令的執行結果。
| 上一個命令的標注輸出作為下一個命令的標準輸入。
ls /etc | wc
統計/etc目錄下的文件數量
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
ls /var/l*[0-9]?*[a-z]
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
ls /etc/[0-9]*[a-z]
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
ls /etc/[^a-z][a-z]?*
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-08-06-09-32-22。
touch /tmp/tfile-`date-%y-%m-%d-%H-%M-%S`
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
cp -r /etc/p*[^0-9] /tmp/mytest1/
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
cp -r /etc/*.d /tmp/mytest2/
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
cp ?/etc/[l,m,n]*.conf /tmp/test3
轉載于:https://blog.51cto.com/538358/1837896