面試 Linux 常考命令

约翰發表於2020-12-15

1.檔案操作:
cd
cd - 返回上一次目錄
ls 顯示全部檔案列表
ll -ls 顯示全部檔案列表
pwd (print work directory) 顯示當前目錄
touch filename 建立檔案
rm filename 刪除檔案
mv filename 移動檔案
cp 複製檔案
mkdir 建立目錄
rmdir 刪除目錄
cat >>filename 往某個檔案中寫內容
vim filename 編輯檔案
find . -name "*.log" 在當前目錄下查詢以.log 結尾的檔案
tar -cvf file.tar file 壓縮 file 為 tar 格式
tar -xvf file.tar file 解壓縮 tar 格式
unzip file.zip 解壓縮 zip 資料夾
more 翻頁
less 翻頁,可向前翻頁
head -n 10 filename 顯示前 10 行內容
tail -fn 100 filename 展示後 100 行內容
ln filename 顯示出行號
vi 狀態下:執行:set nu

【cat filename | grep co | wc -l 】統計含有 co 的 行數
【grep -o co filename | wc -l 或:cat filename | grep -o co |wc -l 】可以用這個來統計與 co 匹配的單詞數
grep -o (-o 表示 “only-matching”,即 “僅匹配” 之意)

grep -C 5 foo filename 顯示匹配 foo 字串的行以及上下 5 行內容
grep -A 5 foo filename 顯示 foo 及前 5 行
grep -B 5 foo filename 顯示 foo 及後 5 行
cat tomcat.log | grep "success" 搜尋 tomcat.log 檔案中 success 字串

2.許可權:
sudo su admin 切換到 admin 使用者
chmod 777 filename 給某個檔案賦予 777 許可權
chown yuehan:staff filename 給某個檔案的所屬使用者組設定為:yuehan:staff

3.網路操作:
curl www.baidu.com --get 請求 baidu
curl -XPOST "www.baidu.com" -d "{json}" -H "Content-type:application/json" --POST 請求 baidu
lsof -i:3306 檢視 3306 埠對應的程序 (list open file)

4.遠端複製
scp /home/yuehan/a.txt yuehan@100.11.11.11:/home/yuehan/b.txt --將本地 a.txt 複製到遠端伺服器上命名為 b.txt
scp yuehan@100.11.11.11:/home/yuehan/b.txt /home/yuehan/a.txt --將遠端伺服器上 b.txt 複製到本地命名為:a.txt

5.git 命令:
git clone git@.... 複製程式碼到本地
git pull 拉取程式碼
git push origin master 將程式碼上傳到 master 分支
git commit -m "beizhu" 提交程式碼前寫備註資訊
git checkout dev/xxx 切換到某個分支
git stash 儲存未提交的程式碼
git branch -a 列出所有分支
git add * 將所有新增到棧中
git fetch origin master 獲取 master 程式碼
git merge origin/master 將遠端程式碼與本地合併
git reset --hard origin/master 放棄本地修改,強制更新
git reset --hard commit-id :回滾到 commit-id,講 commit-id 之後提交的 commit 都去除
git reset --hard HEAD~3:將最近 3 次的提交回滾

6.系統管理命令:
stat 展示指定檔案的詳細資訊
who 當前登入使用者
whoami 當前操作使用者
history 展示歷史操作命令
Linux 下檢視 tcp 連線數及狀態命令:netstat -n | awk '/tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
檢視 tomcat 程序資訊:ps aux | grep tomcat
殺死程序:kill -9 ***

7.sed:
1) sed -i "s/old/new/g" filename 將 old 字串替換成 new
2) sed -n '5,10p' filename 查詢檔案中第 5-10 行的內容

8.awk
1) awk 'NR>4&&NR<9' filename 查詢檔案中第 5-10 行的內容 (NR 代表的是這個文字檔案的行數(記錄數)number of record,NF 代表的是一個文字檔案中一行(一條記錄)中的欄位個數)

相關文章