第二周作業

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

文件管理命令:cp、mv、rm

(1)cp命令:copy

    單源復制:cp [OPTION]... [-T] SOURCE DEST
    多源復制:cp [OPTION]... SOURCE... DIRECTORY
           cp [OPTION]... -t DIRECTORY SOURCE...

[OPTION]

    -i:交互式覆蓋,即覆蓋前提示
    -f:強制覆蓋目標文件
    -r:遞歸復制目錄
    -d:復制符號鏈接文件本身,而非其指向的源文件
    -a:-dR --preserve=all,archive
    --preserve=
        mode:權限
        ownership:屬組和屬主
        timestamps:時間戳
        context:安全標簽
        xattr:擴展屬性
        links:符號鏈接
        all:上述所有屬性

示例1:拷貝/etc/fstab到/tmp目錄下

    [root@UncleZ ~]# cp /etc/fstab /tmp
    [root@UncleZ ~]# ls /tmp
    fstab

示例2:拷貝/etc目錄到/tmp目錄下

    [root@UncleZ ~]# cp -r /etc/ /tmp

(2)mv命令:move

源文件和目標文件在同一目錄下,重命名
源文件和目標文件不在同一目錄下,移動

        -i:交互式
        -f:force,強制

將123.txt重命名

[root@UncleZ tmp]# mv 123.txt 1234.txt

(3)rm命令:remove

        -i:interactive
        -f:force
        -r:recursive

        rm -rf

        注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄;(模擬回收站)

示例:刪除/tmp下的所有文件

[root@UncleZ tmp]# rm -rf /tmp/*

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

命令執行的狀態結果:
    echo $?
        0:表示成功
        1~255:失敗
    命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中

示例:

[root@UncleZ ~]# ls
a_c  anaconda-ks.cfg  b_d       initial-setup-ks.cfg  python  test2.sh  var2.sh
a_d  b_c              database  ni.sh                 ss.sh   test.sh   var.sh

[root@UncleZ ~]# echo $?
0

命令執行成功

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

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

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

[root@UncleZ ~]# touch /tmp/{a,b}_{c,d}

[root@UncleZ ~]# ls /tmp
a_c  a_d  b_c  b_d

(2)

[root@UncleZ ~]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-script},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
略

[root@UncleZ ~]# tree /tmp/mylinux
/tmp/mylinux
|-- bin
|-- boot
|   `-- grub
|-- dev
|-- etc
|   |-- rc.d
|   |   `-- init.d
|   `-- sysconfig
|       `-- network-script
|-- lib
|   `-- modules
|-- lib64
|-- proc
|-- sbin
|-- sys
|-- tmp
|-- usr
|   `-- local
|       |-- bin
|       `-- sbin
`-- var
    |-- lock
    |-- log
    `-- run

24 directories, 0 files

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

(1)元數據指用來描述一個文件的特征的系統數據,諸如訪問權限、文件擁有者以及文件數據塊的分布信息(inode…)等等

時間戳:

    atime    (access time)    最近訪問
    mtime    (modify time)    最近更改,文件內容發生改變的時間
    ctime    (change time)    最近改動,元數據發生改動的時間

(2)使用命令stat就可以看到元數據信息,例:

[root@UncleZ ~]# stat /tmp
  File: ‘/tmp’
  Size: 60            Blocks: 0          IO Block: 4096   directory
Device: fd01h/64769d    Inode: 133         Links: 3
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:tmp_t:s0
Access: 2016-12-10 18:26:44.525844032 +0800
Modify: 2016-12-10 18:26:23.004928402 +0800
Change: 2016-12-10 18:26:23.004928402 +0800
 Birth: -

(3)使用touch修改文件的時間戳信息:

touch – change file timestamps

-c:指定的文件路徑不存在時不予創建
-a:僅修改access time
-m:僅修改modify time
-t STAMP
        [[CC]YY]MMDDhhmm[.ss]

示例:修改mtime

[root@UncleZ ~]# touch -m -t 0212010303.03 /tmp/functions

[root@UncleZ ~]# stat /tmp/functions 
File: ‘/tmp/functions’
Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd01h/64769d    Inode: 2360083     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-12-06 21:06:48.151112808 +0800
Modify: 2002-12-01 03:03:03.000000000 +0800
Change: 2016-12-06 21:06:48.152115493 +0800
Birth: -

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

alias命令:

獲取所有可用別名的定義
定義別名:
    ~]# alias NAME='COMMAND'
注意,僅對當前shell進程有效
撤銷別名:
    ~]# unalias NAME

引用命令的執行結果:

    $(COMMAND)或 `COMMAND``

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

[root@UncleZ var]# ls -d /var/1*[0-9]*[[:lower:]]

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

[root@UncleZ ~]# ls -d /etc/[0-9]*[^0-9]

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

[root@UncleZ ~]# ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

[root@UncleZ ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

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

[root@UncleZ ~]# mkdir /tmp/mytest1
[root@UncleZ ~]# cp -r /etc/p*[^0-9] /tmp/mytest1

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

[root@UncleZ ~]# mkdir /tmp/mytest2
[root@UncleZ ~]# cp -r /etc/*.d /tmp/mytest2

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

[root@UncleZ ~]# mkdir /tmp/mytest3
[root@UncleZ ~]# cp /etc/[1mn]*.conf /tmp/mytest3

原創文章,作者:N25-趙叔,如若轉載,請注明出處:http://www.www58058.com/63154

(0)
N25-趙叔N25-趙叔
上一篇 2016-12-10 19:04
下一篇 2016-12-11 00:46

相關推薦

  • Linux基礎知識

    一、描述計算機的組成及其功能 計算機由運算器、控制器、存儲器、I/O設備五大部件組成。 運算器和控制器統稱為中央處理器,俗稱CPU。    1、運算器:實現算術運算和邏輯運算的部件;    2、控制器:計算機的指揮系統,控制計算機的其他部件,使得個部件有條不紊地協調工作;    3、存儲器:存儲數據…

    2017-07-08
  • Linux程序包管理(一)RPM使用

    Linux程序包管理 在早期我們使用源代碼的方式安裝軟件時,都需要先把源程序代碼編譯成可執行的二進制應用程序,然后進行安裝。意味著每次安裝軟件都需要經過 預處理 –> 編譯 –> 匯編–> 鏈接, 這個復雜的過程。為簡化安裝步驟,程序提供商就在特定的系統上面編譯好相關程序的安裝文件并進行打包,提…

    Linux干貨 2016-06-01
  • 高可用集群部署文檔

    同學們都很活躍,自己好久沒寫了,也動動筆,下面文章寫著玩的,如有錯誤請聯系(NET7-粵-義薄云天) 高可用集群部署文檔   目錄: 目錄: 1 項目需求: 2 實現方式: 2 拓撲圖: 3 系統及軟件版本: 3 安裝步驟: 4 IP分配: 4 LVS和keepalived的安裝和配置: 4 LVS主配置: 4 LVS2備 配置: 7 w…

    Linux干貨 2015-08-11
  • vim編輯器進階

    1、vim介紹    vim(Visual Interface Improved)是一款異常強大的文本編輯器,如果大家對它的認識還停留在編輯文件,再退出的階段的話,那就太對不起vim了,反倒不如用nano來的爽快。不過學習vim剛開始的階段必然是痛苦的,如果想要一蹴而就,那就是你想多了。所以還需大家結合實際情況,勤加練習,認真揣摩。這里是…

    Linux干貨 2016-08-11
  • HTTP

    使用CentOS 7和CentOS 6實現以下任務 配置四個基于名稱的虛擬主機;discuzXwordpressdrupal1.在conf.d下新建并編輯虛擬主機配置文件]# cd /etc/httpd/conf.d/]# vim vhost.confcentos6配置   [root@ _93_ conf.d]#&n…

    Linux干貨 2016-10-12
  • 關于until循環在shell腳本中的實際應用

    Until循環在shell腳本中的實際應用 1、每隔3秒鐘到系統上獲取已經登錄的用戶的信息;如果發現用戶hacker登錄,則將登錄時間和主機記錄于日志/var/log/login.log中,并提示該用戶退出系統 2、隨機生成10以內的數字,實現猜字游戲,提示比較大或小,相等則退出 3、編寫腳本,求100以內所有正整數之和 4、編寫腳本,通過ping命令探測1…

    Linux干貨 2016-08-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 23:31

    贊,總結的不錯,建議可以根據這部分進行深入的擴展~繼續加油~

欧美性久久久久