作為自己使用的學(xué)習(xí)記錄
持續(xù)更新~
1狭莱、文件操作
# 目錄操作
# 主要介紹cd ls pwd三個命令
cd dirName
cd / # 進(jìn)入根目錄
cd .. # 進(jìn)入上級目錄
cd - # 返回上次工作目錄
cd test # 進(jìn)入當(dāng)前目錄的test目錄
ls # 列出當(dāng)前目錄下全部文件及文件夾
ls -a # 將隱藏文件也顯示出來
ls -l # 顯示目錄詳細(xì)信息撵枢,可以和a一起使用捧请,如 ls -al
ll # 列出文件詳細(xì)信息
pwd # 顯示當(dāng)前所在位置
# 創(chuàng)建文件夾
mkdir dirName
mkdir -p /home/test # 確保目錄名稱存在,不存在的就建一個
# 創(chuàng)建文件
touch fileName
# vim是打開并編輯文件些己,如果文件不存在豌鸡,退出后會新建
vim fileName
# 刪除文件或者文件夾
# r表示遞歸刪除嘿般,f強制刪除
rm -rf file
rm -rf /home/test # 刪除/home下test文件夾
rm -rf /home/test/* # 刪除/home/test文件夾下的全部文件
rm -rf /home/test/word* # 刪除/home/test文件夾下全部以word開頭的文件
rm -rf `ls | grep word` # 刪除當(dāng)前文件下名稱包含word的文件(這里使用的是管道的方式,ls獲取當(dāng)前目錄全部文件名然后過濾文件命中包含word的字段涯冠,在刪除過濾后的結(jié)果)
rm -rf `ls | sed '/test/d'` #刪除當(dāng)前文件夾下名稱不包含test的文件
# 拷貝文件
# r表示遞歸炉奴,主要作用于目錄,單文件拷貝不需要也可
cp -r [選項] 源文件 目標(biāo)目錄
cp test.txt /data/file/ # 將當(dāng)前目錄下的test.txt文件拷貝到/data/file/目錄下
cp -r /home/* /data/ # 將home目錄下文件及文件夾全部拷貝到data目錄下
操作時如果出現(xiàn)覆蓋的情況蛇更,可以在此命令前加上 \瞻赶,如
\cp -r /home/* /data/ # 這樣就不會出現(xiàn)提示是否覆蓋
# 移動文件
命令mv基本同cp操作,不過移動后原文件不存在
2派任、文件內(nèi)容操作
# 文件查看
# 查看命令主要使用cat head tail這三個命令
cat fileName # 查看文件全部內(nèi)容
head -n fileName #查看文件前n行砸逊,參數(shù)不填默認(rèn)為10行,如 head -5 test.txt
tail -n fileName #查看文件后n行掌逛,參數(shù)不填默認(rèn)為10行师逸,如 tail -2 test.txt
# 文件編輯
# vim命令有很多快捷操作,篇幅有限這里只簡單介紹基本操作
# vimfileName后是查看文件內(nèi)容豆混,此時鍵盤輸入i進(jìn)入編輯模式即可編輯文件
# 編輯完成后鍵盤esc鍵退出編輯模式
# 在輸入:wq即完成修改并退出文件篓像。w表示write寫入,q表示退出皿伺。
vim fileName
# 文件修改
# 文件修改主要介紹兩個命令echo sed
echo hello # 輸出hello到命令行
echo hello > test.log # 輸出hello字符串到test.log
echo hello >> test.log # 輸出hello字符串到test.log
# >和>>的區(qū)別主要是>是覆蓋輸入员辩,>>是追加輸入
# sed功能很強大,這里只介紹幾個簡單用法
sed -i '[命令]' fileName
sed -i '/commandUrl/d' test.txt
# 刪除test.txt中全部包含有commadnUrl的行鸵鸥,尾部d表示刪除
sed -i '/^ADMIN_HTTPS/i\APP_URL=abc'' test.txt
# 實現(xiàn)在行字符串以ADMIN_HTTPS開頭的字符串的行添加一行字符串APP_URL=abc
sed -i 's|proc_get_status|haha|' test.txt
# 將test.txt中的proc_get_status替換為haha
# 文件內(nèi)容過濾查詢奠滑,主要用于過濾流(一般稱為管道)
# 此主要說明兩個命令的用法grep 和 awk,他們可以過濾文件內(nèi)容也可以過濾流的內(nèi)容
grep [條件字符] fileName
grep test fileName # 顯示文件中全部包含test的行妒穴,如果為流則不需要fileName养叛,awk同理
awk '[語句]' fileName
# awk默認(rèn)空格或者tab分割正行字符串,-F后跟自定義分割方式
awk '{print $1 $2}' fileName # 獲取全部行中第一個和第二個字符串
awk '$1="main" {print $1 $2}' # 獲取全部行中第一個字符串為main的行
3宰翅、系統(tǒng)管理
# 獲取系統(tǒng)磁盤使用情況
# df 和du 命令
df -h # 獲取系統(tǒng)掛在磁盤使用情況,h參數(shù)表示大小使用合適的單位計算(如kb,mb,gb)
du -sh /home/ # 獲取home使用的大小爽室,h參數(shù)通上汁讼,s參數(shù)表示只計算總的,不加s會計算每個文件的大小
# 返回如: 1.7G /home/
# 端口使用情況
lsof -i:8080 # 查看8080端口使用情況
top #實時顯示 process 的動態(tài)
# 刪除或停止進(jìn)程
kill pid # 停止進(jìn)程阔墩,pid為進(jìn)程id
kill -9 pid # 強制停止進(jìn)程嘿架,慎用
4、備份與壓縮
# 此處只說明tar命令啸箫,因為linux下文件基本都是使用這種方式備份的
# 文件壓縮
tar -czvf test.tar.gz a.c # 壓縮 a.c文件為test.tar.gz
tar -czvf test.tar.gz -C /home/test . # 壓縮home下test文件夾耸彪,-C作用定位到打包目錄,.的作用是將test目錄下文件到壓縮文件(解壓后為/test/...)忘苛,如果不帶.則是將test文件夾壓縮(解壓后為/test/test/...)蝉娜。
# 文件解壓
tar -xzvf test.tar.gz # 解壓文件到當(dāng)前目錄
tar -xzvf test.tar.gz -C /home/test # 解壓文件內(nèi)容到/home/test目錄