[{"data":1,"prerenderedAt":1564},["ShallowReactive",2],{"doc-page:\u002Fdocs\u002Flinux-commands":3},{"doc":4,"prev":1524,"next":1531,"resolvedType":8,"readingMinutes":112,"audience":1538,"checklist":1542,"related":1546},{"path":5,"title":6,"description":7,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":12,"publishedAt":12,"icon":13,"body":14},"\u002Fdocs\u002Flinux-commands","Linux 常用命令速查","文件操作、文本处理、进程管理、磁盘网络与系统信息常用命令","article",null,"infra-deployment","服务器与部署","2026-02-27","i-carbon-cloud",{"type":15,"value":16,"toc":1507},"minimark",[17,21,25,29,32,51,54,57,277,280,476,479,482,589,592,595,671,723,726,857,860,946,949,1099,1102,1196,1199,1267,1271,1391,1395,1398,1414,1417,1420,1449,1452,1473,1476,1503],[18,19,6],"h1",{"id":20},"linux-常用命令速查",[22,23,24],"p",{},"这页更适合当成“服务器与 WSL 日常排障速查表”来用。真正高频的不是把命令都背下来，而是知道遇到文件、端口、权限、日志、磁盘问题时该先看哪里。",[26,27,28],"h2",{"id":28},"推荐学习顺序",[22,30,31],{},"如果你刚开始接触 Linux，建议按下面顺序掌握：",[33,34,35,39,42,45,48],"ol",{},[36,37,38],"li",{},"文件与目录操作",[36,40,41],{},"文本查看与搜索",[36,43,44],{},"进程与端口排查",[36,46,47],{},"权限与服务管理",[36,49,50],{},"磁盘、网络与系统信息",[22,52,53],{},"先把“看文件、看日志、看端口”学会，排障效率会直接上一个台阶。",[26,55,56],{"id":56},"文件操作",[58,59,64],"pre",{"className":60,"code":61,"language":62,"meta":63,"style":63},"language-bash shiki shiki-themes github-light github-dark","ls -la                        # 列出所有文件（含隐藏）\nls -lh                        # 人类可读大小\ntree -L 2                     # 目录树（2 层）\n\ncp -r src\u002F dst\u002F               # 递归复制\nmv old new                    # 移动\u002F重命名\nrm -rf dir\u002F                   # 强制递归删除\n\nmkdir -p a\u002Fb\u002Fc                # 递归创建目录\nln -s \u002Fpath\u002Fto\u002Ftarget link    # 创建软链接\n\nfind . -name \"*.log\"          # 按名称查找\nfind . -size +100M            # 查找大文件\nfind . -mtime -7              # 最近 7 天修改的文件\nfind . -name \"*.tmp\" -delete  # 查找并删除\n","bash","",[65,66,67,84,95,110,117,136,151,166,171,186,204,209,227,243,259],"code",{"__ignoreMap":63},[68,69,72,76,80],"span",{"class":70,"line":71},"line",1,[68,73,75],{"class":74},"sScJk","ls",[68,77,79],{"class":78},"sj4cs"," -la",[68,81,83],{"class":82},"sJ8bj","                        # 列出所有文件（含隐藏）\n",[68,85,87,89,92],{"class":70,"line":86},2,[68,88,75],{"class":74},[68,90,91],{"class":78}," -lh",[68,93,94],{"class":82},"                        # 人类可读大小\n",[68,96,98,101,104,107],{"class":70,"line":97},3,[68,99,100],{"class":74},"tree",[68,102,103],{"class":78}," -L",[68,105,106],{"class":78}," 2",[68,108,109],{"class":82},"                     # 目录树（2 层）\n",[68,111,113],{"class":70,"line":112},4,[68,114,116],{"emptyLinePlaceholder":115},true,"\n",[68,118,120,123,126,130,133],{"class":70,"line":119},5,[68,121,122],{"class":74},"cp",[68,124,125],{"class":78}," -r",[68,127,129],{"class":128},"sZZnC"," src\u002F",[68,131,132],{"class":128}," dst\u002F",[68,134,135],{"class":82},"               # 递归复制\n",[68,137,139,142,145,148],{"class":70,"line":138},6,[68,140,141],{"class":74},"mv",[68,143,144],{"class":128}," old",[68,146,147],{"class":128}," new",[68,149,150],{"class":82},"                    # 移动\u002F重命名\n",[68,152,154,157,160,163],{"class":70,"line":153},7,[68,155,156],{"class":74},"rm",[68,158,159],{"class":78}," -rf",[68,161,162],{"class":128}," dir\u002F",[68,164,165],{"class":82},"                   # 强制递归删除\n",[68,167,169],{"class":70,"line":168},8,[68,170,116],{"emptyLinePlaceholder":115},[68,172,174,177,180,183],{"class":70,"line":173},9,[68,175,176],{"class":74},"mkdir",[68,178,179],{"class":78}," -p",[68,181,182],{"class":128}," a\u002Fb\u002Fc",[68,184,185],{"class":82},"                # 递归创建目录\n",[68,187,189,192,195,198,201],{"class":70,"line":188},10,[68,190,191],{"class":74},"ln",[68,193,194],{"class":78}," -s",[68,196,197],{"class":128}," \u002Fpath\u002Fto\u002Ftarget",[68,199,200],{"class":128}," link",[68,202,203],{"class":82},"    # 创建软链接\n",[68,205,207],{"class":70,"line":206},11,[68,208,116],{"emptyLinePlaceholder":115},[68,210,212,215,218,221,224],{"class":70,"line":211},12,[68,213,214],{"class":74},"find",[68,216,217],{"class":128}," .",[68,219,220],{"class":78}," -name",[68,222,223],{"class":128}," \"*.log\"",[68,225,226],{"class":82},"          # 按名称查找\n",[68,228,230,232,234,237,240],{"class":70,"line":229},13,[68,231,214],{"class":74},[68,233,217],{"class":128},[68,235,236],{"class":78}," -size",[68,238,239],{"class":128}," +100M",[68,241,242],{"class":82},"            # 查找大文件\n",[68,244,246,248,250,253,256],{"class":70,"line":245},14,[68,247,214],{"class":74},[68,249,217],{"class":128},[68,251,252],{"class":78}," -mtime",[68,254,255],{"class":78}," -7",[68,257,258],{"class":82},"              # 最近 7 天修改的文件\n",[68,260,262,264,266,268,271,274],{"class":70,"line":261},15,[68,263,214],{"class":74},[68,265,217],{"class":128},[68,267,220],{"class":78},[68,269,270],{"class":128}," \"*.tmp\"",[68,272,273],{"class":78}," -delete",[68,275,276],{"class":82},"  # 查找并删除\n",[26,278,279],{"id":279},"文本处理",[58,281,283],{"className":60,"code":282,"language":62,"meta":63,"style":63},"cat file.txt                  # 查看文件\nhead -20 file.txt             # 前 20 行\ntail -f file.log              # 实时查看日志\n\ngrep -rn \"pattern\" .          # 递归搜索\ngrep -i \"error\" file.log      # 忽略大小写\ngrep -v \"debug\" file.log      # 排除匹配行\n\nsed -i 's\u002Fold\u002Fnew\u002Fg' file     # 替换文本\nawk '{print $1, $3}' file     # 打印第 1、3 列\nsort file | uniq -c | sort -rn  # 统计去重排序\n\nwc -l file.txt                # 行数\nwc -w file.txt                # 词数\ndiff file1 file2              # 比较文件\n",[65,284,285,296,309,323,327,343,358,373,377,393,406,433,437,450,462],{"__ignoreMap":63},[68,286,287,290,293],{"class":70,"line":71},[68,288,289],{"class":74},"cat",[68,291,292],{"class":128}," file.txt",[68,294,295],{"class":82},"                  # 查看文件\n",[68,297,298,301,304,306],{"class":70,"line":86},[68,299,300],{"class":74},"head",[68,302,303],{"class":78}," -20",[68,305,292],{"class":128},[68,307,308],{"class":82},"             # 前 20 行\n",[68,310,311,314,317,320],{"class":70,"line":97},[68,312,313],{"class":74},"tail",[68,315,316],{"class":78}," -f",[68,318,319],{"class":128}," file.log",[68,321,322],{"class":82},"              # 实时查看日志\n",[68,324,325],{"class":70,"line":112},[68,326,116],{"emptyLinePlaceholder":115},[68,328,329,332,335,338,340],{"class":70,"line":119},[68,330,331],{"class":74},"grep",[68,333,334],{"class":78}," -rn",[68,336,337],{"class":128}," \"pattern\"",[68,339,217],{"class":128},[68,341,342],{"class":82},"          # 递归搜索\n",[68,344,345,347,350,353,355],{"class":70,"line":138},[68,346,331],{"class":74},[68,348,349],{"class":78}," -i",[68,351,352],{"class":128}," \"error\"",[68,354,319],{"class":128},[68,356,357],{"class":82},"      # 忽略大小写\n",[68,359,360,362,365,368,370],{"class":70,"line":153},[68,361,331],{"class":74},[68,363,364],{"class":78}," -v",[68,366,367],{"class":128}," \"debug\"",[68,369,319],{"class":128},[68,371,372],{"class":82},"      # 排除匹配行\n",[68,374,375],{"class":70,"line":168},[68,376,116],{"emptyLinePlaceholder":115},[68,378,379,382,384,387,390],{"class":70,"line":173},[68,380,381],{"class":74},"sed",[68,383,349],{"class":78},[68,385,386],{"class":128}," 's\u002Fold\u002Fnew\u002Fg'",[68,388,389],{"class":128}," file",[68,391,392],{"class":82},"     # 替换文本\n",[68,394,395,398,401,403],{"class":70,"line":188},[68,396,397],{"class":74},"awk",[68,399,400],{"class":128}," '{print $1, $3}'",[68,402,389],{"class":128},[68,404,405],{"class":82},"     # 打印第 1、3 列\n",[68,407,408,411,413,417,420,423,425,428,430],{"class":70,"line":206},[68,409,410],{"class":74},"sort",[68,412,389],{"class":128},[68,414,416],{"class":415},"szBVR"," |",[68,418,419],{"class":74}," uniq",[68,421,422],{"class":78}," -c",[68,424,416],{"class":415},[68,426,427],{"class":74}," sort",[68,429,334],{"class":78},[68,431,432],{"class":82},"  # 统计去重排序\n",[68,434,435],{"class":70,"line":211},[68,436,116],{"emptyLinePlaceholder":115},[68,438,439,442,445,447],{"class":70,"line":229},[68,440,441],{"class":74},"wc",[68,443,444],{"class":78}," -l",[68,446,292],{"class":128},[68,448,449],{"class":82},"                # 行数\n",[68,451,452,454,457,459],{"class":70,"line":245},[68,453,441],{"class":74},[68,455,456],{"class":78}," -w",[68,458,292],{"class":128},[68,460,461],{"class":82},"                # 词数\n",[68,463,464,467,470,473],{"class":70,"line":261},[68,465,466],{"class":74},"diff",[68,468,469],{"class":128}," file1",[68,471,472],{"class":128}," file2",[68,474,475],{"class":82},"              # 比较文件\n",[26,477,478],{"id":478},"高频排障组合",[22,480,481],{},"下面几组组合命令非常适合日常查问题：",[58,483,485],{"className":60,"code":484,"language":62,"meta":63,"style":63},"# 看端口是谁占用\nss -tlnp | grep 3000\n\n# 看服务最近日志\njournalctl -u nginx --since \"30 min ago\"\n\n# 看目录谁最占空间\ndu -sh * | sort -h\n\n# 边看日志边筛关键字\ntail -f app.log | grep --line-buffered \"error\"\n",[65,486,487,492,508,512,517,534,538,543,561,565,570],{"__ignoreMap":63},[68,488,489],{"class":70,"line":71},[68,490,491],{"class":82},"# 看端口是谁占用\n",[68,493,494,497,500,502,505],{"class":70,"line":86},[68,495,496],{"class":74},"ss",[68,498,499],{"class":78}," -tlnp",[68,501,416],{"class":415},[68,503,504],{"class":74}," grep",[68,506,507],{"class":78}," 3000\n",[68,509,510],{"class":70,"line":97},[68,511,116],{"emptyLinePlaceholder":115},[68,513,514],{"class":70,"line":112},[68,515,516],{"class":82},"# 看服务最近日志\n",[68,518,519,522,525,528,531],{"class":70,"line":119},[68,520,521],{"class":74},"journalctl",[68,523,524],{"class":78}," -u",[68,526,527],{"class":128}," nginx",[68,529,530],{"class":78}," --since",[68,532,533],{"class":128}," \"30 min ago\"\n",[68,535,536],{"class":70,"line":138},[68,537,116],{"emptyLinePlaceholder":115},[68,539,540],{"class":70,"line":153},[68,541,542],{"class":82},"# 看目录谁最占空间\n",[68,544,545,548,551,554,556,558],{"class":70,"line":168},[68,546,547],{"class":74},"du",[68,549,550],{"class":78}," -sh",[68,552,553],{"class":78}," *",[68,555,416],{"class":415},[68,557,427],{"class":74},[68,559,560],{"class":78}," -h\n",[68,562,563],{"class":70,"line":173},[68,564,116],{"emptyLinePlaceholder":115},[68,566,567],{"class":70,"line":188},[68,568,569],{"class":82},"# 边看日志边筛关键字\n",[68,571,572,574,576,579,581,583,586],{"class":70,"line":206},[68,573,313],{"class":74},[68,575,316],{"class":78},[68,577,578],{"class":128}," app.log",[68,580,416],{"class":415},[68,582,504],{"class":74},[68,584,585],{"class":78}," --line-buffered",[68,587,588],{"class":128}," \"error\"\n",[22,590,591],{},"如果你平时在 WSL 里工作，这一组基本已经能覆盖多数本地开发排障场景。",[26,593,594],{"id":594},"权限管理",[58,596,598],{"className":60,"code":597,"language":62,"meta":63,"style":63},"chmod 755 script.sh           # rwxr-xr-x\nchmod +x script.sh            # 添加执行权限\nchmod -R 644 dir\u002F             # 递归设置\n\nchown user:group file         # 修改所有者\nchown -R user:group dir\u002F      # 递归修改\n",[65,599,600,614,626,641,645,658],{"__ignoreMap":63},[68,601,602,605,608,611],{"class":70,"line":71},[68,603,604],{"class":74},"chmod",[68,606,607],{"class":78}," 755",[68,609,610],{"class":128}," script.sh",[68,612,613],{"class":82},"           # rwxr-xr-x\n",[68,615,616,618,621,623],{"class":70,"line":86},[68,617,604],{"class":74},[68,619,620],{"class":128}," +x",[68,622,610],{"class":128},[68,624,625],{"class":82},"            # 添加执行权限\n",[68,627,628,630,633,636,638],{"class":70,"line":97},[68,629,604],{"class":74},[68,631,632],{"class":78}," -R",[68,634,635],{"class":78}," 644",[68,637,162],{"class":128},[68,639,640],{"class":82},"             # 递归设置\n",[68,642,643],{"class":70,"line":112},[68,644,116],{"emptyLinePlaceholder":115},[68,646,647,650,653,655],{"class":70,"line":119},[68,648,649],{"class":74},"chown",[68,651,652],{"class":128}," user:group",[68,654,389],{"class":128},[68,656,657],{"class":82},"         # 修改所有者\n",[68,659,660,662,664,666,668],{"class":70,"line":138},[68,661,649],{"class":74},[68,663,632],{"class":78},[68,665,652],{"class":128},[68,667,162],{"class":128},[68,669,670],{"class":82},"      # 递归修改\n",[672,673,674,687],"table",{},[675,676,677],"thead",{},[678,679,680,684],"tr",{},[681,682,683],"th",{},"数字",[681,685,686],{},"权限",[688,689,690,699,707,715],"tbody",{},[678,691,692,696],{},[693,694,695],"td",{},"7",[693,697,698],{},"rwx（读写执行）",[678,700,701,704],{},[693,702,703],{},"6",[693,705,706],{},"rw-（读写）",[678,708,709,712],{},[693,710,711],{},"5",[693,713,714],{},"r-x（读执行）",[678,716,717,720],{},[693,718,719],{},"4",[693,721,722],{},"r--（只读）",[26,724,725],{"id":725},"进程管理",[58,727,729],{"className":60,"code":728,"language":62,"meta":63,"style":63},"ps aux                        # 查看所有进程\nps aux | grep nginx           # 搜索进程\ntop                           # 实时监控\nhtop                          # 增强版监控\n\nkill PID                      # 终止进程\nkill -9 PID                   # 强制终止\nkillall nginx                 # 按名称终止\n\nnohup command &               # 后台运行（不随终端关闭）\nscreen -S name                # 创建会话\ntmux new -s name              # tmux 会话\n",[65,730,731,742,757,765,773,777,788,800,810,814,829,843],{"__ignoreMap":63},[68,732,733,736,739],{"class":70,"line":71},[68,734,735],{"class":74},"ps",[68,737,738],{"class":128}," aux",[68,740,741],{"class":82},"                        # 查看所有进程\n",[68,743,744,746,748,750,752,754],{"class":70,"line":86},[68,745,735],{"class":74},[68,747,738],{"class":128},[68,749,416],{"class":415},[68,751,504],{"class":74},[68,753,527],{"class":128},[68,755,756],{"class":82},"           # 搜索进程\n",[68,758,759,762],{"class":70,"line":97},[68,760,761],{"class":74},"top",[68,763,764],{"class":82},"                           # 实时监控\n",[68,766,767,770],{"class":70,"line":112},[68,768,769],{"class":74},"htop",[68,771,772],{"class":82},"                          # 增强版监控\n",[68,774,775],{"class":70,"line":119},[68,776,116],{"emptyLinePlaceholder":115},[68,778,779,782,785],{"class":70,"line":138},[68,780,781],{"class":78},"kill",[68,783,784],{"class":128}," PID",[68,786,787],{"class":82},"                      # 终止进程\n",[68,789,790,792,795,797],{"class":70,"line":153},[68,791,781],{"class":78},[68,793,794],{"class":78}," -9",[68,796,784],{"class":128},[68,798,799],{"class":82},"                   # 强制终止\n",[68,801,802,805,807],{"class":70,"line":168},[68,803,804],{"class":74},"killall",[68,806,527],{"class":128},[68,808,809],{"class":82},"                 # 按名称终止\n",[68,811,812],{"class":70,"line":173},[68,813,116],{"emptyLinePlaceholder":115},[68,815,816,819,822,826],{"class":70,"line":188},[68,817,818],{"class":74},"nohup",[68,820,821],{"class":128}," command",[68,823,825],{"class":824},"sVt8B"," &               ",[68,827,828],{"class":82},"# 后台运行（不随终端关闭）\n",[68,830,831,834,837,840],{"class":70,"line":206},[68,832,833],{"class":74},"screen",[68,835,836],{"class":78}," -S",[68,838,839],{"class":128}," name",[68,841,842],{"class":82},"                # 创建会话\n",[68,844,845,848,850,852,854],{"class":70,"line":211},[68,846,847],{"class":74},"tmux",[68,849,147],{"class":128},[68,851,194],{"class":78},[68,853,839],{"class":128},[68,855,856],{"class":82},"              # tmux 会话\n",[26,858,859],{"id":859},"磁盘管理",[58,861,863],{"className":60,"code":862,"language":62,"meta":63,"style":63},"df -h                         # 磁盘使用情况\ndu -sh *                      # 当前目录各项大小\ndu -sh \u002Fvar\u002Flog               # 指定目录大小\nncdu \u002F                        # 交互式磁盘分析\n\nlsblk                         # 列出块设备\nmount \u002Fdev\u002Fsdb1 \u002Fmnt          # 挂载\numount \u002Fmnt                   # 卸载\n",[65,864,865,876,887,899,910,914,922,936],{"__ignoreMap":63},[68,866,867,870,873],{"class":70,"line":71},[68,868,869],{"class":74},"df",[68,871,872],{"class":78}," -h",[68,874,875],{"class":82},"                         # 磁盘使用情况\n",[68,877,878,880,882,884],{"class":70,"line":86},[68,879,547],{"class":74},[68,881,550],{"class":78},[68,883,553],{"class":78},[68,885,886],{"class":82},"                      # 当前目录各项大小\n",[68,888,889,891,893,896],{"class":70,"line":97},[68,890,547],{"class":74},[68,892,550],{"class":78},[68,894,895],{"class":128}," \u002Fvar\u002Flog",[68,897,898],{"class":82},"               # 指定目录大小\n",[68,900,901,904,907],{"class":70,"line":112},[68,902,903],{"class":74},"ncdu",[68,905,906],{"class":128}," \u002F",[68,908,909],{"class":82},"                        # 交互式磁盘分析\n",[68,911,912],{"class":70,"line":119},[68,913,116],{"emptyLinePlaceholder":115},[68,915,916,919],{"class":70,"line":138},[68,917,918],{"class":74},"lsblk",[68,920,921],{"class":82},"                         # 列出块设备\n",[68,923,924,927,930,933],{"class":70,"line":153},[68,925,926],{"class":74},"mount",[68,928,929],{"class":128}," \u002Fdev\u002Fsdb1",[68,931,932],{"class":128}," \u002Fmnt",[68,934,935],{"class":82},"          # 挂载\n",[68,937,938,941,943],{"class":70,"line":168},[68,939,940],{"class":74},"umount",[68,942,932],{"class":128},[68,944,945],{"class":82},"                   # 卸载\n",[26,947,948],{"id":948},"网络",[58,950,952],{"className":60,"code":951,"language":62,"meta":63,"style":63},"ip addr                       # 查看 IP\nss -tlnp                      # 查看监听端口\ncurl -I https:\u002F\u002Fexample.com   # 查看响应头\nwget https:\u002F\u002Fexample.com\u002Ffile # 下载文件\n\nping example.com              # 连通性测试\ntraceroute example.com        # 路由追踪\ndig example.com               # DNS 查询\nnslookup example.com          # DNS 查询\n\n# 端口转发\nssh -L 8080:localhost:80 user@server\n\n# 传输文件\nscp file user@server:\u002Fpath\u002F\nrsync -avz src\u002F user@server:\u002Fdst\u002F\n",[65,953,954,965,974,988,999,1003,1014,1024,1034,1044,1048,1053,1066,1070,1075,1085],{"__ignoreMap":63},[68,955,956,959,962],{"class":70,"line":71},[68,957,958],{"class":74},"ip",[68,960,961],{"class":128}," addr",[68,963,964],{"class":82},"                       # 查看 IP\n",[68,966,967,969,971],{"class":70,"line":86},[68,968,496],{"class":74},[68,970,499],{"class":78},[68,972,973],{"class":82},"                      # 查看监听端口\n",[68,975,976,979,982,985],{"class":70,"line":97},[68,977,978],{"class":74},"curl",[68,980,981],{"class":78}," -I",[68,983,984],{"class":128}," https:\u002F\u002Fexample.com",[68,986,987],{"class":82},"   # 查看响应头\n",[68,989,990,993,996],{"class":70,"line":112},[68,991,992],{"class":74},"wget",[68,994,995],{"class":128}," https:\u002F\u002Fexample.com\u002Ffile",[68,997,998],{"class":82}," # 下载文件\n",[68,1000,1001],{"class":70,"line":119},[68,1002,116],{"emptyLinePlaceholder":115},[68,1004,1005,1008,1011],{"class":70,"line":138},[68,1006,1007],{"class":74},"ping",[68,1009,1010],{"class":128}," example.com",[68,1012,1013],{"class":82},"              # 连通性测试\n",[68,1015,1016,1019,1021],{"class":70,"line":153},[68,1017,1018],{"class":74},"traceroute",[68,1020,1010],{"class":128},[68,1022,1023],{"class":82},"        # 路由追踪\n",[68,1025,1026,1029,1031],{"class":70,"line":168},[68,1027,1028],{"class":74},"dig",[68,1030,1010],{"class":128},[68,1032,1033],{"class":82},"               # DNS 查询\n",[68,1035,1036,1039,1041],{"class":70,"line":173},[68,1037,1038],{"class":74},"nslookup",[68,1040,1010],{"class":128},[68,1042,1043],{"class":82},"          # DNS 查询\n",[68,1045,1046],{"class":70,"line":188},[68,1047,116],{"emptyLinePlaceholder":115},[68,1049,1050],{"class":70,"line":206},[68,1051,1052],{"class":82},"# 端口转发\n",[68,1054,1055,1058,1060,1063],{"class":70,"line":211},[68,1056,1057],{"class":74},"ssh",[68,1059,103],{"class":78},[68,1061,1062],{"class":128}," 8080:localhost:80",[68,1064,1065],{"class":128}," user@server\n",[68,1067,1068],{"class":70,"line":229},[68,1069,116],{"emptyLinePlaceholder":115},[68,1071,1072],{"class":70,"line":245},[68,1073,1074],{"class":82},"# 传输文件\n",[68,1076,1077,1080,1082],{"class":70,"line":261},[68,1078,1079],{"class":74},"scp",[68,1081,389],{"class":128},[68,1083,1084],{"class":128}," user@server:\u002Fpath\u002F\n",[68,1086,1088,1091,1094,1096],{"class":70,"line":1087},16,[68,1089,1090],{"class":74},"rsync",[68,1092,1093],{"class":78}," -avz",[68,1095,129],{"class":128},[68,1097,1098],{"class":128}," user@server:\u002Fdst\u002F\n",[26,1100,1101],{"id":1101},"压缩解压",[58,1103,1105],{"className":60,"code":1104,"language":62,"meta":63,"style":63},"# tar.gz\ntar -czf archive.tar.gz dir\u002F\ntar -xzf archive.tar.gz\n\n# tar.bz2\ntar -cjf archive.tar.bz2 dir\u002F\ntar -xjf archive.tar.bz2\n\n# zip\nzip -r archive.zip dir\u002F\nunzip archive.zip\n",[65,1106,1107,1112,1126,1136,1140,1145,1157,1167,1171,1176,1188],{"__ignoreMap":63},[68,1108,1109],{"class":70,"line":71},[68,1110,1111],{"class":82},"# tar.gz\n",[68,1113,1114,1117,1120,1123],{"class":70,"line":86},[68,1115,1116],{"class":74},"tar",[68,1118,1119],{"class":78}," -czf",[68,1121,1122],{"class":128}," archive.tar.gz",[68,1124,1125],{"class":128}," dir\u002F\n",[68,1127,1128,1130,1133],{"class":70,"line":97},[68,1129,1116],{"class":74},[68,1131,1132],{"class":78}," -xzf",[68,1134,1135],{"class":128}," archive.tar.gz\n",[68,1137,1138],{"class":70,"line":112},[68,1139,116],{"emptyLinePlaceholder":115},[68,1141,1142],{"class":70,"line":119},[68,1143,1144],{"class":82},"# tar.bz2\n",[68,1146,1147,1149,1152,1155],{"class":70,"line":138},[68,1148,1116],{"class":74},[68,1150,1151],{"class":78}," -cjf",[68,1153,1154],{"class":128}," archive.tar.bz2",[68,1156,1125],{"class":128},[68,1158,1159,1161,1164],{"class":70,"line":153},[68,1160,1116],{"class":74},[68,1162,1163],{"class":78}," -xjf",[68,1165,1166],{"class":128}," archive.tar.bz2\n",[68,1168,1169],{"class":70,"line":168},[68,1170,116],{"emptyLinePlaceholder":115},[68,1172,1173],{"class":70,"line":173},[68,1174,1175],{"class":82},"# zip\n",[68,1177,1178,1181,1183,1186],{"class":70,"line":188},[68,1179,1180],{"class":74},"zip",[68,1182,125],{"class":78},[68,1184,1185],{"class":128}," archive.zip",[68,1187,1125],{"class":128},[68,1189,1190,1193],{"class":70,"line":206},[68,1191,1192],{"class":74},"unzip",[68,1194,1195],{"class":128}," archive.zip\n",[26,1197,1198],{"id":1198},"系统信息",[58,1200,1202],{"className":60,"code":1201,"language":62,"meta":63,"style":63},"uname -a                      # 系统信息\ncat \u002Fetc\u002Fos-release           # 发行版信息\nuptime                        # 运行时间\nfree -h                       # 内存使用\nlscpu                         # CPU 信息\nhostname                      # 主机名\nwhoami                        # 当前用户\n",[65,1203,1204,1215,1225,1233,1243,1251,1259],{"__ignoreMap":63},[68,1205,1206,1209,1212],{"class":70,"line":71},[68,1207,1208],{"class":74},"uname",[68,1210,1211],{"class":78}," -a",[68,1213,1214],{"class":82},"                      # 系统信息\n",[68,1216,1217,1219,1222],{"class":70,"line":86},[68,1218,289],{"class":74},[68,1220,1221],{"class":128}," \u002Fetc\u002Fos-release",[68,1223,1224],{"class":82},"           # 发行版信息\n",[68,1226,1227,1230],{"class":70,"line":97},[68,1228,1229],{"class":74},"uptime",[68,1231,1232],{"class":82},"                        # 运行时间\n",[68,1234,1235,1238,1240],{"class":70,"line":112},[68,1236,1237],{"class":74},"free",[68,1239,872],{"class":78},[68,1241,1242],{"class":82},"                       # 内存使用\n",[68,1244,1245,1248],{"class":70,"line":119},[68,1246,1247],{"class":74},"lscpu",[68,1249,1250],{"class":82},"                         # CPU 信息\n",[68,1252,1253,1256],{"class":70,"line":138},[68,1254,1255],{"class":74},"hostname",[68,1257,1258],{"class":82},"                      # 主机名\n",[68,1260,1261,1264],{"class":70,"line":153},[68,1262,1263],{"class":74},"whoami",[68,1265,1266],{"class":82},"                        # 当前用户\n",[26,1268,1270],{"id":1269},"systemd-服务管理","Systemd 服务管理",[58,1272,1274],{"className":60,"code":1273,"language":62,"meta":63,"style":63},"systemctl status nginx        # 查看状态\nsystemctl start nginx         # 启动\nsystemctl stop nginx          # 停止\nsystemctl restart nginx       # 重启\nsystemctl enable nginx        # 开机自启\nsystemctl disable nginx       # 取消自启\nsystemctl list-units --type=service  # 列出所有服务\n\njournalctl -u nginx -f        # 查看服务日志\njournalctl --since \"1 hour ago\"     # 最近 1 小时日志\n",[65,1275,1276,1289,1301,1313,1325,1337,1349,1362,1366,1379],{"__ignoreMap":63},[68,1277,1278,1281,1284,1286],{"class":70,"line":71},[68,1279,1280],{"class":74},"systemctl",[68,1282,1283],{"class":128}," status",[68,1285,527],{"class":128},[68,1287,1288],{"class":82},"        # 查看状态\n",[68,1290,1291,1293,1296,1298],{"class":70,"line":86},[68,1292,1280],{"class":74},[68,1294,1295],{"class":128}," start",[68,1297,527],{"class":128},[68,1299,1300],{"class":82},"         # 启动\n",[68,1302,1303,1305,1308,1310],{"class":70,"line":97},[68,1304,1280],{"class":74},[68,1306,1307],{"class":128}," stop",[68,1309,527],{"class":128},[68,1311,1312],{"class":82},"          # 停止\n",[68,1314,1315,1317,1320,1322],{"class":70,"line":112},[68,1316,1280],{"class":74},[68,1318,1319],{"class":128}," restart",[68,1321,527],{"class":128},[68,1323,1324],{"class":82},"       # 重启\n",[68,1326,1327,1329,1332,1334],{"class":70,"line":119},[68,1328,1280],{"class":74},[68,1330,1331],{"class":128}," enable",[68,1333,527],{"class":128},[68,1335,1336],{"class":82},"        # 开机自启\n",[68,1338,1339,1341,1344,1346],{"class":70,"line":138},[68,1340,1280],{"class":74},[68,1342,1343],{"class":128}," disable",[68,1345,527],{"class":128},[68,1347,1348],{"class":82},"       # 取消自启\n",[68,1350,1351,1353,1356,1359],{"class":70,"line":153},[68,1352,1280],{"class":74},[68,1354,1355],{"class":128}," list-units",[68,1357,1358],{"class":78}," --type=service",[68,1360,1361],{"class":82},"  # 列出所有服务\n",[68,1363,1364],{"class":70,"line":168},[68,1365,116],{"emptyLinePlaceholder":115},[68,1367,1368,1370,1372,1374,1376],{"class":70,"line":173},[68,1369,521],{"class":74},[68,1371,524],{"class":78},[68,1373,527],{"class":128},[68,1375,316],{"class":78},[68,1377,1378],{"class":82},"        # 查看服务日志\n",[68,1380,1381,1383,1385,1388],{"class":70,"line":188},[68,1382,521],{"class":74},[68,1384,530],{"class":78},[68,1386,1387],{"class":128}," \"1 hour ago\"",[68,1389,1390],{"class":82},"     # 最近 1 小时日志\n",[26,1392,1394],{"id":1393},"wsl-与原生-linux-的差异","WSL 与原生 Linux 的差异",[22,1396,1397],{},"很多命令在 WSL 里同样可用，但有几个体验差异值得提前知道：",[1399,1400,1401,1408,1411],"ul",{},[36,1402,1403,1404,1407],{},"文件放在 WSL 的 Linux 文件系统里，通常比放在 ",[65,1405,1406],{},"C:\\\\"," 再跨系统访问更快",[36,1409,1410],{},"某些 systemd 能力要确认 WSL 版本与配置是否已启用",[36,1412,1413],{},"图形、硬件、USB、内核相关命令在 WSL 中可能与原生 Linux 不完全一致",[22,1415,1416],{},"如果你是把 WSL 当开发环境而不是服务器环境，优先把重点放在文件、网络、包管理、进程和日志这几类命令上就够用了。",[26,1418,1419],{"id":1419},"常见风险提醒",[1399,1421,1422,1431,1440,1443],{},[36,1423,1424,1427,1428],{},[65,1425,1426],{},"rm -rf"," 执行前先 ",[65,1429,1430],{},"pwd",[36,1432,1433,1436,1437],{},[65,1434,1435],{},"sudo"," 不要和重定向误用，必要时使用 ",[65,1438,1439],{},"sudo tee",[36,1441,1442],{},"修改权限前先确认目标是文件还是目录，避免整棵目录被错误降权",[36,1444,1445,1446],{},"生产机上优先先看日志和状态，再决定是否 ",[65,1447,1448],{},"restart",[26,1450,1451],{"id":1451},"延伸阅读",[1399,1453,1454,1461,1467],{},[36,1455,1456],{},[1457,1458,1460],"a",{"href":1459},"\u002Fdocs\u002Fssh-config","SSH 配置与免密登录",[36,1462,1463],{},[1457,1464,1466],{"href":1465},"\u002Fdocs\u002Fnetwork-tools","网络调试工具",[36,1468,1469],{},[1457,1470,1472],{"href":1471},"\u002Fdocs\u002Fnginx-basics","Nginx 基础配置",[26,1474,1475],{"id":1475},"参考链接",[1399,1477,1478,1487,1495],{},[36,1479,1480,1486],{},[1457,1481,1485],{"href":1482,"rel":1483},"https:\u002F\u002Ftldr.sh\u002F",[1484],"nofollow","TLDR Pages"," — 简化版 man 手册",[36,1488,1489,1494],{},[1457,1490,1493],{"href":1491,"rel":1492},"https:\u002F\u002Fexplainshell.com\u002F",[1484],"ExplainShell"," — 命令解释工具",[36,1496,1497,1502],{},[1457,1498,1501],{"href":1499,"rel":1500},"https:\u002F\u002Fwww.linuxcommand.org\u002F",[1484],"Linux Command"," — 学习资源",[1504,1505,1506],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":63,"searchDepth":86,"depth":86,"links":1508},[1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523],{"id":28,"depth":86,"text":28},{"id":56,"depth":86,"text":56},{"id":279,"depth":86,"text":279},{"id":478,"depth":86,"text":478},{"id":594,"depth":86,"text":594},{"id":725,"depth":86,"text":725},{"id":859,"depth":86,"text":859},{"id":948,"depth":86,"text":948},{"id":1101,"depth":86,"text":1101},{"id":1198,"depth":86,"text":1198},{"id":1269,"depth":86,"text":1270},{"id":1393,"depth":86,"text":1394},{"id":1419,"depth":86,"text":1419},{"id":1451,"depth":86,"text":1451},{"id":1475,"depth":86,"text":1475},{"path":1525,"title":1526,"description":1527,"docType":8,"resourceKind":9,"categoryId":1528,"categoryLabel":1529,"updatedAt":12,"publishedAt":12,"icon":1530},"\u002Fdocs\u002Fgo-basics","Go 语言入门","Go 安装配置、常用命令、项目结构、并发编程与交叉编译","programming-languages","编程语言","i-carbon-application",{"path":1532,"title":1533,"description":1534,"docType":8,"resourceKind":9,"categoryId":1535,"categoryLabel":1536,"updatedAt":12,"publishedAt":12,"icon":1537},"\u002Fdocs\u002Fmarkdown-syntax","Markdown 语法速查","Markdown 基础语法、扩展语法、GitHub Flavored Markdown 与常用编辑器","online-tools","在线工具","i-carbon-tool-box",[1539,1540,1541],"希望把零散经验整理成长期可复用工作流的人","想先建立认知，再决定是否深入实践的人","希望阅读时顺手建立自己的操作清单或收藏体系的人",[1543,1544,1545],"先浏览标题、摘要和目录，带着问题阅读会更高效","顺手记录真正对你有用的命令、链接和注意事项，避免重复搜索","如果页面里提到相关文档，尽量一起打开对照，效果通常更完整",[1547,1552,1556,1560],{"path":1548,"title":1549,"description":1550,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1551,"publishedAt":1551,"icon":13},"\u002Fdocs\u002Fcloudflare-pages-deploy","Cloudflare Pages 部署指南","Cloudflare Pages 项目部署、自定义域名、环境变量、重定向与 Functions","2026-02-28",{"path":1553,"title":1554,"description":1555,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":1551,"publishedAt":1551,"icon":13},"\u002Fdocs\u002Fs3-storage","S3 对象存储","S3 兼容存储使用、Cloudflare R2、MinIO 自建、rclone 同步与 SDK 集成",{"path":1557,"title":1558,"description":1559,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":12,"publishedAt":12,"icon":13},"\u002Fdocs\u002Fmonitoring-logging","监控与日志","服务器监控工具、日志管理、Uptime 监控与告警配置",{"path":1561,"title":1562,"description":1563,"docType":8,"resourceKind":9,"categoryId":10,"categoryLabel":11,"updatedAt":12,"publishedAt":12,"icon":13},"\u002Fdocs\u002Fcontainer-orchestration","容器编排入门","Docker Swarm 与 Kubernetes 基础概念、常用命令与本地开发环境",1776215713168]