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
完成的非常好 回答的很全面,加油,再接再勵。
@馬哥教育:謝謝老師夸獎,繼續努力