天天看點

linux系統管理---檔案管理

檔案管理:增、删、改、查

1.檔案的:查

基礎資訊檢視,cd,pwd,ls,du,which,find,cat,more/less,head/tail,grep,wc

1)基礎資訊:

cat /etc/redhat-release  ##os的名稱

uname -a   ##檢視kernel資訊,i386/i686/i586表示32CPU,x86_64表示64CPU

cat /proc/cpuinfo   ##檢視cpu資訊

cat /proc/meminfo   ##檢視記憶體資訊

df -h   ##檢視硬碟使用情況

ip a  ##檢視ip位址

ip  r  ##檢視路由,也叫預設網關

cat  /etc/resolv.conf  ##檢視dns設定

hostname  ##檢視主機名

ctrl+d  ##推出系統,再次登入檢視曆史指令:cat  /root/.bash_history

2)目錄的檢視:cd,pwd,ls,du

a.目錄結構:

/boot  ##啟動檔案存放目錄

/etc   ##配置檔案存放目錄

/proc  ##系統記憶體狀态目錄,是系統快照

/dev   ##存放硬體檔案的目錄

/home  ##普通使用者的家目錄

/root  ##root使用者的家目錄

/var   ##動态變化的資料存放目錄,如日志、資料庫的資料檔案

/usr   ##使用者檔案存放目錄

總結:linux一切皆檔案,所有的檔案都放在目錄下,所有的目錄都放在/(根)目錄。

echo 3 >/proc/sys/vm/drop_caches   ##清理記憶體

b.目錄及檔案的表示:相對路徑和絕對路徑

絕對路徑:從根目錄開始描述,如/etc/sysconfig/。

相對路徑:從目前目錄開始描述,如"."表示目前目錄,../上一級目錄,../../上上一級目錄,./dir=dir下一級目錄

一個目錄可以使用相對描述也可以使用絕對描述。

案例:

cd  /etc/sysconfig

pwd  ##确認目前目錄

cat   /etc/redhat-release   ##絕對路徑檢視

cat  ../redhat-release   ##相對路徑的檢視

c.目錄管理指令

cd切換目錄,

文法:cd [選項] [目錄]

cd /etc/sysconfig   ##進入絕對目錄

cd ../../   ##到根目錄

cd -   ##回到上一所在目錄

pwd  ##驗證

cd   ##回家

pwd

useradd  u01  ##建立使用者u01

echo 123123 |passwd --stdin u01  ##給u01修改密碼為123123

cd  ~u01   ##進入u01的家目錄

pwd  ##驗證為/home/u01

pwd列印目前工作目錄

文法:pwd  [選項]

pwd  ##直接檢視目前工作目錄即“.=?”

cd  /etc/init.d/

pwd  ##檢視到是連結後的目錄

pwd -P  ##檢視實體路徑/etc/rc.d/init.d

ls列出目錄下的内容

文法:ls  [選項]  [檔案/目錄]

ls   ##檢視目前目錄

ls -lh   ##長格式檢視目前目錄下的内容

ls -ld  /boot  ##檢視/boot本身的詳細資訊

ls  -R  /   ##顯示整個系統的所有内容

ls --help  ##檢視幫助,推薦使用-lt按時間排序,-lS按大小排序

cd 

ls  -a  ##顯示隐藏檔案如.bash_profile

du統計檔案或者目錄的大小

文法:du [選項]  [目錄/檔案]

du -sh /  ##統計根目錄總大小

du -sh /*  ##統計根目錄的子目錄的總大小

du -sh /etc/redhat-release   ##統計單個檔案大小

3)檔案内容的檢視:cat,more/less,head/tail,grep,wc

cat檢視或者連接配接小檔案

文法:cat 檔案1 檔案2

cat  /etc/hosts   ##檢視小檔案/etc/hosts

cat  /etc/hosts  /etc/resolv.conf  ##連接配接多個小檔案并顯示

cat  /etc/hosts.allow  > /root/acl.txt  ##将檔案内容輸入到目标檔案

cat  <<END >>/root/nfile.txt   ##在shell腳步建立檔案或者添加内容到nfile.txt中

檔案内容

END

more/less檢視大檔案,支援分頁檢視。

文法:more/less  檔案

技巧:ctrl+f,ctrl+b進行翻頁,q推出

more  /var/log/messages  ##分頁檢視日志檔案

less  /var/log/messages  ##同上

head檢視檔案頭部

文法:head  [-行數]  檔案

head和tail預設檢視檔案的10行内容。

tail檢視檔案的尾部

文法:tail  [-行數]  檔案

cat  /etc/passwd  ##檢視系統賬号檔案

head -1 /etc/passwd  ##檢視第一行

useradd u01  ##建立u01使用者

tail -1  /etc/passwd  ##檢視最後一行

head /etc/passwd |wc -l  ##統計結果為10

tail  -f  /var/log/messages  ##日志檔案messages的跟蹤,以便于排錯

grep根據關鍵字檢索檔案

文法:grep [選項] 關鍵字  被檢索的檔案

grep  u01  /etc/passwd  ##查找u01是否在/etc/passwd檔案中

cat  /proc/meminfo |grep -i  total  ##-i忽略大小寫的方式檢索記憶體總大小資訊

cat  /etc/hosts.deny  |grep -v  "^#" |grep -v "^$"  ##-v取反方式檢索,^#表示注釋,^$表示空行

grep u01  /etc/*   ##檢索u01所在檔案及所在該檔案的哪一行,檔案名稱與内容使用者“:”分割

wc字數統計

文法:wc [選項]  檔案

wc -l  /etc/resolv.conf  ##統計檔案的行數

wc -w  /etc/resolv.conf  ##統計檔案的單詞數

cat  /etc/passwd  |wc -l  ##統計系統中賬号的總數,一行是一個賬号,總行數即是總賬号數

2.檔案的增加:mkdir、touch、ln、cp

1)目錄建立:mkdir

文法:mkdir [-p]  目錄

mkdir /test  ##使用絕對路徑建立

mkdir test   ##使用相對路徑建立,等于/目前目錄/test

mkdir /t1/t2/t3  ##無法建立,加選項-p即可建立。

2)建立空檔案:touch

文法:touch  檔案名稱

mkdir test

cd  test

touch a.txt  ##建立單個檔案

touch  {1..10}.mp3  ##建立10個檔案,以數字命名,字尾是mp3

touch  {a..z}-{1..10}.{mp4,txt,avi}   ##建立多個檔案,以單個字母-單個數字命名,字尾分别是mp4,txt,avi等。

rm -rf ./*  ##删除建立的檔案

3)建立連結檔案:ln

文法:ln [-s]  被連結的檔案  新連結檔案

連結分為:軟體連結和硬連結,軟體連結建立時使用選項-s即可,軟體被連結檔案删除,則連結檔案失效,硬連結的被連結檔案可以被删除。

ln  -s  /etc/resolv.conf  /root/dns  ##為常通路的檔案建立連結

4)複制:cp

文法:cp  [選項]  源檔案  目的檔案/目錄

常用選項:-rf,源檔案可以是多個,這時目的必須是目錄;

cp  /etc/resolv.conf  /root  ##複制檔案到目錄

cp  /etc/resolv.conf  /root/dns  ##複制并重命名檔案

cp -rf  /etc/  /tmp   ##複制目錄時必須加-rf選項,且目的必須是目錄

3.檔案的删和改:rm、mv、vi/vim

1)删除檔案或目錄:rm

文法:rm  [選項]  檔案/目錄

cp  /etc/resolv.conf  /tmp

rm  -rf /tmp/resolv.conf  ##删除單個檔案

cp -rf /etc/  /tmp

ls /tmp

rm -rf /tmp/*  ##清空/tmp目錄

注意在删除認真确認,避免誤删。

2)移動:mv

文法:mv  源檔案 目标檔案或者是目錄

源檔案與目标檔案如果在同一個目錄相當于改名,不在同一個目錄是移動。

touch 1.file

mv  1.file  123  ##改名

mv  123  /tmp    ##剪切檔案到/tmp目錄

3)文本編輯器:vi/vim

vi/vim編輯或者建立檔案

a.vi的基本用法:

一分學會vi流程:vi  檔案-->i-->輸入内容-->按ESC鍵-->:wq

案例:建立ip.txt,内容為10.10.10.128

b.vi補充内容

:% g/^$/d  ##删除空行

:% g/^#/d  ##删除#開始的行

:!ip  a   ##在vi中執行指令

ctrl+r  ##重做,與u撤銷相反

4.tar備份系統:gzip,bzip2,xz,tar

gzip/bzip2/xz壓縮工具

文法:gzip  [-9/-d]  檔案   ##其他相同

touch  123.txt

gzip 123.txt  ##123.txt消失,生産123.txt.gz檔案;bzip2,xz相同

gzip -d  123.txt.gz  ##解壓

tar歸檔,并調用gzip、bzip2、xz等壓縮工具進行壓縮。

文法:

備份:

tar  -zcvf  檔案名稱-日期.tar.gz  備份的目錄或檔案  ##調用gzip

tar  -jcvf  檔案名稱-日期.tar.bzp2  備份的目錄或檔案  ##調用bzip2

tar  -Jcvf  檔案名稱-日期.tar.xz  備份的目錄或檔案  ##調用xz

恢複:解壓縮

tar -zxvf  檔案名稱-日期.tar.gz  -C  釋放的目錄  ##其他格式相同

檢視壓縮包中的内容:

tar  -ztvf  檔案名稱-日期.tar.gz   ##不解壓檢視,其他格式相同

備份/etc和/boot

tar -zcvf /opt/etc-boot-$(date +%F).tar.gz  ##将z換為j生bz2格式的檔案

tar -xcvf /opt/etc-boot-$(date +%F).tar.xz

解壓縮恢複:

tar -zxvf /opt/etc-boot-*.tar.gz -C /tmp  ##同理替換z為j或者J可以對bz2、xz格式的檔案進行解壓

檢視:

tar  -ztvf  /opt/etc-boot-*tar.gz  ##不解壓隻檢視内容,同理操作xz、bz2格式的檔案

繼續閱讀