N28-第二周博客作業

常用通配符
*:表示任意長度的任意字符;

?:表示任意的單個字符;

[]:表示在指定范圍內的單個字符:[a-z];

[^]:脫字符,是取反的意思,即在指定范圍以外的任意字符,如 [^0-9]表示除數字以外的一切字符。

[:digit:] 表示所有的數字,相當于0-9

[:lower:] 表示所有的小寫字母

[:upper:] 表示所有的大寫字母

[:alpha:] 表示所有的字母,

[:alnum:] 相當于[0-9a-z]

[:space:] 相當于空白字符

[:punct:] 表示所有的標點符號

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

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

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

(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

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

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

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

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

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

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

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

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

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

1、Linux上的目錄與文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
1.1 mkdir 創建目錄
使用方法:mkdir [OPTION]… DIRECTORY…
常用選項:
-p:按需創建父目錄
-m:創建目錄權限
-v:輸出詳細創建目錄過程

實例: 創建/tmp/test2/test3目錄,定義權限為rwxrw-rw-,并詳細顯示創建目錄過程。
~]# mkdir -pv -m 766 /tmp/test2/test3
mkdir: created directory `/tmp/test2′
mkdir: created directory `/tmp/test2/test3′
~]# ls -ld /tmp/test2/test3
drwxrw-rw- 2 root root 4096 Oct 7 08:42 /tmp/test2/test3
1.2 rmdir命令
rmdir是常用的命令,該命令的功能是刪除空目錄,一個目錄被刪除之前必須是空的。
(注意,rm – r dir命令可代替rmdir,但是有很大危險性。)刪除某目錄時也必須具有對父目錄的寫權限。
1.命令格式:
rmdir [選項]… 目錄…
2.命令功能:
該命令從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對父目錄的寫權限。
3.命令參數:
– p 遞歸刪除目錄,當子目錄刪除后其父目錄為空時,也一同被刪除。
如果整個路徑被刪除或者由于某種原因保留部分路徑,則系統在標準輸出上顯示相應的信息。
-v, –verbose顯示指令執行過程
實例:
[root@nfs_server ~]# rmdir -pv /tmp/test2/test3
rmdir: removing directory, `/tmp/test2/test3′
rmdir: removing directory, `/tmp/test2′
rmdir: removing directory, `/tmp’
rmdir: failed to remove directory `/tmp’: Directory not empty 因為/tmp 不為空目錄,所以不能刪除。
1.3 cp 復制命令:
1.3.1 cp [Option …[-T] SRC(源) DEST(目的)
(如果目標不存在,則新建DEST, 并將SRC中的內容填充至DEST中。
如果目標存在:如果DEST是文件,將SRC內容覆蓋至DEST中。此時建議為cp命令使用-i選項。
如果DEST是目錄,在DEST下新建與原文件同名的文件,并將SRC中內容填充至DEST中)
實例:
~]# cp /etc/fstab /tmp/fstab.txt (fstab.txt 為文件)
~]# cp /etc/fstab /tmp/test (/tmp/test 為目錄)
~]# ls /tmp/test/
fstab
1.3.2 cp [Option] … SRC(原文件)…(可多個文件) DIRECTORY(新目錄)(表示復制到哪個目錄中)如src 為多個文件,Directory必須存在,且為目錄,其它情形均為錯。
cp SRC DEST src是目錄:
此時使用選項: -r (recursive 遞歸)
如果DEST目標不存在則創建指定目錄,復制源SRC目錄中所有目錄至目標中
如果目標存在:
如果目標是文件,則報錯
如果dest是目錄,則復制到此目錄中
常用選項:
-i: 交互式
-r: 遞歸復制目錄及其內部所有內容
-a: 歸檔, 相當于 -dR –preserv=all (即保留源文件或目錄的屬性,包括所有者、所屬組、權限與時間)
-d: –no-dereference –preserv=links (如果原文件是鏈接,則保留原鏈接格式)
–preserv=[Attr_list](保留屬性)
mode:權限
ownership:屬主屬組
timestamp:時間戳
links: 鏈接
xattr:特殊屬性
context: 上下文
all:所有
-p =–preserve=mode, ownership, timestamp
-v 顯示詳細信息
-t 復制時可把目標放在前面
-f –force 強制復制 (危險)
實例:
~]# cp -Pv /tmp/{lines.sh,fstab.txt} /tmp/test/
`/tmp/lines.sh’ -> `/tmp/test/lines.sh’
`/tmp/fstab.txt’ -> `/tmp/test/fstab.txt’
~]# ll /tmp/test/
total 8
-rw-r–r– 1 root root 805 Oct 7 16:08 fstab.txt
-rwxr-xr-x 1 root root 197 Oct 7 16:08 lines.sh
1.4 mv 命令(move縮寫) 用來移動文件或者將文件改名
1.命令格式:
mv [選項] 源文件或目錄 目標文件或目錄
2.命令功能:
mv命令中第二個參數類型的不同(是目標文件還是目標目錄),
mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,
mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),
它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,
源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。
在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
3.命令參數:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會更新(update)
-t :–target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,
該選項適用于移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在后。
4.命令實例:
實例一:文件改名
命令:
mv test.log test1.txt
實例二: 移動文件
]# mv ./{test1.txt,yum.log} ./test
]# ls ./test/
test1.txt yum.log
1.5 rm 命令: remove
刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。
對于鏈接文件,只是刪除了鏈接,原有文件均保持不變。rm是一個危險的命令,使用的時候要特別當心,
尤其對于新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf)
1.命令格式:
rm [選項] 文件…
2.命令功能:
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。
3.命令參數:
-f, –force 忽略不存在的文件,從不給出提示。
-i, –interactive 進行交互式刪除
-r, -R, –recursive 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
-v, –verbose 詳細顯示進行的步驟
–help 顯示此幫助信息并退出
–version 輸出版本信息并退出
4.命令實例:
一: 刪除文件,系統會詢問是否刪除
~]# rm test1.txt
rm:是否刪除普通空文件 “test1.txt”?
說明:
輸入rm test1.txt 命令后,系統會詢問是否刪除,輸入y后就會刪除文件,不想刪除則數據n。
二:強行刪除file,系統不再提示。
命令:
]# rm -f test1.txt
三: 刪除文件時進行交互式詢問
命令:
~]# rm -i {test1.log,test.log
rm:是否刪除普通空文件 “test1.log”?y
rm:是否刪除普通空文件 “test.log”?y
四:將 test子目錄及子目錄中所有檔案刪除
命令:
~]# rm -r ./test
rm:是否進入目錄”./test”? y
rm:是否刪除普通空文件 “./test/test1.txt”?y
rm:是否刪除普通空文件 “./test/yum.log”?y
rm:是否刪除目錄 “./test”?y
五: 自定義回車站功能:
命令:
~]# alias rm=’myrm’
~]# cd /tmp/
tmp]# myrm(){ D=/tmp/$( date +%Y%m%d%H%M%S); mkdir -p $D; mv “$@” $D && echo “moved to $D ok”; }
tmp]# touch 1.log 2.log 3.log
tmp]# ls
1.log 2.log 3.log
tmp]# rm [123].log
moved to /tmp/20161007180817 ok
tmp]# ll /tmp/20161007180817/
總用量 0
-rw-r–r–. 1 root root 0 10月 7 18:07 1.log
-rw-r–r–. 1 root root 0 10月 7 18:07 2.log
-rw-r–r–. 1 root root 0 10月 7 18:07 3.log
[root@magedu tmp]# ll

2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash特性之一:命令別名
獲取當前用戶可用的別名的定義:
[root@magedu etc]# alias
alias cp=’cp -i’
alias egrep=’egrep –color=auto’
alias fgrep=’fgrep –color=auto’
alias grep=’grep –color=auto’
alias l.=’ls -d .* –color=auto’
alias ll=’ls -l –color=auto’
alias ls=’ls –color=auto’
alias mv=’mv -i’
alias rm=’rm -i’

bash的特性之二:命令歷史
命令語法格式:
history [-c] [-d OFFSET] [n]
history -anrw [FILENAME]
history -ps VALUE [VALUE…]
-c: 清空命令歷史;
-d offset(偏移量):刪除指定命令歷史,offset為history顯示出來的命令數字
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中;
history #:顯示最近的#條命令;

bash特性之三:快捷鍵
Ctrl+a:跳轉至命令行行首
Ctrl+e:跳轉至命令行行尾
Ctrl+u:刪除行首至光標所在處之間的所有字符;
Ctrl+k:刪除光標所在處至行尾的所有字符;
Ctrl+l:清屏,相當于clear

bash的特性之四:命令補全和路徑補全
1.命令查找和補全機制:
(1) 查找內部命令;
(2) 根據PATH環境變量中設定的目錄,自左而右逐個搜索目錄下的文件名;
(3) 給定開頭的部分字符串如果能惟一標識某命令程序文件,則直接補全;
不能惟一標識某命令程序文件,再擊tab鍵一次,會給出列表;
2.路徑補全
在給定起始路徑下,以對應路徑下的打頭字串逐一匹配起始路徑下每個文件:
TAB按鍵;
如果能惟一標識,則直接補全;
否則,再一次tab,給出列表;
3.命令行展開
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;
{}:花括號展開??沙休d一個以逗號分隔的路徑列表,并能夠將其展開為多個路徑;

bash的特性之五:命令行展開:
1)、命令行展開;
以某些bash能夠解釋的符號來代替命令中的某些參數。
~:展開為用戶的家目錄;
例:切換至家目錄
cd ~;pwd
/root
{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑;
例:在/tmp/d目錄下創建f1,f2,f3三個文件
touch /tmp/d/f{1,2,3}
bash

bash特性之六:命令的執行狀態結果:
1)、bash的基礎特性之狀態值返回:在bash中使用一個特殊的變量$?來保存上一個命令的執行狀態結果。
0表示成功,
1-255表示失敗
例如:
[root@magedu etc]# echo $?
127

bash特性之七:變量
引用命令的執行結果:
$(COMMAND)或 $`COMMAND`
例如 : 創建以時間的目錄
]# date +%H-%M-%S
17-46-47
]# mkdir $(date +%H-%M-%S)
17-47-51

bash特性之八: 引用
強引號: ‘ ’單引號
弱引用: “ ” 雙引號
命令引用: · · 反引號,建議用$() , 替代;

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

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

[root@magedu tmp]# mkdir {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@magedu 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}}

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

文件的數據分兩種:一種元數據,既屬性數據;一種就是數據本身;可使用stat命令查看文件的元數據:

例如:

]# stat /etc/passwd

文件:”/etc/passwd”

大?。?483 塊:8 IO 塊:4096 普通文件

設備:fd00h/64768d Inode:136755684 硬鏈接:1

權限:(0644/-rw-r–r–) Uid:( 0/ root) Gid:( 0/ root)

環境:systemu:objectr:passwdfilet:s0

最近訪問:2016-09-22 22:07:14.897045766 +0800

最近更改:2016-09-20 18:10:23.223086880 +0800

最近改動:2016-09-20 18:10:23.227086888 +0800

創建時間:-
[root@magedu etc]# stat /etc/passwd
File: ‘/etc/passwd’
Size: 2204 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 69184839 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2017-12-09 19:51:57.056000000 +0800
Modify: 2017-11-23 11:30:47.275537465 +0800
Change: 2017-11-23 11:30:47.277538465 +0800
Birth: –
其中:

file:文件名;

size:文件大小

block:文件占了多少個數據塊

IO Block:文件所占數據塊的塊大小

Device:硬件,既說明該文件在硬盤的那個柱面

Inode:節點號

links:鏈接

Access(第一個):權限

Uid:該文件所屬的屬主

Gid:該文件所屬的屬組

context:安全上下文

Access(第二個):文件上一次的訪問時間

Modify:文件上一次修改的時間

Change:文件上一次屬性更改的時間

2)修改文件的時間戳信息:

可以使用touch命令更改文件的時間戳:

語法:

touch [OPTION]… FILE…

常用選項:

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

-a: 僅修改access time;

-m:僅修改modify time;

-t:使用指定的日期時間,而非現在的時間;[[CC]YY]MMDDhhmm[.ss];

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
使用alias命令
例如:[root@magedu tmp]# alias la=’ls -la’

命令引用:
name=`COMMAND`, name=$(COMMAND)

6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄
[root@magedu etc]# ls -d /var/l*[0-9]*[[:lower:]]

7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
root@magedu etc]# mkdir {0..9}abcd
root@magedu etc]# touch {0..9}efgh
[root@magedu etc]# ls -dl [0-9]*[^0-9]

8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。
[root@magedu etc]# ls -d /etc/[^[:alpha:]][[:alpha:]]*
[root@magedu etc]#
9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@magedu tmp]#touch tfile-`date +”%Y-%m-%d-%H-%M-%S”`

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
[root@magedu tmp]#cp -a /etc/p*[^0-9] /tmp/mytest1

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
[root@magedu etc]# cp -a /etc/*.d /tmp/mytest2

12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。
[root@magedu etc]#cp -a /etc/[l,m,n]*.conf /tmp/mytest3

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/89848

(0)
王銀強王銀強
上一篇 2017-12-10
下一篇 2017-12-11

相關推薦

  • lvs

    1、什么是LVS LVS是Linux Virtual Server的簡寫,以為Linux虛擬服務器,是一個虛擬服務器集群,其具有很好的可伸縮性、可靠性、可管理性。LVS集群采用IP負載均衡技術和基于內容請求分發技術。調度器具有很好的吞吐率,將請求均衡地轉移到不同的服務器上執行,且調度器自動屏蔽掉服務器的故障,從而將一組服務器構成一個高性能的、高可用的虛擬服務…

    Linux干貨 2016-10-29
  • Linux系統啟動流程、內核及模塊管理、linux啟動故障排除和自制linux

    Linux系統啟動流程、內核及模塊管理 Linux系統的組成部分組成:內核+根文件系統(kernel+rootfs)內核(kernel): 進程管理(創建、調度、銷毀等)、內存管理、網絡管理(網絡協議棧)、驅動程序、文件系統、安全功能IPC:Inter Process Communication機制本地進程間通信機制:消息隊列、semerphor、shm(共…

    2016-09-29
  • shell腳本編程

    shell俗稱殼(用來區別于核),提供使用者使用界面(命令解析器),它接受用戶命令,然后調用相應的應用程序。 同時它還是一種程序設計語言,作為命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設計好的一連串的命令。作為程序涉及語言,它定義了各種變量和參數,并提供了許多在高級語言中才具有的控制結構,包括循環和分支。 一、shell腳本基礎概念 …

    Linux干貨 2016-08-16
  • 網絡23期心得

    1、描述計算機的組成及其功能 計算機系統是由五大部分組成:運算器、控制器、存儲器、輸入設備、輸出設備   運算器(Datapath):運算器的功能是對數據進行各種算術去處和邏輯運算,即對數據進行加工處理。   控制器(Control):控制器是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、…

    Linux干貨 2016-09-19
  • Linux find命令使用詳則

    find命令 find命令用來在指定目錄下查找文件。任何位于參數之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄欲文件。并且將查找到的子目錄和文件全部進行顯示。 語法 find(選項)(參數) 選項 -amin<分鐘>:查找在指定時間曾被存取過的文件或者目錄,單位以分鐘計算; -ane…

    2017-08-03
  • linux文件權限練習(0803)

    1、當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作?     不能cd到該目錄,不能ls -l查看目錄下文件的詳細信息      2、當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作?…

    Linux干貨 2016-08-04

評論列表(1條)

  • 馬哥教育
    馬哥教育 2018-01-02 21:33

    在作業用到了很多非常有效率的小技巧,非常好,再接再勵。

欧美性久久久久