N28-第二周作業

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上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。

常用命令:

pwd:printing working directory(顯示工作目錄)

示例:

[root@cuikedong ~]# pwd

/root

[root@cuikedong ~]#

 

cd:change directory(切換目錄)

cd [/PATH/TO/SOMEDIR]

cd后不加任何命令,表示切換回家目錄;

注意:bash中,~表示家目錄;

cd ~:切換回自己的家目錄

cd ~USERNAME(用戶名):切換至指定用戶的家目錄;

cd -:在上一次所在目錄與當前

相關的環境變量

$PWD:當前工作目錄

$OLDPWD:上一次的工作目錄

示例:

[root@cuikedong ~]# cd /etc/sysconfig

[root@cuikedong sysconfig]# pwd

/etc/sysconfig

[root@cuikedong sysconfig]#

 

ls:list,列出指定目錄下的內容

ls [OPTION]… [FILE]…

-a:顯示所有文件,包括隱藏文件;

-A:顯示除.和..之外的所有文件;

-l:–long,長格式列表,即顯示文件的詳細屬性信息;

例: -rw-r–r–. 1 root root 8957 11月?20 21:06 boot.log

-:文件類型:-,d,b,c,l,s,p

rw-r–r–

rw-:文件屬主的權限:

r–:文件屬組的權限:

r–:其他用戶(非屬主、屬組)的權限:

1:數字表示文件被硬鏈接的次數:

root:文件的屬主:

root:文件的屬組:

8957:數字表示文件的大小,單位是字節:

11月?20 21:06:文件最近一次被修改的時間:

boot.log:文件名:

-h,–human-readable(人類易讀):對文件大小單位換算:換算后的結果可能會非精確值:

-d:查看目錄自身而非其內部的文件列表:

-r:reverse,逆序顯示:

-R:recursive,遞歸顯示(子目錄下的所有內容):

示例:

[root@cuikedong sysconfig]# ls -l

總用量?104

-rw-r–r–. 1 root root ?400 11月?13 20:01 anaconda

-rw-r–r–. 1 root root ?483 11月?13 20:00 authconfig

drwxr-xr-x. 2 root root ??43 11月?13 19:52 cbq

-rw-r–r–. 1 root root ??46 8月???4 05:27 chronyd

drwxr-xr-x. 2 root root ???6 8月???4 07:57 console

-rw-r–r–. 1 root root ?150 8月??23 05:43 cpupower

……………………………………………

 

cat:concatenate:文件文本查看工具:

cat /etc/fstab

cat /etc/passwd

cat [OPTION]… [FILE]…

-n:給顯示的文本行統一編號:

-E:顯示行結束符$:

示例:

[root@cuikedong sysconfig]# cat -n anaconda

1 # This file has been generated by the Anaconda Installer 21.48.22.121-1

2

3[WelcomeLanguageSpoke]

4visited = 1

5

6[OSCAPSpoke]

7visited = 1

8

9[NetworkSpoke]

10visited = 1

………………

 

tac:concatenate:文件文本查看工具:

tac /etc/fstab

tac /etc/passwd

tac [OPTION]… [FILE]…

-n:給顯示的文本行統一編號:

-E:顯示行結束符$:

示例:

[root@cuikedong ~]# tac /etc/fstab

/dev/mapper/centos_cuikedong-swap swap ???????????????????swap ???defaults ???????0 0

/dev/mapper/centos_cuikedong-home /home ??????????????????xfs ????defaults ???????0 0

UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot ??????????????????xfs ????defaults ???????0 0

/dev/mapper/centos_cuikedong-root / ??????????????????????xfs ????defaults ???????0 0

#

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

# Accessible filesystems, by reference, are maintained under ‘/dev/disk’

#

# Created by anaconda on Mon Nov 13 19:51:58 2017

# /etc/fstab

#

[root@cuikedong ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Mon Nov 13 19:51:58 2017

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk’

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/centos_cuikedong-root / ??????????????????????xfs ????defaults ???????0 0

UUID=e8437b00-9547-480d-a63a-0e5cbcda3683 /boot ??????????????????xfs ????defaults ???????0 0

/dev/mapper/centos_cuikedong-home /home ??????????????????xfs ????defaults ???????0 0

/dev/mapper/centos_cuikedong-swap swap ???????????????????swap ???defaults ???????0 0

注:cat與tac顯示內容順序相反

 

file:查看文件內容類型:

file[FILE]……….

示例:

[root@cuikedong ~]# file /etc/passwd

/etc/passwd: ASCII text

 

mkdir:make directory (創建目錄)

mkdir [OPTION]… DIRECTORY…

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

-v verbose:顯示創建的詳細過程:

-m MODE:直接給定權限:

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

示例:

[root@cuikedong /]# mkdir /etc/cuicui

[root@cuikedong /]# ls -l /etc

……………………………………………..

-rw-r–r–. ?1 root root ?????841 6月???7 2013 csh.login

drwxr-xr-x. ?2 root root ??????17 12月?10 12:08 cui

drwxr-xr-x. ?2 root root ???????6 12月?10 13:14 cuicui

drwxr-xr-x. ?4 root root ??????78 11月?13 19:53 dbus-1

[root@cuikedong /]#

 

rmdir:remove empty directories(刪除空目錄)

rmdir [OPTION]… DIRECTORY…

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

-v:顯示過程:

示例:

[root@cuikedong /]# rmdir /etc/cuicui

[root@cuikedong /]# ls -l /etc

……………………………………………

-rw-r–r–. ?1 root root ?????841 6月???7 2013 csh.login

drwxr-xr-x. ?2 root root ??????17 12月?10 12:08 cui

drwxr-xr-x. ?4 root root ??????78 11月?13 19:53 dbus-1

……………………………………………

[root@cuikedong /]#

 

tree命令:

tree [options] [directory]

-L level:指定要顯示的層級:

示例:

[root@cuikedong /]# tree -L 1 /

/

├── bin -> usr/bin

├── boot

├── dev

├── etc

├── home

├── lib -> usr/lib

├── lib64 -> usr/lib64

├── media

├── mnt

├── opt

├── proc

├── root

├── run

├── sbin -> usr/sbin

├── srv

├── sys

├── tmp

├── usr

└── var

 

19 directories, 0 files

[root@cuikedong /]#

 

 

文件查看類命令:cat,tac,head,tail,more,less

分屏查看命令:more和less

more命令:

more FILE

特點:翻屏至文件尾部后自動退出:

less命令:(man 本身就是調用less命令)

less FILE

head命令:

查看文件的前n行:

head [options] FILE

-n #(#=1,2,3,……..)

-#

示例:

[root@cuikedong ~]# head -n3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

 

tail命令:

查看文件后的n行:

tail [options] FILE

-n #(#=1,2,3,……..)

-#

-f:查看文件尾部內容結束后不退出,跟隨顯示新增的行:(查看新增日志時候會用)

示例:

[root@cuikedong ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

………………………………..

gdm:x:42:42::/var/lib/gdm:/sbin/nologin

gentoo:x:1001:1001::/home/gentoo:/bin/bash

slakware:x:1002:1002::/home/slakware:/bin/tcsh

slackware:x:1003:1003::/home/slackware:/bin/tcsh

docker:x:1004:1004::/home/docker:/bin/bash

[root@cuikedong ~]# tail -n3 /etc/passwd

slakware:x:1002:1002::/home/slakware:/bin/tcsh

slackware:x:1003:1003::/home/slackware:/bin/tcsh

docker:x:1004:1004::/home/docker:/bin/bash

 

stat命令:狀態(查看文件的元數據)

stat – display file or file system status

用法:

stat FILE,,,,,,

Linux中每一個文件:兩類數據

元數據:metadata(例如書的目錄)

數據:data(例如書的正文)

時間戳:

access time (最近訪問):2017-11-14 20:07:30.941647159 +0800 (讀取數據流)

modify time(最近更改):2017-11-27 20:14:05.372243896 +0800 (改動的數據)

change time(最近改動):2017-11-27 20:14:05.372243896 +0800 (改動的元數據)

示例:

[root@cuikedong ~]# stat /etc/cui/aaa

文件:”/etc/cui/aaa”

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

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

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

環境:unconfined_u:object_r:etc_t:s0

最近訪問:2017-12-10 12:11:10.395401753 +0800

最近更改:2017-12-10 12:10:16.098348565 +0800

最近改動:2017-12-10 12:10:16.098348565 +0800

創建時間:-

[root@cuikedong ~]#

 

touch命令:創建新的空文件,改變已有文件的時間戳屬性:

手動更改時間戳( change time不能手動指定)

touch – change file timestamps

touch [OPTION]… FILE…

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

-a:僅修改access time

-m:僅修改modify time

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

例如:~]# touch -m -t 0212010303.03 /tmp/functions

結果:最近更改:2002-12-01 03:03:03.000000000 +0800

示例:

[root@cuikedong ~]# touch /etc/cui/aaa

[root@cuikedong ~]# ls /etc/cui

aaa

[root@cuikedong /]# file /etc/cui/aaa

/etc/cui/aaa:?empty

[root@cuikedong /]#

 

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

cp命令:copy

源文件:目標文件:

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

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

cp [OPTION]… -t DIRECTORY SOURCE…

 

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

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

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

如果DEST是目錄文件:則現在DEST目錄下創建一個與源文件同名的文件,并復制其屬性和數據流至目標文件:

 

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

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在:錯誤:

如果DEST存在:

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

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

常用選項:

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

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

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

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

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

–preserve=

mode:權限

ownership:屬主和屬組

timestamps:時間戳

context:安全標簽

xattr:擴展屬性

links:符號鏈接

all:上述所有屬性

示例:

[root@cuikedong /]# ls /var

adm ???crash ?empty ?gopher ???lib ???lock ?mail ?opt ??????run ???tmp

cache ?db ????games ?kerberos ?local ?log ??nis ??preserve ?spool ?yp

注:/var沒有文件“aaa”

[root@cuikedong /]# cp /etc/cui/aaa /var

[root@cuikedong /]# ls /var

aaa ?cache ?db ????games ??kerberos ?local ?log ??nis ?preserve ?spool ?yp

adm ?crash ?empty ?gopher ?lib ??????lock ??mail ?opt ?run ??????tmp

[root@cuikedong /]#

 

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…

常用選項:

-i:交互式:

-f:force

示例:

[root@cuikedong /]# mv /var/aaa /tmp

[root@cuikedong /]# ls /tmp

aaa

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-chronyd.service-JrJZ6h

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vgauthd.service-o3ZUMJ

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vmtoolsd.service-IHRY0T

[root@cuikedong /]# ls /var

adm ???crash ?empty ?gopher ???lib ???lock ?mail ?opt ??????run ???tmp

cache ?db ????games ?kerberos ?local ?log ??nis ??preserve ?spool ?yp

[root@cuikedong /]#

 

rm命令:remove

rm [OPTION]… FILE…

常用選項:

-i:interactive

-f:force

-r:recursive

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

危險操作:rm -rf /*(清楚根目錄下的所有內容)

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

示例:

[root@cuikedong /]# rm -r /tmp/aaa

rm:是否刪除普通空文件?“/tmp/aaa”?y

[root@cuikedong /]# ls /tmp

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-chronyd.service-JrJZ6h

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vgauthd.service-o3ZUMJ

systemd-private-70e2d125bf6b49fc9c16a25e6f383f7f-vmtoolsd.service-IHRY0T

[root@cuikedong /]#

 

which命令:

which – shows the full path of (shell) commands.

使用格式:

which [options] [–] programname […]

–skip-alias:顯示時,不顯示別名:

示例:

[root@cuikedong ~]# which man

/bin/man

[root@cuikedong ~]# which cat

/bin/cat

 

whereis命令:

whereis – locate the binary, source, and manual page files for a command

whereis [options] name…

-b:僅搜索二進制程序路徑:

-m:僅搜索使用手冊文件路徑:

示例:

[root@cuikedong ~]# whereis -m man

man: /usr/share/man/man1/man.1.gz

[root@cuikedong ~]# whereis -m ls

ls: /usr/share/man/man1/ls.1.gz

[root@cuikedong ~]# whereis -m cat

cat: /usr/share/man/man1/cat.1.gz

[root@cuikedong ~]#

 

who命令:

who – show who is logged on

who [OPTION]…

-b:系統最近一次啟動的時間

-d:顯示死亡進程:

-l:顯示登錄進程:

-u:顯示誰登錄的:

-r:運行級別:

w命令:增強版的who命令

w – Show who is logged on and what they are doing.

示例:

[root@cuikedong ~]# who

cuikedong tty1 ????????2017-12-10 10:40

cuikedong pts/0 ???????2017-12-10 10:43 (192.168.0.101)

[root@cuikedong ~]#

 

tr命令:

COMMAND | tr [OPTION]… SET1 [SET2]

把輸入的數據當中的字符,凡是在SET1定義范圍內出現的,通通對位轉換為SET2出現的字符

 

用法1:tr ?SET1 ?SET2 ?> ?/PATH/FROM/SOMEFILE

用法2:tr ?-d ?SET1 ?< ?/PATH/FROM/SOMEFILE

注意:不修改原文件

示例:

[root@cuikedong ~]# head -n3 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@cuikedong ~]# head -n3 /etc/passwd | tr ‘a-z’ ‘A-Z’

ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH

BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN

DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN

[root@cuikedong ~]#

 

tee命令:

COMMAND | tee /PATH/TO/SOMEFILE

前一個命令的數據流輸出到屏幕上,并保存到另一個指明文件中,且分發到后一個命令中去:

示例:

[root@cuikedong ~]# head -n3 /etc/passwd | tee /etc/cui/aaa

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@cuikedong ~]# cat /etc/cui/aaa

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

[root@cuikedong ~]#

 

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

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

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

成功:0

失敗:1~255

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

~]# echo $?

示例:

[root@cuikedong /]# ls /

bin ??dev ?home ?lib64 ?mnt ?proc ?run ??srv ?tmp ?var

boot ?etc ?lib ??media ?opt ?root ?sbin ?sys ?usr

[root@cuikedong /]# echo $?

0

注:顯示值為“0”命令執行成功

[root@cuikedong /]# lss /

-bash: lss: 未找到命令

[root@cuikedong /]# echo $?

127

注:顯示值為“127”命令執行失敗

 

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

根據命令其功能不同,結果各不相同:

 

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

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

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

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

示例:

創建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b?

解答:

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

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

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

mkdir: 已創建目錄?“/tmp/x/y1/a”

mkdir: 已創建目錄?“/tmp/x/y1/b”

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

[root@cuikedong /]# tree /tmp

/tmp

└── x

├── y1

│ ??├── a

│ ??└── b

└── y2

[root@cuikedong /]#

 

創建a_c,a_d,b_c,b_d:

解答:

[root@cuikedong /]# mkdir -v /tmp/{a,b}_{c,d}

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

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

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

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

[root@cuikedong /]# ls -l /tmp

總用量?0

drwxr-xr-x. 2 root root ?6 12月?10 15:06 a_c

drwxr-xr-x. 2 root root ?6 12月?10 15:06 a_d

drwxr-xr-x. 2 root root ?6 12月?10 15:06 b_c

drwxr-xr-x. 2 root root ?6 12月?10 15:06 b_d

 

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

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

解答:

[root@cuikedong /]# mkdir -v /tmp/{a,b}_{c,d}

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

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

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

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

[root@cuikedong /]# ls -l /tmp

總用量?0

drwxr-xr-x. 2 root root ?6 12月?10 15:06 a_c

drwxr-xr-x. 2 root root ?6 12月?10 15:06 a_d

drwxr-xr-x. 2 root root ?6 12月?10 15:06 b_c

drwxr-xr-x. 2 root root ?6 12月?10 15:06 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

解答:

[root@cuikedong /]# 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}}

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/local/bin”

mkdir: 已創建目錄?“/tmp/mylinux/usr/local/sbin”

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

mkdir: 已創建目錄?“/tmp/mylinux/var/lock”

mkdir: 已創建目錄?“/tmp/mylinux/var/log”

mkdir: 已創建目錄?“/tmp/mylinux/var/run”

[root@cuikedong /]# tree /tmp/mylinux

/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

 

24 directories, 0 files

[root@cuikedong /]#

 

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

解答:

stat命令:狀態(查看文件的元數據)

用法:

stat FILE,,,,,,

示例:

[root@cuikedong ~]# stat /tmp/cui

文件:”/tmp/cui”

大?。? ?????????塊:0 ?????????IO 塊:4096 ??普通空文件

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

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

環境:unconfined_u:object_r:user_tmp_t:s0

最近訪問:2017-12-10 18:45:55.186935129 +0800

最近更改:2017-12-10 18:45:55.186935129 +0800

最近改動:2017-12-10 18:45:55.186935129 +0800

創建時間:-

修改時間戳

touch命令:手動更改時間戳

touch – change file timestamps

touch [OPTION]… FILE…

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

-a:僅修改access time

-m:僅修改modify time

-t STAMP

[[CC]YY]MMDDhhmm[.ss]

示例:

[root@cuikedong ~]# stat /tmp/cui

文件:”/tmp/cui”

大小:0 ?????????塊:0 ?????????IO 塊:4096 ??普通空文件

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

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

環境:unconfined_u:object_r:user_tmp_t:s0

最近訪問:2017-12-10 18:45:55.186935129 +0800

最近更改:2017-12-10 18:45:55.186935129 +0800(跟改前)

最近改動:2017-12-10 18:45:55.186935129 +0800

創建時間:-

[root@cuikedong ~]# touch -m -t 201808080808.08 /tmp/cui

[root@cuikedong ~]# stat /tmp/cui

文件:”/tmp/cui”

大?。? ?????????塊:0 ?????????IO 塊:4096 ??普通空文件

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

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

環境:unconfined_u:object_r:user_tmp_t:s0

最近訪問:2017-12-10 18:45:55.186935129 +0800

最近更改:2018-08-08 08:08:08.000000000 +0800(更改后)

最近改動:2017-12-10 18:58:07.301294741 +0800

創建時間:-

 

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

解答:

定義別名:

~]# alias NAME=‘COMMAD’

注意:僅對當前shell進程有效

示例:

[root@cuikedong ~]# alias p=’pwd’

[root@cuikedong ~]# alias

alias p=’pwd’

[root@cuikedong ~]# p

/root

 

引用命令的執行結果:

$(COMMAND)

或‘COMMAND’

bash的基礎特性:引用

強引用:”

弱引用:“”

命令引用:“(反引號)

示例:

[root@cuikedong ~]# touch /tmp/cui-`date +%Y-%m-%d-%H-%M-%S` ?(命令引用)

[root@cuikedong ~]# ls /tmp

cui

cui-2017-12-10-19-21-41

[root@cuikedong ~]#

 

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

解答:

[root@cuikedong /]# ls -d /var/l*[0-9]*[[:lower:]]

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

解答:

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

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

解答:

[root@cuikedong /]# ls -d /etc/[^a-z][a-z]*

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

解答:

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

[root@cuikedong ~]# ls /tmp

mylinux

tfile-2017-12-10-17-22-13

x

[root@cuikedong ~]#

 

 

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

解答:

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

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

[root@cuikedong ~]# ls -l /tmp/mytest1

總用量?28

drwxr-xr-x. ?2 root root 4096 12月?10 18:15 pam.d

-rw-r–r–. ?1 root root 1473 12月?10 18:15 passwd

-rw-r–r–. ?1 root root 1430 12月?10 18:15 passwd-

drwxr-xr-x. 10 root root ?116 12月?10 18:15 pki

drwxr-xr-x. ?2 root root ??28 12月?10 18:15 plymouth

drwxr-xr-x. ?5 root root ??52 12月?10 18:15 pm

drwxr-xr-x. ?2 root root ???6 12月?10 18:15 popt.d

drwxr-xr-x. ?2 root root ?154 12月?10 18:15 postfix

drwxr-xr-x. ?3 root root ?123 12月?10 18:15 ppp

drwxr-xr-x. ?2 root root ??78 12月?10 18:15 prelink.conf.d

-rw-r–r–. ?1 root root ?233 12月?10 18:15 printcap

-rw-r–r–. ?1 root root 1795 12月?10 18:15 profile

drwxr-xr-x. ?2 root root ?232 12月?10 18:15 profile.d

-rw-r–r–. ?1 root root 6545 12月?10 18:15 protocols

drwxr-xr-x. ?2 root root ??79 12月?10 18:15 pulse

drwxr-xr-x. ?2 root root ??35 12月?10 18:15 python

 

 

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

解答:

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

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

[root@cuikedong ~]# ls -l /tmp/mytest2

總用量?4

drwxr-xr-x. ?2 root root ?223 12月?10 18:26 bash_completion.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 binfmt.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 chkconfig.d

drwxr-xr-x. ?2 root root ??39 12月?10 18:26 cron.d

drwxr-xr-x. ?2 root root ??23 12月?10 18:26 depmod.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 dracut.conf.d

drwx——. ?2 root root ?182 12月?10 18:26 grub.d

lrwxrwxrwx. ?1 root root ??11 12月?10 18:26 init.d -> rc.d/init.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 krb5.conf.d

drwxr-xr-x. ?2 root root ??74 12月?10 18:26 ld.so.conf.d

drwxr-xr-x. ?2 root root ?114 12月?10 18:26 logrotate.d

drwxr-xr-x. ?2 root root ??24 12月?10 18:26 modprobe.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 modules-load.d

drwxr-xr-x. ?2 root root ??31 12月?10 18:26 my.cnf.d

drwxr-xr-x. ?2 root root ??70 12月?10 18:26 oddjobd.conf.d

drwxr-xr-x. ?2 root root 4096 12月?10 18:26 pam.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 popt.d

drwxr-xr-x. ?2 root root ??78 12月?10 18:26 prelink.conf.d

drwxr-xr-x. ?2 root root ?232 12月?10 18:26 profile.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc0.d -> rc.d/rc0.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc1.d -> rc.d/rc1.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc2.d -> rc.d/rc2.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc3.d -> rc.d/rc3.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc4.d -> rc.d/rc4.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc5.d -> rc.d/rc5.d

lrwxrwxrwx. ?1 root root ??10 12月?10 18:26 rc6.d -> rc.d/rc6.d

drwxr-xr-x. 10 root root ?127 12月?10 18:26 rc.d

drwxr-xr-x. ?2 root root ??25 12月?10 18:26 rsyslog.d

drwxr-xr-x. ?2 root root ??23 12月?10 18:26 rwtab.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 statetab.d

drwxr-x—. ?2 root root ???6 12月?10 18:26 sudoers.d

drwxr-xr-x. ?2 root root ??28 12月?10 18:26 sysctl.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 tmpfiles.d

drwxr-xr-x. ?2 root root ???6 12月?10 18:26 xinetd.d

drwxr-xr-x. ?2 root root ?187 12月?10 18:26 yum.repos.d

 

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

解答:

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

[root@cuikedong ~]# cp -r /etc/{l,m,n}*.conf /tmp/mytest3

[root@cuikedong ~]# ls -l /tmp/mytest3

總用量?36

-rw-r–r–. 1 root root ??28 12月?10 18:33 ld.so.conf

-rw-r—–. 1 root root ?191 12月?10 18:33 libaudit.conf

-rw-r–r–. 1 root root 2391 12月?10 18:33 libuser.conf

-rw-r–r–. 1 root root ??19 12月?10 18:33 locale.conf

-rw-r–r–. 1 root root ?662 12月?10 18:33 logrotate.conf

-rw-r–r–. 1 root root 5171 12月?10 18:33 man_db.conf

-rw-r–r–. 1 root root ?936 12月?10 18:33 mke2fs.conf

-rw-r–r–. 1 root root 1746 12月?10 18:33 nsswitch.conf

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

(0)
愛溜達愛溜達
上一篇 2017-12-11 16:53
下一篇 2017-12-11

相關推薦

  •   在服務器托管的過程中出現故障是不能完全避免的問題,可能是服務器硬盤出現硬件故障或者是防火墻遭到攻擊。那么服務器托管出現故障怎么辦?

      在服務器托管的過程中出現故障是不能完全避免的問題,可能是服務器硬盤出現硬件故障或者是防火墻遭到攻擊。那么服務器托管出現故障怎么辦?   服務器硬盤出現硬件故障時,大家應注意以下幾點:   1、硬盤出現異聲,此時磁頭已不正常尋址,為防止打傷盤體,需立即斷電不可拆解硬盤,需交有超凈間的專業公司拆開檢查。   2、BIOS不認盤,找不到硬盤,先請計算機工程師仔…

    Linux干貨 2016-04-05
  • bash腳本基礎

    一,概述 shell腳本 程序:指令+數據 程序編程風格: 過程式:以指令為中心,數據服務于指令 對象式:以數據為中心,指令服務于數據 shell程序:提供了編程能力,解釋執行 編程邏輯處理方式: 順序執行 循環執行 選擇執行 shell編程:過程式、解釋執行 編程語言的基本結構: 數據存儲:變量、數組 表達式: a + b 語句:if shell腳本是包含…

    Linux干貨 2016-08-19
  • MariaDB基礎

    MariaDB基礎 關系型數據庫的基礎概念: 1)數據類型:作用:存儲格式、數據范圍、所能參與的運算、排序方式         字符型:         定長字符型:CHAR(#),BIARNY(#)…

    Linux干貨 2016-11-07
  • 8月2日作業

            1、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 [root@localhost test…

    Linux干貨 2016-08-05
  • centos7 root密碼忘記怎么修改

           對于事務繁忙或者容易忘東忘西的朋友說,想要記著一些事情總感覺比登天還要難,特別是像密碼之類的。可能要記憶的密碼太多,總是不經意間就把密碼忘記或者把密碼混淆??傊@種站的比例還是有點分量的,例如我剛剛接觸Linux時 ,第一把centos7裝到電腦上沒有多久,就把root密碼忘記了,費了好時間,也請教了很多…

    Linux干貨 2017-04-03

評論列表(2條)

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

    完成的非常好 回答的很全面,加油,再接再勵。

    • 愛溜達
      愛溜達 2018-01-03 22:46

      @馬哥教育謝謝老師夸獎,繼續努力

欧美性久久久久