N31-第二周作業—文件的管理

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目錄中。

10021749_10021749_1324540636765_mthumb

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

1、顯示當前工作目錄(CWD:current work directory)

pwd:(printing working directory)顯示當前shell CWD的絕對路徑

pwd -L:顯示鏈接路徑(默認)

-P:顯示真實的物理目錄

![pwd](C:\Users\賈理寬\Desktop\pwd.png

pwd

2、更改目錄:cd

使用絕對或相對路徑:

絕對路徑:cd /app/zhen/

相對路徑:cd app/zhen

切換至父目錄:cd ..

切換至當前用戶主目錄:cd

切換至以前的工作目錄:cd –

cd – 工作原理:當用戶切換目錄后,由變量OLDPWD將之前的工作目錄記錄下來,變量OLDPWD記錄的是哪個目錄,則cd -便返回哪個目錄,但也只能保存上一個工作目錄。選項: -P:進入真實物理路徑

eg:cp -P /bin

相關的環境變量:

PWD:查看當前目錄路徑。查看變量PWD:echo $PWD

OLDPWD :上一次目錄路徑。查看變量OLDPWD:echo $OLDPWD

cd

3、列出目錄內容:ls(list)

列出當前目錄的內容或指定目錄

  • ls=’ls –color=auto’

用法: ls [options] [files_or_dirs]

示例:

  • ls -a 顯示所有文件,包括隱藏文件

  • ls -A 顯示除.和..之外的所有文件

  • ls -l =ll,顯示額外的信息

每個文件有三個時間戳:訪問時間(atime)、文件內容修改時間(mtime)、文件元數據改變時間(

ctime)

查看方式:

  • ll –time=ctime(元數據改變時間)

  • ll –time=atime(訪問時間)(mtime用ll便可查看)

  • ls -R(–recursiver) 遞歸列出目錄和文件

  • ls -r (–reverse)將當前目錄下的文件逆序顯示

  • ls -ld 目錄和符號鏈接信息

  • ls -1 文件分行顯示

  • ls –S 按從大到小排序

  • ls –t 按mtime從新到舊排序排序

  • ls –ut 顯示并按atime從新到舊排序

  • ls -ct 顯示并按ctime從新到舊排序

  • ls –U 按目錄存放順序顯示

  • ls –X 按文件后綴排序

  • ls -F 顯示分類

  • ls -lh 將額外信息的文件大小以K、M、G顯示

ls1

4、查看文件狀態:stat

文件:metadata, data

文件的三個時間戳:

  • access time:訪問時間,atime,讀取文件內容

  • modify time:修改時間,mtime,改變文件內容(數據)

  • change time:改變時間,ctime,元數據發生改變

stat

5、創建空文件和刷新時間:touch

touch [OPTION]… FILE…

  • -a 僅改變 atime 和ctime

  • -m 僅改變 mtime 和ctime

  • -t [[CC]YY]MMDDhhmm[.ss]:指定atime 和mtime 的時間戳

  • -c 如果文件不存在,則不予創建(刷新時間戳)

eg:創建以f開頭的空文件

touch

6、復制文件和目錄:cp(copy)

  • cp [OPTION]… [-T] SOURCE DEST

  • cp [OPTION]… SOURCE… DIRECTORY

  • cp [OPTION]… -t DIRECTORY SOURCE…

cp SRC DEST

? ? ?SRC 是文件:

? ? ? ? ? ? ?如果目標不存在:新建DEST,并將SRC 中內容填充至

DEST中如果目標存在:

如果DEST是文件:將SRC 中的內容覆蓋至DEST中

(基于安全,建議為cp 命令使用-i 選項)

如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填至新文件中

cp SRC… DEST

SRC… :多個文件

DEST必須存在,且為目錄,其它情形均會出錯;

cp SRC DEST

SRC 是目錄:此時使用選項:-r

如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST 中;

如果DEST 存在:

如果DEST 是文件:報錯

如果DEST 是目錄:在DEST下新建與原目錄同名的目錄,并將SRC中內容復制至新目錄中cp1

(注:復制成功后,雖然DEST的內容和SRC的一樣,但是元數據不同。若要使DEST的內容和元數據均與SRC一樣,則需要用到cp選項。)

cp常用選項:

  • -i:覆蓋前提示 ? ? –n:不覆蓋,注意兩者順序-ni(注:cp=’cp-i’,所以使用方式為\cp-ni,才會有提示)

  • -r,-R:遞歸復制目錄及內部的所有內容(復制目錄)

cp2

  • -a:歸檔,相當于-dR –preserv=all,將SRC的所有屬性同步至DEST。

  • -d:–no-dereference –preserv=links(不復制原文件,只復制鏈接名)

  • –preserv[=ATTR_LIST]

  • mode:權限
  • ownership:屬主屬組
  • timestamp:時間戳
  • links:鏈接
  • xattr:擴展
  • context:上下文
  • all
  • -p:等同–preserv=mode,ownership,timestamp

  • -v:–verbose

  • -f:–force

  • -u:–update 只復制源比目標更新文件或目標不存在的文件

  • –backup=numbered 目標存在,覆蓋前先備份加數字后綴

cp3

7、移動和重命名文件:mv

  • mv [OPTION]… [-T] SOURCE DEST

  • mv [OPTION]… SOURCE… DIRECTORY

  • mv [OPTION]… -t DIRECTORY SOURCE…

若DEST不存在,SRC是文件,則將SRC移動到目標目錄下,并重命名為DEST。

若DEST為目錄,SRC是文件,則將SRC移動到DEST下。

(mv移動并重命名最多只能對一個文件進行重命名)

常用選項:

  • -i:交互式
  • -f:強制

mv1

8、刪除:rm

rm [OPTION]… FILE…

rm=’rm -i’刪除時提示

常用選項:

  • -i:交互式

  • -f:強制刪除

  • -r:遞歸刪除目錄樹

  • –no-preserve-root,等同于rm -f /*,刪除所有目錄與文件

eg:

1、 刪除當前目錄下內容rm當前目錄下內容

2、刪除某目錄下內容

rm某目錄下內容

9、目錄操作

(1)tree 顯示目錄樹

-d:只顯示目錄

-L level:指定顯示的層級數目

-P pattern:只顯示由指定pattern匹配到的路徑

tree

(2)mkdir 創建目錄

-p:存在于不報錯,且可自動創建所需的各目錄

-v:顯示詳細信息

-m MODE: 創建目錄時直接指定權限

mkdir

(3)rmdir 刪除空目錄

-p:遞歸刪除父空目錄

-v:顯示詳細信息

(4)rm -r 遞歸刪除目錄樹

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

1、bash的工作特性之命令執行狀態返回值

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

  • 成功:0
    失?。?-255

命令執行完成后,其狀態返回值保存于bash的特殊變量$?中,可以用echo$?來查看最近一條命令的狀態;

命令正常執行時,有的會有命令返回值;根據命令及其功能不同,結果各不相同。

? ?eg:新建文件touch命令,若是正確的命令,返回值為:0;當輸入為無效命令時,返回值則為:1-255之間

bash命令返回值

2、命令行展開

~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

{}:可承載一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;

三、使用命令行展開功能

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

a_c,a_b

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

創建1

創建2

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

1、文件的數據分為兩種:一種是描述數據屬性的一類,一種就是數據本身。

2、文件的元數據查看為stat命令,示例如下所示:

stat

其中:

  • file(文件):文件名
  • size(大小):文件大小
  • block(塊):文件占了多少數據塊的塊大小
  • IO Block(IO塊):文件所占數據塊的塊大小
  • Device(設備):硬件,說明該文件在硬盤的那個柱面
  • Inode : 節點號
  • links:硬鏈接
  • 權限:第一個Access權限,
  • Uid : 該文件所屬的屬主,
  • Gid : 該文件所屬的屬組
  • context(環境): 上下文(發生事情的環境, 背景, 來龍去脈; 前后關系)
  • accesstime(最近訪問):文件上一次的訪問時間
  • modifytime(最近改動):文件上一次修改的時間
  • changetime(最近改動):文件上一次屬性更改的時間

3、修改文件時間戳:touch

格式:touch [OPTION]…FILE…

OPTION:

  • -a:僅改變 atime 和ctime

  • -m:僅改變 mtime 和ctime

  • -t [[CC]YY]MMDDhhmm[.ss]:指定atime 和mtime 的時間戳

五、定義一個命令的別名,并在命令中引用另一個命令的執行結果

查看別名:alias,可查看當前所有別名。

定義別名:alias NAME=’COMMAND’

撤銷別名: unalias NAME

  • eg:將touch定義為touch -m,即:改變文件mtime和ctime,然后撤銷別名touch。

touch-m

六、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。

  • ~]# ls -d /var/l*[0-9]*[[:lower:]]

七、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。

  • ~]# ls -d /etc/[0-9]*[^0-9]

八、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。

  • ~]# ls -d /etc/[^a-Z][a-Z]*

九、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。

  • ~]# touch /app/tfile`date +%Y-%m-%d-%H-%M-%S`

十、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

  • ~]# cp -r /etc/p*[^0-9] /tmp/mytest1

十一、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

  • ~]# cp -r /etc/*.d /tmp/mytest2

十二、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

  • ~]# cp -r /etc/[1mn]*.conf /tmp/mytest3

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102265

(1)
熊掌撥清波熊掌撥清波
上一篇 2018-07-04
下一篇 2018-07-05

相關推薦

  • htop與vmstat的使用

    htop一般情況下需要安裝,vmstat一般都是系統默認安裝的,先說一下htop的安裝 首先要安裝C庫 yum groupinstall development tools 然后下載htop wget http://sourceforge.net/projects/htop/files/latest/download 然后解壓 tar -zxf downlo…

    2018-04-15
  • Linux 的用戶、文件管理和權限

    Linux文件系統上的特殊權限 可執行文件上SUID權限   目錄上的SGID權限 sticky 特殊權限數字法: 權限位映射: 設定文件的特定屬性: 訪問控制列表: 訪問控制列表: 訪問控制列表:        

    Linux筆記 2018-04-08
  • 文本處理工具

    文本處理小工具 tr tr [選項]…SET1 [SET2] 從標準輸入中替換、縮減和/或刪除字符,并將結果寫到標準輸出。 ? -c:取字符集的補集 ? -d:刪除所有屬于第一字符集的字符 ? -s:把連續重復的字符以單獨一個字符表示(壓縮) ? -t:將第一個字符集對應字符轉化為第二字符集對應的字符 #echo ‘tank zhang’ |tr a-z A…

    Linux筆記 2018-05-10
  • LAMP的實現

    php的兩種工作模式一種以模塊方式;一種以fcgi方式

    2018-06-23
  • 管中窺豹–Linux基礎簡介

    Linux簡介

    2018-05-08
欧美性久久久久