查看目錄(ls、pwd)
> ls // list 文件當前目錄下文件信息
> ls -a // all 文件當前目錄下全部(包括隱藏)文件信息
> ls -l 或 ll // 以詳細列表形式查看文件內(nèi)容
> ls -al // 文件當前目錄下全部(包括隱藏)文件信息以詳細列表形式顯示
> ls 目錄 //查看目錄下邊有什么文件信息
> ls -al 目錄 //輸出指定目錄下的全部文件信息,以詳細列表形式輸出
> pwd //查看當前用戶所在的位置
目錄切換(cd)
> cd 目錄名稱 //切換到指定目錄
> cd .. //切換到上級目錄
> cd 回車 //切換到當前用戶所在目錄
> cd ~ //切換到當前用戶所在目錄
> cd / //切換到系統(tǒng)根目錄
目錄創(chuàng)建(mkdir)
# 創(chuàng)建目錄
mkdir 目錄名
# 創(chuàng)建多級目錄(目錄都不存在)
mkdir -p 目錄1/目錄2
# 創(chuàng)建多級目錄(存在上級目錄)
mkdir 存在的目錄/目錄
目錄移動(mv)
# mv 要移動的文件或目錄 目標目錄
mv a b # 將目錄a 移動到 b目錄中
mv p.txt b # 將文件p.txt 移動到b目錄中
目錄復制(cp)
cp -R 要復制的目錄 復制后的目錄
cp -R xx yy # 將xx目錄復制一份 命名為yy
目錄/文件重命名(mv)
mv 舊名 新名
目錄/文件刪除(rmdir、rm)
rmdir 目錄 # 刪除 一個空目錄
rm -r 目錄 # 刪除目錄及以下文件和目錄
rm -rf 目錄 # 強制刪除目錄及以下文件和目錄
新建文件(touch、echo)
touch 文件名 # 創(chuàng)建空白文件
echo 內(nèi)容 > 文件名 # 將內(nèi)容添加到文件中,如果文件不存在,創(chuàng)建,如果文件有內(nèi)容,覆蓋
echo 內(nèi)容 >> 文件名 #追加內(nèi)容
鏈接文件/目錄(ln)
ln 源文件/目錄 目標文件/目錄 # 建立連接
ln -s 源文件/目錄 目標文件/目錄 # 軟鏈接建立
文件搜素(grep)
grep 要搜索的文字 搜索的文件 # 在指定文件中查找包含指定內(nèi)容的行
文件查看(cat、more、less、head、tail、wc)
cat
# 查看文件的所有內(nèi)容
cat 文件名
more
# 查看文件內(nèi)容
# 用于文件內(nèi)容較多的時候
# 按回車會 逐行進行向下查看
# 按q 進行退出
more 文件名稱
less
# 查看文件的內(nèi)容
# 用于文件內(nèi)容較多的時候
# 用 ‘上下左右’方向鍵進行查看
# 按q 進行退出
less 文件名
head
head -n 文件名 # 用于查看文件的前n行
head -5 file.txt 查看file.txt文件前5行
tail
tail -n 文件名稱 # 用于查看文件的后n行
tail -5 file.txt #查看file.txt文件后5行
tail -f file.txt # 循環(huán)滾動讀取文件并動態(tài)顯示在屏幕上,根據(jù)文件屬性追蹤
tai -F file.txt # 循環(huán)滾動讀取文件并動態(tài)顯示在屏幕上,根據(jù)文件屬性追蹤
wc
# 計算文件
wc 文件名
wc file.txt
14 20 53 file.txt
14:表示文件中有14行
20:表示有20個單詞(空格區(qū)分)
53:表示有53個字符
wc -m file.txt # 字符數(shù)統(tǒng)計
wc -w file.txt # 字數(shù)統(tǒng)計
文件查找(Find)
語法:
find path -option [ -print ] [ -exec -ok command ]
參數(shù):
- -mount, -xdev : 只檢查和指定目錄在同一個文件系統(tǒng)下的文件,避免列出其它文件系統(tǒng)中的文件
- -amin n : 在過去 n 分鐘內(nèi)被讀取過
- -anewer file : 比文件 file 更晚被讀取過的文件
- -atime n : 在過去n天內(nèi)被讀取過的文件
- -cmin n : 在過去 n 分鐘內(nèi)被修改過
- -cnewer file :比文件 file 更新的文件
- -ctime n : 在過去n天內(nèi)被修改過的文件
- -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name
- -ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會忽略大小寫
- -name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫
- -size n : 文件大小 是 n 單位,b 代表 512 位元組的區(qū)塊,c 表示字元數(shù),k 表示 kilo bytes,w 是二個位元組。
- -type c : 文件類型是 c 的文件。
將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來:
# find . -name "*.c"
將目前目錄其其下子目錄中所有一般文件列出
# find . -type f
查找指定時間范圍內(nèi)的文件
例如查找 2021-01-01 到 2021-06-01 之間的 nginx log文件
[root@localhost /]# find /data/wwwlogs/ -name '*nginx*.log' -newermt '2021-01-01' ! -newermt '2021-06-01'
/data/wwwlogs/www.backend.com_nginx.log
/data/wwwlogs/access_nginx.log
/data/wwwlogs/error_nginx.log
/data/wwwlogs/www.frontend.com_nginx.log
找出 3 天”以前”被改動過的文件
find /file_path -mtime +3 -type f -print
找出 3 天內(nèi)被改動過的文件
find /file_path -mtime -3 -type f -print
找出前第 3 天被改動過的文件
find /file_path -mtime 3 -type f -print
找出第 3 天被改動過的文件
find /file_path -mtime +2 -mtime -4 -type f -print
將當前目錄及其子目錄下所有最近 20 天內(nèi)更新過的文件列出:
# find . -ctime -20
查找 /var/log 目錄中更改時間在 7 日以前的普通文件,并在刪除之前詢問它們:
# find /var/log -type f -mtime +7 -ok rm {} \;
查找當前目錄中文件屬主具有讀、寫權(quán)限,并且文件所屬組的用戶和其他用戶具有讀權(quán)限的文件:
# find . -type f -perm 644 -exec ls -l {} \;
查找系統(tǒng)中所有文件長度為 0 的普通文件,并列出它們的完整路徑:
# find / -type f -size 0 -exec ls -l {} \;
查找大文件
查找當前目錄大于800M的文件
find . -type f -size +800M
查找當前目錄大于800M的文件,并顯示詳細信息
find . -type f -size +800M -print0 | xargs -0 ls -l
查找當前文件大于800M的文件,并顯示文件大小
find . -type f -size +800M -print0 | xargs -0 du -h
查找當前文件大于800M的文件,并顯示文件大小,按照大小排序
find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
查找當前文件大于800M的文件,并顯示文件大?。ò凑誐B顯示),按照大小排序
find . -type f -size +800M -print0 | xargs -0 du -hm | sort -nr