女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文掌握Linux命令

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2025-07-22 15:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為一名運維工程師,熟練掌握Linux命令是基本功中的基本功。無論是日常工作中的系統維護,還是面試時的技術考核,Linux命令都是繞不開的核心技能。本文將從實戰角度出發,系統梳理運維工程師必須掌握的Linux命令,并結合實際場景解析其應用方法。

一、文件和目錄操作:基礎中的基礎

1.1 文件查看命令

# 查看文件內容
cat/etc/passwd       # 顯示完整文件內容
more /var/log/messages   # 分頁查看大文件
less /var/log/syslog    # 更靈活的分頁查看
head-20 /var/log/nginx.log # 查看文件前20行
tail-f /var/log/apache.log # 實時監控日志文件

面試常問:more和less的區別?

?more只能向前翻頁,less可以前后翻頁

?less占用內存更少,適合查看大文件

?less支持搜索功能(/關鍵詞)

1.2 文件查找命令

# find命令的高級用法
find /var/log -name"*.log"-mtime -7    # 查找7天內修改的日志文件
find /home -typef -size +100M       # 查找大于100M的文件
find /etc -name"*.conf"-execgrep -l"port"{} ; # 查找包含port的配置文件

# locate命令(需要定期更新數據庫)
updatedb          # 更新文件數據庫
locate nginx.conf     # 快速定位文件

# which和whereis
whichpython3       # 查找命令路徑
whereis nginx       # 查找二進制文件、源碼、手冊位置

1.3 文件權限管理

# 權限查看和修改
ls-la /etc/passwd     # 查看詳細權限信息
chmod755 /usr/local/bin/script.sh  # 修改權限
chmodu+x,g+r,o-w filename     # 使用符號模式
chownnginx:nginx /var/www/html   # 修改所有者和組
chgrpwww-data /var/log/nginx/   # 修改組所有權

# 特殊權限
chmod+t /tmp       # 設置粘滯位
chmod+s /usr/bin/passwd  # 設置SUID

二、系統監控與性能分析

2.1 系統資源監控

# CPU和內存監控
top            # 實時查看系統狀態
htop            # 更美觀的top
ps aux | grep nginx    # 查看特定進程
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu |head-10 # 按CPU使用率排序

# 內存分析
free -h          # 查看內存使用情況
cat/proc/meminfo     # 詳細內存信息
vmstat 1 5        # 每秒顯示一次,共5次系統狀態

2.2 磁盤空間管理

# 磁盤使用情況
df-h           # 查看磁盤使用率
du-sh /var/log/*     # 查看目錄大小
du-ah /home |sort-rh |head-20 # 查找最大的20個文件/目錄

# 磁盤IO監控
iostat -x 1        # 每秒顯示磁盤IO統計
iotop           # 實時查看進程IO使用情況

2.3 網絡監控

# 網絡連接狀態
netstat -tulpn      # 查看端口監聽狀態
ss -tulpn         # 更現代的netstat替代品
lsof -i :80        # 查看80端口被哪個進程占用

# 網絡流量監控
iftop           # 實時網絡流量監控
nethogs          # 按進程顯示網絡使用情況
tcpdump -i eth0 port 80  # 抓包分析

三、文本處理與日志分析

3.1 文本處理三劍客

# grep:文本搜索
grep -r"error"/var/log/          # 遞歸搜索錯誤日志
grep -i"failed"/var/log/auth.log     # 忽略大小寫搜索
grep -v"INFO"/var/log/app.log |head-20 # 排除INFO級別日志
grep -E"192.168.1.[0-9]+"access.log  # 使用正則表達式

# sed:文本編輯
sed's/old/new/g'file.txt         # 替換所有old為new
sed -n'10,20p'file.txt          # 顯示10-20行
sed -i's/DEBUG/INFO/g'config.conf     # 直接修改文件
sed'/^#/d'config.conf           # 刪除注釋行

# awk:文本分析
awk'{print $1}'/var/log/nginx/access.log # 提取第一列(IP地址)
awk -F:'{print $1}'/etc/passwd      # 使用冒號分隔符
awk'$3 > 100 {print $0}'data.txt     # 條件過濾

3.2 日志分析實戰

# 分析訪問日志
# 統計訪問量最高的IP
awk'{print $1}'access.log |sort|uniq-c |sort-nr |head-10

# 統計404錯誤
awk'$9 == 404 {print $0}'access.log |wc-l

# 分析訪問時間分布
awk'{print $4}'access.log |cut-d: -f2 |sort|uniq-c

# 統計不同狀態碼數量
awk'{print $9}'access.log |sort|uniq-c |sort-nr

四、進程管理與服務控制

4.1 進程管理

# 進程控制
kill-9 PID        # 強制終止進程
killall nginx       # 終止所有nginx進程
pkill -f"python script" # 按名稱模式終止進程
pgrep -f nginx      # 查找進程PID

# 后臺任務管理
nohupcommand&      # 后臺運行命令
jobs           # 查看后臺任務
bg%1           # 將任務轉到后臺
fg%1           # 將任務調到前臺

4.2 系統服務管理

# SystemD服務管理
systemctl start nginx   # 啟動服務
systemctl stop nginx   # 停止服務
systemctl restart nginx  # 重啟服務
systemctl reload nginx  # 重載配置
systemctlenablenginx  # 設置開機自啟
systemctldisablenginx  # 禁止開機自啟
systemctl status nginx  # 查看服務狀態

# 查看服務日志
journalctl -u nginx    # 查看nginx服務日志
journalctl -f -u nginx  # 實時跟蹤日志

五、網絡配置與故障排查

5.1 網絡配置

# IP配置
ip addr show       # 查看IP地址
ip route show       # 查看路由表
iplinkshow       # 查看網絡接口

# 傳統網絡命令
ifconfig eth0       # 查看網卡信息
route -n         # 查看路由表
arp -a          # 查看ARP表

5.2 網絡故障排查

# 連通性測試
ping -c 4 google.com   # 測試網絡連通性
traceroute google.com   # 追蹤路由路徑
mtr google.com      # 實時路由追蹤

# 端口測試
telnet 192.168.1.1 80   # 測試端口連通性
nc -zv 192.168.1.1 80   # 使用nc測試端口

六、壓縮與備份

6.1 文件壓縮

# tar命令
tar -czf backup.tar.gz /var/www/     # 創建壓縮包
tar -xzf backup.tar.gz          # 解壓縮
tar -tzf backup.tar.gz          # 查看壓縮包內容
tar -czf backup-$(date+%Y%m%d).tar.gz /etc/ # 帶日期的備份

# 其他壓縮工具
zip -r backup.zip /var/www/        # 創建zip文件
unzip backup.zip             # 解壓zip文件
gzip file.txt               # 壓縮單個文件
gunzip file.txt.gz            # 解壓縮

6.2 數據同步

# rsync數據同步
rsync -avz /var/www/ user@remote:/backup/ # 同步到遠程服務器
rsync -avz --delete /var/www/ /backup/  # 同步并刪除目標多余文件
rsync -avz --exclude='*.log'/var/www/ /backup/ # 排除日志文件

七、系統安全與用戶管理

7.1 用戶管理

# 用戶操作
useradd -m -s /bin/bash username     # 創建用戶
usermod -aGsudousername         # 添加用戶到sudo組
passwd username              # 設置密碼
userdel -r username            # 刪除用戶及主目錄

# 用戶信息查看
idusername                # 查看用戶ID和組信息
who                   # 查看當前登錄用戶
w                     # 查看用戶活動
last                   # 查看登錄歷史

7.2 系統安全

# 系統日志檢查
tail-f /var/log/auth.log         # 監控登錄日志
grep"Failed password"/var/log/auth.log # 查找失敗登錄
grep"sudo"/var/log/auth.log       # 查看sudo使用記錄

# 文件完整性檢查
md5sumfile.txt              # 計算MD5值
sha256sumfile.txt            # 計算SHA256值

八、高級命令技巧

8.1 命令組合與管道

# 復雜的命令組合
ps aux | grep nginx | grep -v grep | awk'{print $2}'| xargskill-9
# 查找nginx進程并終止

cat/var/log/nginx/access.log | grep"GET"| awk'{print $1}'|sort|uniq-c |sort-nr |head-10
# 統計GET請求最多的IP

find /var/log -name"*.log"-execgrep -l"error"{} ; | xargsls-la
# 查找包含error的日志文件并顯示詳細信息

8.2 腳本化運維

# 一鍵系統信息收集腳本
#!/bin/bash
echo"=== 系統信息 ==="> system_info.txt
uname-a >> system_info.txt
echo"=== CPU信息 ===">> system_info.txt
cat/proc/cpuinfo | grep"model name"|head-1 >> system_info.txt
echo"=== 內存信息 ===">> system_info.txt
free -h >> system_info.txt
echo"=== 磁盤信息 ===">> system_info.txt
df-h >> system_info.txt
echo"=== 網絡信息 ===">> system_info.txt
ip addr show >> system_info.txt

九、面試常見問題解答

9.1 性能調優相關

Q: 如何查看系統負載?

uptime          # 查看系統負載
cat/proc/loadavg     # 詳細負載信息
w             # 查看負載和用戶

Q: 如何排查CPU使用率過高?

top -p PID        # 監控特定進程
strace -p PID       # 跟蹤系統調用
perf top         # 性能分析工具

9.2 存儲管理相關

Q: 如何找出占用空間最大的文件?

du-ah /var |sort-rh |head-20
find /var -typef -size +100M -execls-lh {} ;

Q: 如何監控文件系統使用情況?

df-h           # 查看磁盤使用率
inotifywait -m /var/log/ # 監控文件變化

十、實戰場景演練

10.1 服務器故障排查流程

# 1. 系統基本信息檢查
uptime&& free -h &&df-h

# 2. 進程狀態檢查
ps aux |head-20
top -n 1 |head-20

# 3. 網絡狀態檢查
netstat -tulpn | grep LISTEN
ss -tulpn

# 4. 日志檢查
tail-50 /var/log/messages
journalctl -xe

10.2 日常維護腳本

#!/bin/bash
# 系統健康檢查腳本
LOG_FILE="/var/log/health_check.log"
DATE=$(date'+%Y-%m-%d %H:%M:%S')

echo"[$DATE] 開始系統健康檢查">>$LOG_FILE

# 檢查磁盤使用率
DISK_USAGE=$(df-h | grep -E"8[0-9]%|9[0-9]%|100%")
if[ ! -z"$DISK_USAGE"];then
 echo"[$DATE] 警告:磁盤使用率過高">>$LOG_FILE
 echo"$DISK_USAGE">>$LOG_FILE
fi

# 檢查內存使用率
MEM_USAGE=$(free | grep Mem | awk'{print ($3/$2) * 100.0}')
if(( $(echo "$MEM_USAGE>90" | bc -l) ));then
 echo"[$DATE] 警告:內存使用率過高:$MEM_USAGE%">>$LOG_FILE
fi

# 檢查系統負載
LOAD_AVG=$(uptime| awk -F'load average:''{print $2}'|cut-d, -f1 |tr-d' ')
if(( $(echo "$LOAD_AVG>2.0" | bc -l) ));then
 echo"[$DATE] 警告:系統負載過高:$LOAD_AVG">>$LOG_FILE
fi

echo"[$DATE] 系統健康檢查完成">>$LOG_FILE

總結

掌握這些Linux命令不僅能幫助你在面試中脫穎而出,更重要的是能在實際工作中提高效率,快速定位和解決問題。記住,命令只是工具,真正的技能在于理解系統原理,能夠根據實際情況靈活運用這些命令。

作為運維工程師,建議你:

1. 多動手實踐,在測試環境中反復練習

2. 理解每個命令的工作原理,不只是記憶用法

3. 學會組合使用命令,提高工作效率

4. 關注系統安全,養成良好的運維習慣

5. 持續學習新的工具和技術

希望這篇文章能幫助你在Linux運維的道路上更進一步!

本文涵蓋了運維工程師必須掌握的Linux命令技能,如果你覺得有用,歡迎分享給更多的運維同行!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11515

    瀏覽量

    213959
  • 數據庫
    +關注

    關注

    7

    文章

    3933

    瀏覽量

    66336
  • 文件
    +關注

    關注

    1

    文章

    583

    瀏覽量

    25390
  • 命令
    +關注

    關注

    5

    文章

    739

    瀏覽量

    22901

原文標題:月薪2W+運維工程師都在用的Linux命令清單(建議收藏)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux常用命令匯總

    本篇文章個介紹了約40個Linux常用命令,這些命令也正是Linux入門的精髓之處,所以,對于這些命令
    發表于 10-25 15:08 ?811次閱讀
    <b class='flag-5'>Linux</b>常用<b class='flag-5'>命令</b>匯總

    Linux find命令詳解

    find 命令是我們日常工作中比較常用的Linux命令。全面的掌握這個命令可以使很多操作達到事半功倍的效果。如果對find
    發表于 11-30 10:11 ?1802次閱讀

    介紹些實用的Linux命令

    作為名軟件開發人員,掌握 Linux 命令是必不可少的技能。即使你使用 Windows 或 macOS,你總會遇到需要使用 Linux
    發表于 08-01 16:12 ?518次閱讀
    介紹<b class='flag-5'>一</b>些實用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>

    掌握Linux常用命令

    、實驗目的和要求1掌握Linux常用命令2學會如何獲取命令幫助信息3熟練掌握
    發表于 12-16 06:08

    linux中常用命令與基本管理(北大青鳥)

    Linux/Unix文本編輯器的基本概念PICO編輯器的使用VI編輯器的使用EMACS編輯器的基本使用掌握Linux命令般使用方法
    發表于 12-06 13:00 ?37次下載

    Linux文件的復制、刪除和移動命令

    Linux文件的復制、刪除和移動命令 Linux文件的復制、刪除和移動命令  cp命令  功能:將給出的文件或目錄拷貝到另
    發表于 01-18 12:45 ?1335次閱讀

    初學者需要掌握的97條Linux常用命令

    沒使用過Linux命令就不知道Linux命令的好處,Linux命令能夠解決系統中的
    的頭像 發表于 04-30 17:08 ?3827次閱讀

    常用的Linux常用操作命令及其技巧必看

    IC設計是在linux環境下,很多操作需要在Terminal中進行,因此想要學習IC設計,就必須先需要熟悉Linux環境、掌握基礎的Linux操作
    的頭像 發表于 06-26 10:39 ?2293次閱讀
    常用的<b class='flag-5'>Linux</b>常用操作<b class='flag-5'>命令</b>及其技巧必看

    嵌入式Linux開發教程:Linux常見命令(上篇)

    。3.2 Linux常見命令本節對進行嵌入式Linux開發經常會用到的些操作和相關命令,進
    發表于 10-21 13:36 ?11次下載
    嵌入式<b class='flag-5'>Linux</b>開發教程:<b class='flag-5'>Linux</b>常見<b class='flag-5'>命令</b>(上篇)

    基礎的Linux操作命令

    IC設計是在linux環境下,很多操作需要在Terminal中進行,因此想要學習IC設計,就必須先需要熟悉Linux環境、掌握基礎的Linux操作
    的頭像 發表于 03-15 13:42 ?1781次閱讀

    些高效linux命令技巧總結

    今天浩道跟大家分享硬核干貨,關于linux運維中那些高效的運維命令。可以說掌握以下這些技巧,你將收到事半功倍的效果!
    的頭像 發表于 02-12 17:00 ?1085次閱讀

    掌握Linux常用命令

    掌握Linux40個命令
    的頭像 發表于 04-03 11:38 ?837次閱讀

    Linux下終端中命令操作常用的快捷鍵

    作為Linux 下的開發人員,和 Linux 系統打交道是每天必做的事情,通過 Linux 終端下命令行與
    的頭像 發表于 05-12 10:54 ?2552次閱讀

    常用linux網絡排查命令

    今天浩道跟大家分享linux網絡運維中常見的命令掌握好這些命令,在排查故障時將會游刃有余!
    發表于 06-25 10:49 ?1010次閱讀

    shell命令linux命令樣嗎

    Shell命令Linux命令并不完全樣。 首先,Shell是命令行解釋器,它是用來解釋和
    的頭像 發表于 11-08 10:51 ?3483次閱讀