文件管理與bash特性

 

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目錄中。

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

cp,mv,rm
cp命令
功能:復制或目錄
格式:
cp [OPTION]… [-T] SOURCE DEST
cp [OPTION]… SOURCE… DIRECTORY
cp [OPTION]… -t DIRECTORY SOURCE…
常用選項? ? ? ? ? ? ? ? ? ? ?作用
-i? ? ? ? ? ? ? ? ? ? ? ? ?交互式,覆蓋之前提醒用戶
-f? ? ? ? ? ? ? ? ? ? ? ? ?強制覆蓋目標文件
-r? ? ? ? ? ? ? ? ? ? ? ? 遞歸復制目錄
-d? ? ? ? ? ? ? ? ? ? ? ?復制符號鏈接文件本身,而非其指向的源文件
-a? ? ? ? ? ? ? ? ? ? ? ?相當于-dR –preserve=all,用于實現歸檔;
–preserv=? ? ? ?這里可以填寫以下選項 ? ? ? ? mode:權限
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ownership :屬主和屬組
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? context:安全標簽
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? xattr:擴展屬性
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? links:符號鏈接
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? alls:上述所有屬性
例子1:覆蓋之前提醒用戶
cp 1.txt test.txt
048cd97abd1d537246fd3584cb16ca5
例子2:強制覆蓋
/bin/cp -f 1.txt test.txt
9039c9b396d806acaf976a83774653b
例子3:復制/tmp目錄到當前目錄
cp -r /tmp? ./
例子4:復制符號鏈接
58b39f409723cc27fd7635c244c50a8
mv命令
功能:移動/重命名文件
格式:
mv [OPTION]… [-T] SOURCE DEST
mv [OPTION]… SOURCE… DIRECTORY
mv [OPTION]… -t DIRECTORY SOURCE…
常用選項? ? ? ? ? ? ? 作用
-i? ? ? ? ? ? ? ? ? ? ? 交互式,覆蓋之前提醒用戶
-f? ? ? ? ? ? ? ? ? ? ? 強制覆蓋目標文件
例子1:交互式覆蓋
mv -i test.dir test1.dir
250cf08ac80ee14adb48d40592ef3e0
rm命令
功能:remove刪除
格式:
rm – remove files or directories
常用選項? ? ? ? ? ? 作用
-i? ? ? ? ? ? ? ? ? ? ? 交互式,刪除之前提醒用戶
-f? ? ? ? ? ? ? ? ? ? ? ?強制刪除目標文件
-r? ? ? ? ? ? ? ? ? ? ? 遞歸方式刪除
例子1:交互式刪除
rm -i 1.txt
1a130b16a879a6179dd8ae76d63a9ab
例子2:刪除目錄
rm -fr test1.dir/
1898fee523804cd806273dba77be08a

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

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

命令執行狀態返回值:

0:成功

1-255:失敗

3547389da92efc31cfa5d8cea0310f7

 

命令行展開:

~:自動展開為用戶的家目錄,或指定的用戶的家目錄

例如root用戶執行cd ~ 則會移動到root家目錄/root

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

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

9ccd923eb04ac28e031b2681cb15364

第三題:請使用命令行展開功能來完成以下練習:

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

mkdir -v /tmp/{a,b}_{c,d}

e4861379ea0a1f3b598003ae174ceb4
(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
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}}

b7ab085065523803198db69e2e41963

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

元數據信息:

File:文件名

Size:大小

Blocks:塊數量

IO Block:塊大小

Device:設備

inode :Inode號

Links:硬連接數量

Access:訪問權限

Uid:屬主

Gid:屬組

Access:最后訪問時間

Modify:最后修改時間

Change:最后改變時間

Birth:創建時間

示例:

[root@www ~]# stat test.txt
File: ‘test.txt’
Size: 6 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 8596741 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-06-24 21:08:57.369170265 -0400
Modify: 2018-06-24 21:08:57.369170265 -0400
Change: 2018-06-24 21:08:57.369170265 -0400
Birth: –

touch
作用:改變文件時間戳
格式:
touch [OPTION]… FILE…
常用選項? ? ? ? 作用
-c? ? ? ? ? ? ? ? ? ? ? 指定的文件路徑不存在時,不予創建
-a? ? ? ? ? ? ? ? ? ? ?僅修改access time
-m? ? ? ? ? ? ? ? ? ? 僅修改modify time
-t? ? ? ? ? ? ? ? ? ? ? 修改時間戳 時間格式為[[CC]YY]MMDDhhmm[.ss]

 

第五題:如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

定義別名: alias

作用:顯示或設置別名

格式:

alias: alias [-p] [name[=value] … ]

常用選項? ? ? ? ? ? ? ?作用

-p? ? ? ? ? ? ? ? ? ? ?顯示所有的別名

例子1:設置 CD為切換到家目錄 alias CD=”cd ~”

alias CD=”cd ~”

clipboard

例子2:顯示命令別名

alias -p

25ecc88d676c718986b572b07159392

 

引用另一個命令的結果: 可以用$(COMMAND)或者COMMAND

例子:引用date命令的結果放在VAR與VAR1變量中

VAR=$(date)

VAR1=`date`

0e77efd33462c4368663efe7e3c210f

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

 

ls -d /var/l[[:alnum:]]*[[:lower:]]

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

方法一:

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

方法二

ls -d /etc/[[:digit:]]*[^[:digit:]]

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

方法一:

ls /etc/[^a-zA-Z][a-zA-Z]*

方法二:

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

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

mkdir -v /tmp/tfile-$(date +”%Y-%m-%d-%H-%M-%S”)

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

mkdir -v /tmp/mytest1

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

第十一題:復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

mkdir -v /tmp/mytest2

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

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

mkdir -v /tmp/mytest3

cp /etc/[m,l,n]*.conf /tmp/mytest3

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

(0)
halhal
上一篇 2018-06-26 18:18
下一篇 2018-06-26 23:05

相關推薦

  • Docker容器技術之Dokcer networking

    我們知道,docker容器中的資源用namespace進行了隔離,每一個容器中都有自己獨立的一套網絡資源,docker容器如何實現單機通訊與跨主機通訊呢?本節內容將為你解答這個問題。

    2018-08-08
  • linux用戶與組的權限管理與正則表達式

    一、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 二、編輯/etc/group文件,添加組hadoop 三、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop 四、復制/etc/skel…

    2018-07-16
  • Blog Day 1:在Windows下搭建Linux學習環境

    By:Alvin Lin
    No:M30-43
    Date:2018-04-01

    -目錄-
    第零部分:安裝VMware Workstations 12 虛擬機軟件程序(Windows平臺)
    第一部分:創建虛擬機
    第二部分:安裝CentOS6.9
    第三部分:安裝CentOS7.4

    2018-04-01
  • AWK

    ### awk awk分為nawk,gawk 我們shell中常用的awk 其版本是gawk “`AWK會把file中的每一行(記錄/可以指定分隔符),讀入空間中并默認以空白(TAB\space\\n)等分割成幾個字段,每個字段用$#表示$0表示整行本身“` awk [Option] ‘program’ file option -F:…

    Linux筆記 2018-05-20
  • 馬哥教育 — 第三周作業

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

    2018-05-29
欧美性久久久久