N27_第二周作業

一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關演示。

?A、copy命令

? ? ?? a、 單元復制:cp [OPTION]… [-T] SOURCE DEST

1、? 如果dest不存在:則事先創建此文件,并復制源文件的數據流至dest中;

[root@localhost /]# ls -l /tmp

total 0

[root@localhost /]# cp /etc/fstab /tmp/fstab

[root@localhost /]# diff /etc/fstab /tmp/fstab

[root@localhost /]#

2、 如果dest存在:

#如果dest是非目錄文件,則覆蓋目標文件:

[root@localhost /]# touch /tmp/a b c d e f

[root@localhost /]# cp /etc/fstab /tmp/a

cp: overwrite ‘/tmp/a’?

[root@localhost /]#

#如果dest是目錄文件:則先在dest目錄下創建一個與源文件同名的文件,并復制其數據流:

[root@localhost /]# cp /etc/hostname /tmp

[root@localhost /]# ls -l /tmp

total 8

-rw-r–r–. 1 root root? 0 Sep? 6 23:42 a

-rw-r–r–. 1 root root 501 Sep? 6 23:41 fstab

-rw-r–r–. 1 root root? 22 Sep? 6 23:49 hostname

? ? ? ? ? b、多源復制:cp [OPTION]… SOURCE… DIRECTORY

????????????????????????????????? cp [OPTION]… -t DIRECTORY SOURCE..

#如果dest不存在:錯誤:

[qiu@localhost ~]$ cp /etc/{fstab,yum.conf} /tmp/rrr.txt

cp: target ‘/tmp/rrr.txt’ is not a directory

#如果dest是非目錄文件:錯誤

[root@localhost ~]# ls -l /tmp

total 16

-rw-r–r–. 1 root root? 0 Sep? 6 23:52 a

-rw-rw-rw-. 1 root root 501 Sep? 7 00:00 b

-rw-r–r–. 1 root root? 0 Sep? 6 23:52 c

-rw-r–r–. 1 root root? 0 Sep? 6 23:52 d

-rw-r–r–. 1 root root 501 Sep? 6 23:41 fstab

-rw-r–r–. 1 root root? 22 Sep? 6 23:49 hostname

drwxr-xr-x. 2 root root? 33 Sep? 7 01:09 test

-rw-r–r–. 1 root root 970 Sep? 7 01:02 yum.conf

[root@localhost ~]# cp /etc/{yum.conf,fstab} /tmp/a

cp: target ‘/tmp/a’ is not a directory

#如果dest是目錄文件:分別復制每個文件至目錄中,并保持原名;

[root@localhost ~]# mkdir /tmp/test2

[root@localhost ~]# cp /etc/{yum.conf,fstab} /tmp/test2

[root@localhost ~]# ls -l /tmp/test2

total 8

-rw-r–r–. 1 root root 501 Sep? 7 01:17 fstab

-rw-r–r–. 1 root root 970 Sep? 7 01:17 yum.conf

 

常用選項:

-i:交互式復制,即覆蓋之前提醒用戶確認:-f:強制覆蓋目標文件:

[qiu@localhost ~]$ cp -i /etc/fstab /tmp/b

cp: overwrite ‘/tmp/b’? y

[qiu@localhost ~]$

-r:遞歸復制目錄:

[root@localhost /]# cp -r /var/log /tmp

[root@localhost /]# ls -l /tmp

total 20

-rw-r–r–.? 1 root root? ? 0 Sep? 6 23:52 a

-rw-rw-rw-.? 1 root root? 501 Sep? 7 00:00 b

-rw-r–r–.? 1 root root? ? 0 Sep? 6 23:52 c

-rw-r–r–.? 1 root root? ? 0 Sep? 6 23:52 d

-rw-r–r–.? 1 root root? 501 Sep? 6 23:41 fstab

-rw-r–r–.? 1 root root? 22 Sep? 6 23:49 hostname

drwxr-xr-x. 19 root root 4096 Sep? 7 01:27 log

 

[root@localhost /]# cp -r /var/{adm,log} /tmp/test2

[root@localhost /]# ls -l /tmp/test2

total 12

drwxr-xr-x.? 2 root root? ? 6 Sep? 7 01:30 adm

-rw-r–r–.? 1 root root? 501 Sep? 7 01:17 fstab

drwxr-xr-x. 19 root root 4096 Sep? 7 01:30 log

-rw-r–r–.? 1 root root? 970 Sep? 7 01:17 yum.conf

-d:復制符號鏈接文件本身,而非其指向的源文件;

-a:-dr –preserve=all ,archive,用于實現歸檔;

–preserve=

mode:權限

ownership:屬主和屬組

timestamps:時間戳

context:安全標簽

xattr:擴展屬性

links:符號鏈接

all:上述所有屬性

?B、mv命令

? ? ? a、單元移動:mv [OPTION]… [-T] SOURCE DEST

1、dest路徑一定要存在,否者無法移動

root@localhost /]# mv /tmp/a /tmp/g

mv: cannot stat ‘/tmp/a’: No such file or directory

2、dest如果是文件,則覆蓋文件內容

[root@localhost /]# mv /tmp/a /tmp/b

mv: overwrite ‘/tmp/b’? y

[ root@localhost /]# ls -l /tmp

total 16

-rw-r–r–.? 1 root root? 501 Sep? 6 23:41 b

3、如果源文件是目錄,則目標也必須是目錄,否則會報錯。

[root@localhost /]# mv /var/log /tmp/c

mv: overwrite ‘/tmp/c’? y

mv: cannot overwrite non-directory ‘/tmp/c’ with directory ‘/var/log’

 

[root@localhost /]# mv /var/log /tmp/test3

[root@localhost /]# ls -l /tmp/test3 | wc -l

2

[root@localhost /]# ls -l /tmp/test3

total 4

drwxr-xr-x. 19 root root 4096 Sep? 6 22:53 log

常用選項:

-i:交互式

[root@localhost /]# mv -i /tmp/b /tmp/d

mv: overwrite ‘/tmp/d’? n

[root@localhost /]#

-f:force

[root@localhost /]# mv -f /tmp/b /tmp/d

[root@localhost /]# ls -l /tmp

total 12

-rw-r–r–. 1 root root? 0 Sep? 6 23:52 c

-rw-r–r–. 1 root root 501 Sep? 6 23:41 d

-rw-r–r–. 1 root root? 22 Sep? 6 23:49 hostname

drwxr-xr-x. 2 root root? 33 Sep? 7 01:09 test

drwxr-xr-x. 4 root root? 53 Sep? 7 01:30 test2

C、rm命令

rm [OPTION]… FILE…

常用選項:

-i:交互式

[root@localhost /]# rm -i /tmp/c

rm: remove regular empty file ‘/tmp/c’? y

[root@localhost /]# ls -l /tmp

total 12

-rw-r–r–. 1 root root 501 Sep? 6 23:41 d

-rw-r–r–. 1 root root? 22 Sep? 6 23:49 hostname

-f:force

[root@localhost /]# rm -f /tmp/d

You have new mail in /var/spool/mail/root

[root@localhost /]# ls -l /tmp

total 8

-rw-r–r–. 1 root root? 22 Sep? 6 23:49 hostname

drwxr-xr-x. 2 root root? 33 Sep? 7 01:09 test

drwxr-xr-x. 4 root root? 53 Sep? 7 01:30 test2

drwxr-xr-x. 3 root root? 16 Sep? 7 01:57 test3

-rw-r–r–. 1 root root 970 Sep? 7 01:02 yum.conf

-r :遞歸刪除

[root@localhost /]# rm -ir /tmp/test

rm: descend into directory ‘/tmp/test’? y

rm: remove regular file ‘/tmp/test/yum.conf’? y

rm: remove regular file ‘/tmp/test/fstab’? y

rm: remove directory ‘/tmp/test’? y

危險操作:rm -rf /*

注意:所有不用的文件建議不要直接刪除。

 

二、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示

bash的基礎特性:

命令的執行狀態結果:

bash通過狀態返回值來輸出此結果:

成功:0

失?。?-255

命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中:

命令正常執行時,有的還回有命令返回值;

根據命令及其功能不同,結果各不相同;

引用命令的執行結果:

$(COMMAND) 或‘(COMMAND)’

[root@localhost /]# rm -rf /tmp/test2

[root@localhost /]# echo $?

0

 

三、請使用命令行展開功能來完成以下練習:

??? 1、創建/tmp目錄下的:a_c, a_d,b_c,b_d

root@localhost /]# mkdir /tmp/{a_c,a_d,b_c,b_d}

[root@localhost /]# ls -l /tmp

total 0

drwxr-xr-x. 2 root root 6 Sep? 7 03:05 a_c

drwxr-xr-x. 2 root root 6 Sep? 7 03:05 a_d

drwxr-xr-x. 2 root root 6 Sep? 7 03:05 b_c

drwxr-xr-x. 2 root root 6 Sep? 7 03:05 b_d

??? 2、創建/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

[root@localhost /]# 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}}

mkdir: created directory ‘/tmp/mylinux’

mkdir: created directory ‘/tmp/mylinux/bin’

mkdir: created directory ‘/tmp/mylinux/boot’

mkdir: created directory ‘/tmp/mylinux/boot/grub’

mkdir: created directory ‘/tmp/mylinux/dev’

mkdir: created directory ‘/tmp/mylinux/etc’

mkdir: created directory ‘/tmp/mylinux/etc/rc.d’

mkdir: created directory ‘/tmp/mylinux/etc/rc.d/init.d’

mkdir: created directory ‘/tmp/mylinux/etc/sysconfig’

mkdir: created directory ‘/tmp/mylinux/etc/sysconfig/network-scripts’

mkdir: created directory ‘/tmp/mylinux/lib’

mkdir: created directory ‘/tmp/mylinux/lib/modules’

mkdir: created directory ‘/tmp/mylinux/lib64’

mkdir: created directory ‘/tmp/mylinux/proc’

mkdir: created directory ‘/tmp/mylinux/sbin’

mkdir: created directory ‘/tmp/mylinux/sys’

mkdir: created directory ‘/tmp/mylinux/tmp’

mkdir: created directory ‘/tmp/mylinux/usr’

mkdir: created directory ‘/tmp/mylinux/usr/local’

mkdir: created directory ‘/tmp/mylinux/usr/local/bin’

mkdir: created directory ‘/tmp/mylinux/usr/local/sbin’

mkdir: created directory ‘/tmp/mylinux/var’

mkdir: created directory ‘/tmp/mylinux/var/lock’

mkdir: created directory ‘/tmp/mylinux/var/log’

mkdir: created directory ‘/tmp/mylinux/var/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

 

四、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳。

[root@localhost /]# stat /tmp/a_c

File: ‘/tmp/a_c’

Size: 6? ? ? ? Blocks: 0? ? ? ? ? IO Block: 4096? directory

Device: 803h/2051d Inode: 808456133? Links: 2

Access: (0755/drwxr-xr-x)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2017-09-07 03:05:02.800231682 -0700

Modify: 2017-09-07 03:05:02.800231682 -0700

Change: 2017-09-07 03:05:02.800231682 -0700

Birth: –

size:文件大小??? Blocks:文件塊???? IO Block:IO 塊數

Device:設備號????? links:硬件連接數

Access:屬主屬組其他權限?? Uid:用戶id號? Gid:組id號

Access time:上次訪問時間

Modify time : 上次更改時間

Change time : 上次改動時間

touch命令:

touch – change file timestamps

touch [OPTION]… FILE…

-c:指定的文件路徑不存在時不予創建;

-a:僅修改access time

-m:僅修改modify time

-t:stamps

[root@localhost /]# touch -a -t? 201611121200 /tmp/a_c/file

You have new mail in /var/spool/mail/root

[root@localhost /]# stat /tmp/a_c/file

File: ‘/tmp/a_c/file’

Size: 0? ? ? ? Blocks: 0? ? ? ? ? IO Block: 4096? regular empty file

Device: 803h/2051d Inode: 808456184? Links: 1

Access: (0644/-rw-r–r–)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2016-11-12 12:00:00.000000000 -0800

Modify: 2017-09-07 04:48:06.854340802 -0700

Change: 2017-09-07 04:50:19.768254065 -0700

Birth: –

[root@localhost /]# touch -m -t? 201611121200 /tmp/a_c/file

You have new mail in /var/spool/mail/root

[root@localhost /]# stat /tmp/a_c/file

File: ‘/tmp/a_c/file’

Size: 0? ? ? ? Blocks: 0? ? ? ? ? IO Block: 4096? regular empty file

Device: 803h/2051d Inode: 808456184? Links: 1

Access: (0644/-rw-r–r–)? Uid: (? ? 0/? ? root)? Gid: (? ? 0/? ? root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2016-11-12 12:00:00.000000000 -0800

Modify: 2016-11-12 12:00:00.000000000 -0800

Change: 2017-09-07 05:04:26.164027171 -0700

 

 

原創文章,作者:N27_Sunny day,如若轉載,請注明出處:http://www.www58058.com/86386

(1)
N27_Sunny dayN27_Sunny day
上一篇 2017-09-07 16:05
下一篇 2017-09-07 21:06

相關推薦

  • 第七周 N21 總有刁民想害朕

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;        mke2fs -t ext4 /dev/sdb5 -b 2048 -m 2 -L "MYDATA&quot…

    Linux干貨 2016-08-08
  • 用戶管理、三種權限、三種特殊權限的使用

    用戶管理、三種權限、三種特殊權限的使用 一、用戶管理 1、軟鏈接:ln  -s  相對于軟鏈接的路徑/絕對路徑   軟鏈接文件    硬鏈接:ln  相對路徑原文件   硬鏈接文件 2、getent的使用    gentent p…

    系統運維 2016-08-05
  • date用法心得

    Linux時間格式極大程度的遵循了人類習慣,以下為部分常見時間。
    date命令本身提供了日期的加減運算,shell編程時靈活運用

    2017-11-09
  • 學習宣言

    新的一天開始了, 從今天起,正式開始Linux的系統學習, 對于基礎薄弱的我來說,是一個新的挑戰,而我接受這個挑戰。 在今后的日子里,一定會拼搏奮進,更上一層樓。 積土而為山,積水而為海, 定會一天比一天強,努力吧。

    Linux干貨 2016-10-24
  • ldirectord 結合ipvsadm 配置nat,dr模型

    ldirectord 結合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同時用于做為sorry…

    Linux干貨 2014-01-03
  • vim的總結、練習和周期性任務

    vim:VI的增強版,是一款可視化功能非常強大的文本編輯器,屬于全屏編輯器。 vim:使用方法: 命令格式:    ~]#vim [options] [file ..]      選項:        +#:打開文件后,直接讓光標處于第#行首;   …

    Linux干貨 2017-08-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-10-10 12:53

    再接再勵。

欧美性久久久久