{"id":460,"date":"2026-07-16T13:46:24","date_gmt":"2026-07-16T05:46:24","guid":{"rendered":"https:\/\/www.fishh.top\/?p=460"},"modified":"2026-07-16T13:46:24","modified_gmt":"2026-07-16T05:46:24","slug":"linux-%e5%b8%b8%e7%94%a8%e5%91%bd%e4%bb%a4%e6%b1%87%e6%80%bb","status":"publish","type":"post","link":"https:\/\/www.fishh.top\/?p=460","title":{"rendered":"Linux \u5e38\u7528\u547d\u4ee4\u6c47\u603b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e00\u3001\u76ee\u5f55\u548c\u6587\u4ef6\u64cd\u4f5c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">pwd # \u67e5\u770b\u5f53\u524d\u76ee\u5f55<br>ls # \u67e5\u770b\u76ee\u5f55\u5185\u5bb9<br>ls -l # \u8be6\u7ec6\u4fe1\u606f<br>ls -a # \u663e\u793a\u9690\u85cf\u6587\u4ef6<br>ls -lh # \u6587\u4ef6\u5927\u5c0f\u6613\u8bfb<br>cd \/home # \u5207\u6362\u76ee\u5f55<br>cd .. # \u8fd4\u56de\u4e0a\u4e00\u7ea7<br>cd ~ # \u56de\u5bb6\u76ee\u5f55<br>cd &#8211; # \u4e0a\u4e00\u6b21\u76ee\u5f55<br>mkdir test # \u521b\u5efa\u76ee\u5f55<br>mkdir -p a\/b\/c # \u9012\u5f52\u521b\u5efa\u591a\u7ea7\u76ee\u5f55<br>rmdir test # \u5220\u9664\u7a7a\u76ee\u5f55<br>rm -r test # \u5220\u9664\u76ee\u5f55\u53ca\u5185\u5bb9<br>rm -rf test # \u5f3a\u5236\u5220\u9664\u76ee\u5f55\u53ca\u5185\u5bb9<br>touch a.txt # \u521b\u5efa\u7a7a\u6587\u4ef6<br>rm a.txt # \u5220\u9664\u6587\u4ef6<br>cp a.txt b.txt # \u590d\u5236\u6587\u4ef6<br>cp -r dir1 dir2 # \u590d\u5236\u76ee\u5f55<br>mv a.txt b.txt # \u79fb\u52a8\u6216\u91cd\u547d\u540d\u6587\u4ef6<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8c\u3001\u67e5\u770b\u6587\u4ef6\u5185\u5bb9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">cat a.txt # \u67e5\u770b\u6587\u4ef6\u5185\u5bb9<br>less a.txt # \u5206\u9875\u67e5\u770b\u6587\u4ef6<br>head a.txt # \u67e5\u770b\u524d10\u884c<br>head -n 20 a.txt # \u67e5\u770b\u524d20\u884c<br>tail a.txt # \u67e5\u770b\u540e10\u884c<br>tail -n 20 a.txt # \u67e5\u770b\u540e20\u884c<br>tail -f log.txt # \u5b9e\u65f6\u67e5\u770b\u6587\u4ef6\u5185\u5bb9<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e09\u3001\u7f16\u8f91\u6587\u4ef6<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">nano a.c # \u7b80\u5355\u7f16\u8f91\u5668<br>vim a.c # vim \u7f16\u8f91\u5668<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">vim \u57fa\u672c\u64cd\u4f5c:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">i(\u63d2\u5165)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esc(\u9000\u51fa\u63d2\u5165)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">:w(\u4fdd\u5b58)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">:q(\u9000\u51fa)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">:wq(\u4fdd\u5b58\u9000\u51fa)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">:q!(\u5f3a\u5236\u9000\u51fa)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u56db\u3001\u67e5\u627e\u6587\u4ef6\u548c\u5185\u5bb9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">find \/home -name &#8220;server.c&#8221; # \u67e5\u627e\u6587\u4ef6<br>grep &#8220;socket&#8221; server.c # \u67e5\u627e\u5185\u5bb9<br>grep -n &#8220;socket&#8221; server.c # \u5e26\u884c\u53f7<br>grep -r &#8220;socket&#8221; . # \u9012\u5f52\u67e5\u627e\u76ee\u5f55<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e94\u3001\u6743\u9650\u76f8\u5173<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ls -l # \u67e5\u770b\u6743\u9650<br>chmod +x server # \u6dfb\u52a0\u53ef\u6267\u884c\u6743\u9650<br>chmod 755 server # \u5e38\u7528\u6743\u9650\u8bbe\u7f6e<br>sudo chown user:user file # \u4fee\u6539\u6587\u4ef6\u6240\u5c5e\u7528\u6237<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u516d\u3001\u7f16\u8bd1 C\/C++ \u7a0b\u5e8f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">gcc server.c -o server # \u7f16\u8bd1 C<br>g++ server.cpp -o server -pthread # \u7f16\u8bd1 C++ \u5e26\u7ebf\u7a0b<br>g++ main.cpp -o server -std=c++11 -pthread # C++11 + \u7ebf\u7a0b<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e03\u3001\u8fdb\u7a0b\u76f8\u5173<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ps aux # \u67e5\u770b\u6240\u6709\u8fdb\u7a0b<br>ps aux | grep server # \u67e5\u627e\u6307\u5b9a\u8fdb\u7a0b<br>top # \u5b9e\u65f6\u67e5\u770b\u8fdb\u7a0b<br>kill PID # \u6740\u6b7b\u8fdb\u7a0b<br>kill -9 PID # \u5f3a\u5236\u6740\u6b7b<br>pkill server # \u6309\u540d\u5b57\u6740\u8fdb\u7a0b<br>killall server # \u6309\u540d\u5b57\u6740\u8fdb\u7a0b<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u516b\u3001\u7f51\u7edc\u76f8\u5173<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ip addr # \u67e5\u770b IP<br>ifconfig # \u8001\u547d\u4ee4\uff0c\u4e0d\u63a8\u8350<br>ip route # \u67e5\u770b\u8def\u7531<br>ping 127.0.0.1 # \u6d4b\u8bd5\u8fde\u901a\u6027<br>ss -tunlp # \u67e5\u770b\u7aef\u53e3\u5360\u7528<br>ss -tunlp | grep 8080 # \u67e5\u770b\u6307\u5b9a\u7aef\u53e3<br>telnet 127.0.0.1 8080 # \u6d4b\u8bd5 TCP \u8fde\u63a5<br>nc 127.0.0.1 8080 # \u6d4b\u8bd5 TCP \u8fde\u63a5<br>curl <a href=\"http:\/\/127.0.0.1:8080\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/127.0.0.1:8080<\/a> # \u8bf7\u6c42 HTTP<br>curl -v <a href=\"http:\/\/127.0.0.1:8080\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/127.0.0.1:8080<\/a> # \u67e5\u770b HTTP \u8be6\u7ec6\u8fc7\u7a0b<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e5d\u3001\u538b\u7f29\u548c\u89e3\u538b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">tar -cvf project.tar project\/ # \u6253\u5305<br>tar -xvf project.tar # \u89e3\u5305<br>tar -czvf project.tar.gz project\/ # \u538b\u7f29<br>tar -xzvf project.tar.gz # \u89e3\u538b<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u3001\u4e0b\u8f7d\u548c\u5b89\u88c5\u8f6f\u4ef6<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">sudo apt update<br>sudo apt install gcc g++ make cmake vim git # Ubuntu \/ Debian<br>sudo dnf install gcc gcc-c++ make vim git # \u65b0\u7cfb\u7edf<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">sudo wget <a href=\"https:\/\/github.com\/libevent\/libevent\/releases\/download\/release-2.1.13-stable\/libevent-2.1.13-stable.tar.gz\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/libevent\/libevent\/releases\/download\/release-2.1.13-stable\/libevent-2.1.13-stable.tar.gz<\/a> #\u4e0b\u8f7d\u7f51\u9875\u4e0a\u7684\u6587\u4ef6<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u4e00\u3001git \u57fa\u7840<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">git clone \u5730\u5740<br>git status<br>git add .<br>git commit -m &#8220;\u8bf4\u660e&#8221;<br>git push<br>git pull<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u4e8c\u3001\u540e\u53f0\u8fd0\u884c\u7a0b\u5e8f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">.\/server &amp; # \u540e\u53f0\u8fd0\u884c<br>jobs # \u67e5\u770b\u540e\u53f0\u4efb\u52a1<br>fg # \u653e\u56de\u524d\u53f0<br>nohup .\/server &gt; server.log 2&gt;&amp;1 &amp; # \u65ad\u5f00\u7ec8\u7aef\u4ecd\u8fd0\u884c<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u4e09\u3001\u73af\u5883\u53d8\u91cf<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">echo $PATH<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">export PATH=$PATH:\/my\/path<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">echo $SHELL<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u56db\u3001\u78c1\u76d8\u548c\u5185\u5b58<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">df -h # \u67e5\u770b\u78c1\u76d8\u7a7a\u95f4<br>du -sh * # \u67e5\u770b\u76ee\u5f55\u5927\u5c0f<br>free -h # \u67e5\u770b\u5185\u5b58<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u4e94\u3001\u670d\u52a1\u548c\u7cfb\u7edf\u4fe1\u606f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">uname -a<br>cat \/etc\/os-release<br>lscpu<br>free -h<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5341\u516d\u3001\u7f51\u7edc\u7f16\u7a0b\u6700\u5e38\u7528\u547d\u4ee4\u603b\u7ed3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">pwd, ls -lah, cd, mkdir, touch, rm, cp, mv, cat, less, tail -f, vim, gcc, g++, make<br>ps aux | grep server, kill -9 PID, ip addr, ss -tunlp, curl -v <a href=\"http:\/\/127.0.0.1:8080\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/127.0.0.1:8080<\/a><br>nc 127.0.0.1 8080, chmod +x server<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u76ee\u5f55\u548c\u6587\u4ef6\u64cd\u4f5c pwd # \u67e5\u770b\u5f53\u524d\u76ee\u5f55ls # \u67e5\u770b\u76ee\u5f55\u5185\u5bb9ls -l # \u8be6\u7ec6\u4fe1\u606fls -a # \u663e\u793a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-460","post","type-post","status-publish","format-standard","hentry","category-wenzhang"],"_links":{"self":[{"href":"https:\/\/www.fishh.top\/index.php?rest_route=\/wp\/v2\/posts\/460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fishh.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fishh.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fishh.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fishh.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=460"}],"version-history":[{"count":1,"href":"https:\/\/www.fishh.top\/index.php?rest_route=\/wp\/v2\/posts\/460\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/www.fishh.top\/index.php?rest_route=\/wp\/v2\/posts\/460\/revisions\/463"}],"wp:attachment":[{"href":"https:\/\/www.fishh.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fishh.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fishh.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}