馬哥教育網絡班N22期+第2周課程練習

馬哥教育網絡班N22期+第2周課程練習

1 linux上的常用文件管理類命令

1.1 常用文件查看命令

MORE命令

  • 作用:分屏顯示查看文件內容

  • 用法:more file

  • 查看翻頁方式:

    • B鍵向上 一頁

    • 空格向下一頁

    • enter鍵一行一行翻閱

    • 翻到最后一行自動退出

LESS命令

  • 作用:分屏顯示查看文件內容

  • 用法:less file

  • 查看方式:less命令與查看man文檔的方式相同

CAT命令

  • 用法:cat [OPTION]... [FILE]...

  • cat命令可接多個文件一起查看

  • 常用選項:

    • -n:顯示輸出文本信息的行號

    • -E:顯示行結束符$

TAC命令

  • 作用:顯示文本信息

  • 使用方法:與cat命令使用方法對應

  • 與cat的區別:tac命令將文本的每一行倒序顯示

HEAD命令

  • 作用:查看文本文件件前n行

  • 用法:head [OPTION]... [FILE]...

    • -n # | -# :指定查看文件的前#行

    • 常用選項:

  • 示例:

    • head -n 2 /etc/fstab #顯示fstab文件前2行

    • heas -2 /etc/fstab

TAIL命令

  • 作用:查看文件后n行,默認尾部10行

  • 用法 tail [OPTION]... [FILE]...

  • 常用選項:

    • -n # | -# :指定查看文件后#行

    • -f:查看文件尾部內容結束后不退出并監視,跟隨顯示新增的行;

  • 示例:

    • tail -n 3 /etc/fstab

    • tail -3 /etc/fstab

FILE命令

  • 作用:確定文件內容類型(determine file type)

  • 用法:file [FILE]...

  • 示例:

  • [root@Red Hat etc]# file /etc/inittab 
    /etc/inittab: ASCII English text		

1.2 文件的常用管理類命令

TOUCH命令

  • 作用:用來更改時間戳,也可以創建空文件

  • 用法:touch [OPTION]... FILE...

  • 常用選項:

    • touch -m -t 0212010303.03 /tmp/a 

    • 修改a文件的mtime時間為2012-12-01 03:03:03

    • STAMP格式:[[CC]YY]MMDDhhmm[.ss]

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

    • -a: 僅修改access time; 

    • -m:僅修改modify time; 

    • -t STAMP

    • 示例:

CP命令

  • 功能:文件或目錄復制命令

  • 語法格式:

    • cp [OPTION]... SOURCE... DIRECTORY

    • cp [OPTION]... -t DIRECTORY SOURCE...

    • 如目標目錄不存在,顯示錯誤信息;

    • 如果目標目錄存在:

    • 如果DEST是非目錄文件,顯示錯誤信息; 

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

    • cp [OPTION]... [-T] SOURCE DEST

    • 如果目標(DEST)是非目錄文件:則覆蓋目標文件; 

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

    • 則事先創建此文件,并復制源文件的數據流至DEST中;

    • 如果目的(DEST)不存在:

    • 如果目標存在:

    • 單源復制:

    • 多源復制:

    • 注意:默認情況只復制文件,不復制目錄。

    • 默認情況下復制鏈接文件,只會復制鏈接文件本身

  • 常用選項:

    • mode:權限

    • ownership:屬主和屬組

    • timestamps: 時間戳

    • context:安全標簽

    • xattr:擴展屬性

    • links:符號鏈接

    • all:上述所有屬性

    • -r | -R ,遞歸復制,可以復制目錄及其目錄中的文件

    • -i,交互式提醒,默認為cp的命令別名

    • -p,保留原文件的屬主,時間戳

    • -a,遞歸保留源文件的所有屬性,用于歸檔備份

    • -d:復制符號鏈接文件本身,而非其指向的源文件;

    • -f:強制覆蓋目標文件;

    • —preserv= :保留源文件特定的屬性信息 

MV命令

  • 作用:移動并可對文件重命名,默認情況可以移動目錄

  • 用法:

    mv [OPTION]... [-T] SOURCE DEST

    mv [OPTION]... SOURCE... DIRECTORY

    mv [OPTION]... -t DIRECTORY SOURCE..

  • 常用選項: 

    • -i:顯示警告信息,默認

    • -f:強制操作force)

RM命令

  • rm命令默認的命令別名:

    • [root@Red Hat ]# type rm
      rm is aliased to `rm -i'				

      可使用/rm不使用別名

  • 用法:rm [OPTION]... FILE...

  • 常用選項:

    • -f,強行刪除,不提示

    • -r,遞歸刪除目錄

    • -rf,遞歸刪除目錄

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

INSTALL命令

  • 功能:復制文件并設置屬性

  • 用法:

    • install [OPTION]... -d DIRECTORY...

    • install [OPTION]... SOURCE... DIRECTORY

    • install [OPTION]… -t DIRECTORY SOURCE…

    • install [OPTION]... [-T] SOURCE DEST 

    • 單源復制:

    • 多源復制:

    • 創建目錄:

注意:僅復制文件并制定屬性和權限,不能復制目錄。

  • 常用選項:

    • -m, –mode=MODE:設定目標文件權限,默認為755;

    • -o, –owner=OWNER:設定目標文件屬主;

    • -g, –group=GROUP:設定目標文件屬組;

  • 示例:

  • nstall -o jwl -g milieux /etc/fstab /tmp/fsta

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

2.1 bash工作特性之命令執行的狀態返回值

  • bash的命令執行狀態返回值可用來表示命令執行成功與否:

    • 命令執行成功:0

    • 命令執行失?。?-255

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

  • 因此可以使用echo $?查看上一條命令的執行狀態結果

    注意:命令正常執行時,有的還回有命令返回值。要注意命令返回值與命令執行狀態返回值的區別。

  • 示例:

    • # ls &> /dev/null				
    • echo $?						
    • 0						
    • # lss &>/dev/null						
    • echo $?						
    • 1						
    • 命令返回值::

    • [root@Red Hat mytest3]# ls
      mdadm.conf   mtools.conf  				
    • 命令執行的狀態返回值:


3 如何定義一個命令別名

alias命令

作用:設置命令別名

用法:alias CMDALIAS=‘COMMAND [OPTION] [argument]‘

注意:在shell中定義的別名僅在當前shell生命周期中有效,別名的有效范圍僅為當前shell進程。

unalias命令

作用:取消命令別名

用法: unalias CMDALIAS

如需執行命名本身:\CMD


4 如何在命令中引用另一個命令的執行結果

  • 用法1:$(command)

  • 用法2:反引號`COMMAND`,

  • 作用:把命令中某個子命令替換為其執行結果的過程。

  • 示例:
    echo “The current directory is $(pwd)”
    touch ./file-$(date +%F-%H-%M-%S).txt  #創建當前以時間為名稱的文件		

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

STAT命令

  • 顯示文件或者文件系統的屬性信息查

  • 用法:stat FILE… 

  • 其中信息包含了文件屬性的三種時間:時間戳

    • access time:表示我們最后一次訪問(僅僅是訪問,沒有改動)文件的時間

    • modify time:表示我們最后一次修改文件的時間

    • change time:表示我們最后一次對文件屬性改變的時間,包括權限,大小,屬性等等。

  • 示例:

  • [root@Red Hat Enterprise Linux etc]# stat /etc/inittab
    		  File: `/etc/inittab'
    		  Size: 884       	Blocks: 8          IO Block: 4096   regular file
    		Device: fd00h/64768d	Inode: 1175722     Links: 1
    		Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    		Access: 2016-08-24 09:32:47.041490112 +0800
    		Modify: 2016-07-24 18:25:13.351570780 +0800
    		Change: 2016-07-24 18:25:13.351570780 +0800		

6 練習

6.1 使用命令行展開功能來完成以下練習

  1. 創建/tmp目錄下的:a_c,a_d,b_c,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

示例代碼:

1. mkdir /tmp/{a,b}_{c,d}

2. mkdir -pv /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}}

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

示例代碼:

ls -d 1*[0-9]*[[:lower:]]

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

示例代碼:

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

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

ls -d [^a-z][a-z]*

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

touch tile-$(date +%Y-%m-%d-%H-%M-%S)

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

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

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

cp -r /etc/*.d /tmp/mytest2

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

cp -r [1mn]*.conf /tmp/mytest3

原創文章,作者:N22-武漢-enfp,如若轉載,請注明出處:http://www.www58058.com/40016

(0)
N22-武漢-enfpN22-武漢-enfp
上一篇 2016-08-29 09:01
下一篇 2016-08-29 09:02

相關推薦

  • N26 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令有:mkdir rmdir cp mv rmmkdir:創建文件夾命令格式:mkdir [OPTION]… DIRECTORY… # 創建日期文件夾       &…

    Linux干貨 2017-01-17
  • N25-第三周作業

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

    Linux干貨 2016-12-26
  • CentOS系統啟動流程

        Linux系統的組成部分   1、動態視角:內核+根文件系統  2、靜態視角:磁盤分區+文件 Linux運行中的系統環境   1、用戶空間:應用程序(進程或線程)  2、內核空間:內核代碼(系統調用) 內核設計流派:   *單內核設計:把所有功能集成于同一個程序,如:Linux  *微內核設計:每種功能使用一個單獨的子系統實現,如…

    Linux干貨 2016-12-30
  • nfs實驗

    實驗要求: (1) 創建一個共享mydata,路徑為/mysql/data,客戶端1掛載至/mydata;而后客戶端1主機安裝mysql或mariadb,將數據目錄設定為/mydata,要確保mysql服務能正常 運行,但數據目錄位于nfs server上; (2) 客戶端2主機使用類似客戶端1主機的方式掛載mydata共享至本地的/mydata目錄,而后,…

    Linux干貨 2016-10-24
  • RAID詳解

    1、什么是RAID RAID:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列,簡稱磁盤陣列。其基本思想就是將多個相對便宜的硬盤結合起來,成為一個磁盤陣列,是性能達到甚至超過一個昂貴、容量巨大的硬盤,根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。目前應用較多的有RAID0,RAID1,RAID4,RA…

    Linux干貨 2017-01-03
  • 20160803作業-用戶組和權限管理

    http://note.youdao.com/yws/public/redirect/share?id=46f06331b737c6d08a0e8c9c3d49ac9e&type=false

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 09:14

    如果能在文件管理類命令說明后添加一些典型的使用樣例就更好了

欧美性久久久久