馬哥教育網絡第21期-第二周課程練習

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

   linux中經常使用的文件管理命令主要有cp,mv,rm這三個命令。
    復制命令:cp
    cp [option] SRC DEST
        SRC是文件:
            如果目標不存在:新建DEST,將SRC的內容填充到DEST中。
            目標存在:將SRC的內容覆蓋到DESC中。
[root@localhost mnt]# cp -i /etc/passwd /mnt
[root@localhost mnt]# ls
lineout.sh  passwd  spaceline.sh  useridsum.sh
[root@localhost mnt]#
[root@localhost mnt]# cp -i /etc/passwd /mnt/abc
[root@localhost mnt]# ls
abc

        SRC為多個文件:

            DESC必須存在且為目錄。

[root@localhost mnt]# cp  -i /etc/shadow /etc/group /mnt
[root@localhost mnt]# ls
group  lineout.sh  passwd  shadow  spaceline.sh  useridsum.sh
[root@localhost mnt]#

        SRC是目錄:  

            使用選項:-r

            DESC不存在則自動創建,DESC存在時必須是目錄,文件會報錯。

[root@localhost home]# ls
jtah
[root@localhost home]# cp -r jtah/ /mnt
         常用選項:  
    -i:交互式
            -r, -R: 遞歸復制目錄及內部的所有內容;
            -a: 歸檔,相當于-dR --preserv=all
        -d:--no-dereference --preserv=links
        --preserv[=ATTR_LIST]
        mode: 權限
        ownership: 屬主屬組
        timestamp: 
        links
        xattr
        context
        all
        -p: --preserv=mode,ownership,timestamp
        -v: --verbose
        -f: --force
    移動文件:mv
        mv [option] SRC DESC
        常用選項:
        -i: 交互式
        -f: 強制
    刪除文件:rm
        rm [option] FILE
        常用選項:
    -i: 交互式
    -f: 強制刪除
    -r: 遞歸

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

bash命令執行的結果有兩種成功或失敗,成功的返回值用0表示,1-255表示失敗。bash使用echo $?來保存最近一條命令的執行結果。

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

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

root@localhost tmp]# mkdir {a,b}_{c,d}
[root@localhost tmp]# ls -l
總用量 76
drwxr-xr-x. 2 root root     6 7月  16 22:18 a_c
drwxr-xr-x. 2 root root     6 7月  16 22:18 a_d
drwxr-xr-x. 2 root root     6 7月  16 22:18 b_c
drwxr-xr-x. 2 root root     6 7月  16 22:18 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@localhost tmp]# mkdir -p 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 tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etcrc.d
│   └── init.d
├── etcsysconfig
│   └── network-scripts
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│   ├── localbin
│   └── localsbin
└── var
    ├── lock
    ├── log
    └── run

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

文件系統中的數據分為數據和元數據,數據是指普通文件的實際數據,元數據是用來描述一個文件特征的系統數據,如訪問權限,文件擁有者等等。
[root@localhost tmp]# ls -l /etc/passwd
-rw-r--r--. 1 root root 3355 7月  15 11:17 /etc/passwd
第1行代表文件的格式主要有一下幾種
    1.-:普通文件
    2.d:目錄文件
    3.l:符號連接文件
    4.s:套接字文件
    5.p:管道文件
    6.b:塊設備文件
    7.c:字設備文件
第2-9代表文件的擁有者,屬組,其他用戶對文件的訪問權限
    r:讀    w:寫    x:執行
    使用stat和touch可以修改和查看文件的時間戳信息
    
[root@localhost tmp]# stat /etc/passwd
文件:"/etc/passwd"
大?。?355      	塊:8          IO 塊:4096   普通文件
設備:fd00h/64768d	Inode:34137289    硬鏈接:1
權限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
環境:system_u:object_r:passwd_file_t:s0
最近訪問:2016-07-16 22:42:49.602895353 +0800
最近更改:2016-07-16 22:42:49.602895353 +0800
最近改動:2016-07-16 22:42:49.602895353 +0800
創建時間:-

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

使用aliase可以查看當前shell的的別名。aliase=value可以定義命令別名
        (1) alias
	顯示當前shell進程所有可用的命令別名;
        (2) alias NAME='VALUE'
	定義別名NAME,其相當于執行命令VALUE;

        注意:在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中;
	僅對當前用戶:~/.bashrc
	對所有用戶有效:/etc/bashrc

	Note: 編輯配置給出的新配置不會立即生效;

	bash進程重新讀取配置文件:
	source /path/to/config_file
	./path/to/config_file

	撤消別名:unalias
	unalias [-a] name [name ...]

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

[root@localhost var]# ls -d /var/l*[0-9]*[[:lower:]]
/var/lib60test

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

[root@localhost var]# ls  /etc/[0-9]*[^0-9]

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

[root@localhost var]# ls /etc/[^[:alpha:]][[:alpha:]]*

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

[root@localhost tmp]# touch /tmp/tfile`date +%F-%H-%M-%S`

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

[root@localhost tmp]# cp -rf /etc/p*[^0-9] /tmp/mytest1

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

[root@localhost tmp]# cp -rf /etc/*.d /tmp.mytest2

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

[root@localhost tmp]# cp /etc/{l.m,n}*.conf /tmp/mytest3

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

(0)
N21_619463772N21_619463772
上一篇 2016-07-17
下一篇 2016-07-19

相關推薦

  • case條件判斷語句

    條件判斷: case語句     在shell編程中,對于多分支判斷,用if 雖然也可以實現,但有些時候,寫起來很麻煩,也不容易代碼理解。這個時候,可以考慮case。 case 變量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默認分支 ;; esac case語句結構特點如下:…

    Linux干貨 2016-08-16
  • 從Linux小白到大?!c狼共舞的日子7

    馬哥教育網絡班21期+第7周課程練習 1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@localhost ~]#&nbsp…

    Linux干貨 2016-11-14
  • 第五天03條件判斷與循環

           選擇執行     選擇執行:注意:if語句可嵌套                           單分支       &n…

    Linux干貨 2016-08-18
  • 負載調度器:調度算法

    調度算法(ipvs scheduler) 起點公平:平均分配,不管分別干的怎么樣。 結果公平:誰現在還剩下的在處理的少,就分配給誰。      根據其調度時是否考慮各RS當前的負載狀態,可分為靜態方法和動態方法兩種: 靜態方法 靜態方法:僅根據算法本身進行調度; RR      …

    2016-10-28
  • Linux文件查找命令詳解

    Linux中在文件系統上查找符合條件的文件,實現工具有locate和find locate: 1.它是依賴于事先索引構建好的數據庫進行查找的。更新它的數據庫有兩種方式,一種是系統定期自動更新,另一種是執行命令updatedb手動更新數據庫。 注意:索引構建過程需要遍歷整個根文件系統,極消耗資源 2.它的工作特性: 1.因為是基于數據庫實現的,所以查找速度快(…

    Linux干貨 2017-04-10
  • 關于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要對內核做升級操作;Linux支持多內核版本并存,因此 ,對直接安裝新版本內核 v rpm {-q嚴格–query} [select-options] [query-options] v [se…

    Linux干貨 2016-08-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-17 21:55

    寫的很好,排版也很漂亮,加油

欧美性久久久久