檔案管理:增、删、改、查
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格式的檔案