文件相關命令

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

cpcopy

源文件:目標文件

單源復制:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在,則事先創建此文件,并復制源文件的數據流至DEST

如果DEST存在:

如果DEST是非目錄文件:則覆蓋目標文件

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

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

                      cp [OPTION]… -t DIRECTORY SOURCE…

            如果DEST不存在:錯誤

            如果DEST存在:

                    如果DEST是非目錄文件:錯誤

                    如果DEST是目錄文件:分別復制每個文件至目標目錄中,并保持原        

    常用選項:

            -i:覆蓋之前提醒用戶確認

            -f:強制覆蓋

            -r/R:遞歸復制目錄

                    如果DEST不存在,創建一個空目錄并源目錄遞歸復制過去

                    如果DEST存在:在目標目錄下創建同源目錄名相同的目錄,并將源        目錄中的文件遞歸復制

            -d:復制鏈接文件本身,不會指向源文件

            -a-dR –preserv=all 拷貝時保留源文件所有屬性

            –preserv=

                    mode:權限

                    ownership:屬主和屬組

                    timestamps:時間戳

                    context:安全標簽

                    xattr:擴展屬性

                    links:符號鏈接

                    all:上述所有

mvmove

mv [OPTION]… [-T] SOURCE DEST

                     mv [OPTION]… SOURCE… DIRECTORY

                       mv [OPTION]… -t DIRECTORY SOURCE…

 

rmremove files or directories

             rm [OPTION]… FILE…

                     -iinterctive

                     -r:遞歸刪除,可以刪除

                     -rf:強制順產

 

             

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

命令執行的狀態結果:

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

成功:0

失敗:1-255

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

[root@edu ~]# ls

anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  視頻  圖片  文檔  下載  音樂  桌面

[root@edu ~]# echo $?

0

[root@edu ~]# ls /etc/sls

ls: 無法訪問/etc/sls: 沒有那個文件或目錄

[root@edu ~]# echo $?

2

 

 

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

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

命令行展開

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

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

 

 

 

 

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

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

[root@edu /]# mkdir -pv /tmp/{a,b}_{c,d}

mkdir: 已創建目錄 "/tmp/a_c"

mkdir: 已創建目錄 "/tmp/a_d"

mkdir: 已創建目錄 "/tmp/b_c"

mkdir: 已創建目錄 "/tmp/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

 

[root@edu /]# 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,rum}}

mkdir: 已創建目錄 "/tmp/mylinux"

mkdir: 已創建目錄 "/tmp/mylinux/bin"

mkdir: 已創建目錄 "/tmp/mylinux/boot"

mkdir: 已創建目錄 "/tmp/mylinux/boot/grub"

mkdir: 已創建目錄 "/tmp/mylinux/dev"

mkdir: 已創建目錄 "/tmp/mylinux/etc"

mkdir: 已創建目錄 "/tmp/mylinux/etc/rc.d"

mkdir: 已創建目錄 "/tmp/mylinux/etc/rc.d/init.d"

mkdir: 已創建目錄 "/tmp/mylinux/etc/sysconfig"

mkdir: 已創建目錄 "/tmp/mylinux/etc/sysconfig/network-scripts"

mkdir: 已創建目錄 "/tmp/mylinux/lib"

mkdir: 已創建目錄 "/tmp/mylinux/lib/modules"

mkdir: 已創建目錄 "/tmp/mylinux/lib64"

mkdir: 已創建目錄 "/tmp/mylinux/proc"

mkdir: 已創建目錄 "/tmp/mylinux/sbin"

mkdir: 已創建目錄 "/tmp/mylinux/sys"

mkdir: 已創建目錄 "/tmp/mylinux/tmp"

mkdir: 已創建目錄 "/tmp/mylinux/usr"

mkdir: 已創建目錄 "/tmp/mylinux/usr/local"

mkdir: 已創建目錄 "/tmp/mylinux/usr/local/bin"

mkdir: 已創建目錄 "/tmp/mylinux/usr/local/sbin"

mkdir: 已創建目錄 "/tmp/mylinux/var"

mkdir: 已創建目錄 "/tmp/mylinux/var/lock"

mkdir: 已創建目錄 "/tmp/mylinux/var/log"

mkdir: 已創建目錄 "/tmp/mylinux/var/rum"

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

    └── rum

 

 

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

元數據用來描述一個文件的屬性信息,如訪問權限,文件擁有者,文件數據塊的分部,文件的時間戳等信息

 

# stat file  使用stat命令查看文件的元數據

 

修改文件的時間戳

touch命令:用于改變atimemtime

touch [option]…file…

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

-a:僅修改 atime

-m:僅修改 mtime

-t:指定修改的時間:[[CC]YY]MMDDhhmm[.ss]

 

 

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

定義別名:

# alias NAME=‘COMMAND’   僅對當前shell進程有效

撤銷別名:

# unalias NAME

 

[root@edu ~]# alias cle='clear'

[root@edu ~]# cl

cle                 clear               clibrary2           clockdiff

clean-binary-files  clibrary            clock               clpi_dump

[root@edu ~]# unalias cle

[root@edu ~]# cl

clean-binary-files  clibrary            clock               clpi_dump

clear               clibrary2           clockdiff

 

引用命令的執行結果:

$(COMMAND)

或者`COMMAND`

 touch $(date +%H_%M_%S)

 

[root@edu test]# touch $(date +%H_%M_%S)

[root@edu test]# ls

18_44_55

 

 

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

# ls -d /var/I*[0-9]*[[:lower:]]

 

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

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

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

# ls -d /etc/[^[:alpha:]][[:alpha:]]*

9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-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/目錄下所有以lmn開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

# cp -r /etc/[Imn]*.conf /tmp/mytest3

 

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

(0)
panghlpanghl
上一篇 2016-09-22
下一篇 2016-09-23

相關推薦

  • 8.4日作業

    1、用正則表達式表示IP地址 ifconfig | grep -E -o "(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}(\<[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]25[0-5]\>)" 5、用正…

    Linux干貨 2016-08-08
  • 初涉Linux基本要點概括(1)

    計算機,這里通常指可以儲存程序的計算機,根據馮諾依曼體系,計算機組成部件包括控制單元(Control Unit)、算術邏輯單元(Arithmetic Logic Unit)、內存(Memory)、輸入設備(Input)、輸出設備(Output)。計算機通過輸入的數據和指令,可以完成各種復雜的運算任務,小到文字處理、游戲、影音、大到衛星定位,火箭發射,人工智能…

    Linux干貨 2016-09-26
  • Linux介紹

    Linux簡介 Linux是一種自由和開放源代碼的類UNIX操作系統。該操作系統的內核由林納斯·托瓦茲在1991年10月5日首次發布。在加上用戶空間的應用程序之后,成為Linux操作系統。Linux也是自由軟件和開放源代碼軟件發展中最著名的例子。只要遵循GNU通用公共許可證,任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布?!?/p>

    Linux干貨 2016-10-28
  • 8/10作業腳本

    1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。 2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中 3、編寫腳本/root/bin/disk.sh,顯示當前硬盤分區中空…

    Linux干貨 2016-08-15
  • 計算機基礎第一部分

    ** 第一課:計算機基礎知識** 第一章計算機的組成 計算機是由硬件(Hardwaer)和軟件(Software)來組成兩大類,他是一臺可以自由傳輸數據, 儲存數據,娛樂,工作等等的智能設備。 第一節計算機硬件 主板架構圖 內存====用來存儲臨時數據,弱點喜歡松動一般電腦黑屏都是他松動了,導致電腦不能機 基本上%80以上的電腦不能開機都是他出了問題,服務器…

    Linux干貨 2017-05-19
  • mount中-o的選項利用

        Mount下—-o 選項的各項用處  mount-o 選項 sync,async 同步模式,異步模式(defaults)         此選項的默認模式為異步模式。在同步模式下,內存的任何修改都會實時的同步到硬盤當中,這種模式的…

    2017-08-19

評論列表(1條)

  • luoweiro
    luoweiro 2016-10-10 23:06

    開始的部分看著稍有凌亂,后面的作業做的還不錯,知識點總結的蠻到位。

欧美性久久久久