linux文件层级、目录、文件基本操作介绍
1、文件層級FHS介紹:
????????Filesystem Hierarchy Standard(文件系統(tǒng)層次化標(biāo)準(zhǔn))的縮寫,多數(shù)Linux版本采用這種文件組織形式,類似于Windows操作系統(tǒng)中c盤的文件目錄,FHS采用樹形結(jié)構(gòu)組織文件。
????????FHS定義了系統(tǒng)中每個(gè)區(qū)域的用途、所需要的最小構(gòu)成的文件和目錄,同時(shí)還給出了例外處理與矛盾處理。
/:linux文件系統(tǒng)根目錄
/bin:供所有用戶使用的基本命令文件
/sbin:供系統(tǒng)管理員使用的工具程序文件
/lib:供/bin和/sbin程序調(diào)用的庫文件程序,及系統(tǒng)啟動(dòng)時(shí)需要的庫文件
/lib64:供64為系統(tǒng)使用的庫文件,及系統(tǒng)啟動(dòng)時(shí)需要的庫文件
/boot:系統(tǒng)啟動(dòng)引導(dǎo)的靜態(tài)文件(kernel、initranfs、grub等)
/dev:存儲(chǔ)設(shè)備文件和特殊文件。
/etc:主機(jī)特有配置文件,只能為靜態(tài)文件,一般是文本文件。 etc也是層級目錄結(jié)構(gòu)。
????????/etc/opt,/etc/x11,/etc/xml,
/home:用戶家目錄,可選目錄
/media:便攜設(shè)備掛載點(diǎn),如光盤、u盤等
/mnt:其他文件的臨時(shí)掛載點(diǎn)
/opt:附加應(yīng)用程序的安裝位置(第三方應(yīng)用程序),可選路徑。
/root:管理員的家目錄
/srv:當(dāng)前主機(jī)為服務(wù)提供數(shù)據(jù)的目錄
/tmp:臨時(shí)文件,為那些產(chǎn)生臨時(shí)文件的程序提供的用于存儲(chǔ)臨時(shí)文件的目錄,可供所有用戶執(zhí)行寫操作。
/usr:全局共享只讀數(shù)據(jù)路徑,它也是一個(gè)層級文件系統(tǒng)。
/var:存儲(chǔ)經(jīng)常變化的數(shù)據(jù)目錄,它也是一個(gè)層級文件系統(tǒng)。
/proc:用來為內(nèi)核及進(jìn)程存儲(chǔ)相關(guān)信息,多位內(nèi)核參數(shù)。
/sys:提供比/proc更理想的訪問linux內(nèi)核參數(shù)的方法途徑,其主要作用于為管理linux設(shè)備提供一種統(tǒng)一模型的接口。
2、linux文件類型:
Linux文件的類型可以通過命令:ls -l 來查看,一般有如下幾種
-:普通文件
d:目錄文件
b:塊設(shè)備文件,塊設(shè)備文件以“block”為單位,對數(shù)據(jù)可以進(jìn)行隨機(jī)訪問。
c:字符設(shè)備文件,字符設(shè)備文件以“字符”為單位,對數(shù)據(jù)只能進(jìn)行線性訪問。
l:符號鏈接文件,相當(dāng)于windows中的快捷方式
p:命令管道文件
s:套接字文件
3、linux目錄、文件操作常用命令:
3.1、創(chuàng)建目錄:mkdir,刪除目錄rmdir
3.2、文件內(nèi)容查看常用命令:cat、tac、首尾部分查看(tail、head)、分屏查看(more、less)
3.3、文件復(fù)制、移動(dòng)、刪除命令:cp、mv、rm
mkdir:創(chuàng)建目錄
格式:
?mkdir [OPTION]... DIRECTORY...
[OPTION]:
????-p:如果父目錄不存在,則自動(dòng)創(chuàng)建父目錄,
????-m:創(chuàng)建目錄時(shí),設(shè)定目錄權(quán)限
????-v:顯示命令執(zhí)行的詳細(xì)信息
如:
[root@localhost ~]# mkdir /tmp/x/y/z
mkdir: cannot create directory ‘/tmp/x/y/z’: No such file or directory
[root@localhost ~]# mkdir -p /tmp/x/y/z
[root@localhost ~]#?
rmdir:刪除空目錄
格式:
?rmdir [OPTION]... DIRECTORY...
[OPTION]:
? ? ?-p:刪除子目錄后,如果父目錄為空,則一并刪除
????-v:顯示命令執(zhí)行的詳細(xì)信息
cat:把文件和標(biāo)準(zhǔn)輸出連接起來,即查看文件內(nèi)容,它會(huì)直接顯示到文件尾部一行,
格式:?cat [OPTION]... [FILE]...
?[OPTION]
????E:顯示文件每一行尾的$
????n:顯示文件每一行號
如:
tac:和cat類似,只是它是從文件尾部進(jìn)行查看,不做翻屏處理
tail:輸出文件最后一部分內(nèi)容,默認(rèn)為文件尾部10行,
????格式:tail [OPTION]... [FILE]...
? ?[OPTION]
????-c:輸出文件尾部多少K字節(jié)內(nèi)容;
????-f:輸出文件最后不退出,并顯示追加的內(nèi)容,? ?
????-n ?數(shù)字:顯示從文件尾部指定多少行開始顯示,默認(rèn)10行?
????-n ? +數(shù)字: ?顯示從第幾行開始顯示到行尾
head:輸出文件的開始部分,默認(rèn)為10行;
????格式:?head [OPTION]... [FILE]...
[OPTION]:
????-n:指定前多少行
more:分屏查看文件內(nèi)容,最后直接退出
格式:more [options] file [...]
less:分屏查看文件內(nèi)容,最后不直接退出,需敲入q退出,man命令調(diào)用的less命令;
/pattern:從上往下搜索內(nèi)容,n方向一致,N方向相反搜索
?pattern:從下往上搜索內(nèi)容,n方向一致,N方向相反搜索
#G:跳轉(zhuǎn)指定行
GG:跳轉(zhuǎn)文件尾部
空格:向尾部翻一屏?
b鍵:向首部翻一屏
cp:文件復(fù)制命令 ?: 復(fù)制源文件到目的文件或目錄,復(fù)制多個(gè)源文件到目錄
格式:
? ? ? ?單源復(fù)制:cp [OPTION]... [-T] SOURCE DEST
? ? ? ?多源復(fù)制:cp [OPTION]... SOURCE... DIRECTORY
? ? ? ?多源復(fù)制:cp [OPTION]... -t DIRECTORY SOURCE...
單源復(fù)制:cp [OPTION]... [-T] SOURCE DEST
????如果DEST不存在,則事先創(chuàng)建此文件,并復(fù)制源文件的數(shù)據(jù)流至DEST中
????如果DEST存在,
????????如果DEST是非目錄文件,則復(fù)制源文件數(shù)據(jù)流覆蓋目標(biāo)文件;
????????如果DEST是目錄文件,則先在DEST目錄下創(chuàng)建一個(gè)與源文件同名的文件,并復(fù)制源文件
多源復(fù)制:cp [OPTION]... SOURCE... DIRECTORY
????如果DEST不存在,會(huì)報(bào)錯(cuò)
????如果DEST存在,
????????如果DEST是非目錄文件,會(huì)報(bào)錯(cuò)
????????如果DEST是目錄文件,分別復(fù)制每個(gè)文件至目錄文件中,并保持原名。
?[OPTION]:
????-i:交換式復(fù)制,即覆蓋前提醒用戶確認(rèn)
????-f:強(qiáng)制覆蓋目標(biāo)文件
????-r:遞歸復(fù)制目錄文件
????-d:復(fù)制符號鏈接文件本身,而非其指向的源文件
????-a:用于實(shí)現(xiàn)歸檔,保持源文件的所有讀寫執(zhí)行和屬主屬組權(quán)限。
如:
[user@localhost ~]$ cp /etc/issue /tmp ?//DEST目標(biāo)文件不存在,
[user@localhost ~]$ ls /tmp
anaconda.log
hsperfdata_root
hsperfdata_user
ifcfg.log
issue
[root@localhost user]# cp /etc/issue /etc/fstab /tmp/abc ?//復(fù)制issue、fstab文件到目錄abc
cp: target ‘/tmp/abc’ is not a directory
[root@localhost user]# mkdir /tmp/abc
[root@localhost user]# !cp
cp /etc/issue /etc/fstab /tmp/abc
[root@localhost user]# ls /tmp/abc
fstab ?issue
[root@localhost user]#?
[root@localhost ~]# mkdir /tmp/bcd
[root@localhost ~]# cp -rv ?/var/log/ /tmp/bcd ?//復(fù)制目錄,DEST需事先存在
注意:復(fù)制后的文件/目錄權(quán)限和屬主屬組發(fā)生了變化。可以用-a選項(xiàng)保持這些參數(shù)
[root@localhost ~]# cp /var/log/tomcat/ /tmp/
cp: omitting directory ‘/var/log/tomcat/’
[root@localhost ~]# cp -rv /var/log/tomcat/ /tmp/
‘/var/log/tomcat/’ -> ‘/tmp/tomcat’
‘/var/log/tomcat/catalina.out’ -> ‘/tmp/tomcat/catalina.out’ ??
[root@localhost ~]# ll /var/log/tomcat/ /tmp/tomcat/
/tmp/tomcat/:
total 4
-rw-r-----. 1 root root 28 Sep 17 18:16 catalina.out
/var/log/tomcat/:
total 4
-rw-rw----. 1 tomcat tomcat 28 Nov ?6 ?2016 catalina.out
[root@localhost ~]# cp -a /var/log/firewalld ?/tmp/
[root@localhost ~]# ll /var/log/firewalld /tmp/firewalld?
-rw-r--r--. 1 root root 0 Aug 29 20:22 /tmp/firewalld
-rw-r--r--. 1 root root 0 Aug 29 20:22 /var/log/firewalld
mv:移動(dòng)文件或重命名文件
格式: ? ?mv [OPTION]... [-T] SOURCE DEST
? ? ? ?mv [OPTION]... SOURCE... DIRECTORY
? ? ? ?mv [OPTION]... -t DIRECTORY SOURCE...
rm:刪除文件或目錄
格式:?rm [OPTION]... FILE...
[OPTION]:
????-i:交互式命令
????-r:遞歸操作,刪除目錄時(shí)會(huì)有用。
????-f:強(qiáng)化操作
[root@localhost ~]# rm /tmp/bcd/
rm: cannot remove ‘/tmp/bcd/’: Is a directory
[root@localhost ~]# rm -r /tmp/bcd/
rm: remove directory ‘/tmp/bcd/’? y
[root@localhost ~]# ls /tmp/bcd
ls: cannot access /tmp/bcd: No such file or directory
[root@localhost ~]#?
4、bash的基礎(chǔ)特性介紹:
4.1、命令歷史:history
shell進(jìn)程會(huì)在其會(huì)話中保存此前用戶提交的執(zhí)行過的命令。
命令格式:history ?【option】?
history的環(huán)境變量有:
HISTSIZE:shell進(jìn)程可保留的命令歷史的條數(shù)
HISTFILE:持久保存命令歷史的文件,一般每個(gè)用戶下都會(huì)有,如家目錄下的.bash_history
HISTFILESIZE:定義歷史文件的大小。
?option選項(xiàng)有:
-c:清空歷史命令列表
-d:偏移量,刪除指定命令歷史
-r:從命令歷史文件中讀取命令至命令歷史中(內(nèi)存)
-w:把歷史列表中命令追加至歷史文件中。
調(diào)用命令歷史列表中的命令: ?!
!#:再一次執(zhí)行命令歷史列表中的第#條命令
!!:再一次執(zhí)行上一次操作的命令
!sting:再一次執(zhí)行最近一次可以匹配命令歷史列表中的以sting開頭的命令。
調(diào)用上一條命令中最后一個(gè)參數(shù):
????快捷鍵:esc + . :按esc鍵后松開,再按點(diǎn)號(.)
????字符組合:!$. ? ? :嘆號和$號一起按
控制命令歷史記錄的方式:
環(huán)境變量:HISTCONTROL ? ? ?(修改僅對當(dāng)前shell有效)
HISTCONTROL=ignoredups:忽略重復(fù)的命令
HISTCONTROL=ignorespace:忽略以空白字符開頭的命令
HISTCONTROL=ignoreboth:以上兩者同時(shí)忽略
4.2、命令補(bǔ)全、路徑補(bǔ)全(按tab鍵)
shell程序在接收到用戶執(zhí)行的命令請求時(shí),分析完成后,最左側(cè)的字符串會(huì)被當(dāng)作命令執(zhí)行。
命令處理機(jī)制:
????查找內(nèi)部命令
????根據(jù)PATH環(huán)境變量中設(shè)定的目錄,從左向右逐個(gè)按目錄查找
命令補(bǔ)全機(jī)制:
????給定的打頭字符串如果唯一標(biāo)識(shí)某命令文件,則tab鍵直接補(bǔ)全
????給定的打頭字符串如果不能唯一標(biāo)識(shí)某命令程序文件,則再按一次tab鍵,會(huì)給出命令列表。
路徑補(bǔ)全機(jī)制:
????根據(jù)給定的起始路徑補(bǔ)全,即以對應(yīng)路徑下的打頭字符串來逐一匹配起始路徑下的每個(gè)文件。
????如果能唯一標(biāo)識(shí)某路徑,則補(bǔ)全,否則,再按一次tab,給出列表。
4.3、命令行展開: ? ?~、{ }
~ :自動(dòng)展開為用戶的家目錄( # cd ~),或指定用戶的家目錄(# cd ~ user)
{ }: 可承載一個(gè)以“,”(逗號)分隔的路徑列表,并能夠?qū)⑵湔归_為多個(gè)路徑。如:/tmp/{a,b}相當(dāng)于/tmp/a和/tmp/b
如:
創(chuàng)建/tmp目錄下的:a_c,a_d,b_c,b_d,
[root@localhost ~]# mkdir /tmp/{a,b}_{b,d}
[root@localhost ~]# ls /tmp/
a_b
a_d
b_b
b_d
創(chuàng)建/tmp/mylinux目錄下的目錄結(jié)構(gòu):
[root@localhost ~]# tree /tmp/mylinux/
/tmp/mylinux/
├── bin
├── boot
│ ? └── grup
├── dev
├── etc
│ ? ├── rc.d
│ ? │ ? └── init.d
│ ? └── sysconfig
│ ? ? ? └── network-scripts
├── lib
│ ? └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│ ? ├── local
│ ? ? ?├── bin
│ ? ? ?└── sbin
│ ??
│ ??
└── var
? ? ├── lock
? ? ├── log
? ? └── run
26 directories, 0 files
[root@localhost ~]#?
[root@localhost ~]# mkdir -p /tmp/mylinux/{bin,boot/grup,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.4、命令的執(zhí)行狀態(tài)結(jié)果:
bash通過狀態(tài)返回值來查看命令的執(zhí)行結(jié)果,狀態(tài)返回值保存于bash的特殊變量“$?"中。
注意:$? 只能獲得最近命令執(zhí)行的狀態(tài)結(jié)果。
通過:#echo $? 執(zhí)行結(jié)果來查看命令執(zhí)行狀態(tài)結(jié)果。
????如果命令成功執(zhí)行:輸出數(shù)字“0”
????如果命令未成功執(zhí)行:輸出數(shù)字“1-255”中的一個(gè)數(shù)字,
如:
[root@localhost ~]# ls /
1 ? ?boot ?etc ? lib ? ?media ?opt ? root ?sbin ?sys ?usr
bin ?dev ? home ?lib64 ?mnt ? ?proc ?run ? srv ? tmp ?var
[root@localhost ~]# echo $?
0
[root@localhost ~]#?
[root@localhost ~]# lsls /
bash: lsls: command not found...
[root@localhost ~]# !echo
echo $?
127
[root@localhost ~]#?
4.5、引用命令的執(zhí)行結(jié)果: $(命令) 或 `命令` ? ?注意 ` 為反引號。
如:#mkdir $(date +%H-%M-%S) ? ? ? ? ? ? //引用時(shí)分秒為創(chuàng)建目錄的名字。
4.6、變量的引用:
? ? ?‘ 變量 ’ ?:單引號表示強(qiáng)引用,引用變量本身;
????”變量“ ? :雙引號表示弱引用,引用變量的執(zhí)行結(jié)果
????$(命令) :命令執(zhí)行結(jié)果引用
4.7、bash快捷鍵:
ctrl+a:跳轉(zhuǎn)至命令行首部
ctrl+e:跳轉(zhuǎn)至命令行尾部
ctrl+u:刪除行首至光標(biāo)所在處之間的所有字符
ctrl+k:刪除光標(biāo)所在處至行尾之間的所有字符
ctrl+l:清屏,相當(dāng)于clear命令
4.8、glob通配符(文件名通配符)
linux的哲學(xué)思想之一就是一切皆文件,眾多文件組織在一起,可以通過glob通配符去匹配需要的文件名。
注意:glob匹配的是整個(gè)文件名,而非部分文件名。
glob通過“元字符”去匹配信息。
?
元字符介紹:
????* : ?*表示匹配任意長度任意字符
?????: ??表示匹配任意單個(gè)字符
????[ ] : ?[ ]表示匹配指定范圍內(nèi)的任意單個(gè)字符?
????????[a-z]: 表示匹配a-z A-Z中的任意一個(gè)字母,不區(qū)分大小寫;即匹配所有字母
????????[A-Z]:表示匹配a-z A-Z中的任意一個(gè)字母,不區(qū)分大小寫;即匹配所有字母
????????[0-9]:表示匹配所有數(shù)字中的一個(gè)數(shù)字,即匹配所有數(shù)字
????????[a-z0-9]:表示匹配所有的字母和數(shù)字
????????[abcde]:表示匹配abcde中的任意一個(gè)字符
????????特定格式:
????????[[:upper:]] :表示匹配所有大寫字母中的一個(gè)
????????[[:lower:]]?:表示匹配所有小寫字母中的一個(gè)
????????[[:alpher:]]?:表示匹配所有字母(大小寫)中的一個(gè)
????????[[:digit:]]?:表示匹配所有數(shù)字
????????[[:alnum:]]?:表示匹配所有字母和數(shù)字中的一個(gè)
????????[[:space:]]?:表示匹配所有空白字符
????????[[:punct:]]?:表示匹配所有標(biāo)點(diǎn)符號
????[^ ] :?[^ ]表示匹配指定范圍外的任意單個(gè)字符?
????????[^[:upper:]] : 表示匹配所有大寫字母以外的單個(gè)字符
????????[^abcde] ? : ?表示匹配abcde外的任意一個(gè)字符?
??如:
????顯示/var/log目錄下所有以l開頭,以一個(gè)小寫字母結(jié)尾,且中間出現(xiàn)一位數(shù)字的文件或目錄
????????[root@localhost ~]# ls -d /var/log/l[0-9][[:lower:]]
????顯示/etc目錄下,以任意一位數(shù)字開頭,且以非數(shù)字結(jié)尾的文件或目錄? ?????
????????[root@localhost ~]# ls -d /etc/[0-9]*[^0-9]
????復(fù)制/etc/目錄下,所有以.conf結(jié)尾,且以mnrp開頭的文件或目錄至/tmp/conf.d目錄下
????????[root@localhost ~]# mkdir /tmp/conf.d
????????[root@localhost ~]# cp -r /etc/[mnrp]*.conf /tmp/conf.d
4.9、I/O輸入輸出重定向介紹:
可用于輸入的設(shè)備:鍵盤設(shè)備、文件、網(wǎng)卡等;
可用于輸出的設(shè)備:顯示器、文件、網(wǎng)卡等;
程序的數(shù)據(jù)流有三種:
????輸入的數(shù)據(jù)流:<-----標(biāo)準(zhǔn)輸入(stdin),鍵盤
????輸出的數(shù)據(jù)流:------>標(biāo)準(zhǔn)輸出(stdout),顯示器
????錯(cuò)誤的輸出流:------>錯(cuò)誤輸出(stderr),顯示器
文件描述符:fd(file description)
????標(biāo)準(zhǔn)輸入:0
????標(biāo)準(zhǔn)輸出:1
????錯(cuò)誤輸出:2
所謂的輸入輸出重定向,就是將標(biāo)準(zhǔn)的輸入輸出重定向到其他位置。如:標(biāo)準(zhǔn)的輸出是顯示器屏幕,可改變輸出到文件,而不是標(biāo)準(zhǔn)輸出,這就是重定向。
輸出重定向:> ?、>>
????>:覆蓋輸出
???? >>:追加輸出,不會(huì)覆蓋原文件內(nèi)容
[root@localhost ~]# ls / > /a.st?
[root@localhost ~]# cat /a.st?
1
a.st
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
[root@localhost ~]#
[root@localhost ~]# ls /var > /a.st //覆蓋輸出
[root@localhost ~]# cat /a.st?
account
adm
cache
crash
[root@localhost ~]# cat /etc/passwd >>/a.st?
[root@localhost ~]# cat /a.st?
?
注意:如果要關(guān)閉輸出重定向的覆蓋和追加輸出功能,可以使用命令#set -C 來關(guān)閉,打開使用命令#set +C,當(dāng)關(guān)閉輸出重定向,如果還是想需要覆蓋輸出可以使用 >| 來實(shí)現(xiàn)。
注意:>、 >>、 >|只對正常輸出數(shù)據(jù)流有效?
錯(cuò)誤輸出重定向: 2> 、2>>
????2> ? ? :覆蓋輸出
????2>> ? :追加輸出
[root@localhost ~]# ls / >/a.st?
[root@localhost ~]# ls /etcc >> /a.st ?//錯(cuò)誤信息不會(huì)被寫入a.st
ls: cannot access /etcc: No such file or directory
[root@localhost ~]# cat /a.st?
[root@localhost ~]# ls /etcc 2>> /a.st?????//錯(cuò)誤信息會(huì)被寫入a.st中
[root@localhost ~]# cat /a.st?
sys
tmp
usr
var
ls: cannot access /etcc: No such file or directory
錯(cuò)誤輸出重定向只對錯(cuò)誤的數(shù)據(jù)流有效。
合并輸出數(shù)據(jù)流和錯(cuò)誤輸出數(shù)據(jù)流:
????&> :覆蓋輸出
????&>>:追加輸出
[root@localhost ~]# ls /adc &> /a.st?
[root@localhost ~]# cat /a.st?
ls: cannot access /adc: No such file or directory
[root@localhost ~]#?
[root@localhost ~]# ls -ld /etc &>/a.st?
[root@localhost ~]# cat /a.st?
drwxr-xr-x. 165 root root 12288 Sep 19 19:50 /etc
[root@localhost ~]#?
????
輸入重定向: < , <<
?將標(biāo)準(zhǔn)輸入鍵盤重定向到其他地方,如重定向到文件。
????< :輸入重定向
????<<:此處創(chuàng)建文件。
[root@localhost ~]# cat < /a.st?
drwxr-xr-x. 165 root root 12288 Sep 19 19:50 /etc
????
tr命令:轉(zhuǎn)換或刪除字符
tr [OPTION]... SET1 [SET2]
??[OPTION]
????-d:刪除SET1中的字符,不進(jìn)行轉(zhuǎn)換??
如:
[root@localhost ~]# cat /a.st?
drwxr-xr-x. 165 root root 12288 Sep 19 19:50 /etc
[root@localhost ~]# tr [a-z] [A-Z] < /a.st ?//將a.st文件的所有小寫字母換成大寫字母。
DRWXR-XR-X. 165 ROOT ROOT 12288 SEP 19 19:50 /ETC
[root@localhost ~]#?
[root@localhost ~]# tr -d [0-9] </a.st?? //刪除輸入重定向文件中的數(shù)字
drwxr-xr-x. ?root root ?Sep ?: /etc
[root@localhost ~]#?
????<<:此處創(chuàng)建文檔
注意:可以將需要的信息重定向至/dev/null文件,null文件是一個(gè)黑洞文件。
4.10、管道介紹: |
所謂管道就是連接程序用的,實(shí)現(xiàn)將前一個(gè)命令的輸出直接向下一個(gè)程序提供輸入數(shù)據(jù)流
管道使用格式:
????command1 | command2 | command3 | ...
如:
[root@localhost ~]# cat /etc/issue?
\S
Kernel \r on an \m
[root@localhost ~]# cat /etc/issue | tr 'a-z' 'A-Z'
\S
KERNEL \R ON AN \M
[root@localhost ~]#?
注意:管道中,前一個(gè)命令的輸出內(nèi)容在標(biāo)準(zhǔn)終端上看不到,因?yàn)樗鳛閰?shù)傳遞給下一個(gè)命令了,
tee命令:他將前一個(gè)命令的輸出保存一份至指定文件中,同時(shí)又將前一個(gè)命令的輸出傳遞給下一個(gè)命令作為輸入?yún)?shù)。
格式:command | tee /path/to/somewhere | command2?
5、常用命令:alias,unalias,stat,touch
[root@localhost ~]# alias cls=clear
[root@localhost ~]# alias?
alias cls='clear'
[root@localhost ~]# unalias cls
stat命令:查看文件元數(shù)據(jù)信息
每個(gè)文件都有兩類數(shù)據(jù):
????元數(shù)據(jù):metadata //不是文件的組成部分,描述文件屬性的信息,類似winodws文件的屬性常規(guī)信息
????數(shù)據(jù):data ? ? //文件本身內(nèi)容數(shù)據(jù)
如:
[root@localhost ~]# stat /tmp/yum.log.old?
? File: ‘/tmp/yum.log.old’
? Size: 52 ? ? ? ?Blocks: 8 ? ? ? ? ?IO Block: 4096 ? regular file
Device: fd00h/64768dInode: 11797030 ? ?Links: 1
Access: (0600/-rw-------) ?Uid: ( ? ?0/ ? ?root) ? Gid: ( ? ?0/ ? ?root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2017-09-17 18:04:23.207995463 +0800
Modify: 2017-09-17 18:04:23.207995463 +0800
Change: 2017-09-17 18:37:48.960974954 +0800
?Birth: -
[root@localhost ~]#?
注意:元數(shù)據(jù)有三個(gè)重要的時(shí)間參數(shù):只能修改訪問時(shí)間和修改時(shí)間,不能修改改動(dòng)時(shí)間,改動(dòng)時(shí)間會(huì)因訪問時(shí)間和修改時(shí)間改變而變化。
Access: 2017-09-17 18:04:23.207995463 +0800????//actime:訪問時(shí)間
Modify: 2017-09-17 18:04:23.207995463 +0800????//mtime:修改時(shí)間????
Change: 2017-09-17 18:37:48.960974954 +0800????//ctime:改動(dòng)時(shí)間
touch:修改文件時(shí)間戳;如果文件不存在,則用來創(chuàng)建文件
?格式:touch [OPTION]... FILE...
[OPTION]
-a:僅修改accestine
-m:僅修改modifytime
-c:指定文件不存在時(shí),不創(chuàng)建文件
-t:use [[CC]YY]MMDDhhmm[.ss] instead of current time //用指定時(shí)間代替當(dāng)前時(shí)間。
如:
[root@localhost ~]# touch -t 201709171219 /tmp/yum.log.old?
[root@localhost ~]# stat /tmp/yum.log.old
? File: ‘/tmp/yum.log.old’
? Size: 52 ? ? ? ?Blocks: 8 ? ? ? ? ?IO Block: 4096 ? regular file
Device: fd00h/64768dInode: 11797030 ? ?Links: 1
Access: (0600/-rw-------) ?Uid: ( ? ?0/ ? ?root) ? Gid: ( ? ?0/ ? ?root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2017-09-17 12:19:00.000000000 +0800
Modify: 2017-09-17 12:19:00.000000000 +0800
Change: 2017-09-17 20:22:43.883910589 +0800
?Birth: -
[root@localhost ~]#?
轉(zhuǎn)載于:https://blog.51cto.com/10631377/1966122
總結(jié)
以上是生活随笔為你收集整理的linux文件层级、目录、文件基本操作介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 专家:我国青少年网络安全立法还需完善
- 下一篇: linux 其他常用命令