Linux文件管理相關(guān)管理命令
上周回顧:
1.Base怎么使用 :單條命令 效率低 適合管理 或者少量的任務(wù)
? ? ? ? ? ? shell腳本效率高 適合負(fù)責(zé) 重復(fù)性的工作
2.Bash 提示符
? ? [root@oldboyedu ~]#
? ? ? 當(dāng)前登錄系統(tǒng)的用戶 --->root? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)前系統(tǒng)的主機(jī)名稱 --->oildboyedu 當(dāng)前用戶所在的家目錄 ---> ~ 表示當(dāng)前用戶的家目錄? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 通常情況下是超級管理員 # 普通用戶 $
3.Bash基礎(chǔ)語法
命令[選項(xiàng)]? [參數(shù)]
命令(打針) 選項(xiàng)(輕重)參數(shù)(往哪里打)
ls -la /home/? ? 以長格式顯示/home/下所有內(nèi)容措拇,包括隱藏文件
4.Bash 常用特性
? tab補(bǔ)全? ? 快捷鍵 ctrl +a利朵, e劲蜻,c,l? ? 命令別名 alias unalias
歷史記錄 history? 命令幫助? man --help
5.Windows C:\ D:\ E:\ Linux / ---> 單根組織結(jié)構(gòu) 在Linux / 目錄下有很多的二級目錄,這么目錄都是什么意思
/bin #存放都是二進(jìn)制可執(zhí)行的命令
/sbin #超級管理員可執(zhí)行的二進(jìn)制命令
/home #普通用戶的家目錄 /home/oldboy
/root # 超級管理員的家目錄 (普通用戶無權(quán)限) /etc # 系統(tǒng)的配置文件存放路徑,包括后續(xù)安裝的一些服務(wù)
/dev # 存放設(shè)備目錄 /dev/null #黑洞設(shè)備, 只進(jìn)不出 /dev/random # 隨機(jī)設(shè)備 /dev/zero # 能源源不斷的產(chǎn)生數(shù)據(jù), 取款機(jī)
/proc # 虛擬系統(tǒng)文件 (顯示系統(tǒng)當(dāng)前進(jìn)程正在運(yùn)行的狀態(tài))
/usr # 存放系統(tǒng)文件 和Windows的C盤下的WIndows目錄一樣
/usr/local # /usr/bin # 和/bin一致,只不過/usr/bin才是真實(shí)的命令存放 路徑 /usr/sbin # 和/sbin一致,只不過
/usr/sbin才是真實(shí)的命令存 放路徑/usr/lib # 庫文件, 命令所依賴的庫文件
/usr/lib64 # 64庫文件, 命令所依賴的庫文件 /boot # 系統(tǒng)啟動時(shí)的引導(dǎo)目錄 , 存放的是kernel,grub菜單
/run # 存放進(jìn)程鎖文件 /opt #早起第三方廠商安裝軟件存放的目錄
/mnt # 掛載, 將目錄與設(shè)備進(jìn)行關(guān)聯(lián), 比如 硬盤,光盤
6.文件路徑定位
/etc/hostname 文件位置+文件名稱=路徑? ? 換句話說:路徑則是對文件定義的一種方式
絕對路徑:只要以/開始的路徑幅恋,都算是絕對路徑。
相對路徑:相對于當(dāng)前目錄來說的路徑 泵肄,? ? .當(dāng)前目錄? ..當(dāng)前目錄的上一級目錄
沒有明確的說法捆交,取決你當(dāng)前所在的位置
7.文件管理命令
mkdir 創(chuàng)建目錄
? touch 創(chuàng)建文件
? mv 移動或重新命名
rm 刪除文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第四天內(nèi)容
? ? ? ? ? -cp 拷貝
-v:詳細(xì)顯示命令執(zhí)行的操作
-r:遞歸處理目錄與子目錄
-p:保留源文件或目錄的屬性
? 1.將當(dāng)前目錄下的file文件淑翼,復(fù)制到/tmp/目錄下 并重新命名為 file_copy
? ? [root@oldboyedu ~]# cp file /tmp/file_copy?
? ? [root@oldboyedu ~]# ls
? /tmp/file_copy /tmp/file_copy
2.將file1復(fù)制到/tmp目錄下,
[root@oldboyedu ~]# cp file1 /tmp/
[root@oldboyedu ~]# cp file1 /tmp/file1? ? #這種很少使用
#3.在拷貝文件的過程中,如何保持文件原有的屬性不發(fā)生變化
-rw-r--r--. 1 root root? 0 Jul 29 10:07 file
#第一次修改
-rwxrwxrwx. 1 root root? 0 Jul 29 10:03 file
#第二次修改
-rwxrwxrwx. 1 adm adm 0 Jul 29 10:03 file
#在拷貝的過程中,文件權(quán)限和身份都發(fā)生變化了
[root@oldboyedu ~]# cp file /tmp/
[root@oldboyedu ~]# ll /tmp/file
-rw-r--r--. 1 root root 0 Jul 29 10:11 /tmp/file#在拷貝過程中加上-p參數(shù),保存文件原有的屬性
[root@oldboyedu ~]# cp -p file /tmp/
[root@oldboyedu ~]# ll /tmp/file
-rwxrwxrwx. 1 adm adm 0 Jul 29 10:03 /tmp/file#4.如何拷貝一個(gè)文件夾,并且文件夾中有很多的子文件, -r遞歸復(fù)制? (文件夾===目錄)
將一個(gè)目錄復(fù)制到另一個(gè)目錄下 用-r
[root@oldboyedu ~]# cp /etc/ /tmp/
cp: omitting directory ‘/etc/’
[root@oldboyedu ~]# cp /etc/ /tmp/ -r
5.拷貝不同路徑下的不同文件至同一個(gè)目錄下? ? ? ? -v是顯示詳細(xì)過程
[root@oldboyedu ~]# cp file1? /etc/hostname? /etc/hosts? /opt/ -v
將 當(dāng)前目錄下 file1 /etc/hostname? /etc/hosts 拷貝到? /opt/ 并顯示詳細(xì)過程
‘file1’ -> ‘/opt/file1’
‘/etc/hostname’ -> ‘/opt/hostname’
‘/etc/hosts’ -> ‘/opt/hosts’
6.拷貝不同路徑下的不同文件+不同的目錄 至同一個(gè)位置 怎么辦?
[root@oldboyedu ~]# cp -rp file1 oldboy1/ file /etc/ /mnt/ /opt/
將當(dāng)前目錄下文件file1? oldboy1下的file? /etc/? /mnt/? 拷貝到 /opt/下面保留原本屬性品追,拷貝目錄 用r
[root@oldboyedu ~]# ls /opt/
etc? file? file1? mnt? oldboy1
7..在復(fù)制過程中頻繁觸發(fā)重復(fù)復(fù)制,提示確認(rèn)操作?
[root@oldboyedu ~]# \cp -r /etc/ /opt/
[root@oldboyedu ~]# /bin/cp -r /etc/ /opt/
8.擴(kuò)展項(xiàng)
[root@oldboyedu ~]# cp {file5,file5-bak} -v 顯示詳細(xì)操作
‘file5’ -> ‘file5-bak’
將file5文件復(fù)制 改成叫file5-bak的文件 倆份都在
[root@oldboyedu ~]# cp /etc/sysconfig/networkscripts/{ifcfg-ens32,ifcfg-ens32-bak}
2文件管理之:查看文件內(nèi)容(cat less more head tail grep)
cat
[root@oldboyedu ~]# cp /etc/passwd ./pass
[root@oldboyedu ~]# cat pass? ? ? ? #查看文件的所有內(nèi)容,從 頭到尾
[root@oldboyedu ~]# cat -n pass? ? #查看一個(gè)文件有多少行? -n
[root@oldboyedu ~]# cat -A pass? ? ##查看文件的特殊符號, 比如文件中存在tab鍵
cat擴(kuò)展使用玄括,創(chuàng)建一個(gè)文件,并往里面寫入內(nèi)容
[root@oldboyedu ~]# cat >> test.txt <<EOF? ? #EOF代表開 始
test1
test2
test3
EOF? ? ? ? ? ? #EOF 代表結(jié)束
[root@oldboyedu ~]# cat test.txt
test1
test2
test3
#------less肉瓦、more # less /etc/services? ? #使用光標(biāo)上下翻動遭京,空格進(jìn)行翻頁,q退 出 # more /etc/services? ? #使用回車上下翻動泞莉,空格進(jìn)行翻頁哪雕,q退 出#------head
[root@oldboyedu ~]# head pass? ? #查看頭部內(nèi)容,默認(rèn)前十行
[root@oldboyedu ~]# head -n5 pass #查看頭部5行戒财,使用-n指定
[root@oldboyedu ~]# ps? aux | head -5? #了解
#------tail # tail pass? ? #查看文件尾部默認(rèn)十行[root@oldboyedu ~]# tail -20 /var/log/secure
[root@oldboyedu ~]# tail -f /var/log/messages #-f查看文 件尾部的變化
[root@oldboyedu ~]# tailf /var/log/messages? #查看文件 尾部的變化
[root@oldboyedu ~]# ps aux | tail -5? ? ? ? #了解
#------grep過濾文件內(nèi)容
#1. 過濾出pass文件中的root相關(guān)的行
[root@oldboyedu ~]# grep "root" pass
root?:x:?0:0:root:/root:/bin/bash? ? ? ? ? ? ? ? ? ? ? ?
operator?:x:?11:0:operator:/root:/sbin/nologin
2過濾pass文件中热监,匹配以root開頭的行
[root@oldboyedu ~]# grep "^root" pass
root?:x:?0:0:root:/root:/bin/bash
3.過濾pass文件中,匹配以bash結(jié)尾的行 $
[root@oldboyedu ~]# grep "bash$" pass
root?:x:0:0:root:/root:/bin/bash
jack?:x:1000:1000::/home/jack:/bin/bash
#4.顯示行號? -n
[root@oldboyedu ~]# grep -n "bash$" pass
1:root?:x:0:0:root:/root:/bin/bash
23:jack?:x:1000:1000::/home/jack:/bin/bash
#5.擴(kuò)展了解
#grep -n -A 2 "Failed" /var/log/secure #匹 配/var/log/secure文件中Failed字符串,并打印它的下2行
#grep -n -B 2 "Failed" /var/log/secure #匹 配/var/log/secure文件中Failed字符串,并打印它的上2行
#grep -n -C 2 "Failed" /var/log/secure #匹 配/var/log/secure文件中Failed字符串,并且打印上下倆行饮寞。
#9.過濾pass文件中以sync結(jié)尾的,或者ftp相關(guān)的行,打印出來.同時(shí)不 區(qū)分大小寫
#grep? -Ei "sync$|ftp" pass
grep 篩選目標(biāo)孝扛,會將整行打印出來
0、顯示當(dāng)前pass文件中,root幽崩、adm或ftp用戶相關(guān)的信息
[root@oldboyedu ~]# grep -E "^root|^ftp|^adm" pass
root?:x:0:0:root:/root:/bin/bash
adm?:x:3:4:adm:/var/adm:/sbin/nologin
ftp?:x:14:50:FTP User:/var/ftp:/sbin/nologin
1苦始、顯示/proc/meminfo文件中以不區(qū)分大小的s開頭的行;
[root@oldboyedu ~]# grep -i "^s" /proc/meminfo
2慌申、顯示/etc/passwd中以nologin結(jié)尾的行;
[root@oldboyedu ~]# grep "nologin$" /etc/passwd3陌选、顯示/etc/inittab中以#開頭,而后又跟了任意字符的行蹄溉;
[root@oldboyedu ~]# grep -n? "^# .*" /etc/inittab
.? 代表任意單個(gè)字符? [a-z]? [A-Z]? [0-9]
.表示所有
.* 代表所有的任意字符
包含命令 cp? cat? less? more? head? tail? tailf? grep