22期第二周課堂練習

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

    (1).cp文件復制命令

    單源復制:cp [OPTION]... [-T] SOURCE DEST
    多源復制:cp [OPTION]... SOURCE... DIRECTORY
              cp [OPTION]... -t DIRECTORY SOURCE...
              常用選項:
                   -i:交互式復制,即覆蓋之前提醒用戶確認;
                   -f:強制覆蓋目標文件;
                   -r, -R:遞歸復制目錄;
                   -d:復制符號鏈接文件本身,而非其指向的源文件;
                   -a:-dR --preserve=all, archive,用于實現歸檔;
                   --preserv=
                       mode:權限
                       ownership:屬主和屬組
                       timestamps: 時間戳
                       context:安全標簽
                       xattr:擴展屬性
                       links:符號鏈接
                       all:上述所有屬性
示例:將test1底下的文件復制到test2,目錄下
[root@localhost tmp]# cp test1/* test2
[root@localhost tmp]# ls -ll test2
total 0
-rw-r--r--. 1 root root 0 Aug 19 10:44 a
-rw-r--r--. 1 root root 0 Aug 19 10:44 b
-rw-r--r--. 1 root root 0 Aug 19 10:44 c

       

  (2).mv文件移動命令

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE..
   常用選項:
                   -i:交互式;
                   -f:force
                   
示例:將test1目錄及目錄下文件移到到test2目錄下
[root@localhost tmp]# mv test1 test2
[root@localhost tmp]# cd test2
[root@localhost test2]# ls
test1

  (3).rm刪除命令 

rm [OPTION]... FILE...
   常用選項:
                -i:interactive 交互
                -f:force 強制
                -r: recursive 遞歸
示例
                刪除目錄:rm -rf /PATH/TO/DIR
                危險操作:rm -rf /* 
[root@localhost tmp]# rm -rf /test2

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

  

   (1) 命令執行的狀態結果:

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

                成功:0

                失敗:1-255

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

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

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

示例
 [root@localhost tmp]# ls  -l /etc/passwd
-rw-r--r--. 1 root root 1792 Aug  9 16:54 /etc/passwd
[root@localhost tmp]# echo $?
0
[root@localhost tmp]# ld  -l /etc/passwd
ld: cannot find -l/etc/passwd
[root@localhost tmp]# echo $?
1

   (2)命令行展開

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

示例:/tmp/{a,b} 相當于 /tmp/a /tmp/b

[root@localhost /]# mkdir /tmp/{a,b}

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

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

[root@localhost test]# mkdir {a,b}_{c,d}
[root@localhost test]# ls
a_c  a_d  b_c  b_d
[root@localhost test]#

 (2)創建/tmp/mylinux目錄下的:

  blob.png

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

24 directories, 0 files

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

    

    文件元數據包括:文件名,大小,塊,IO塊,設備,Inode,硬鏈接,軟連接,權限,Uid,Gid,環境,時間戳

 查看文件的元數據信息:

[root@localhost test]# ls -l  
total 16
drwxr-xr-x. 2 root root 4096 Aug 19 11:05 a_c
  stat命令:
            stat - display file or file system status
            stat FILE...
   [root@localhost test]# stat a_c
  File: `a_c'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
  Device: fd00h/64768d	Inode: 924347      Links: 2
  Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
  Access: 2016-08-19 11:05:45.752278216 +0800
  Modify: 2016-08-19 11:05:45.752278216 +0800
  Change: 2016-08-19 11:05:45.752278216 +0800

   修改文件的時間戳

touch命令:
            touch - change file timestamps
            touch [OPTION]... FILE...
                -c: 指定的文件路徑不存在時不予創建;
                -a: 僅修改access time;
                -m:僅修改modify time;
                -t STAMP
                   [[CC]YY]MMDDhhmm[.ss]

示例

[root@localhost test]# touch -at 0812171200.21 aa
[root@localhost test]# stat aa
  File: `aa'
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
 Device: fd00h/64768dInode: 924329      Links: 1
 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
 Access: 2008-12-17 12:00:21.000000000 +0800
 Modify: 2016-08-19 15:24:27.822367731 +0800
 Change: 2016-08-19 15:25:26.270379965 +0800

    

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

命令別名:
                獲取所有可用別名的定義:
                    ~]# alias
                定義別名:
                    ~]# alias NAME='COMMAND'
                    注意:僅對當前shell進程有效
                撤銷別名:
                    ~]# unalias NAME
永久生效:
           用戶個人:僅對當前用戶有效;
                    ~/.bash_profile
           全局:/etc/bashrc

             

命令引用:``
root@localhost test]# echo `date`
Fri Aug 19 15:30:05 CST 2016

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

[root@localhost var]# ls -a /var |grep  "^l[[:digit:]]\+[[:lower:]]$"

   

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

 [root@localhost etc]# ls -a /etc |grep  "^[0-9].*[^0-9]$"

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

[root@localhost etc]# ls /etc |grep "^[^[:alpha:]][[:alpha:]].*"

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

root@localhost etc]# touch /tmp/tfile-`date +%F-%H-%M-%S`
[root@localhost etc]# ls /tmp/
tfile-2016-08-19-16-11-01

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

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

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

 [root@localhost test2]# cp -r /etc/*.d /tmp/test2

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

[root@localhost test2]# cp -r /etc/[1,m,n]*.conf  /tmp/mytest3

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

(0)
a295053193a295053193
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相關推薦

  • Shell腳本編程 流程控制—選擇

    流程控制可根據不同的情況做不同的處理,而且可重復執行指定的程序區域,在shell bash中流程控制可分為兩大類: "選擇"和"循環" 1.選擇:if、case、select 2.循環:for、while、until、select 命令結束狀態返回值: 在shell中命令執行狀態返回值分兩種,成功和失敗,0表示成功,非…

    Linux干貨 2016-08-24
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • 文本處理工具

    文本處理工具 文件查看命令:cat  cat [OPTION]… [FILE]…  -E: 顯示行結束符$  -n: 對顯示出的每一行進行編號  -A:顯示所有控制符  -b:非空行編號  -s:壓縮連續的空行成一行 [root@centous1 soft]#&nb…

    Linux干貨 2016-08-08
  • 馬哥教育網絡班22期+第1周課程練習

    week1作業: 1.描述計算機的組成及其功能。    計算機的組成:    CPU:控制器、運算器、寄存器、CPU緩存(RAM,一級、二級、三級緩存)    控制器(Control):是整個計算機的中樞神經,其功能是對程序規 定的控制信息進行解釋,根據其要求進行控制,…

    Linux干貨 2016-08-15
  • N22-第三周作業

    列出當前系統上所有已經登錄的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# w |cut -d ' ' -f1 |sort -u lucy root USER 2.取出最后登錄到當前系統的用戶的相關信息。 [root@localhost ~]# last -1 root   &nbs…

    Linux干貨 2016-08-28
  • CentOS 7源碼安裝httpd服務

    httpd的簡介     httpd是一個開源軟件,且一般用作web服務器來使用。目前最流行的web服務器軟件叫做httpd,httpd還有一個俗稱叫apache,Apache是一個軟件基金會,httpd也是這個軟件基金會的一個項目。在早期的http server就叫做apache,到了http server 2.0以…

    Linux干貨 2016-08-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-22 14:36

    寫的很好,排版還可以在漂亮一點,加油,3大題2小題跟老師的題目不一樣

欧美性久久久久