馬哥教育-第二周作業

問題一:文件管理類命令

常規命令:mkdir、rmdir、stat、touch、copy、mv、rm

(1).mkdir  創建目錄:

注意:路徑基名方為命令的作用對象;基名之前的路徑必須得存在;

-p:自動按需創建父目錄;

-v:顯示創建過程;

-m 參數:直接給定所需權限;

例子:問題:創建 /tmp/x ; /tmp/x/y1 ; /tmp/x/y1/a ; /tmp/x/y1/b ; /tmp/x/y2

[root@localhost ~]# mkdir -pv /tmp/x/{y1/{a,b},y2}

mkdir: created directory `/tmp/x'

mkdir: created directory `/tmp/x/y1'

mkdir: created directory `/tmp/x/y1/a'

mkdir: created directory `/tmp/x/y1/b'

mkdir: created directory `/tmp/x/y2'

[root@localhost ~]# tree /tmp/x

/tmp/x

|– y1

| |– a

| `– b

`– y2

 

(2).rmdir  僅用于刪除空目錄

-p:刪除某目錄后,如果其父目錄為空,則一并刪除之;

例子:刪除空目錄 testdir

[root@localhost ~]# rmdir testdir

 

(3).stat  查看文件狀態

例子:查看目錄 x 的信息

[root@localhost tmp]# stat x

文件: `x'

大小: 4096 塊: 8 IO 塊: 4096 目錄

設備: fd00h/64768d Inode: 622755 硬鏈接: 4

權限: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

最近訪問: 2016-11-22 23:26:19.000000000 +0800

最近更改: 2016-11-22 20:30:04.000000000 +0800

最近改動: 2016-11-22 20:30:04.000000000 +0800

 

[root@localhost tmp]# stat x

File: `x'

Size: 4096 Blocks: 8 IO Block: 4096 directory

Device: fd00h/64768d Inode: 622755 Links: 4

Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2016-11-22 23:26:19.000000000 +0800

Modify: 2016-11-22 20:30:04.000000000 +0800

Change: 2016-11-22 20:30:04.000000000 +0800

 

(4).touch  更改元數據信息

用法:

改變access(最近訪問時間)和modify(最近更改時間)兩個時間。

touch file:把三個時間都改為此刻的時間。

-a:只改訪問時間(access);

-m:只改修改時間(modified);

-t:指定時間;

例子:修改文件b的元數據,三個時間戳都相同

[root@localhost ~]# stat b

  File: `b'

  Size: 0               Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d    Inode: 372484      Links: 1

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

Access: 2016-12-11 09:21:57.000000000 +0800

Modify: 2016-11-24 10:24:18.000000000 +0800

Change: 2016-11-24 10:24:18.000000000 +0800

[root@localhost ~]# touch b

[root@localhost ~]# stat b

  File: `b'

  Size: 0               Blocks: 0          IO Block: 4096   regular empty file

Device: fd00h/64768d    Inode: 372484      Links: 1

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

Access: 2016-12-11 09:22:24.000000000 +0800

Modify: 2016-12-11 09:22:24.000000000 +0800

Change: 2016-12-11 09:22:24.000000000 +0800

 

(5).copy 文件復制

用法:

注意:復制文件只是復制文件的數據而不是元數據,但是可以保留元數據的信息。

單源復制:目錄是否存在都可以

多源復制:目錄必須是存在的

-i:提醒用戶操作確認

-f:強行覆蓋

-r:遞歸復制目錄

-p:保留源數據

-a:用于實現歸檔,做備份

–preserv=

mode:權限

ownership:屬主和屬組

timestamps:時間戳

context:安全標簽

xattr:擴展屬性

links:符號鏈接

all:上述所有屬性

例子1:復制單個文件

[root@localhost ~]# cp /etc/issue /root/test1

[root@localhost ~]# cd test1

[root@localhost test1]# ll

total 4

-rw-r–r– 1 root root 74 Dec 11 09:37 issue

例子2:復制多個文件

[root@localhost ~]# cp a.sh b.sh c.sh /root/test1

[root@localhost ~]# cd test1

[root@localhost test1]# ll

total 16

-rwxr-xr-x 1 root root 199 Dec 11 09:39 a.sh

-rw-r–r– 1 root root  64 Dec 11 09:39 b.sh

-rwxr-xr-x 1 root root  91 Dec 11 09:39 c.sh

-rw-r–r– 1 root root  74 Dec 11 09:37 issue

例子3:復制目錄

[root@localhost ~]# cp -r /etc/gconf /root/test1

[root@localhost ~]# cd test1

[root@localhost test1]# ll

total 20

-rwxr-xr-x 1 root root  199 Dec 11 09:39 a.sh

-rw-r–r– 1 root root   64 Dec 11 09:39 b.sh

-rwxr-xr-x 1 root root   91 Dec 11 09:39 c.sh

drwxr-xr-x 6 root root 4096 Dec 11 09:42 gconf

-rw-r–r– 1 root root   74 Dec 11 09:37 issue

 

(6).mv 移動或者重命名

例子:

[root@localhost test1]# ll

-rw-r–r– 1 root root   74 Dec 11 09:37 issue

[root@localhost test1]# mv issue issue.20161211

[root@localhost test1]# ll

-rw-r–r– 1 root root   74 Dec 11 09:37 issue.20161211

 

(7).rm:刪除

-r:遞歸刪除目標目錄下的文件

-f:強制刪

 

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

1.  bash的基礎特性:命令的執行狀態結果

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

成功:0

失?。?-255

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

eg

[root@localhost ~]# echo $?

0

[root@localhost ~]# echo $?

2

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

引用命令的執行結果:

$(command)或'command'

eg

[root@localhost ~]# mkdir $(date +%H-%M-%S)

[root@localhost ~]# echo $?

0

[root@localhost ~]# ls

21-09-03

注:上述就是把date命令的返回值作為參數給了 mkdir 命令。

2.  bash的基礎特性之:命令行展開

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

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

eg

創建 /tmp/x ; /tmp/x/y1 ; /tmp/x/y1/a ; /tmp/x/y1/b ; /tmp/x/y2

[root@localhost ~]# mkdir -pv /tmp/x/{y1/{a,b},y2}

mkdir: created directory `/tmp/x'

mkdir: created directory `/tmp/x/y1'

mkdir: created directory `/tmp/x/y1/a'

mkdir: created directory `/tmp/x/y1/b'

mkdir: created directory `/tmp/x/y2'

[root@localhost ~]# tree /tmp/x

/tmp/x

|– y1

| |– a

| `– b

`– y2

 

問題三:使用命令行展開完成以下練習

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

Eg

[root@localhost ~]# ls /tmp/     

[root@localhost ~]# touch /tmp/a_{c,d} /tmp/b_{c,d}

[root@localhost ~]# ls /tmp/

a_c  a_d  b_c  b_d

2. 創建/tmp/mylinux下的目錄結構

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

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/bin"

mkdir: 已創建目錄 "/tmp/mylinux/usr/sbin"

mkdir: 已創建目錄 "/tmp/mylinux/var"

mkdir: 已創建目錄 "/tmp/mylinux/var/lock"

mkdir: 已創建目錄 "/tmp/mylinux/var/log"

mkdir: 已創建目錄 "/tmp/mylinux/var/run"

 

問題四:文件的元數據信息有哪些,分別表示什么含義

文件有兩種數據

元數據:只是文件自身的屬性信息。

數據:文件內容本身。

 

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

命令別名:alias

eg:

[root@localhost ~]# alias

alias cp='cp -i'

alias l.='ls -d .* –color=tty'

alias ll='ls -l –color=tty'

alias ls='ls –color=tty'

定義別名:

alias 原命令=別名命令,但是這個是臨時的

撤銷別名:

unalias 別名

永久定義別名:定義在~/.bashrc或者/etc/bashrc

 

命令練習: 

1.顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現一位任意字符的文件或目錄;

[root@localhost ~]# ls -d /var/l?[[:lower:]]

[root@localhost ~]# ls -d /var/l?[[:lower:]]

/var/lib /var/log

[root@localhost ~]# cd /var

[root@localhost var]# ls -d l?[[:lower:]]

lib log

注意:-d 的參數是只列出目錄。

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

[root@localhost etc]# ls -d [[:digit:]]*[^[:digit:]]

3ab23y

[root@localhost etc]# ls -d [0-9]*[^0-9]

3ab23y

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

[root@localhost etc]# ls -d [0-9][a-z]*

2fdsafsf

4.復制/etc目錄下,所有以m開頭,以非數字結尾的文件或目錄至/tmp/xuef目錄;

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

[root@localhost etc]# cd /tmp/xuef

[root@localhost xuef]# ls

mail makedev.d mgetty+sendfax mke2fs.conf modprobe.d mtools.conf

mailcap man.config mime.types modprobe.conf motd multipath.conf

mail.rc maven minicom.users modprobe.conf~ mtab

5.復制/usr/share/man目錄下,所有以man開頭,后跟一個數字結尾的文件或目錄至/tmp/man/目錄下;

[root@localhost ~]# cp -r /usr/share/man/man[0-9] /tmp/man

[root@localhost man]# du -sh

25M

6.復制/etc目錄下,所有以.conf結尾,且以m,n,r,p開頭的文件或目錄至/tmp/man目錄下;

[root@localhost man]# cp -r /etc/[mnrp]*.conf /tmp/xuef

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

[root@localhost ~]]#  touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

 

 

 

原創文章,作者:N25-筆頭,如若轉載,請注明出處:http://www.www58058.com/63177

(0)
N25-筆頭N25-筆頭
上一篇 2016-12-11
下一篇 2016-12-11

相關推薦

  • 文件尋蹤和文件壓縮

    文件查找工具: 文件:根據文件的種屬性去找到相應文件 文件查找工具:locate, find locate: 根據此前updatedb命令生成的數據庫來完成文件查找查找速度很快非實時查找,結果不精確;模糊查找; 必要時,可手動執行updatedb命令; find命令:   通過遍歷指定的目標目錄,實時查找符合指定屬性的文件; 精確匹配;速度略慢; …

    Linux干貨 2016-08-19
  • N25-第一周作業

    第一周作業 一 、計算機的組成及其功能 計算機由CPU,控制器,存儲器,輸入設備,輸出設備組成的。 CPU是計算機的重要硬件之一,主要負責運算和指令解釋。 控制器是控制計算機系統的各個硬件設備協同工作的如(主板的南橋,北橋等) 存儲器分為內存和硬盤,內存負責程序運行,硬盤負責數據存儲。 輸入設備有鍵盤,鼠標等。 輸出設備有顯示器,打印機等。 二 、…

    Linux干貨 2016-12-04
  • 馬哥教育網絡班21期-第一周課程練習

    第一周課程練習 1、描述計算機的組成及其功能?         1.1 現代主流的計算機(馮·諾依曼體系)主要由五部分組成,分別是控制器、運算器、存儲器、輸入和輸出設備??刂破骱瓦\算器對應我們現實計算機看到的CPU,存儲器對應內存和硬盤等存儲設備,輸入設備對應鼠標鍵盤等其它外設,輸出設備對應顯示器、音響、打印機等其它外…

    Linux干貨 2016-06-26
  • Nginx 進階 (ssl、fpm、rewrite、cache配置等)

    Nginx(與ssl結合配置https網站、rewrite,fastcgi配置詳解) 前言 前面已經介紹過Nginx的一些基礎概念,還有幾個比較重要的模塊:利用ssl給會話加密,利用rewrite功能靈活改寫訪問結果,以及利用fastcgi與php模塊結合等等。 一、配置https網站 1、自建CA (1)生成私鑰文件 mkdir -p /etc/pki/C…

    Linux干貨 2016-12-26
  • class17 網絡管理(二)

    IP 地址 它們可唯一標識IP網絡中的每臺設備 每臺主機(計算機、網絡設備、外圍設備)必須具有唯一的地址           IP 地址由兩部分組成:     ? 網絡ID:   …

    Linux干貨 2016-09-06
  • linux運維

    linux運維大綱,學習路線圖

    Linux干貨 2017-10-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 15:53

    總結的很詳細~能用markdown格式化輸出會更好~加油。

欧美性久久久久