N21_2周_Linux目錄管理相關
作業題目:
1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
3、請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_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
4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
1.Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
1.1 瀏覽目錄
更改目錄命令(cd)可以用于將shell會話移動到Linux文件系統中的另一個目錄。
# cd //返回家目錄
# cd .. //返回上級目錄
雙點(..)表示父目錄。
# cd /usr/local/nginx/ //絕對路徑跳轉
1.2 文件和目錄列表
1.2.1 基本列表
ls命令能夠以最基本的形式顯示當前目錄中的文件和目錄。
# ls -F //-F 區分文件和目錄
# ls -a //-a 顯示隱藏文件
# ls -R //-R 顯示當前目錄的內容
1.2.2 修改顯示的信息
#ls -l //-l參數生成長列表格式
文件類型:目錄(-d)、文件(-)、字符設備(c)、塊設備(b);
1.3 文件處理
1.3.1 創建文件
# touch 365 //touch可以創建一個空文件
1.3.2 復制文件
格式:cp source destination //將source復制為一個新文件,文件名叫destination
#cp 365 366
-f:強制覆蓋現有的,且沒有提示 -i:覆蓋前提示下
1.3.3 鏈接文件
硬鏈接
#cp -l test1 test2
注:test1和test2的索引節點號相同,這兩個實際上是同一個文件。在同一個物理介質的文件之間只能創建一個硬鏈接。不能在不同掛載點下的文件之間創建硬鏈接。
符號鏈接(又稱軟鏈接)
#cp -s test3 test4
1.3.4 重命名文件
#mv abc abcdef //重命名
#mv abcdef/ /home/ //移動
1.3.5 刪除文件
#rm -rf abcdef/
1.3.6 目錄管理
1.3.6.1 創建目錄
#mkdir dir
1.3.6.2 刪除目錄
# rm -rf dir
……
2.bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash
命令執行的結果有兩種成功或失敗,成功的返回值用0表示,1-255表示失敗。
bash
使用
echo
$?來保存最近一條命令的執行結果。
3.請使用命令行展開功能來完成以下練習:
(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_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 -pv /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}}
#yum install tree #tree mylinux
4.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件系統中的數據分為數據和元數據,數據是指普通文件的實際數據,元數據是用來描述一個文件特征的系統數據,如訪問權限,文件擁有者等等。
第1行代表文件的格式主要有一下幾種
1.-:普通文件
2.d:目錄文件
3.l:符號連接文件
4.s:套接字文件
5.p:管道文件
6.b:塊設備文件
7.c:字設備文件
第2-9代表文件的擁有者,屬組,其他用戶對文件的訪問權限
r:讀 w:寫 x:執行
使用stat和touch可以修改和查看文件的時間戳信息
[root@163 tmp]# stat /etc/passwd File: "/etc/passwd" Size: 1586 Blocks: 8 IO Block: 4096 普通文件 Device: 803h/2051d Inode: 4196173 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-07-18 16:23:01.212615801 +0800 Modify: 2016-07-09 16:22:44.855578502 +0800 Change: 2016-07-09 16:22:44.874578502 +0800
5.如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
使用aliase可以查看當前shell的的別名。aliase=value可以定義命令別名 (1) alias 顯示當前shell進程所有可用的命令別名; (2) alias NAME='VALUE' 定義別名NAME,其相當于執行命令VALUE; 注意:在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中; 僅對當前用戶:~/.bashrc 對所有用戶有效:/etc/bashrc 撤消別名:unalias unalias [-a] name [name ...]
6.顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
#ls /var/l*[0-9]*[[:lower:]]
7.顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
#ls -d /etc/[0-9]*[^0-9]
或
#ls -d /etc/[0-9]*[[:alpha:]]
8.顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
#ls -d /etc/[^[:alpha:]][[:alpha:]]*
9.在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
#touch /tmp/tfile`date +%F-%H-%M-%S`
10.復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
#cp -rf /etc/p*[^0-9] /tmp/mytest1
11.復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
#cp /etc/*.d /tmp/mytest2/ #cp -a /etc/*.d /tmp/mytest2/ #cp -rf /etc/*.d /tmp/mystest2
12.復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
#cp /etc/[lmn]*.conf /tmp/mytest3/
原創文章,作者:365,如若轉載,請注明出處:http://www.www58058.com/24774
寫的很好,排版還可以在漂亮一點,加油