linux系統(tǒng)文件結構
/ 根目錄
/bin 存放必要的命令
/boot 存放內核以及啟動所需的文件
/dev 存放設備文件
/etc 存放系統(tǒng)配置文件
/home 普通用戶的宿主目錄,用戶數據存放在其主目錄中l(wèi)ib 存放必要 的運行庫
/mnt 存放臨時的映射文件系統(tǒng),通常用來掛載使用
/proc 存放存儲進程和系統(tǒng)信息
/root 超級用戶的主目錄
/sbin 存放系統(tǒng)管理程序
/tmp 存放臨時文件
/usr 存放應用程序,命令程序文件、程序庫、手冊和其它文檔。
/var 系統(tǒng)默認日志存放目錄錄
關閉防火墻
systemctl stop firewalld.service
禁止防火墻開機啟動
systemctl disable firewalld.service
關閉SELinux
nano -w /etc/selinux/config
將SELINUX=enforcing改為SELINUX=disabled保存并退出:^x->y->回車
————–
命令:ls
-a 這個選項能顯示.開頭的隱藏文件
-i 顯示每個文件的inode號
-m 所有項目以逗號分隔,并填滿整行行寬
-R 同時列出所有子目錄層
-h 將列出文件的大小以人性化格式輸出
–color=tty(2個-號)顯示文件的時候以色彩提示
目錄 可執(zhí)行文件 連接文件 一般文件
藍色 綠色 淡藍色 白色
查看文件狀態(tài)修改時間
ls -lc [文件名]
查看文件的訪問時間
ls -lu [文件名]
查看文件的最后修改時間
ls -l
顯示文件的詳細訪問時間
ls –full-time
顯示本地目錄下以” .”開頭的文件
ls -d .*
命令: date 顯示系統(tǒng)當前時間
命令格式: date [選項]
-R 按照RFC822文檔中的時間格式來實現(xiàn)時間
-r 文件名 顯示文件的最后修改日期
-u 顯示utc時間(通用時間)
使用date查看過去/將來的時間
1. 查看2045年8月15日是星期幾(當前時間為2014-9-27)
date -d “+31year -1 month -12 day”
2.顯示2014年1月1日星期幾
date -d “+3month +5day”或#date -d “+4month -26day”
命令: hwclock 顯示硬件時鐘
將系統(tǒng)時鐘同步至硬件時鐘
hwclock –systohc
將硬件時鐘同步至系統(tǒng)時鐘
hwclock –hctosys
命令: tzselect 功能:設置系統(tǒng)時區(qū)
1. 設置當前系統(tǒng)的時區(qū)
tzselect
命令: timedatectl 功能:設置系統(tǒng)時間及日期
語法格式:timedatectl [選項] [日期]
示例:
1. 顯示各項當前時間
timedatectl
2.顯示系統(tǒng)所支持的時間區(qū)域
timedatectl list-timezones
3.設置當前系統(tǒng)的時間區(qū)域
timedatectl set-timezone Asia/Shanghai
4. 設置當前系統(tǒng)時間
timedatectl set-time “2014-09-0912:29:30”
5.設置NTP支持
timedatectl set-ntp true
命令: mkdir 創(chuàng)建目錄
-p 建立多級目錄
-m 在建立目錄的時候給目錄賦于權限值
示例: mkdir -p /name/a/b/c
命令: rmdir 刪除空目錄
-p 刪除多級空目錄
示例: mkdir -p /name/a/b/c
注意:目錄本身一定要是空的
命令: rm 刪除文件/目錄
-i 在刪除文件之前需要手工確認
-v 在刪除文件的時候顯示信息
-r 刪除目錄 -f 忽略提示
示例: rm -v filename
常用選項: rm -rf 目錄名
命令:cp 復制命令
cp [選項] 文件名(原件) 目的文件名(復印件)
-R 復制整個目錄里的內容
-p 復制完后保持目錄的權限值
-v 在復制文件的時候顯示進度
-f 在復制的時候如果碰到目的文件名有重復就將原先的刪除
命令: mv 移動文件或目錄/修改文件或目錄名
命令格式: mv [選項] 源文件 目的路徑
-i 如果目的地有相同文件名時會出現(xiàn)提示
-v 在搬移文件時顯示進度,在移動多文件時非常有用
-u 當移動時只有源文件比目的文件新的時候才會移動
-f 強制覆蓋已有的文件
示例: mv -i 1.jpg /home/2.jpg
命令: pwd 顯示當前工作路徑
命令:cat 查看文本文件
命令格式: cat [選項] 文件名
-b 顯示文件內容的時候顯示行數
-n 顯示文件內容包括空行
-s 將多個空行合并成一個空行輸出
命令: more 查看文本文件命令
命令格式: more [選項] 文件名
+行數直接從給定的行數開始顯示
-s 將多個空行壓縮成一個空行
-p 清除屏幕后再顯示
提示: 用more打開一個文件后用空格向下翻頁,用b向上翻頁
命令: nano 功能:文本編輯器
命令格式:nano [選項] [行號] 文件名
命令: head 查看文件頭部
命令格式:head [選項] 文件
-n <行數> 顯示文件的最前指定的行
-c <字節(jié)數> 顯示文件前N個字節(jié)數里的內容
-q 不輸出文件頭的內容
-v 輸出文件頭的內容
示例: head -n 15 test.file
命令: tail 查看文件尾部
命令格式:tail [選項] 文件
-f 循環(huán)讀取
-c <字節(jié)數> 顯示文件前N個字節(jié)數里的內容
-q 不輸出文件頭的內容
-n <行數> 指定所顯示的行數
-v 輸出文件頭的內容
示例: tail -n 15 test.file
命令:ln 生成鏈接文件
命令格式:ln [選項] 源文件 鏈接文件
-f 刪除已存在的目的文件
-i 如果碰到有重復名字的提示如何操作
-v 顯示操作信息
-s 軟鏈接選項
命令: file 功能:查看文件的類型
命令: stat 功能:顯示文件或文件系統(tǒng)狀態(tài)
命令格式:stat [選項] <文件/目錄>
-f:查看指定的文件系統(tǒng)
stat可查看:
文件名 2. 文件尺寸 3. I節(jié)點號 4. 創(chuàng)建時間/訪問時間/狀態(tài)(屬 主、組、權限)修改時間 5.權限 6.鏈接文件個數 7. 屬主及屬組等
多命令配合或結果導入、導出符號
“ |” 管道符號
“ >” 輸出重定向
“ >>” 輸出重定向
“ <” 輸入重定向
多命令配合或結果的引用符號
“ ” 雙引號
‘ ‘ 單引號
反引號
命令: whereis
特點: 是查找工具中速度最快的一個,但是whereis查找的范圍有限, whereis 只能查找2進制程序,文檔和源碼。
命令: which
which命令是查找工具中速度最快命令之一,但是which查找的范圍有限,但是 它可以給用戶顯示出命令所在的路徑
命令格式:which 文件名
find -size n [c]
查找n值大小的文件,默認單位是塊(1塊=512字節(jié))
1. 查找大于1500字節(jié)的文件
find ~ -size +1500c
2. 查找等于1500字節(jié)的文件
find ~ -size 1500c
3.查找小于1500字節(jié)的文件
find ~ -size -1500c
4.查找大于512k字節(jié)的文件
find ~ -size +512k
5.查找等于1M字節(jié)的文件
find ~ -size 1M
6.查找小于1G字節(jié)的文件
find ~ -size -1G
7.查找大于10塊的文件
find ~ -size +10
8.查找等于10塊的文件
find ~ -size -10
9.查找大于10M小于20M的文件
find ./ -size +10M -size -20M
10.查找小于10塊的文件
find ~ -size -10
11.查找文件/目錄字節(jié)為0的文件(即空文件)
find / -empty
命令: grep
功能: 通過正則表達式查找文件中的關鍵字
參數:
-i:忽略大小寫
-c:打印匹配的行數
-C:打印出匹配的上下文(上N行,下N行)的多少行
-l:列出匹配的文件名
-L:列出不匹配的文件名
-n:打印包含匹配項的行和行標
-w:僅匹配指定的單詞而非關鍵字
-e:索引匹配字串
-r:遞歸查詢
-v:不輸出匹配的行
-A <行號>:顯示所找的匹配字段,并顯示下面指定的行數的信息
-B <行號>:顯示所找的匹配字段,并顯示上面指定的行數的信息
正則表達式表示方法:
忽略正則表達式中特殊字符的原有含義
^ 匹配正則表達式的開始行
$ 匹配正則表達式的結束行
< 從匹配正則表達式的行開始
> 到匹配正則表達式的行結束
[ ] 單個字符;如[A] 即A符合要求
[ n – m ] 范圍 ;如[A-H]即包含A至H都符合要求
. 所有的單個字符
* 所有字符,長度可以為0
命令: egrep
信息: grep的增強版/擴充版(即grep -E)
特點:
1.支持匹配,即匹配0到1個正則表達式
2.支持+匹配,即匹配1到N個正則表達式
3.支持”或關系”的匹配
4.在查找范圍時,可直接用{a,z},而不需要””符號
5.可以被()來包含正則表達式進行分組
6.參數與grep基本通用
示例:
1. 遞歸且不區(qū)分大小寫對test字段查找
grep -ri “test” ./
2. 打印匹配”test”關鍵字有多少行
grep -c “test” grepcmd.txt
3. 打印匹配”test”關鍵字的上下文各1行
grep -C 1“test” grepcmd.txt
4. 打印匹配test關鍵的行并顯示行號
grep -n “test” grepcmd.txt
5. 查找開頭為”#”的行,并顯示行號
grep -n ^# grepcmd.txt
6. 查找在本地目錄下(含子目錄)結尾為”c”的文件
grep -r c$ ./
7. 查找以”man”開頭的單詞
grep ‘
8. 查找”man”僅匹配此三個字符
grep ” grepcmd.txt
9. 查找含有以”D”字符開頭的行
grep -n ^[D] grepcmd.txt
10. 查找含有以”A-F”字符開頭的行
grep -r “^[A-F]” ./
11. 查找含有以”A-F”字符開頭,第2個字符為i的行
grep “^[A-F]i” grepcmd.txt
12. 查找含有以’nobody’字符的行及下面3行信息
grep -A 3 ‘nobody’ /etc/passwd
13. 查找含有以’nobody’字符的行及上面3行信息
grep -B 3 ‘nobody’ /etc/passwd
14. 查找以D或d字符為開頭的行
egrep ‘(^D|^d)’ egrepcmd.txt
15.匹配以D開頭的0個或1個字符
egrep ^D egrepcmd.txt
16.查找不包含”chuai”及”lisa”的字段
egrep -v ‘^(chuai|lisa)’ egrepcmd.txt
命令: cut
功能: 對所需字符進行截取
-d “n”:定義分界符,即點位
-f n:取第幾位的字符
示例:
1. 以空格符為分界符,進行第2位截取.
cut -d “ “ -f 2 ./cutcmd.txt
2.以空格符為分界符,進行第1,3位截取.
cut -d “ “ -f 1,3 ./cutcmd.txt
命令:sed
功能:通過指定的正則表達式完成指定關鍵字的過濾、截取、修改等操作
特點:
1.sed屬于一個流線式的非交互式的編輯器
2. sed在輸入命令和文件名后,將在屏幕上輸出
3.在不用重定向至文件之前,是不會改變文件現(xiàn)有內容以避免修改文件時出現(xiàn)問題
示例:
1.將install.log的第1-3行刪除 $sed ‘1,3d’ install.log
2.對install.log查找以A或a開頭且后面字符為pache的字串 $sed -n ‘/^[Aa]pache/p’ install.log
3.打印匹配字段的行及所有行 $sed ‘/ftp/p’ install.log
4.打印匹配字段的行 $sed -n ‘/ftp/p’ install.log
5.默認刪除第3行 $sed ‘3d’ install.log
6.默認刪除第3行至末尾行 $sed ‘3,$d’ install.log
7.刪除含有指定字段的行 $sed ‘/data/d’ install.log 8.將data替換為date $sed –n ‘s/data/date/p’ install.log 9.將行尾noarch為結尾后面增加.chuai字符 $sed ‘s/noarch$/&.chuai/’ install.log
8.將所有行尾noarch的單詞替換為chuai單詞 $sed -n ‘s/noarch$/chuai/gp’ install.log
9.顯示包含ra及data字段的行 $sed –n ‘/ra/,/data/p’ install.og
10.從第5行開始顯示直至包含有data的行 $sed -n ‘5,/data/p’ install.log
命令:awk
功能:通過正則表達式,得到需要的行,列信息
示例:
1.用awk 打印所有包含有data字段的行
$awk ‘/data/’ install.log
2. 查看df -h命令的第2列
$df -h | awk ‘{print $2}’
3. 查看df -h名ing的第2,5列
$df -h | awk ‘{print $2,$5}’
4. 顯示install.log的第四行
$awk ‘NR==4’ install.log
5.打印install.log文件中包含data字段行的第二區(qū)域
$awk ‘/data/ {print $2}’ install.log
6. 列示月份及年份( 為換行符)
$date | awk ‘{print “Year:” $6 “ Month:” $2 }’
7. 在有/data關鍵字的行的第1列后面增加1個 制表符,并增加RedHat,第2列后面!字符
$awk ‘/data/{print $1 “ RedHat Linux”$2 “!” }’ install.log
8. 在有data關鍵字的行第1列前面增加1個 制表符,并增加RedHat,第2列后面!字符)
$awk ‘/data/{print “ RedHat Linux, “$1,$2 “!” }’ install.log
9. 在有noarch字段的行前增加記錄號($0為行頭前)
$awk ‘/noarch/{print NR, $0}’ install.log
10. 在有sda2字段的行前增加行的序號及顯示第2列內容
$df -h | awk ‘/sda2/{print NR,$2}’
11. 匹配noarch字段,如果有,則顯示整行
$awk ‘$2 ~ /noarch/’ install.log
12. 匹配不存在noarch字段的行,如果有,則顯示整行
$awk ‘$2 !~ /noarch/’ install.log
命令:sort
功能:默認以排序ASCII方式進行排序[a-z]
參數:
-u 去除重復的行
-r 降序排序[z-a]
-n 數值排序,默認情況10比2小,主要因為sort判斷第一字符的值
-k 以文本的列進行判斷
-t 設定分界符
示例:
1.對/etc/passwd文件進行升序排序
sort /etc/passwd
2.對/etc/passwd文件進行降序排序
sort -r /etc/passwd
3.對/etc/passwd第3列進行數值排序,分界符為:
sort -n -k 3 -t : /etc/passwd
4.對test.txt文件中重復的行刪除并升序排序
sort -u test.txt
5.對/etc/shadow文件進行降序排序
sort -r /etc/shadow
6.對/etc/passwd第3列進行數值排序,分界符為:
sort -n -k 3 -t : /etc/passwd
7.對/etc/passwd的第2列進行逆序排序,并對第3列進行數值排序,優(yōu)先級為第2列
sort -k 2r -k 3n -t : /etc/passwd
8.對/etc/passwd的第3列進行數值排序,第2列進行逆序排序,優(yōu)先級為第3列
sort -k 3n -k 2r -t : /etc/passwd
命令:wc
功能:統(tǒng)計行數、字數、字符數、文件總統(tǒng)計數
參數:
-l 統(tǒng)計行數
-c 統(tǒng)計字節(jié)數
-w 統(tǒng)計字數(單詞數)
示例:
1. 統(tǒng)計/etc/passwd文件行數
wc -l /etc/passwd
2.統(tǒng)計/etc/passwd文件的字數
wc -w /etc/passwd
3.統(tǒng)計/etc/passwd文件的字節(jié)數
wc -c /etc/passwd
4.統(tǒng)計/etc/passwd文件行數和字節(jié)數
wc -lc /etc/passwd
5.統(tǒng)計/etc/passwd與/etc/fstab各文件的行、字、字節(jié)數
wc -lwc /etc/passwd /etc/fstab
命令:uniq
功能:檢查文本中重復出現(xiàn)的行
-c 顯示輸出,并在文本行前加出現(xiàn)的次數,但如果重復行不連續(xù),則不認為是重 復的行
-d 只顯示重復的行
-u 只顯示不重復的行
1. 對test.txt內容進行檢查并顯示次數
uniq -c test.txt
2.對test.txt的重復行不顯示
uniq -u test.txt
3.忽略test.txt的第1列,對第2列進行檢查
uniq +1
4.對test.txt的顯示重復行
uniq -d test.txt
5.忽略test.txt的第1個字符, 從第2個字符開始進行檢查
uniq -s 1 test.txt
6.對每行的第2個字符以后不在做檢查
uniq -w 2 -c test.txt
命令:tac
功能:將行顛倒
說明:將最頭行放置最底行,文本中所有的行均顛倒輸出
命令:tr
功能:大小寫轉換
語法格式:tr 現(xiàn)有小寫范圍 轉換大寫范圍
tr 現(xiàn)有大寫范圍 轉換小寫范圍