{"id":232,"date":"2026-06-11T17:12:06","date_gmt":"2026-06-11T09:12:06","guid":{"rendered":"https:\/\/blog.mumudlin.com\/?p=232"},"modified":"2026-06-11T17:15:15","modified_gmt":"2026-06-11T09:15:15","slug":"linux-%e5%b8%b8%e8%a7%81%e5%91%bd%e4%bb%a4%e9%80%9f%e6%9f%a5","status":"publish","type":"post","link":"https:\/\/blog.mumudlin.com\/index.php\/linux-%e5%b8%b8%e8%a7%81%e5%91%bd%e4%bb%a4%e9%80%9f%e6%9f%a5\/","title":{"rendered":"Linux \u5e38\u89c1\u547d\u4ee4\u901f\u67e5"},"content":{"rendered":"<h1>Linux \u5e38\u89c1\u547d\u4ee4\u901f\u67e5<\/h1>\n<ul>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#1-\u6587\u4ef6\u4e0e\u76ee\u5f55\u64cd\u4f5c\">1. \u6587\u4ef6\u4e0e\u76ee\u5f55\u64cd\u4f5c<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#2-\u6587\u672c\u5904\u7406\">2. \u6587\u672c\u5904\u7406<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#3-\u6743\u9650\u4e0e\u7528\u6237\u7ba1\u7406\">3. \u6743\u9650\u4e0e\u7528\u6237\u7ba1\u7406<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#4-\u8fdb\u7a0b\u7ba1\u7406\">4. \u8fdb\u7a0b\u7ba1\u7406<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#5-\u7cfb\u7edf\u4fe1\u606f\u4e0e\u76d1\u63a7\">5. \u7cfb\u7edf\u4fe1\u606f\u4e0e\u76d1\u63a7<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#6-\u7f51\u7edc\u76f8\u5173\">6. \u7f51\u7edc\u76f8\u5173<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#7-\u5305\u7ba1\u7406\">7. \u5305\u7ba1\u7406<\/a><\/li>\n<li><a target=\"_blank\" rel=\"noopener\" href=\"#8-\u5b9e\u7528\u6280\u5de7\">8. \u5b9e\u7528\u6280\u5de7<\/a><\/li>\n<\/ul>\n<hr \/>\n<h2>1. \u6587\u4ef6\u4e0e\u76ee\u5f55\u64cd\u4f5c<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u8bf4\u660e<\/th>\n<th>\u793a\u4f8b<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ls<\/code><\/td>\n<td>\u5217\u51fa\u76ee\u5f55<\/td>\n<td><code>ls -la<\/code> \/ <code>ls -lh<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>cd<\/code><\/td>\n<td>\u5207\u6362\u76ee\u5f55<\/td>\n<td><code>cd \/var\/log<\/code> \/ <code>cd -<\/code>\uff08\u56de\u4e0a\u6b21\u76ee\u5f55\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>pwd<\/code><\/td>\n<td>\u5f53\u524d\u8def\u5f84<\/td>\n<td><code>pwd<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mkdir<\/code><\/td>\n<td>\u521b\u5efa\u76ee\u5f55<\/td>\n<td><code>mkdir -p a\/b\/c<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>rmdir<\/code><\/td>\n<td>\u5220\u9664\u7a7a\u76ee\u5f55<\/td>\n<td><code>rmdir old-dir<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>rm<\/code><\/td>\n<td>\u5220\u9664\u6587\u4ef6<\/td>\n<td><code>rm file.txt<\/code> \/ <code>rm -rf dir\/<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>cp<\/code><\/td>\n<td>\u590d\u5236<\/td>\n<td><code>cp -r src\/ dest\/<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>mv<\/code><\/td>\n<td>\u79fb\u52a8\/\u91cd\u547d\u540d<\/td>\n<td><code>mv old.txt new.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>touch<\/code><\/td>\n<td>\u521b\u5efa\u7a7a\u6587\u4ef6 \/ \u66f4\u65b0\u65f6\u95f4\u6233<\/td>\n<td><code>touch README.md<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>cat<\/code><\/td>\n<td>\u67e5\u770b\u6587\u4ef6\u5185\u5bb9<\/td>\n<td><code>cat \/etc\/hosts<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>less<\/code><\/td>\n<td>\u5206\u9875\u67e5\u770b\uff08\u652f\u6301\u4e0a\u4e0b\u7ffb\uff09<\/td>\n<td><code>less large.log<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>head<\/code><\/td>\n<td>\u67e5\u770b\u524d 10 \u884c<\/td>\n<td><code>head -n 20 file.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>tail<\/code><\/td>\n<td>\u67e5\u770b\u672b\u5c3e \/ \u5b9e\u65f6\u8ddf\u8e2a<\/td>\n<td><code>tail -f \/var\/log\/syslog<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>find<\/code><\/td>\n<td>\u641c\u7d22\u6587\u4ef6<\/td>\n<td><code>find . -name &quot;*.go&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>locate<\/code><\/td>\n<td>\u5feb\u901f\u6587\u4ef6\u540d\u641c\u7d22\uff08\u57fa\u4e8e\u6570\u636e\u5e93\uff09<\/td>\n<td><code>locate nginx.conf<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>which<\/code><\/td>\n<td>\u5b9a\u4f4d\u53ef\u6267\u884c\u6587\u4ef6\u8def\u5f84<\/td>\n<td><code>which python3<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>ln<\/code><\/td>\n<td>\u521b\u5efa\u94fe\u63a5<\/td>\n<td><code>ln -s \/target link<\/code>\uff08\u8f6f\u94fe\u63a5\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>du<\/code><\/td>\n<td>\u76ee\u5f55\/\u6587\u4ef6\u5927\u5c0f<\/td>\n<td><code>du -sh *<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>df<\/code><\/td>\n<td>\u78c1\u76d8\u7a7a\u95f4<\/td>\n<td><code>df -h<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>stat<\/code><\/td>\n<td>\u6587\u4ef6\u8be6\u7ec6\u4fe1\u606f\uff08\u6743\u9650\u3001\u65f6\u95f4\u6233\u7b49\uff09<\/td>\n<td><code>stat app.log<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>2. \u6587\u672c\u5904\u7406<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u8bf4\u660e<\/th>\n<th>\u793a\u4f8b<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>grep<\/code><\/td>\n<td>\u6587\u672c\u641c\u7d22<\/td>\n<td><code>grep -rn &quot;error&quot; \/var\/log\/<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>sed<\/code><\/td>\n<td>\u6d41\u7f16\u8f91\u5668\uff08\u66ff\u6362\/\u5220\u9664\uff09<\/td>\n<td><code>sed &#039;s\/foo\/bar\/g&#039; file.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>awk<\/code><\/td>\n<td>\u6587\u672c\u5206\u6790\/\u63d0\u53d6\u5217<\/td>\n<td><code>awk &#039;{print $1,$3}&#039; data.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>cut<\/code><\/td>\n<td>\u6309\u5217\u5207\u5206<\/td>\n<td><code>cut -d&#039;,&#039; -f1,3 data.csv<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>sort<\/code><\/td>\n<td>\u6392\u5e8f<\/td>\n<td><code>sort -n numbers.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>uniq<\/code><\/td>\n<td>\u53bb\u91cd\uff08\u901a\u5e38\u5148 sort\uff09<\/td>\n<td><code>sort \\| uniq -c<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>wc<\/code><\/td>\n<td>\u7edf\u8ba1\u884c\/\u8bcd\/\u5b57\u7b26\u6570<\/td>\n<td><code>wc -l file.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>diff<\/code><\/td>\n<td>\u6587\u4ef6\u5bf9\u6bd4<\/td>\n<td><code>diff file1 file2<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>tr<\/code><\/td>\n<td>\u5b57\u7b26\u66ff\u6362\/\u5220\u9664<\/td>\n<td><code>cat file \\| tr &#039;[:upper:]&#039; &#039;[:lower:]&#039;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>tee<\/code><\/td>\n<td>\u540c\u65f6\u8f93\u51fa\u5230\u5c4f\u5e55\u548c\u6587\u4ef6<\/td>\n<td><code>echo &quot;ok&quot; \\| tee result.txt<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u5e38\u7528\u7ba1\u9053\u7ec4\u5408\uff1a<\/strong><\/p>\n<pre><code class=\"language-bash\"># \u7edf\u8ba1\u6700\u5e38\u51fa\u73b0\u7684 10 \u4e2a IP\nawk &#039;{print $1}&#039; access.log | sort | uniq -c | sort -rn | head -10\n\n# \u67e5\u627e\u5360\u7528\u6700\u591a\u7684 5 \u4e2a\u76ee\u5f55\ndu -sh * | sort -rh | head -5\n\n# \u9012\u5f52\u641c\u7d22 TODO \u5e76\u6392\u9664 node_modules\ngrep -rn &quot;TODO&quot; --exclude-dir=node_modules .<\/code><\/pre>\n<h2>3. \u6743\u9650\u4e0e\u7528\u6237\u7ba1\u7406<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>chmod<\/code><\/td>\n<td>\u4fee\u6539\u6587\u4ef6\u6743\u9650<\/td>\n<td><code>chmod 755 script.sh<\/code> \/ <code>chmod +x script.sh<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>chown<\/code><\/td>\n<td>\u4fee\u6539\u6240\u6709\u8005<\/td>\n<td><code>chown user:group file.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>whoami<\/code><\/td>\n<td>\u5f53\u524d\u7528\u6237<\/td>\n<\/tr>\n<tr>\n<td><code>id<\/code><\/td>\n<td>\u7528\u6237 UID\/GID \u4fe1\u606f<\/td>\n<\/tr>\n<tr>\n<td><code>sudo<\/code><\/td>\n<td>\u4ee5 root \u8eab\u4efd\u6267\u884c<\/td>\n<td><code>sudo systemctl restart nginx<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>su<\/code><\/td>\n<td>\u5207\u6362\u7528\u6237<\/td>\n<td><code>su - username<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>passwd<\/code><\/td>\n<td>\u4fee\u6539\u5bc6\u7801<\/td>\n<\/tr>\n<tr>\n<td><code>useradd<\/code> \/ <code>userdel<\/code><\/td>\n<td>\u6dfb\u52a0\/\u5220\u9664\u7528\u6237<\/td>\n<\/tr>\n<tr>\n<td><code>groupadd<\/code><\/td>\n<td>\u6dfb\u52a0\u7528\u6237\u7ec4<\/td>\n<\/tr>\n<tr>\n<td><code>groups<\/code><\/td>\n<td>\u5f53\u524d\u7528\u6237\u6240\u5c5e\u7ec4<\/td>\n<\/tr>\n<tr>\n<td><code>umask<\/code><\/td>\n<td>\u9ed8\u8ba4\u6743\u9650\u63a9\u7801<\/td>\n<td><code>umask 022<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>4. \u8fdb\u7a0b\u7ba1\u7406<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ps aux<\/code><\/td>\n<td>\u5217\u51fa\u6240\u6709\u8fdb\u7a0b<\/td>\n<\/tr>\n<tr>\n<td><code>ps aux \\| grep nginx<\/code><\/td>\n<td>\u67e5\u627e\u7279\u5b9a\u8fdb\u7a0b<\/td>\n<\/tr>\n<tr>\n<td><code>top<\/code> \/ <code>htop<\/code><\/td>\n<td>\u5b9e\u65f6\u8fdb\u7a0b\u76d1\u63a7\uff08htop \u66f4\u76f4\u89c2\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>kill PID<\/code><\/td>\n<td>\u7ec8\u6b62\u8fdb\u7a0b\uff08\u9ed8\u8ba4\u4fe1\u53f7 15\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>kill -9 PID<\/code><\/td>\n<td>\u5f3a\u5236\u7ec8\u6b62<\/td>\n<\/tr>\n<tr>\n<td><code>killall \u8fdb\u7a0b\u540d<\/code><\/td>\n<td>\u6309\u540d\u79f0\u7ec8\u6b62<\/td>\n<\/tr>\n<tr>\n<td><code>pkill -f \u6a21\u5f0f<\/code><\/td>\n<td>\u6309\u547d\u4ee4\u884c\u5339\u914d\u7ec8\u6b62<\/td>\n<\/tr>\n<tr>\n<td><code>bg<\/code> \/ <code>fg<\/code><\/td>\n<td>\u540e\u53f0\/\u524d\u53f0\u5207\u6362<\/td>\n<\/tr>\n<tr>\n<td><code>jobs<\/code><\/td>\n<td>\u67e5\u770b\u540e\u53f0\u4efb\u52a1<\/td>\n<\/tr>\n<tr>\n<td><code>nohup cmd &amp;<\/code><\/td>\n<td>\u540e\u53f0\u8fd0\u884c\u4e14\u4e0d\u53d7\u7ec8\u7aef\u9000\u51fa\u5f71\u54cd<\/td>\n<\/tr>\n<tr>\n<td><code>ctrl+z<\/code><\/td>\n<td>\u6682\u505c\u5f53\u524d\u8fdb\u7a0b\uff0c<code>bg<\/code> \u8f6c\u5230\u540e\u53f0<\/td>\n<\/tr>\n<tr>\n<td><code>systemctl status \u670d\u52a1<\/code><\/td>\n<td>\u67e5\u770b\u670d\u52a1\u72b6\u6001\uff08systemd\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>systemctl start\/stop\/restart \u670d\u52a1<\/code><\/td>\n<td>\u542f\u52a8\/\u505c\u6b62\/\u91cd\u542f\u670d\u52a1<\/td>\n<\/tr>\n<tr>\n<td><code>journalctl -u \u670d\u52a1 -f<\/code><\/td>\n<td>\u67e5\u770b\u670d\u52a1\u65e5\u5fd7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>5. \u7cfb\u7edf\u4fe1\u606f\u4e0e\u76d1\u63a7<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>uname -a<\/code><\/td>\n<td>\u5185\u6838\u7248\u672c\u548c\u7cfb\u7edf\u4fe1\u606f<\/td>\n<\/tr>\n<tr>\n<td><code>lsb_release -a<\/code><\/td>\n<td>\u53d1\u884c\u7248\u4fe1\u606f\uff08Ubuntu\/Debian\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>cat \/etc\/os-release<\/code><\/td>\n<td>\u901a\u7528\u53d1\u884c\u7248\u4fe1\u606f<\/td>\n<\/tr>\n<tr>\n<td><code>hostname<\/code><\/td>\n<td>\u4e3b\u673a\u540d<\/td>\n<\/tr>\n<tr>\n<td><code>uptime<\/code><\/td>\n<td>\u8fd0\u884c\u65f6\u95f4\u548c\u5e73\u5747\u8d1f\u8f7d<\/td>\n<\/tr>\n<tr>\n<td><code>free -h<\/code><\/td>\n<td>\u5185\u5b58\u4f7f\u7528<\/td>\n<\/tr>\n<tr>\n<td><code>vmstat<\/code><\/td>\n<td>\u865a\u62df\u5185\u5b58\u7edf\u8ba1<\/td>\n<\/tr>\n<tr>\n<td><code>iostat<\/code><\/td>\n<td>CPU \u548c\u78c1\u76d8 I\/O<\/td>\n<\/tr>\n<tr>\n<td><code>lscpu<\/code><\/td>\n<td>CPU \u8be6\u60c5<\/td>\n<\/tr>\n<tr>\n<td><code>lsblk<\/code><\/td>\n<td>\u5757\u8bbe\u5907\uff08\u78c1\u76d8\u5206\u533a\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>dmesg<\/code><\/td>\n<td>\u5185\u6838\u542f\u52a8\u65e5\u5fd7<\/td>\n<td><code>dmesg \\| tail<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>journalctl<\/code><\/td>\n<td>systemd \u65e5\u5fd7<\/td>\n<\/tr>\n<tr>\n<td><code>lsof<\/code><\/td>\n<td>\u5217\u51fa\u6253\u5f00\u7684\u6587\u4ef6\/\u7aef\u53e3<\/td>\n<td><code>lsof -i :80<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>fuser<\/code><\/td>\n<td>\u54ea\u4e2a\u8fdb\u7a0b\u5728\u4f7f\u7528\u6587\u4ef6\/\u7aef\u53e3<\/td>\n<td><code>fuser 80\/tcp<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>crontab -l<\/code><\/td>\n<td>\u67e5\u770b\u5b9a\u65f6\u4efb\u52a1<\/td>\n<\/tr>\n<tr>\n<td><code>history<\/code><\/td>\n<td>\u547d\u4ee4\u5386\u53f2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>6. \u7f51\u7edc\u76f8\u5173<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u8bf4\u660e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ping<\/code><\/td>\n<td>\u8fde\u901a\u6027\u6d4b\u8bd5<\/td>\n<td><code>ping -c 4 baidu.com<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>curl<\/code><\/td>\n<td>HTTP \u8bf7\u6c42<\/td>\n<td><code>curl -I https:\/\/github.com<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>wget<\/code><\/td>\n<td>\u4e0b\u8f7d\u6587\u4ef6<\/td>\n<td><code>wget -c url<\/code>\uff08\u652f\u6301\u65ad\u70b9\u7eed\u4f20\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>ip addr<\/code> \/ <code>ifconfig<\/code><\/td>\n<td>\u67e5\u770b IP \u5730\u5740<\/td>\n<\/tr>\n<tr>\n<td><code>ss -tlnp<\/code><\/td>\n<td>\u67e5\u770b\u76d1\u542c\u7aef\u53e3\uff08\u66ff\u4ee3 netstat\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>ss -tlnp \\| grep :8080<\/code><\/td>\n<td>\u67e5\u770b 8080 \u7aef\u53e3\u5360\u7528<\/td>\n<\/tr>\n<tr>\n<td><code>nc<\/code> (netcat)<\/td>\n<td>\u7f51\u7edc\u8c03\u8bd5\u745e\u58eb\u519b\u5200<\/td>\n<td><code>nc -zv host 80<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>dig<\/code><\/td>\n<td>DNS \u67e5\u8be2<\/td>\n<td><code>dig baidu.com<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>nslookup<\/code><\/td>\n<td>DNS \u67e5\u8be2\uff08\u7b80\u5316\u7248\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>traceroute<\/code><\/td>\n<td>\u8def\u7531\u8ffd\u8e2a<\/td>\n<\/tr>\n<tr>\n<td><code>iptables -L<\/code><\/td>\n<td>\u67e5\u770b\u9632\u706b\u5899\u89c4\u5219<\/td>\n<\/tr>\n<tr>\n<td><code>scp<\/code><\/td>\n<td>\u8fdc\u7a0b\u590d\u5236<\/td>\n<td><code>scp file user@host:\/path<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>rsync<\/code><\/td>\n<td>\u540c\u6b65\u6587\u4ef6\uff08\u589e\u91cf\uff09<\/td>\n<td><code>rsync -avz src\/ dest\/<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>ssh<\/code><\/td>\n<td>\u8fdc\u7a0b\u767b\u5f55<\/td>\n<td><code>ssh user@host -p 22<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>ssh-keygen<\/code><\/td>\n<td>\u751f\u6210 SSH \u5bc6\u94a5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>7. \u5305\u7ba1\u7406<\/h2>\n<h3>Debian \/ Ubuntu (apt)<\/h3>\n<pre><code class=\"language-bash\">sudo apt update              # \u66f4\u65b0\u8f6f\u4ef6\u6e90\nsudo apt upgrade             # \u5347\u7ea7\u6240\u6709\u5305\nsudo apt install pkg         # \u5b89\u88c5\nsudo apt remove pkg          # \u5378\u8f7d\nsudo apt autoremove          # \u6e05\u7406\u65e0\u7528\u4f9d\u8d56\napt search keyword           # \u641c\u7d22\u5305\napt show pkg                 # \u67e5\u770b\u5305\u8be6\u60c5<\/code><\/pre>\n<h3>Red Hat \/ CentOS \/ Fedora (dnf\/yum)<\/h3>\n<pre><code class=\"language-bash\">sudo dnf install pkg         # \u5b89\u88c5\nsudo dnf remove pkg          # \u5378\u8f7d\nsudo dnf update              # \u66f4\u65b0\ndnf search keyword           # \u641c\u7d22<\/code><\/pre>\n<h3>\u901a\u7528 (snap \/ flatpak)<\/h3>\n<pre><code class=\"language-bash\">snap install pkg\nflatpak install pkg<\/code><\/pre>\n<h2>8. \u5b9e\u7528\u6280\u5de7<\/h2>\n<h3>\u5feb\u6377\u952e<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u5feb\u6377\u952e<\/th>\n<th>\u4f5c\u7528<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>Ctrl+C<\/code><\/td>\n<td>\u7ec8\u6b62\u5f53\u524d\u547d\u4ee4<\/td>\n<\/tr>\n<tr>\n<td><code>Ctrl+D<\/code><\/td>\n<td>EOF\uff08\u9000\u51fa\u7ec8\u7aef\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>Ctrl+Z<\/code><\/td>\n<td>\u6682\u505c\u8fdb\u7a0b<\/td>\n<\/tr>\n<tr>\n<td><code>Ctrl+R<\/code><\/td>\n<td>\u53cd\u5411\u641c\u7d22\u5386\u53f2\u547d\u4ee4<\/td>\n<\/tr>\n<tr>\n<td><code>Ctrl+L<\/code><\/td>\n<td>\u6e05\u5c4f<\/td>\n<\/tr>\n<tr>\n<td><code>Ctrl+A<\/code> \/ <code>Ctrl+E<\/code><\/td>\n<td>\u8df3\u5230\u884c\u9996 \/ \u884c\u5c3e<\/td>\n<\/tr>\n<tr>\n<td><code>!!<\/code><\/td>\n<td>\u91cd\u590d\u4e0a\u4e00\u6761\u547d\u4ee4<\/td>\n<\/tr>\n<tr>\n<td><code>!$<\/code><\/td>\n<td>\u4e0a\u6761\u547d\u4ee4\u7684\u6700\u540e\u4e00\u4e2a\u53c2\u6570<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\u91cd\u5b9a\u5411<\/h3>\n<pre><code class=\"language-bash\">cmd &gt; file.txt       # \u8986\u76d6\u5199\u5165\ncmd &gt;&gt; file.txt      # \u8ffd\u52a0\u5199\u5165\ncmd 2&gt; errors.log    # \u9519\u8bef\u8f93\u51fa\u91cd\u5b9a\u5411\ncmd &amp;&gt; all.log       # \u6807\u51c6\u8f93\u51fa+\u9519\u8bef\u5408\u5e76\ncmd &gt; \/dev\/null 2&gt;&amp;1 # \u9759\u9ed8\u6240\u6709\u8f93\u51fa<\/code><\/pre>\n<h3>\u5176\u4ed6<\/h3>\n<pre><code class=\"language-bash\"># \u4e00\u884c\u5faa\u73af\u5904\u7406\nfor f in *.txt; do echo &quot;\u5904\u7406 $f&quot;; done\n\n# xargs \u6279\u91cf\u64cd\u4f5c\nfind . -name &quot;*.log&quot; | xargs rm -f\n\n# alias \u5feb\u6377\u522b\u540d\nalias ll=&#039;ls -alF&#039;\nalias gs=&#039;git status&#039;<\/code><\/pre>\n<hr \/>\n<p><em>\u751f\u6210\u65f6\u95f4\uff1a2025-07-03 \u00b7 \u6570\u636e\u6765\u6e90\uff1aLinux \u901a\u7528\u547d\u4ee4 + GNU coreutils + systemd \u751f\u6001<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linux \u5e38\u89c1\u547d\u4ee4\u901f\u67e5 1. \u6587\u4ef6\u4e0e\u76ee\u5f55\u64cd\u4f5c 2. \u6587\u672c\u5904\u7406 3. \u6743\u9650\u4e0e\u7528\u6237\u7ba1\u7406 4. \u8fdb\u7a0b\u7ba1\u7406 5. \u7cfb [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-232","post","type-post","status-publish","format-standard","hentry","category-ai-"],"_links":{"self":[{"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/posts\/232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/comments?post=232"}],"version-history":[{"count":1,"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/posts\/232\/revisions"}],"predecessor-version":[{"id":233,"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/posts\/232\/revisions\/233"}],"wp:attachment":[{"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/media?parent=232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/categories?post=232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mumudlin.com\/index.php\/wp-json\/wp\/v2\/tags?post=232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}