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

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

cp,mv,rm,cd,pwd,ls,mkdir,rmdir,tree

(1)復制命令:cp

格式:  
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE..
1、cp SRC DEST
SRC是文件
   如果目標不存在,新建DEST,并將SRC中內容填充至DEST中   
   如果目標存在:
       如果DEST是文件,將SRC中內容覆蓋至DEST中; 此時建議為cp命令使用-i選項
       如果DEST是目錄,在DEST下新建與源文件同名的文件,并將SRC中內容填充至新文件夾中
   
2、cp SRC... DEST
     SRC...:多個文件
     DEST必須存在,且為目錄,其它情形均為錯
3、cp SRC DEST
     SRC是目錄,則使用選項: -r
           如果DEST不存在,報錯
                 如果DEST存在:
                        如果DEST是文件:報錯
                        如果DEST是目錄:將SRC復制至DEST目錄

   

 常用選項:
        -i:交互式
        -r,R:遞歸復制目錄及內部的所有內容
        -a:歸檔
        -d:--no-deference --preserv=links
            --preserv-[ATTR_LIST]
                mode:權限
                ownership:屬主屬組
                timestamp:
                links
                xattr
                context
                all
        -p:--preserv=mode,ownership,timestamp
        -v:--verbose
        -f:--force

(2)移動文件 mv:move

格式:  
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

常用選項:
    -i:交互式
    -f:強制

(3)刪除 rm:remove

格式: rm [OPTION]... FILE...
常用選項:
      -i:交互式
      -f:強制
      -r:遞歸

(4)cd

功能:Change the shell working directory. #切換工作目錄
常用實例:
cd ~#回到當前用戶的主目錄
cd -#在上一個目錄和當前目錄之間來回切換
cd ~USERNAME#切換至指定用戶的家目錄

(5)pwd

功能:打印當前工作目錄的路徑
實例:pwd#顯示當前工作目錄的路徑

(6)ls

功能:list directory contents#列目錄內容
格式:ls [OPTION]... [FILE]...
選項:
-a, --all
do not ignore entries starting with .#顯示所有文件,包括隱藏文件、.和..
-A, --almost-all
do not list implied . and ..#顯示除“.”和“..”之外的所有文件
-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
#當遇到目錄時列出目錄本身而不是目錄內的文件
-h, --human-readable
with -l, print sizes in human readable format (e.g., 1K 234M 2G)
#配置-l,以易于閱讀的格式輸出文件大?。ɡ?K 234M 2G)
--si   likewise, but use powers of 1000 not 1024
-i, --inode
print the index number of each file#顯示每個文件的inode號
-l     use a long listing format#以長格式顯示文件信息
-o     like -l, but do not list group information
-p, --indicator-style=slash#對目錄加上表示符號“/”。
-r, --reverse
reverse order while sorting#逆序排序
-R, --recursive
list subdirectories recursively#遞歸顯示子目錄
-s, --size
print the allocated size of each file, in blocks
#以塊數形式顯示每個文件分配尺寸
-S     sort by file size#以文件大小排序
-t     sort by modification time#根據修改時間排序
-T, --tabsize=COLS
assume tab stops at each COLS instead of 8
#設置制表符的寬度

(7)mkdir

功能:創建目錄
格式:mkdir [OPTION]... DIRECTORY...
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
#設置權限模式(類似chmod),而不是rwxrwxrwx - umask
-p, --parents
no error if existing, make parent directories as needed
#已經存在的目錄不報錯,且可自動創建所需的各目錄
-v, --verbose
print a message for each created directory
#顯示創建每個目錄的詳細信息
實例:mkdir -pv /a/b/c#在/a/b下創建目錄c,自動創建不存在的/a /a/b目錄,并顯示創建每個目錄的詳細信息

(8)rmdir

功能:刪除空目錄
格式:rmdir [OPTION]... DIRECTORY...
選項:
-p, --parents
remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a'
-v, --verbose
output a diagnostic for every directory processed

(9)tree

功能:以樹形格式顯示文件或目錄
選項:
-a顯示所有文件或目錄
-d  List directories only.#僅顯示目錄
-l  Follows symbolic links if they point to directories, as if they were directories. Symbolic links that will result in recursion are avoided when detected.
#如遇到符號鏈接的目錄,直接列出該連接所指向的原始目錄
-f  Prints the full path prefix for each file.#顯示每個文件或目錄的完整路徑
-i  Makes tree not print the indentation lines, useful when used in conjunction with the -f option.
#不以樹狀形式列出文件或目錄
-x  Stay on the current file-system only.  Ala find -xdev.
#將范圍限制在當前文件系統中,若指定目錄下的某些子目錄存放于另一個文件系統上,則將該子目錄排除在范圍外
-L level
Max display depth of the directory tree. #指定顯示的最大子目錄層數

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

命令執行狀態返回值:
bash使用特殊變量$?保存最近一條命令的執行狀態結果;
0:命令執行成功
1-255:命令執行失敗

命令行展開:
~:當前用戶的家目錄
~USERNAME:展開指定用戶的主目錄
{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑
/tmp{a,b}=/tmp/a,/tmp/b
/tmp/{c,d}/e=/tmp/c/e,/tmp/d/e

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

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

mkdir /tmp/{a,b}_{c,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 ~]# 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,run}}
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/run"

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

文件的元數據信息有:
access time:訪問時間,簡寫為atime,讀取文件內容
modify time:修改時間,簡寫為mtime,改變文件內容(數據)
change time:改變時間,簡寫為ctime,元數據發生改變
可以通過stat查看元數據信息
通過touch命令修改文件的時間戳。
touch命令
格式:touch [OPTION]... FILE...
選項:
 -a:only atime
 -m:only mtime
 -t    STAMP:
     [[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,則不予創建

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

(1)定義別名:
alias NAME="VALUE"
例如:
alias cdnet="cd /etc/sysconfig/network-scripts/"
注意:在命令行定義的別名,僅在當前shell有效;如果想永久有效,需要定義在配置文件中
1)~/.bashrc:僅對當前用戶有效
2)/etc/bashrc:對所有用戶均有效
Note:編輯配置后的新配置文件不會立即生效,需要bash進程重新讀取配置文件
bash進程重新讀取配置文件的方法:
1)source /path/config_file
2). /path/to/config_file
(2)在命令中引用另一個命令的執行結果
1)管道
格式:COMMAND1 | COMMAND2 | COMMAND3
功能:后一個命令引用前一個命令的執行結果
示例:cat /etc/passwd | grep '^root\>' | cut -d: -f1,7    #顯示root用戶的用戶名和shell
2)bash命令
COMMAND1  `COMMAND 2`
或
COMMAND1 $(COMMAND2)
示例:
echo `seq 1 10`
或
echo $(seq 1 10)
功能:顯示1...10之間的整數序列


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

ls /var/l*[0-9]*[[:lower:]]

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

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

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

ls /etc/[^[:alpha:]][[:alpha:]]*

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

touch tfile-`date +%F-%H-%M-%S`

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

mkdir -p /tmp/mytest1 && cp -r /etc/p*[^0-9] /tmp/mytest1

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

mkdir -p /tmp/mytest2 && cp -r /etc/*.d /tmp/mytest2

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

mkdir -p /tmp/mytest3 && cp  /etc/{l,m,n}*.conf /tmp/mytest3

原創文章,作者:N21-天天,如若轉載,請注明出處:http://www.www58058.com/21408

(0)
N21-天天N21-天天
上一篇 2016-07-04
下一篇 2016-07-04

相關推薦

  • 0805 作業

     201608051、當天課程內容筆記2、當天練習3、預習4、取本機ip地址 5、取各分區利用率的數值 6、統計/etc/init.d/functions 文件中每個單詞出現的次數,并按頻率從高到低顯示 7、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取目錄名…

    Linux干貨 2016-08-07
  • 【招聘】北京/互聯網/運維工程師/7-15K/雙休,五險一金

    崗位職責:   1、負責服務器的規劃、調試優化、日常監控、故障處理、數據備份、日志分析等工作;   2、參與運維流程制定,確保任何突發情況都能高效響應;  3、負責服務器部署,對服務器構架和網絡進行優化和改進;  4、負責運維相關數據的收集、分析和總結;  5、負責技術運維相關的文檔、手冊…

    Linux干貨 2016-04-05
  • N22-第五周作業-冥界之王

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;    [root@CentOS6 ~]# cat /boot/grub/grub.conf | grep -E  "^[[:space:]]{1,}"…

    Linux干貨 2016-09-19
  • 馬哥教育 — 第三周作業

    1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可 2. 取出最后登錄到當前系統的用戶的相關信息 3. 取出當前系統上被用戶當作其默認shell的最多的那個shell 4.將/etc/passwd中的第三個字段數字最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中 5. 取出當前主機的i…

    2018-05-29
  • 計算機的組成

        計算機組成(computer composition)指的是系統結構的邏輯實現,包括機器機內的數據流和控制流的組成及邏輯設計等。 計算機組成的任務是在指令集系統結構確定分配給硬件系統的功能和概念結構之后,研究各組成部分的內部構造和相互聯系,以實現機器指令集的各種功能和特性。這種聯系包括各功能部件的內部和相   &nbsp…

    2017-03-26
  • 學而時習之

    1、 Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令 ls, 查看:cat,more,less,tail,head,tac 復制:cp 移動:mv 刪除:rm 創建:touch 元數據屬性:stat 查看內容類型:file 文本編輯器:nano,vi Linux的文件類型       &…

    Linux干貨 2016-09-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-04 13:53

    寫的很好,排版可以多關注一下,加油

欧美性久久久久