第二周博客作業

1.Linux上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示。
2.Bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
3.請使用命令行展開功能來完成以下的練習。
4.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
5.如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
6.顯示/var目錄下所有以1開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其他字符)的文件或目錄。
7.顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
8.顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄。
9.在/tmp目錄下創建以tgile開頭,后跟當前日期和時間的文件,文件名形如: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上的文件管理類命令都有那些,其常用的使用方法及其相關示例演示

文件管理工具:cp, mv, rm

cp命令:copy復制命令

SOURCE:源文件;DEST:目標文件;

 

單源復制:cp [OPTION]… [-T] SOURCE DEST

多源復制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

 

單源復制:cp [OPTION]… [-T] SOURCE DEST

如果DEST不存在:則事先創建此文件,并復制源文件的數據流至DEST中;

? 示例:[root@localhost ~]# cp /etc/inittab /tmp

? ? ? ? ? ? ? [root@localhost ~]# ls /tmp

? ? ? ? ? ? ? ?inittab ?

如果DEST存在:

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

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

?示例: ?[root@localhost ~]# cp /etc/inittab /tmp

? ? ? ? ? ? ? ? cp:是否覆蓋”/tmp/inittab”? y

? ? ? ? ? ? ? ? [root@localhost ~]# ls /tmp

? ? ? ? ? ? ? ? ?inittab??????

 

多源復制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

 

如果DEST不存在:錯誤;

如果DEST存在:

如果DEST是非目錄文件:錯誤;

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

? 示例:[root@localhost tmp]# ls test

? ? ? ? ? ? ? ?123? 234,345

? ? ? ? ? ? ? [root@localhost tmp]# cp /tmp/test/123 /tmp/test/234,345 /tmp/test2

? ? ? ? ? ? ? [root@localhost tmp]# ls /tmp/test2

? ? ? ? ? ? ? 123? 234,345

 

常用選項:

-i:交互式復制,即覆蓋之前提醒用戶確認;

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

-r, -R:遞歸復制目錄;

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

-a:-dR –preserve=all, archive,用于實現歸檔;

–preserv=

mode:權限

ownership:屬主和屬組

timestamps: 時間戳

context:安全標簽

xattr:擴展屬性

links:符號鏈接

all:上述所有屬性

 

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE..

 

常用選項:

-i:交互式;

-f:force

示例:[root@localhost tmp]# ls ?123.txt

? ? ? ? ? ? ?[root@localhost ~]# mv /tmp/123.txt /tmp/test/

? ? ? ? ? ? ?[root@localhost ~]# ls /tmp/test

? ? ? ? ? ? ?123? 123.txt? 234,345

 

rm命令:remove

rm [OPTION]… FILE…

?示例:[root@localhost ~]# ls /tmp/test

? ? ? ? ? ? ? 123? 123.txt? 234,345

? ? ? ? ? ? ?[root@localhost ~]# rm /tmp/test/123

? ? ? ? ? ? ? rm:是否刪除普通空文件 “/tmp/test/123″?y

? ? ? ? ? ? ?[root@localhost ~]# ls /tmp/test

? ? ? ? ? ? ? ?123.txt? 234,345

 

常用選項:

-i:interactive

-f:force

-r: recursive

 

刪除目錄:rm -rf /PATH/TO/DIR

危險操作:rm -rf /*

 

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

 

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

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

命令執行的狀態結果:

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

成功:0

失敗:1-255

命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;?命令正常執行時,有的還回有 ? ? ? ? ? ? ? ? 命令返回值:根據命令及其功能不同,結果各不相同;

?示例:

[root@localhost ~]# ls
[root@localhost ~]# echo $?
0
[root@localhost ~]# asdf
-bash: asdf: command not found
[root@localhost ~]# echo $?
127

命令行展開;

以某些bash能夠解釋的符號來代替命令中的某些參數。

~:展開為用戶的家目錄;

例:切換至家目錄

cd ~;pwd

/root

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

例:在/tmp/d目錄下創建f1,f2,f3三個文件

ttouch /tmp/d/f{1,2,3}

? ? ? ? 示例: [root@localhost ~]# touch /tmp/d/f{1,2,3}

? ? ? ? ? ? ? ? ? ? ?[root@localhost ~]# tree

. ? ? ? ? ? ? ? ? ? └── d

? ? ? ? ? ? ? ? ? ?├── f1

? ? ? ? ? ? ? ? ? ?├── f2

? ? ? ? ? ? ? ? ? ?└── f3

? ? ? ? ? ? ? ? ?1 directory, 3 files

? ? ? ? ? ? ? ? ?[root@localhost tmp]#

 

 

 

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

? ? ? ? ? ?(1)、創建/tmp目錄下的:a_c,a-_d,b_c,b_d

示例: ? [root@localhost ~]# mkdir -v /tmp/{a,b}_{c,d}

? ? ? ? ? ? ? ? ? ?mkdir: 已創建目錄 “/tmp/a_c”

? ? ? ? ? ? ? ? ? mkdir: 已創建目錄 “/tmp/a_d”

? ? ? ? ? ? ? ? ? mkdir: 已創建目錄 “/tmp/b_c”

? ? ? ? ? ? ? ? ? mkdir: 已創建目錄 “/tmp/b_d”

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

? ? ? ? ? ? ? ? ? /tmp

? ? ? ? ? ? ? ?├── a_c

? ? ? ? ? ? ? ?├── a_d

? ? ? ? ? ? ? ├── b_c

? ? ? ? ? ? ?├── b_d

 

? (2) ?創建/tmp/mylinux目錄下的:

1

示例: ?[root@localhost ~]# mkdir -p ? ? ? ? ? ? ? ? ? /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network- ? ? ? ?soripts},lib/modiles,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{look,log,run}}

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

/tmp/mylinux

├── bin

├── boot

│?? └── grub

├── dev

├── etc

│?? ├── rc.d

│?? │ ? ? ? ? ?└── init.d

│?? └── sysconfig

│ ? ? ? ? ? ? ?└── network-soripts

├── lib

│ ? ? ? ? └── modiles

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│?? └── local

│ ? ? ? ? ? ? ├── bin

│ ? ? ? ? ? ? ?└── sbin

└── var

├── log

├── look

└── run

24 directories, 0 files

 

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

 

? ? ? ? ? (1)文件的元數據信息及查看

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

例如:

]# stat /etc/passwd

文件:”/etc/passwd”

大小:2483 塊: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

創建時間:-

其中:file:文件名;

size:文件大小

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

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

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

Inode:節點號

links:鏈接

Access(第一個):權限

Uid:該文件所屬的屬

Gid:該文件所屬的屬組

context:安全上下文

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

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

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

修改文件的時間戳信息:

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

語法:touch [OPTION]… FILE…

常用選項:

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

-a: 僅修改access time;

-m:僅修改modify time;

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

 

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

命令別名(alias)

通過alias命令實現:

(1) alias

顯示當前shell進程所有可用的命令別名;

(2) alias NAME=’VALUE’

定義別名NAME,其相當于執行命令VALUE;

 

注意:在命令行中定義的別名,僅對當前shell進程有效;如果想永久有效,要定義在配置文件中;

僅對當前用戶:~/.bashrc

對所有用戶有效:/etc/bashrc

 

編輯配置給出的新配置不會立即生效;

bash進程重新讀取配置文件:

路徑:source /path/to/config_file

相對路徑:. /path/to/config_file

撤消別名:unalias? 格式:unalias [-a] name [name …]

 

如果別名同原命令的名稱,則如果要執行原命令,可使用”\COMMAND”;

引用另一個命令的執行結果——管道:COMMAND1 | COMMAND2 | COMMAND3 |…

最后一個命令會在當前shell進程的子shell進程中執行;

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

示例:

[root@localhos]#? ls /var/1*[0-9]*[a-z]

 

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

示例:

[root@localhos]# ls /etc/[0-9]*[^0-9]

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

示例:

[root@localhos]# ls /etc/[^[:alpha:]][:alpha:]*

 

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

示例:

[root@localhost tmp]# touch tfile-`date +%F-%H-%M-%S`

[root@localhost tmp]# ls

tfile-2018-03-23-00-29-40

 

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

示例:

[root@localhost ~]# mkdir /tmp/mytest1

[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1

[root@localhost ~]# ls /tmp/mytest1

pam.d ??passwd-?????? pinforc?? pm??????????????????????????? popt.d?????? ppp???????????? printcap??

 

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

示例:

[root@localhost ~]# mkdir /tmp/mytest2

[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2

[root@localhost ~]# ls /tmp/mytest2

ant.d????????????? cron.d???????? event.d?????? logrotate.d??? oddjobd.conf.d? profile.d? rc3.d? rc.d??????????

 

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

 

示例:? ??

[root@localhost ~]# mkdir /tmp/mytest3

?[root@localhost ~]# cp -r /etc/[l,m,n]*\.conf /tmp/mytest3

[root@localhost ~]# ls /tmp/mytest3

latrace.conf? libaudit.conf? logrotate.conf? mke2fs

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

(0)
任總任總
上一篇 2018-03-21
下一篇 2018-03-23

相關推薦

  • rsyslog日志記錄服務器

    rsyslog日志記錄服務器 部分思路總結摘自網絡http://xuding.blog.51cto.com/4890434/1737947 一、syslog系統 1.syslog:系統日志服務,統一日志管理 支持C/S架構:可通過UDP或TCP協議提供日志記錄服務;實現集中收集日志功能 (1)日志、事件 歷史事件日志,保存系統上過去一段時間的發生的事件 事件…

    Linux干貨 2016-11-07
  • systemd

    systemd 啟動流程:POST -> BIOS -> MBR bootloader -> kernel 臨時根 -> 根文件系統 -> init init 能夠管理、控制init進程的模塊,就是init系統 能夠讓系統在用戶預定義的級別下運行 設備管理器: sysvinit : CentOS 5 第一個廣泛應用的init系統…

    Linux干貨 2017-05-21
  • 馬哥教育網絡班21期+第3周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@centos ~]# who | awk '{print $1 $NF}'| uniq -d root(192.168.40.1) derulo(19…

    Linux干貨 2016-07-22
  • linux中管道重定向

    linux中管道重定向 Linux 給程序提供三種I/O設備:    查看是否成功  echo $?      需要再執行命令后直接使用               &n…

    Linux干貨 2017-02-21
  • gitlab-ce官方文檔查看備錄

    gitlab文檔 關于gitlab-ce GitLab Community Edition (CE) is available freely under the MIT Expat license. 關于unicorn的workers For&nbs…

    Linux干貨 2015-09-06
  • 網絡基礎

    #**計算機網絡**##網絡的特征– 速度、成本、安全性、可用性、可擴展性、可靠性、拓撲 ##**物理拓撲分類**– 總線型– 所有設備均可接受信號– 星型拓撲– 通過中心點傳輸,單一故障點– 擴展星型拓撲– 比星型拓撲的復原能力強– 環拓撲– 信號繞…

    Linux干貨 2017-11-27
欧美性久久久久