[TOC]
# 查看目錄 || 文件
## 目錄切換:
~~~
> cd 目錄名字 #切換到哪個目錄
> cd / #切換到根目錄
> cd .. #向上級目錄切換
> cd ~ #快速切換回自己的家目錄
~~~
## 查看目錄下的文件信息:
~~~
> ls #list查看當前目錄下有什么文件
> ls -l 或ll #list -list通過詳細內容形式查看目錄下的文件內容
> ls 目錄 #查看指定目錄下文件名字信息
> ls -l 目錄 #以詳細列表形式查看指定目錄下文件名字信息
> ls -a #slist all查看全部文件,包括隱藏文件
> ls -al //list list all以詳細列表形式查看全部文件,包括隱藏
文件:
> ls -i //查看目錄下文件名字的索引號碼(id號)
> ls -h //人性化顯示(顯示文件大小)
> ls -d //查看目錄屬性
~~~
# 操作目錄 ||文件
* cat #查看文件內容
` > cat filename(需要操作的文件名) #在終端顯示文件全部內容`
> -n 顯示的時候帶行號(空行也編號)
> -b 顯示的時候帶行號(空行不編號)
~~~
# 和grep一起使用
> cat -n log.xml | grep -C 5 'subscribe' #查找log.xml文件中,有subscribe關鍵詞的行,并顯示其上下5行
grep的參數: -C上下5行; -B前5行; -A后5行
~~~
* more filename #通過"敲回車"方式從第一行逐行查看文件內容;不支持回看;q鍵 退出查看
* less filename #"上下左右"鍵方式查看文件各個部分內容;支持回看,q鍵 退出
* head -n filename #查看文件“前n行”內容
* tail -n filename #查看文件“末尾n行”內容
> -f 當文件增長時,輸出后續添加的數據;
* head -5路徑/文件名 #查看前5行
* tail #查看后5行
> 不加參數 列出尾行
> -n 指定行數
> -f 動態查看數據寫入
* locate #也是查找文件,效率上會比find快一點
* find 路徑 -type f -name文件名 #查找文件‘文件名*’ #模糊查找
1. name 根據文件名字查找指定的文件
find 目錄 -name 完整文件名稱
~~~
> find / -name passwd[完整名稱] #"遞歸遍歷"系統全部目錄查找名字等于passwd的文件
> find /etc -name passwd[完整名稱] #遞歸遍歷/etc及內部所有目錄查找 名字等于passwd的文件
> find 目錄 -name "an*"[部分名稱] #模糊查找文件名字以an開始的
~~~
2. 對查找的目錄層次進行限制
> -maxdepth #限制查找的最"深"層次
> -mindepth #限制查找的最"淺"層次
> find / -name passwd -mindepth 3 -maxdepth 4 //在3到4個層次的目錄里邊定位passwd文件
3. 根據文件大小進行查找
> - size 單位
> find ./目錄路徑 -size 50c //在當前目錄下查找大小[等于]50個字節的文件
單位:
數量 單位 實際大小
100 -------> 512字節:【100*512字節】
50c -------> 字節 : 【50字節】
50k -------> 千字節: 【50*1024字節】
50m -------> 兆字節 【50*1024*1024字節】
> find ./ -size +50c #在當前目錄下查找大小[大于]50個字節的文件
> find ./ -size -50c #在當前目錄下查找大小[小于]50個字節的文件
4. 查找10天前修改的文件(源慕課4-3,12分開始,17分)
5. 搜索文件(效率比find高,比find搜的快)源自慕課4-1(視頻上的系統是6.3)
> find 文件名 #他在/var/lib/mlocate后臺數據庫(默認每天更新1次)中搜索,所以新建的他搜索不到。
> updatedb #強制更新數據庫后就可以搜索到了
* grep '要查找的內容' 要查找的文件名(絕對或相對路徑) #【查行】支持正則
> -v //取反
> -E //能使用擴展正則表達式
~~~
> grep -Ev '^#|^$' nginx.conf //去掉配置文件中,以#開頭的,和空行。用cat -A就能看出來空行是$
> grep 'sbin' /etc/passwd //在passwd文件中查找sbin字樣,會把sbin所在行的內容都輸出
~~~
和find的區別:find是查找文件在哪里,grep是查找文件中的xx些內容。此查找不是在vim編輯器中查找vim查找內容用的是/和?
6、awk '{print $1}' 文件名 //【查列】輸出第1列的數據。英文單引,支持正則。
-F '分隔符' //默認的分隔符是空,以什么分隔符進行列和列的切分,英文單引
7、sed -i 's#no#yes#g' 要替換的文件名 //【增改刪】不使用vim的替換(不打開文件情況下的替換),支持正則。
>[warning]注意:和vim的替換差不多,vim中是:%s#no#yes#g //將整個文檔的no替換成yes
>[info] 總結:awk、grep、sed三劍客,都支持正則
6、wc 文件名 //統計
-c #統計字節數 -w #統計單詞數 -l #統計行數
> grep '80.82.70.187' /var/log/nginx.access.log | awk '{print $1}' | wc -l //先取行,在取列,最后統計。統計80.82.70.187有多少個
7、du -h //查看文件或目錄的大小以k m的形式查看文件占據磁盤空間大小
8、df -h //磁盤的使用情況
# 對文件/目錄的【增刪改】
1、mkdir 目錄名//【增】新建-p遞歸新建
2、touch 文件名//【增】新建
3、mv 原目錄路徑 新目錄路徑//【改】移動(目錄文件均可操作)
4、rename //修改文件名
5、cp 源目錄路徑 新目錄路徑//【改】復制(目錄文件均可操作)-r是給目錄用的,遞歸復制
6、rm -rf //【刪】遞歸刪除目錄和文件
7、unlink //【刪】文件名;只能刪除文件
8、echo 內容 >路徑文件名//【改】覆蓋追加2個>>換行追加(不覆蓋),內容復雜的話,用引號引起來,單詞用空格間隔
9、diff 文件a 文件b //對倆個文件進行對比,輸出的是a和b文件不一樣的地方
安裝和解壓
1、yum install 軟件包名-y #安裝軟件包
yum search 軟件包不精確的名字 //在yum中查找軟件包
yum list installed //yum中已安裝的包
2、rpm 傻瓜式下一步安裝軟件
4、zip壓縮和解壓
范例:
zip命令可以用來將文件壓縮成為常用的zip格式。unzip命令則用來解壓縮zip文件。
4.1、 我想把一個文件abc.txt和一個目錄dir1壓縮成為yasuo.zip:
# zip -r yasuo.zip abc.txt dir1
4.2、我下載了一個yasuo.zip文件,想解壓縮:
` > unzip yasuo.zip`