当前位置: 首页 > news >正文

网站代码多彩计算机网络技术主要是干什么的

网站代码多彩,计算机网络技术主要是干什么的,建自己网址的免费网页,wordpress 微信关注插件1、文件目录 #xff08;1#xff09;ls ls -l 以详细列表形式显示文件 / 目录信息#xff0c;包含#xff1a;权限、链接数、所有者、所属组、文件大小、修改时间、文件名 ls -a 显示目录下所有文件 / 目录#xff0c;包括以 . 开头的隐藏文件#xff08;如 .bashrc…1、文件目录 1ls ls -l 以详细列表形式显示文件 / 目录信息包含权限、链接数、所有者、所属组、文件大小、修改时间、文件名 ls -a 显示目录下所有文件 / 目录包括以 . 开头的隐藏文件如 .bashrc及 .当前目录、..上级目录 ls -la 结合 -l 和 -a 的功能以长格式显示所有文件含隐藏文件是日常查看目录详情的高频命令 ls -h 以友好单位如 1K、2M、3G显示文件大小需搭配 -l 使用才更实用 ls -lh 长格式显示文件信息并以 K/M/G 单位标注大小快速直观判断文件占用空间 ls -r 反向排序默认按字母升序-r 改为降序常搭配 -lls -lr或 -tls -tr使用 ls -t 按文件修改时间排序最新修改的文件在前搭配 -lls -lt可查看最近更新的文件 ls -F 在文件名后添加符号标识文件类型/ 表示目录、* 表示可执行文件、 表示软链接快速区分文件属性 ls -ltr 按文件修改时间倒序最早修改的文件在前长格式显示适合追溯历史文件 ls --color 以彩色区分文件类型如目录蓝色、可执行文件绿色、普通文件黑色常用 ls --colorauto 自动适配终端 ls -d */ 仅显示当前目录下的子目录不包含普通文件*/ 是通配符限定只匹配目录 ls -i 显示文件的 inode 编号inode 是文件系统中唯一标识文件的元数据索引用于硬链接管理等高级操作 ls -s 显示文件大小默认以 “块” 为单位搭配 -hls -sh可转为 K/M/G 友好单位 ls -R 递归列出当前目录下所有层级子目录的内容遍历整个目录树适合查看完整目录结构 2cd cd 目录路径 切换到指定的目录绝对路径或相对路径例如 cd /home/user 或 cd Documents cd ~ 切换到当前用户的家目录如 /home/用户名 或 /root是最常用的快捷方式之一 cd .. 切换到当前目录的上级目录例如在 /home/user/docs 中执行后会进入 /home/user cd - 切换到上一次所在的目录相当于 “返回” 操作常用于两个目录间快速切换 cd . 切换到当前目录实际无效果主要用于脚本中规范路径格式或占位 cd 不指定任何参数时默认切换到当前用户的家目录等价于 cd ~ cd ../../ 切换到上两级目录可根据需求叠加如 cd ../../../ 切换到上三级目录 cd ~用户名 切换到指定用户的家目录需有访问权限例如 cd ~root 切换到 root 用户的家目录 3mkdir mkdir 目录名 创建单个目录例如 mkdir docs 会在当前目录下创建名为 docs 的目录 mkdir -p 路径 递归创建多级目录若父目录不存在则自动创建例如 mkdir -p a/b/c 会依次创建 a、a/b、a/b/c 三级目录 mkdir -m 权限 目录名 创建目录时直接指定权限无需后续用 chmod 修改例如 mkdir -m 755 public 创建权限为 rwxr-xr-x 的 public 目录 mkdir -v 目录名 创建目录时显示详细信息告知目录已创建例如 mkdir -v logs 会输出 mkdir: 已创建目录 logs mkdir -p -v 多级路径 递归创建多级目录并显示每个目录的创建信息例如 mkdir -p -v x/y/z 会逐行输出每个目录的创建过程 mkdir 目录1 目录2 目录3 一次性创建多个同级目录例如 mkdir doc img video 同时创建 doc、img、video 三个目录 2、文件操作 1rm rm 文件 删除指定文件删除前会提示确认y 确认n 取消例如 rm note.txt 删除 note.txt 文件 rm -f 文件 强制删除文件不提示确认即使文件为只读例如 rm -f temp.log 直接删除 temp.log 且无提示 rm -r 目录 递归删除目录及其包含的所有文件和子目录例如 rm -r docs 删除 docs 目录及其中所有内容删除前会提示 rm -rf 目录 强制删除目录及其内容不提示确认最危险也最常用的目录删除方式例如 rm -rf old_data 直接删除 old_data 目录及所有内容 rm -i 文件 删除前强制提示确认比默认提示更严格即使在非交互模式下也会提示例如 rm -i important.txt 会明确询问是否删除 rm -v 文件/目录 显示删除过程的详细信息例如 rm -v file1.txt 会输出 已删除 file1.txt rm -rf * 删除当前目录下所有文件和子目录不包括隐藏文件* 匹配所有非隐藏项 rm -rf .[!.]* ..?* * 删除当前目录下所有文件包括隐藏文件避免因 * 不匹配隐藏文件导致的遗漏 2cp cp 源文件 目标路径 复制单个文件到指定路径若目标是目录则保留原文件名名若目标是新文件名则复制并改名例如 cp file.txt docs/ 或 cp file.txt newfile.txt cp -r 源目录 目标路径 递归复制目录及其所有内容包括子目录和文件例如 cp -r docs/ backups/ 将 docs 目录复制到 backups 目录下 cp -i 源文件 目标 复制时若目标文件已存在会提示确认是否覆盖例如 cp -i file.txt docs/ 若 docs/file.txt 存在则询问是否覆盖 cp -v 源 目标 显示复制过程的详细信息例如 cp -v img.jpg pics/ 会输出 img.jpg - pics/img.jpg cp -f 源文件 目标 强制复制若目标文件已存在且无写入权限会强制覆盖忽略权限检查例如 cp -f readme.txt /opt/ cp -p 源文件 目标 复制时保留文件的原始属性权限、所有者、修改时间等例如 cp -p data.log backups/ 保持 data.log 的属性不变 cp -a 源目录 目标 等价于 -dR --preserveall递归复制目录并保留所有属性包括符号链接适合完整备份目录例如 cp -a config/ config_bak/ cp -u 源 目标 仅当源文件比目标文件新或目标文件不存在时才复制例如 cp -u *.txt docs/ 只更新较新的文本文件 cp -r 源目录1 源目录2 目标目录 一次性复制多个目录到目标目录下例如 cp -r docs/ pics/ backups/ 将 docs 和 pics 都复制到 backups 中 cp -l 源文件 目标 不复制文件内容而是创建硬链接节省空间修改任一文件会影响所有链接例如 cp -l file.txt file_link cp -s 源文件 目标 创建软链接符号链接而非复制文件例如 cp -s /usr/bin/python3 python 生成指向 python3 的软链接 python 3mv mv 源文件/目录 目标路径 移动文件或目录到指定路径若目标是目录则保持原名若目标是新名称则移动并改名例如 mv file.txt docs/ 或 mv old.txt new.txt mv -i 源 目标 移动时若目标已存在会提示确认是否覆盖例如 mv -i file.txt docs/ 若目标存在则询问确认 mv -f 源 目标 强制移动若目标已存在则直接覆盖且不提示例如 mv -f temp.log logs/ 强制覆盖已有文件 mv -v 源 目标 显示移动过程的详细信息例如 mv -v pics/ images/ 会输出 pics/ - images/ mv 文件1 文件2 目标目录 一次性移动多个文件到目标目录例如 mv a.txt b.jpg docs/ 将两个文件都移到 docs 目录 mv -n 源 目标 若目标文件已存在则不移动也不提示避免意外覆盖例如 mv -n important.txt backups/ 安全移动 mv --backupnumbered 源 目标 移动时若目标存在会创建带编号的备份文件如 file.txt.~1~例如 mv --backupnumbered file.txt docs/ 4touch touch 文件名 创建一个空文件若文件不存在若文件已存在则更新其访问时间和修改时间为当前时间例如 touch note.txt touch 文件1 文件2 文件3 一次性创建多个空文件例如 touch a.txt b.md c.csv 同时创建三个不同类型的空文件 touch -d 时间字符串 文件名 创建文件时指定时间戳而非当前时间或修改已有文件的时间戳例如 touch -d 2023-01-01 12:00 log.txt touch -t 时间格式 文件名 以 [[CC]YY]MMDDhhmm[.ss] 格式指定时间戳例如 touch -t 202301011200.30 data.log 设置时间为 2023 年 1 月 1 日 12:00:30 touch -a 文件名 仅更新文件的访问时间不改变修改时间例如 touch -a readme.txt 记录 “查看” 时间 touch -m 文件名 仅更新文件的修改时间不改变访问时间例如 touch -m script.sh 模拟文件 “被修改” touch -c 文件名 仅更新已有文件的时间戳若文件不存在则不创建例如 touch -c oldfile.txt 避免误创建新文件 touch -r 参考文件 目标文件 让目标文件的时间戳与参考文件保持一致例如 touch -r template.txt newfile.txt 同步时间戳 3、文件读取 1cat cat 文件名 读取并显示文件的全部内容例如 cat README.txt 输出该文件的文本内容 cat 文件1 文件2 依次显示多个文件的内容例如 cat part1.txt part2.txt 连续输出两个文件的内容 cat -n 文件名 显示文件内容并为每一行添加行号包括空行例如 cat -n script.sh 方便查看代码行数 cat -b 文件名 仅为非空行添加行号空行不编号例如 cat -b notes.txt 适合处理有较多空行的文本 cat 文件名 创建新文件并写入内容按 CtrlD 结束输入例如 cat newfile.txt 可快速创建文本文件 cat 文件名 向已有文件末尾追加内容不会覆盖原有内容例如 cat log.txt 向日志文件添加新内容 cat -s 文件名 将连续的多个空行压缩为一个空行例如 cat -s messy.txt 使输出更整洁 cat -T 文件名 将文件中的制表符Tab显示为 ^I例如 cat -T data.csv 方便区分空格和制表符 cat 文件1 文件2 合并文件 将多个文件的内容合并到一个新文件中例如 cat chapter1.txt chapter2.txt book.txt cat -v 文件名 显示文件中的非打印字符除换行符和制表符外用于查看特殊字符 2more more 文件名 分页显示文件内容默认从第一行开始支持按 Space 键翻页、Enter 键逐行滚动按 q 退出 cat 文件名 | more 将其他命令的输出通过 more 分页显示解决输出内容过长的问题例如 ls -lR / | more 分页查看目录递归列表 more 数字 文件名 从文件的指定行号开始显示内容例如 more 50 log.txt 直接从第 50 行开始查看日志 more -d 文件名 显示操作提示如 “按空格键继续q 退出h 帮助”避免新手因不知操作方式而卡住 more /关键词 文件名 从文件中第一个匹配 “关键词” 的位置开始显示例如 more /error app.log 直接定位到首个错误信息 more -n 文件名 指定每页显示的行数默认适应终端高度例如 more -20 longfile.txt 每页固定显示 20 行 more -s 文件名 将连续的多个空行压缩为一个空行使输出更紧凑例如 more -s messy.txt 处理格式松散的文本 more -p 文件名 显示每页内容前先清屏避免不同页内容混杂适合终端窗口较小的场景 3less less 文件名 分页查看文件内容支持上下滚动、搜索按 q 退出↑↓ 键逐行滚动PageUp/PageDown 翻页 命令 | less 将其他命令的输出通过 less 分页显示例如 ls -lR / | less 分页查看大量目录内容 less -N 文件名 显示文件内容时在每行前添加行号方便定位特定行例如 less -N script.py 查看代码行号 less /关键词 文件名 打开文件后直接跳转到第一个匹配 “关键词” 的位置按 n 查看下一个匹配N 查看上一个 less -i 文件名 搜索时忽略大小写如搜索 “error” 会匹配 “Error”“ERROR”例如 less -i log.txt less -S 文件名 长行内容不自动折行按左右方向键横向滚动查看适合查看表格或代码文件 less -m 文件名 在底部状态栏显示当前阅读进度百分比例如 less -m large_file.txt 了解阅读位置 less -g 文件名 仅高亮显示当前匹配的搜索结果而非所有匹配项减少视觉干扰 less -t 标签 文件名 跳转到文件中定义的指定标签位置适用于带标签的文档如 man 手册 less -r 文件名 正确显示文件中的颜色控制字符如 ls --color | less -r 保留彩色输出 less --help 显示 less 的所有快捷键和参数说明快速查询使用方法 4head head 文件名 显示文件的前 10 行内容默认行为例如 head log.txt 输出日志文件的前 10 行 head -n 数字 文件名 显示文件的前 N 行内容-n 可省略直接写数字例如 head -n 5 note.txt 或 head 5 note.txt 均显示前 5 行 head -c 字节数 文件名 显示文件的前 N 个字节内容例如 head -c 100 data.bin 输出文件的前 100 字节适合查看二进制文件头部 命令 | head 显示其他命令输出的前 10 行例如 ls -l | head 查看目录列表的前 10 项 head -n -数字 文件名 显示文件内容排除最后 N 行例如 head -n -3 report.txt 输出除最后 3 行外的所有内容 head 文件1 文件2 显示多个文件的前 10 行每个文件内容前会添加文件名作为分隔例如 head a.txt b.txt head -v 文件名 显示内容前先输出文件名即使只有一个文件例如 head -v config.ini 明确标识内容来源 5tail tail 文件名 显示文件的最后 10 行内容默认行为例如 tail log.txt 查看日志文件的最新 10 行 tail -f 文件名 实时监控文件尾部新增内容文件更新时自动显示按 CtrlC 退出常用于跟踪日志例如 tail -f app.log tail -n 数字 文件名 显示文件的最后 N 行内容-n 可省略直接写数字例如 tail -n 5 note.txt 或 tail 5 note.txt 均显示最后 5 行 tail -c 字节数 文件名 显示文件的最后 N 个字节内容例如 tail -c 200 data.bin 输出二进制文件的最后 200 字节 命令 | tail 显示其他命令输出的最后 10 行例如 ls -l | tail 查看目录列表的最后 10 项 tail -n 数字 文件名 从文件的第 N 行开始显示到末尾例如 tail -n 100 report.txt 显示从第 100 行到文件结尾的内容 tail -F 文件名 类似 -f但文件被删除后会持续重试打开适合日志文件轮转场景例如 tail -F access.log tail 文件1 文件2 显示多个文件的最后 10 行每个文件内容前会添加文件名作为分隔例如 tail a.log b.log tail -v 文件名 显示内容前先输出文件名即使只有一个文件例如 tail -v config.ini 明确标识内容来源 tail -f 文件名 | grep 关键词 实时监控文件并过滤出包含关键词的内容例如 tail -f error.log | grep ERROR 只跟踪错误信息 6find find 路径 -name 文件名 在指定路径下按文件名查找区分大小写支持通配符 *任意字符、?单个字符例如 find /home -name *.txt 查找 /home 下所有 txt 文件 find 路径 -iname 文件名 与 -name 功能相同但忽略大小写例如 find /etc -iname hosts 同时匹配 HOSTS、Hosts 等 find 路径 -type 类型 按文件类型筛选f 表示普通文件d 表示目录l 表示软链接等例如 find /usr -type d -name bin 查找名为 bin 的目录 find 路径 -size 大小 按文件大小查找N 表示大于 N-N 表示小于 N单位c字节、kKB、MMB、GGB例如 find / -size 100M 查找大于 100MB 的文件 find 路径 -mtime 天数 按文件修改时间查找N 表示超过 N 天未修改-N 表示 N 天内修改过例如 find ./ -mtime -7 查找 7 天内修改过的文件 find 路径 -user 用户名 查找指定用户拥有的文件 / 目录例如 find /home -user john 查找 john 用户的文件 find 路径 -perm 权限 按文件权限查找例如 find /bin -perm 755 查找权限为 755 的可执行文件 find 路径 -exec 命令 {} \; 对查找到的文件执行指定命令{} 代表匹配的文件\; 是命令结束符例如 find ./ -name *.tmp -exec rm {} \; 删除所有 tmp 文件 find 路径 -maxdepth 深度 限制查找的目录深度例如 find / -maxdepth 2 -name passwd 只在根目录下两级内查找 find 路径 -mindepth 深度 限制查找的最小目录深度跳过浅层目录例如 find ./ -mindepth 3 -type f 只查找至少 3 级子目录下的文件 find 路径 -not 条件 查找不满足指定条件的文件例如 find ./ -type f -not -name *.txt 查找非 txt 格式的文件 find 路径 -o 条件 多个条件满足其一即可例如 find ./ -name *.jpg -o -name *.png 查找 jpg 或 png 图片 7ln 4、文本处理 1grep grep 关键词 文件名 在指定文件中搜索包含 “关键词” 的行并输出区分大小写例如 grep error log.txt 查找日志中的错误信息 grep -i 关键词 文件名 搜索时忽略大小写匹配关键词的任意大小写形式例如 grep -i Error log.txt 同时匹配 ERROR、error 等 grep -r 关键词 目录 递归搜索指定目录下所有文件中包含 “关键词” 的行例如 grep -r config /etc/ 查找 /etc 目录下含 config 的配置 命令 | grep 关键词 过滤其他命令的输出只显示包含 “关键词” 的行例如 ps aux | grep nginx 查看 nginx 相关进程 grep -n 关键词 文件名 搜索时显示匹配行在文件中的行号例如 grep -n function script.py 定位代码中的函数位置 grep -v 关键词 文件名 输出不包含 “关键词” 的所有行例如 grep -v ^# config.ini 过滤配置文件中的注释行以 #开头 grep -w 关键词 文件名 只匹配完整单词避免关键词作为其他词的一部分被匹配例如 grep -w cat text.txt 只匹配 “cat” 不匹配 “category” grep -E 模式 1 -Eextended regexp扩展正则 grep -c 关键词 文件名 统计包含 “关键词” 的行数例如 grep -c failed audit.log 统计失败操作的次数 grep -l 关键词 目录/* 只显示包含 “关键词” 的文件名不显示具体内容例如 grep -l import *.py 找出包含 import 的 Python 文件 grep -A 数字 关键词 文件名 显示匹配行及之后的 N 行内容例如 grep -A 3 error log.txt 显示错误行及后续 3 行 grep -B 数字 关键词 文件名 显示匹配行及之前的 N 行内容例如 grep -B 2 failed test.log 显示失败行及前面 2 行 grep -C 数字 关键词 文件名 显示匹配行及前后各 N 行内容例如 grep -C 1 warning app.log 显示警告行及前后各 1 行 2echo echo 文本内容 输出指定的文本内容默认末尾自动添加换行符例如 echo Hello World 输出 Hello World 并换行 echo $变量名 打印环境变量或自定义变量的值例如 echo $PATH 输出系统路径变量echo $USER 输出当前用户名 echo 文本 文件名 将文本内容写入文件覆盖原有内容例如 echo test content file.txt 创建或覆盖文件 echo 文本 文件名 将文本内容追加到文件末尾不覆盖原有内容例如 echo new line log.txt 向日志添加内容 echo -n 文本 输出文本后不自动添加换行符例如 echo -n Hello echo World 输出 Hello World合并为一行 echo -e 文本\n转义字符 解析字符串中的转义字符如 \n 换行、\t 制表符例如 echo -e Name\tAge\nAlice\t25 输出格式化表格 echo * 输出当前目录下的所有非隐藏文件和目录等价于 ls 的简化输出例如 echo * 快速列出目录内容 echo ::set-output namekey::value 在 CI/CD 管道中设置输出变量如 GitHub Actions例如 echo ::set-output nameversion::1.0.0 echo -e \033[31m红色文本\033[0m 输出带颜色的文本通过 ANSI 转义码例如上述命令输出红色文本\033[0m 重置颜色 3sed sed s/原字符串/新字符串/ 文件名替换文件中每行第一个匹配的 “原字符串” 为 “新字符串”例如 sed s/error/ERROR/ log.txt 替换每行首个 error 为 ERRORsed s/原字符串/新字符串/g 文件名替换文件中所有匹配的 “原字符串” 为 “新字符串”每行所有匹配项例如 sed s/old/new/g file.txt 全局替换 old 为 newsed -i s/原/新/g 文件名直接修改文件内容不输出到终端例如 sed -i s/foo/bar/g data.txt 原地替换文件中的 foo 为 barsed -n /关键词/p 文件名只打印包含 “关键词” 的行-n 抑制默认输出p 打印匹配行例如 sed -n /warning/p log.txt 提取所有警告行sed 行号d 文件名删除指定行号的内容例如 sed 3d file.txt 删除第 3 行sed 1,5d file.txt 删除 1-5 行sed /关键词/d 文件名删除包含 “关键词” 的行例如 sed /#/d config.ini 删除所有注释行以 #开头sed s/原/新/2 文件名只替换每行中第 N 个匹配的字符串例如 sed s/ab/cd/2 text.txt 替换每行中第 2 个 ab 为 cdsed -e 命令1 -e 命令2 文件名执行多个 sed 命令例如 sed -e s/old/new/ -e /test/d file.txt 先替换再删除含 test 的行sed s/原/新/i 文件名替换时忽略大小写例如 sed s/error/ERROR/i log.txt 替换所有大小写形式的 errorsed 行号a 新增内容 文件名在指定行后追加内容例如 sed 5a new line file.txt 在第 5 行后添加 new linesed 行号i 新增内容 文件名在指定行前插入内容例如 sed 3i header data.txt 在第 3 行前插入 headercat 文件名 | sed 命令处理其他命令的输出例如 ls -l | sed s/^/file: / 给 ls 输出每行前加 file: 前缀 4awk awk {print $列数} 文件名 按列分割文件内容并打印指定列默认以空格 / 制表符分割$0 表示整行$1 第一列以此类推例如 awk {print $1, $3} data.txt 打印第 1 列和第 3 列 awk -F 分隔符 {print $n} 文件名 自定义列分隔符如逗号、冒号例如 awk -F , {print $2} csvfile.csv 以逗号分割并打印第 2 列 awk /关键词/ {print $0} 文件名 打印包含 “关键词” 的行例如 awk /error/ {print $0} log.txt 提取所有含 error 的行 awk 条件 {动作} 文件名 满足条件时执行动作例如 awk $3 100 {print $1} data.txt 打印第 3 列值大于 100 的行的第 1 列 命令 | awk 命令 处理其他命令的输出例如 ls -l | awk {print $9, $5} 提取文件名第 9 列和大小第 5 列 awk -v 变量值 命令 文件名 在 awk 中定义自定义变量例如 awk -v threshold50 $2 threshold {print $0} scores.txt 用变量作为阈值 awk BEGIN{动作} {处理行} END{动作} 文件名 BEGIN 在处理文件前执行如初始化END 在处理完所有行后执行如统计结果例如 awk BEGIN{sum0} {sum$2} END{print sum} nums.txt 计算第 2 列总和 awk {print NR, $0} 文件名 打印每行内容并在前面添加行号NR 表示当前行号例如 awk {print NR : $0} script.sh 给代码行加编号 awk NF 0 {print $0} 文件名 过滤空行NF 表示当前行的列数NF 0 表示非空行例如 awk NF 0 {print} messy.txt 去除空行 awk !a[$1] 文件名 去除指定列的重复行保留第一次出现的行例如 awk !a[$2] users.txt 按第 2 列去重 awk -f 脚本文件 文件名 从外部文件读取 awk 命令适合复杂逻辑例如 awk -f process.awk data.txt 执行 process.awk 中的处理逻辑 5sort sort 文件名 按字典序字符 ASCII 码 对文件内容逐行排序默认升序例如 sort logs.txt 对日志文件按行首字符排序 sort -n 文件名 按数值大小排序而非字典序解决 “10 排在 2 前面” 的问题例如 sort -n numbers.txt 对数值列表正确升序排列 sort -r 文件名 按指定规则反向排序默认升序→降序可与 -n/-k 等参数组合例如 sort -nr scores.txt 对分数按数值降序排列 sort -k 列数 文件名 按文件中的第 N 列排序默认以空格 / 制表符分隔列例如 sort -k 3 data.txt 按第 3 列字典序排序sort -n -k 2 stats.txt 按第 2 列数值升序排序 sort -u 文件名 排序后去除重复行仅保留第一次出现的行等价于 sort 文件名 sort -t 分隔符 -k 列数 文件名 自定义列的分隔符如逗号、冒号配合 -k 按指定列排序例如 sort -t , -k 2 csvfile.csv 以逗号为分隔符按第 2 列字典序排序 sort -o 输出文件 输入文件 将排序结果写入指定文件而非默认输出到终端避免覆盖原文件例如 sort -n numbers.txt -o sorted_numbers.txt 将数值排序结果保存到新文件 sort -f 文件名 排序时忽略字符大小写默认区分大小写如 A 在 a 前面例如 sort -f words.txt 让 Apple 和 apple 按相同字母序排序 sort -b 文件名 排序时忽略每行开头的空格 / 制表符默认行首空格会参与排序例如 sort -b messy_data.txt 避免行首空格导致的排序偏差 sort -c 文件名 仅检查文件是否按当前规则排序不输出排序结果若已排序则无输出若未排序则提示第一个未排序的行例如 sort -nc numbers.txt 检查数值列表是否已升序排列 sort -M 文件名 按英文月份缩写排序如 Jan→Feb→Mar例如 sort -M dates.txt 对包含 “Jan 2024”“Mar 2024” 的行按月份顺序排序 命令 管道 | 组合 6uniq sort 文件名 | uniq 去除连续重复的行需先排序使重复行相邻例如 sort logs.txt | uniq 得到去重后的日志行 uniq -u 文件名 只输出不重复的行仅出现一次的行例如 sort data.txt | uniq -u 提取仅出现一次的数据 uniq -d 文件名 只输出重复出现的行至少出现两次例如 sort names.txt | uniq -d 找出重复的姓名 uniq -c 文件名 显示每行内容并在前面添加出现次数例如 sort access.log | uniq -c 统计每个访问记录的出现次数 uniq -i 文件名 比较时忽略大小写视 A 和 a 为相同内容例如 sort words.txt | uniq -i 合并大小写重复的单词 uniq -f N 文件名 比较时忽略前 N 列内容按后续内容判断重复例如 sort logs.txt | uniq -f 2 跳过前 2 列后去重 uniq -s N 文件名 比较时忽略每行前 N 个字符例如 sort codes.txt | uniq -s 3 跳过前 3 个字符后去重 uniq -w N 文件名 判断重复时只比较每行前 N 个字符例如 sort ids.txt | uniq -w 5 按前 5 个字符去重 5、进程管理 1ps ps aux 显示系统中所有进程的详细信息a 显示所有用户进程u 显示用户及进程详细信息x 包含无终端的进程例如 ps aux 常用于查看系统整体进程状态 ps -ef 显示所有进程的完整格式信息-e 等价于 -A显示所有进程-f 显示完整格式包括 UID、PPID、CMD 等例如 ps -ef grep nginx 查找 nginx 相关进程 ps -l 显示当前终端相关进程的详细信息长格式包含进程状态、优先级等例如 ps -l 查看当前用户在当前终端的进程详情 ps -ef | grep 进程名 过滤并查看指定进程的信息例如 ps -ef grep python 查找所有 python 进程 ps -T -p 进程ID 查看指定进程-p 指定 PID的所有线程-T 显示线程例如 ps -T -p 1234 查看 PID 为 1234 的进程包含的线程 ps aux --sort-%cpu 按 CPU 使用率降序排列进程-%cpu 表示降序%cpu 升序例如 ps aux --sort-%cpu 快速定位高 CPU 占用进程 ps aux --sort-%mem 按内存使用率降序排列进程例如 ps aux --sort-%mem 识别高内存占用进程 ps -o 字段1,字段2 进程ID 只显示指定字段的信息如 PID、% cpu、cmd 等例如 ps -o pid,%mem,cmd -p 1234 查看进程 1234 的 PID、内存占比和命令 ps -a 显示所有终端相关的进程不包括无终端进程例如 ps -a 查看与终端关联的所有用户进程 ps -x 显示无终端daemon 进程的进程例如 ps -x 查看后台运行的守护进程 ps -u 用户名 只显示指定用户的进程例如 ps -u www-data 查看 www-data 用户运行的进程 ps -L 进程ID 显示指定进程的线程 IDLWP和线程状态例如 ps -L -p 1234 查看进程 1234 的线程 ID 列表 2top top 实时动态显示系统进程状态默认每 3 秒刷新一次按 CPU 使用率降序排列顶部显示系统整体资源CPU、内存、负载等 top -p 进程ID 只监控指定 PID 的进程例如 top -p 1234 专注查看 PID 为 1234 的进程资源占用 top -u 用户名 只显示指定用户的进程例如 top -u www-data 监控 www-data 用户运行的进程 top -d 秒数 自定义刷新时间间隔单位秒例如 top -d 5 每 5 秒刷新一次进程信息 top -H -p 进程ID 查看指定进程的所有线程-H 显示线程级信息例如 top -H -p 1234 分析进程 1234 的线程资源占用 top -b 以非交互式批处理模式运行适合输出到文件或管道处理例如 top -b -n 1 top_snapshot.txt 保存当前进程快照 top -n 次数 限定刷新次数后自动退出例如 top -n 3 刷新 3 次后退出常与 -b 配合用于脚本 top -c 显示进程的完整命令路径及参数默认只显示简化命令名例如 top -c 查看进程的详细启动命令 top -i 不显示闲置Zombie 状态的进程使列表更简洁例如 top -i 只关注活跃进程 top -o 字段 按指定字段排序如 % CPU、% MEM 等例如 top -o %MEM 按内存使用率降序排列进程 3kill kill 进程ID 向指定进程发送 TERM15信号请求进程正常终止允许进程清理资源例如 kill 1234 终止 PID 为 1234 的进程 kill -9 进程ID 发送 KILL9信号强制终止进程不允许进程清理可能导致数据丢失例如 kill -9 5678 强制杀死无响应的进程 kill -15 进程ID 等同于默认行为发送 TERM 信号请求进程优雅退出例如 kill -15 9012 让进程安全终止 kill -1 进程ID 发送 HUP1信号通常用于让进程重新加载配置文件不终止进程例如 kill -1 1234 让 Nginx 重读配置 kill -u 用户名 终止指定用户的所有进程例如 kill -u testuser 结束 testuser 用户的所有进程 killall 进程名 通过进程名终止所有匹配进程需安装 psmisc 工具包例如 killall nginx 终止所有 nginx 进程 pkill 进程名 按进程名模式匹配并终止进程支持通配符例如 pkill -f python script.py 终止运行特定脚本的 python 进程 kill -l 显示系统支持的所有信号编号及名称例如 kill -l 可查看HUP(1)、TERM(15)等信号对照表 kill -2 进程ID 发送 INT2信号等同于按下 CtrlC请求进程中断例如 kill -2 3456 模拟终端中断操作 kill -18 进程ID 发送 CONT18信号恢复被暂停的进程与 -19 配合使用例如 kill -18 7890 继续运行暂停的进程 kill -19 进程ID 发送 STOP19信号暂停进程运行不终止可通过 -18 恢复例如 kill -19 7890 暂停进程执行 4pkill kill 和 pkill 都是 Linux 中用于终止进程的命令但核心区别在于指定进程的方式kill 需要通过进程 IDPID来精确指定要终止的进程使用时需先通过 ps 等命令获取目标 PID如 kill 1234而 pkill 则可以直接通过进程名、用户名等特征匹配进程如 pkill nginx无需手动查找 PID更适合批量终止符合条件的进程但其匹配可能存在模糊性需注意避免误杀。 pkill 进程名 根据进程名或命令名终止匹配的进程例如 pkill nginx 终止所有名称包含 “nginx” 的进程 pkill -f 进程参数 匹配包含指定参数的完整命令行而非仅进程名例如 pkill -f python app.py 终止运行app.py的 Python 进程 pkill -u 用户名 终止指定用户的所有进程例如 pkill -u testuser 结束 testuser 用户的所有进程 pkill -9 进程名 向匹配进程发送KILL9信号强制终止进程例如 pkill -9 java 强制杀死所有 Java 进程 pkill -i 进程名 匹配进程名时忽略大小写例如 pkill -i Nginx 同时匹配 “nginx”“NGINX” 等大小写形式的进程 pkill -t 终端 终止指定终端如tty1、pts/0上的所有进程例如 pkill -t pts/1 结束终端 pts/1 上的进程 pkill -l 进程名 仅显示匹配的进程名不终止进程用于预览匹配结果例如 pkill -l sshd 查看将被匹配的 sshd 进程名 pkill -n 进程名 只终止最新启动的匹配进程例如 pkill -n python 终止最近启动的 Python 进程 pkill -o 进程名 只终止最早启动的匹配进程例如 pkill -o mysql 终止最早启动的 MySQL 进程 pkill -SIGTERM 进程名 向匹配进程发送指定信号如SIGTERM正常终止、SIGHUP重载配置例如 pkill -SIGHUP nginx 让 Nginx 重读配置 5bg/fg bg 将最近暂停按 CtrlZ的前台进程切换到后台运行后台进程仍会占用终端输出例如先按 CtrlZ 暂停 vim test.txt再执行 bg 让 vim 在后台继续运行 fg 将最近后台运行的进程或暂停的后台进程切换到前台重新占据终端输入输出例如执行 bg 后若需恢复到前台直接输入 fg 即可重新操作进程 bg %任务编号 切换指定编号的后台任务到后台运行任务编号可通过 jobs 命令查看编号前带 []例如bg %2 将编号为 2 的暂停任务切换到后台 fg %任务编号 切换指定编号的后台任务到前台例如通过 jobs 看到 [1] Stopped python script.py执行 fg %1 可将该 Python 进程恢复到前台 bg %任务名 按任务名称进程名切换到后台例如bg %vim 将名称包含 “vim” 的暂停任务切换到后台需确保任务名唯一避免歧义 fg %任务名 按任务名称切换到前台例如fg %python 将名称包含 “python” 的后台任务恢复到前台适合任务编号较多时快速定位 jobs ; bg 先通过 jobs 查看所有后台 / 暂停任务的编号和状态再用 bg 切换目标任务例如执行 jobs 确认任务编号后再 bg %1 操作避免误切换 6jobs jobs 显示当前终端中所有后台任务包括运行中、暂停状态的编号、状态和命令例如 jobs 输出形如 [1] Running python script.py jobs -l 除任务编号和状态外额外显示每个任务的进程 IDPID例如 jobs -l 可同时查看任务编号和对应的 PID方便结合 kill 命令操作 jobs -p 只输出所有后台任务的进程 IDPID不显示其他信息适合脚本中批量处理例如 jobs -p xargs kill 终止所有后台任务 jobs -n 只显示自上次查询后状态发生变化的任务例如 jobs -n 快速定位状态改变的任务如从运行变为暂停 jobs -r 只列出处于运行状态的后台任务过滤暂停状态的任务例如 jobs -r 查看当前活跃的后台进程 jobs -s 只列出处于暂停状态被 CtrlZ 暂停的任务例如 jobs -s 查看需要通过 bg 或 fg 恢复的任务 jobs %任务编号 显示指定编号的任务详情例如 jobs %2 只查看编号为 2 的任务状态 jobs %任务名 显示名称包含指定字符串的任务例如 jobs %python 查看名称含 “python” 的任务需名称唯一 6、系统管理 1uname uname -a 显示系统所有相关信息包括内核名称、主机名、内核版本、硬件架构等例如 uname -a 输出完整的系统标识信息 uname -r 仅显示内核版本号例如 uname -r 输出 5.4.0-150-generic不同系统版本不同 uname -m 显示机器硬件架构例如 uname -m 在 64 位系统输出 x86_6432 位系统输出 i686 uname -s 显示内核名称例如 Linux 系统输出 LinuxUnix 系统可能输出 SunOS 等 uname -n 显示网络节点上的主机名例如 uname -n 输出当前系统的主机名如 server01 uname -v 显示内核版本的详细信息包括编译时间等例如 uname -v 输出内核编译相关的时间戳和版本细节 uname -p 显示处理器类型例如 uname -p 可能输出 x86_64 或 unknown部分系统不支持 uname -o 显示操作系统名称例如 Linux 系统通常输出 GNU/Linux 2df df -h 以易读的单位GB、MB 等显示磁盘空间使用情况例如 df -h 输出 /dev/sda1 50G 15G 35G 30% / df 显示所有已挂载文件系统的磁盘使用情况默认单位为块通常 1 块 512 字节例如 df 输出原始块数值 df -a 显示包括虚拟文件系统如tmpfs、sysfs在内的所有文件系统例如 df -a 会列出/proc等特殊文件系统 df -T 额外显示每个文件系统的类型如ext4、xfs、tmpfs例如 df -T 输出包含Type列 df -H 以 1000 为基数的人类可读格式1GB1000MB与-h1GB1024MB略有差异例如 df -H 适合需要 SI 标准单位的场景 df -i 显示 inode 的使用情况而非磁盘空间包括总 inode 数、已使用、可用及使用率例如 df -i 可排查 inode 耗尽问题 df -k 以 KB 为单位显示磁盘使用情况等价于默认块大小转换例如 df -k 输出以 KB 为单位的数值 df /目录 只显示指定目录所在文件系统的使用情况例如 df /home 仅查看/home分区的磁盘使用 df -l 只显示本地挂载的文件系统排除网络文件系统如 NFS例如 df -l 过滤掉远程挂载的磁盘 df -P 以 POSIX 标准格式输出固定列宽适合脚本解析例如 df -P 输出格式更便于脚本处理 3du du -h 以易读单位GB、MB、KB显示文件 / 目录的磁盘占用大小例如 du -h document.pdf 显示文件大小为 2.5M du -sh 目录名 仅显示指定目录的总大小不列出子目录详情例如 du -sh /home 输出 /home 目录的总占用空间 du -h --max-depthN 目录名 显示目录下 N 级子目录的大小例如 du -h --max-depth1 /var 只显示/var下一级子目录的大小 du -a 同时显示目录和其中所有文件的大小默认只显示目录例如 du -a ~/Downloads 列出下载目录下所有文件和子目录大小 du -h * 显示当前目录下所有文件和子目录的大小例如 du -h * 快速对比当前目录下各项目的占用空间 du -c 目录/* 显示各目录 / 文件大小并在最后增加总大小例如 du -hc /tmp/* 列出/tmp下内容大小并显示总和 du -k 文件名 以 KB 为单位显示大小精确到 KB例如 du -k log.txt 输出 128 log.txt表示 128KB du -m 目录名 以 MB 为单位显示大小精确到 MB例如 du -m /var/log 以 MB 为单位展示日志目录大小 du -t 大小 目录名 只显示大于指定大小的文件 / 目录例如 du -h -t 1G /data 找出/data下大于 1GB 的目录 du -d N 目录名 等同于--max-depthN指定显示的目录深度例如 du -hd 2 /etc 显示/etc下两级目录的大小 du -x 目录名 忽略其他文件系统的内容如挂载的外部磁盘例如 du -xh / 只统计根分区内的文件大小 4free free -h 以易读单位GB、MB显示内存使用情况自动转换最适合的单位例如 free -h 输出 Mem: 15.5G 8.2G 3.1G 4.2G 52% free 以 KB 为单位显示内存、交换分区的总容量、已使用、空闲等信息例如 free 输出原始 KB 数值 free -m 以 MB 为单位显示内存使用情况例如 free -m 输出 Mem: 15872 8345 3167 4360 52% free -g 以 GB 为单位显示内存使用情况四舍五入例如 free -g 输出 Mem: 15 8 3 4 52% free -s 秒数 每隔指定秒数刷新一次内存信息例如 free -s 5 每 5 秒更新一次内存使用状态按CtrlC退出 free -t 在输出末尾增加一行 “总计”汇总内存和交换分区的总容量例如 free -ht 显示各列的总和 free -w 额外区分 “缓冲区buffers” 和 “缓存cache” 的详细使用情况例如 free -hw 拆分显示更细致的内存占用 free -b 以字节B为单位显示内存使用情况适合需要精确数值的场景例如 free -b 输出原始字节数 free -k 明确以 KB 为单位显示与默认无参数行为一致例如 free -k 等价于 free 5top top -p 进程ID 仅监控指定 PID 的进程例如 top -p 1234 专注查看特定进程的资源占用 top -u 用户名 仅显示指定用户的进程例如 top -u www-data 监控 Web 服务相关进程 top -d 秒数 自定义刷新时间间隔单位秒例如 top -d 3 每 3 秒刷新一次 top -H -p 进程ID 显示指定进程的所有线程例如 top -H -p 1234 分析进程的线程级 CPU 占用 top -b -n 次数 以非交互式模式运行并输出指定次数后退出例如 top -b -n 1 top.log 保存进程快照 top -c 显示进程的完整命令路径及参数例如 top -c 查看进程的详细启动命令 6htop htop 是 top 的增强版更直观地展示系统资源。 htop 交互式进程监控工具需单独安装提供彩色界面、鼠标操作支持默认展示更多系统指标和进程详情 htop -p 进程ID 过滤并高亮显示指定 PID 的进程例如 htop -p 5678 快速定位目标进程 htop -u 用户名 过滤显示指定用户的进程支持模糊匹配例如 htop -u john 查看 john 的所有进程 htop -d 毫秒数 自定义刷新间隔单位毫秒例如 htop -d 2000 每 2 秒刷新一次 htop -t 以树形结构展示进程与线程的关系例如 htop -t 直观查看进程的线程层级 htop --sort-key 字段 按指定字段如PERCENT_CPU、RESIDENT_MEM排序例如 htop --sort-key PERCENT_MEM 按内存使用率排序 htop -s 字段 等价于 --sort-key按指定字段排序例如 htop -s CPU 按 CPU 使用率降序排列 7man man 命令名 查看指定命令的手册页默认显示第 1 章节例如 man ls 查看ls命令的帮助文档 man -k 关键词 搜索包含关键词的所有手册页摘要等价于apropos命令例如 man -k file system 搜索与文件系统相关的命令 man 章节号 命令名 查看命令在特定章节的手册页手册分 8 个章节1 为用户命令2 为系统调用等例如 man 2 open 查看open系统调用的手册 man -f 命令名 显示命令所属的手册章节及简要描述等价于whatis命令例如 man -f passwd 显示passwd在第 1 和第 5 章节的手册信息 man -p 格式 命令名 指定手册页的预处理程序如groff、tbl用于特殊格式的手册页处理例如 man -p t ls 使用tbl处理表格 man -a 命令名 依次显示命令在所有相关章节的手册页例如 man -a passwd 先显示第 1 章按q后显示第 5 章 man -t 命令名 将手册页转换为 PostScript 格式需配合打印机或转换工具例如 man -t ls ls.ps 生成 PDF 打印文件 man -w 命令名 仅显示手册页文件的路径不打开手册例如 man -w ls 输出/usr/share/man/man1/ls.1.gz man -C 配置文件 命令名 使用自定义配置文件替代默认的man.config例如 man -C my_man.conf grep 用自定义配置查看grep手册 8date date 显示当前系统日期和时间默认格式如 Sun Sep 14 15:30:22 CST 2025 date %Y-%m-%d 按指定格式显示日期年 - 月 - 日例如 date %Y-%m-%d 输出 2025-09-14 date %H:%M:%S 按指定格式显示时间时分: 秒例如 date %H:%M:%S 输出 15:32:45 date %Y-%m-%d %H:%M:%S 同时显示日期和时间格式如 2025-09-14 15:33:10常用于日志记录 date -s 2025-09-14 15:35:00 手动设置系统日期和时间需 root 权限例如 date -s 2025-09-14 15:35:00 同步系统时间 date -d 2 days ago 显示相对当前时间的日期 / 时间例如 date -d 2 days ago 输出 2 天前的日期 date %s 显示当前时间的 Unix 时间戳从 1970-01-01 00:00:00 UTC 起的秒数例如 date %s 输出 1752682500 date -d 1752682500 将 Unix 时间戳转换为可读日期时间例如 date -d 1752682500 输出对应时间 date %A, %B %d, %Y 显示完整星期、月份名称例如 date %A, %B %d, %Y 输出 Sunday, September 14, 2025 date -u 显示 UTC世界协调时间而非本地时间例如 date -u 输出 UTC 时区的当前时间 date %z 显示当前时区相对于 UTC 的偏移量例如 date %z 输出 0800表示东八区 9hostname hostname 显示当前系统的主机名例如 hostname 输出 server01 hostname 新主机名 临时修改主机名重启后失效需 root 权限例如 hostname web-server 将主机名临时改为 web-server hostname -i 显示主机名对应的 IP 地址优先 IPv4例如 hostname -i 输出 192.168.1.100 hostname -I 显示系统所有网络接口的 IP 地址空格分隔例如 hostname -I 输出 192.168.1.100 10.0.0.5 hostname -f 显示主机的完全限定域名FQDN例如 hostname -f 输出 server01.example.com hostname -s 显示主机名的短格式去除域名部分例如 hostname -s 从server01.example.com中输出server01 hostname -d 显示主机名中的域名部分若配置例如 hostname -d 从server01.example.com中输出example.com hostname -A 显示所有已配置的完全限定域名空格分隔例如 hostname -A 输出多个关联的 FQDN hostname -y 显示系统的 NISNetwork Information Service域名较少使用例如 hostname -y 输出 NIS 域名称 7、网络操作 1netstat netstat -tuln 显示所有监听状态的 TCP-t和 UDP-u端口以数字形式-n显示地址和端口不解析域名例如 netstat -tuln 快速查看系统开放的端口 netstat -tulnp 在 -tuln 基础上显示占用端口的进程 IDPID和进程名-p需 root 权限例如 netstat -tulnp 查看哪个进程占用了 80 端口 netstat -an 显示所有 TCP/UDP 连接包括监听和非监听状态-a以数字形式显示-n例如 netstat -an 查看所有网络连接的详细信息 netstat -ntlp 仅显示监听状态的 TCP 端口-t数字形式-n及对应进程-p例如 netstat -ntlp 专注查看 TCP 服务端口及进程 netstat -nr 显示内核路由表-r以数字形式显示 IP-n不解析主机名例如 netstat -nr 查看系统路由配置类似 route -n netstat -s 显示网络协议TCP、UDP、ICMP 等的统计数据例如 netstat -s 查看 TCP 重传次数、UDP 错误数等 netstat -i 显示所有网络接口的信息如 MTU、接收 / 发送数据包数例如 netstat -i 查看网卡流量统计 netstat -ap 管道  grep 过滤查找指定端口的连接或进程例如 netstat -ap grep 8080 查看 8080 端口的占用情况 netstat -tapen 显示所有 TCP 连接-t、关联的进程-p、扩展信息-a、网卡信息-e数字形式-n适合详细排查网络问题 netstat -c 持续刷新显示网络状态每秒一次例如 netstat -c -tuln 实时监控端口连接变化 2ifconfig ifconfig 显示所有活动网络接口的配置信息IP 地址、MAC 地址、子网掩码等例如 ifconfig 输出 eth0、lo 等接口的状态 ifconfig 接口名 仅显示指定网络接口的详细信息例如 ifconfig eth0 查看以太网接口 eth0 的配置 ifconfig 接口名 up 激活指定网络接口相当于启动网卡例如 ifconfig eth0 up 启用 eth0 接口 ifconfig 接口名 down 禁用指定网络接口相当于关闭网卡例如 ifconfig eth0 down 关闭 eth0 接口 ifconfig 接口名 IP地址 为指定接口配置 IP 地址临时生效例如 ifconfig eth0 192.168.1.100 给 eth0 分配 IP ifconfig 接口名 IP地址 netmask 子网掩码 配置 IP 地址的同时指定子网掩码例如 ifconfig eth0 192.168.1.100 netmask 255.255.255.0 ifconfig 接口名 hw ether MAC地址 临时修改网络接口的 MAC 地址需先禁用接口例如 ifconfig eth0 down; ifconfig eth0 hw ether 00:11:22:33:44:55; ifconfig eth0 up ifconfig 接口名 mtu 数值 调整网络接口的最大传输单元MTU例如 ifconfig eth0 mtu 1500 设置 MTU 为 1500 字节 ifconfig 接口名:编号 IP地址 为接口创建虚拟子接口多 IP 配置例如 ifconfig eth0:1 192.168.1.101 给 eth0 添加第二个 IP ifconfig -a 显示包括未激活接口在内的所有网络接口例如 ifconfig -a 查看系统中所有网卡无论是否启用 3ip ip addr 显示所有网络接口的 IP 地址、MAC 地址等配置信息等价于 ip address show例如 ip addr 查看所有网卡的 IP 配置 ip addr show 接口名 显示指定网络接口的详细地址信息例如 ip addr show eth0 查看 eth0 的 IP 和状态 ip link set 接口名 up 激活指定网络接口启用网卡例如 ip link set eth0 up 启动 eth0 接口 ip link set 接口名 down 禁用指定网络接口关闭网卡例如 ip link set eth0 down 关闭 eth0 接口 ip addr add IP地址 dev 接口名 为指定接口添加 IP 地址临时生效例如 ip addr add 192.168.1.100/24 dev eth0 ip addr del IP地址 dev 接口名 从指定接口删除 IP 地址例如 ip addr del 192.168.1.100/24 dev eth0 ip route 显示系统路由表等价于 ip route show例如 ip route 查看默认网关和子网路由 ip route add 目标网段 via 网关 dev 接口名 添加静态路由例如 ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0 ip route del 目标网段 删除指定静态路由例如 ip route del 10.0.0.0/24 ip link show 显示所有网络接口的链路层信息MAC 地址、状态等例如 ip link show 查看所有网卡的 MAC 和状态 ip link set 接口名 mac 新MAC地址 临时修改网络接口的 MAC 地址需先禁用接口例如 ip link set eth0 down; ip link set eth0 mac 00:11:22:33:44:55; ip link set eth0 up ip neigh 显示 ARP 缓存IP 与 MAC 地址映射等价于 arp -a例如 ip neigh 查看局域网内设备的 ARP 记录 ip neigh add IP地址 lladdr MAC地址 dev 接口名 手动添加静态 ARP 记录例如 ip neigh add 192.168.1.2 lladdr 00:aa:bb:cc:dd:ee dev eth0 ip -s link 显示网络接口的流量统计接收 / 发送数据包数、错误数等例如 ip -s link show eth0 查看 eth0 的流量详情 4ping ping 目标IP/域名 向目标发送 ICMP 回声请求包默认持续发送按CtrlC停止用于测试网络连通性例如 ping www.baidu.com 测试与百度服务器的连接 ping -c 次数 目标 发送指定次数的 ICMP 包后自动停止例如 ping -c 4 192.168.1.1 只发送 4 个包并统计结果 ping -i 间隔秒数 目标 指定发送数据包的时间间隔默认 1 秒例如 ping -i 2 8.8.8.8 每 2 秒发送一个包 ping -s 数据包大小 目标 指定 ICMP 数据包的大小单位字节默认 56 字节例如 ping -s 1024 example.com 发送 1024 字节的测试包 ping -W 超时秒数 目标 指定等待响应的超时时间单位秒例如 ping -W 3 10.0.0.1 3 秒内无响应则视为超时 ping -t TTL值 目标 指定 IP 数据包的 TTL生存时间值测试数据包经过的路由跳数例如 ping -t 10 google.com 设置 TTL 为 10 ping -q 目标 仅显示最终统计结果不输出每个包的响应信息例如 ping -q -c 5 192.168.1.1 只显示汇总数据 ping -f 目标 以最快速度发送数据包仅 root 可用用于压力测试例如 ping -f 192.168.1.1 快速发送大量包谨慎使用 ping -6 目标 使用 IPv6 协议发送测试包例如 ping -6 2400:da00::6666 测试 IPv6 地址的连通性 ping -I 接口名/IP 目标 从指定网络接口或源 IP 发送数据包例如 ping -I eth0 192.168.1.1 从 eth0 接口发送测试包 ping -r 目标 直接发送数据包到本地网络目标不经过网关例如 ping -r 192.168.1.2 测试同一局域网内的设备 5curl curl URL 向指定 URL 发送 HTTP GET 请求输出响应内容到终端例如 curl https://example.com 获取网页内容 curl -O URL 下载 URL 指向的文件保存为远程文件名URL 路径中的文件名例如 curl -O https://example.com/file.zip 保存为 file.zip curl -o 文件名 URL 下载文件并指定本地保存的文件名例如 curl -o localfile.txt https://example.com/data.txt 自定义保存名称 curl -L URL 自动跟随 HTTP 重定向3xx 状态码例如 curl -L https://short.url 会跳转至最终目标 URL curl -X POST -d 数据 URL 发送 HTTP POST 请求并携带数据例如 curl -X POST -d nametest https://api.example.com/submit 提交表单数据 curl -H 头信息 URL 向请求添加自定义 HTTP 头例如 curl -H Content-Type: application/json -H Authorization: Bearer token URL 设置 JSON 类型和认证头 curl -u 用户名:密码 URL 使用 HTTP 基础认证Basic Auth访问需要登录的资源例如 curl -u admin:pass123 https://example.com/admin 提交用户名密码 curl -s URL 不显示进度条和错误信息仅输出响应内容适合脚本中使用例如 curl -s https://example.com/status 安静获取状态 curl -S URL 与-s配合使用静默模式下仍显示错误信息例如 curl -sS https://invalid.url 仅在失败时显示错误 curl -k URL 跳过 SSL 证书验证不建议生产环境用于测试 HTTPS 服务例如 curl -k https://self-signed.example.com 访问自签名证书站点 curl -I URL 发送 HEAD 请求仅获取 HTTP 响应头信息例如 curl -I https://example.com 查看状态码、服务器类型等 curl -C - -O URL 继续之前中断的下载需配合-O例如 curl -C - -O https://example.com/largefile.iso 恢复中断的大文件下载 curl -x 代理:端口 URL 通过指定代理服务器发送请求例如 curl -x http://proxy:8080 https://example.com 走代理访问目标 curl --data-raw 文件路径 URL 读取本地文件内容作为 POST 数据发送例如 curl -X POST --data-raw data.json https://api.example.com/upload 提交 JSON 文件 curl -v URL 显示请求和响应的详细过程包括 TCP 握手、HTTP 头用于调试例如 curl -v https://example.com 查看完整通信细节 6wget wget 网址 下载指定 URL 的文件到当前目录例如 wget https://example.com/file.zip wget -O 文件名 网址 指定下载文件的保存名称例如 wget -O document.pdf https://example.com/report.pdf wget -c 网址 断点续传继续未完成的下载例如 wget -c https://example.com/large_file.iso wget -r -np 网址 递归下载网站内容不追溯至父目录例如 wget -r -np https://example.com/docs/ wget -b 网址 后台下载输出信息保存到 wget-log例如 wget -b https://example.com/bigfile.tar.gz wget -q 网址 安静模式下载不显示输出信息例如 wget -q https://example.com/update.tar wget -i 文件名 从文件中读取多个 URL 进行批量下载例如 wget -i download_list.txt wget --limit-rate 速度 网址 限制下载速度单位k 或 m例如 wget --limit-rate500k https://example.com/file wget -U 浏览器标识 网址 模拟指定浏览器的 User-Agent例如 wget -U Mozilla/5.0 https://example.com wget --no-check-certificate 网址 忽略 SSL 证书验证不推荐例如 wget --no-check-certificate https://example.com wget -P 目录 网址 指定文件下载后的保存目录例如 wget -P ~/downloads https://example.com/image.jpg wget -t 次数 网址 设置最大尝试下载次数0 为无限例如 wget -t 3 https://example.com/unstablefile 7ssh ssh 用户名 主机地址以指定用户身份登录远程主机例如 ssh root192.168.1.1ssh 主机地址以当前用户名登录远程主机例如 ssh example.comssh -p 端口号 用户名 主机地址指定端口号登录远程主机例如 ssh -p 2222 admin10.0.0.5ssh -i 密钥文件 用户名 主机地址使用指定密钥文件登录例如 ssh -i ~/.ssh/id_rsa userserver.comssh -X 用户名 主机地址启用 X11 转发图形界面转发例如 ssh -X userremotehostssh -v 用户名 主机地址显示详细连接过程调试用例如 ssh -v root192.168.1.100ssh 用户名 主机地址 命令在远程主机执行单条命令后退出例如 ssh userhost ls -l /homessh -N -f -L 本地端口目标主机目标端口 用户名 跳板机建立本地端口转发隧道例如 ssh -N -f -L 8080:google.com:80 userjump serverssh -N -f -R 远程端口目标主机目标端口 用户名 远程主机建立远程端口转发例如 ssh -N -f -R 8080:localhost:80 userpublic.serverssh -o ServerAliveInterval60 用户名 主机地址保持 SSH 连接不中断每 60 秒发送一次心跳例如 ssh -o ServerAliveInterval60 userhostssh-copy-id 用户名 主机地址将本地公钥复制到远程主机实现免密登录例如 ssh-copy-id user192.168.1.2ssh -t 用户名 主机地址 另一 ssh 命令通过跳板机登录目标主机例如 ssh -t userjump ssh usertarget 8scp scp 本地文件 用户名 主机地址远程路径将本地文件复制到远程主机例如 scp /home/file.txt user192.168.1.1:/tmp/scp 用户名 主机地址远程文件 本地路径将远程文件复制到本地例如 scp rootserver.com:/var/logs.log ~/downloads/scp -r 本地目录 用户名 主机地址远程路径递归复制本地目录到远程主机例如 scp -r /home/docs user10.0.0.5:/var/www/scp -r 用户名 主机地址远程目录 本地路径递归复制远程目录到本地例如 scp -r adminexample.com:/data ~/backup/scp -P 端口号 本地文件 用户名 主机地址远程路径指定端口复制文件例如 scp -P 2222 ./image.jpg userhost:/tmp/scp 本地文件 1 本地文件 2 用户名 主机地址远程路径同时复制多个本地文件到远程例如 scp file1.txt file2.pdf userserver:/docs/scp 用户名 主机 1: 文件 用户名 主机 2: 路径在两个远程主机之间复制文件例如 scp user1host1:/data.txt user2host2:/backup/scp -i 密钥文件 本地文件 用户名 主机地址路径使用指定密钥文件进行复制例如 scp -i ~/.ssh/id_rsa doc.txt userhost:/home/scp -v 本地文件 用户名 主机地址路径显示详细传输过程调试用例如 scp -v largefile.iso userserver:/data/scp -C 本地文件 用户名 主机地址路径启用压缩传输例如 scp -C archive.tar.gz userhost:/tmp/ 8、权限管理 1chmod chmod 数字权限 文件名 通过 3 位或 4 位八进制数字设置文件 / 目录权限用户、组、其他用户的读 / 写 / 执行权限例如 chmod 755 script.sh 表示用户有读 / 写 / 执行权限组和其他用户有读 / 执行权限 chmod urwx 文件名 为文件所有者user增加指定权限r 读、w 写、x 执行例如 chmod ux file 给所有者增加执行权限 chmod g-rwx 文件名 从用户组group中移除指定权限例如 chmod g-w doc.txt 取消组对文件的写权限 chmod or 文件名 为其他用户others直接设置指定权限覆盖原有权限例如 chmod or log.txt 仅允许其他用户读取文件 chmod ax 文件名 为所有用户all增加指定权限例如 chmod ax app 让所有用户都能执行该应用 chmod -R 755 目录名 递归修改目录及目录下所有文件 / 子目录的权限例如 chmod -R 755 /var/www 批量设置网站目录权限 chmod us 文件名 为可执行文件设置 SUID 权限执行时临时获得文件所有者权限例如 chmod us /usr/bin/passwd 允许普通用户修改密码临时获得 root 权限 chmod gs 目录名 为目录设置 SGID 权限子文件 / 目录继承父目录的组属性例如 chmod gs /data/share 确保共享目录下新建文件继承组权限 chmod t 目录名 为公共目录设置粘滞位仅文件所有者可删除自己的文件例如 chmod t /tmp 保护 /tmp 目录下的文件不被其他用户删除 chmod --reference参考文件 目标文件 让目标文件的权限与参考文件完全一致例如 chmod --referencefile1.txt file2.txt 使 file2 权限和 file1 相同 chmod -v 755 文件名 修改权限时显示详细信息例如 chmod -v 644 config.ini 输出修改后的权限状态 2chown chown 用户名 文件名 更改文件 / 目录的所有者为指定用户例如 chown john file.txt 将 file.txt 的所有者改为 john chown 用户名:组名 文件名 同时更改文件 / 目录的所有者和所属组例如 chown john:devs script.sh 将所有者改为 john所属组改为 devs chown :组名 文件名 只更改文件 / 目录的所属组保持所有者不变例如 chown :admin data/ 将 data 目录的所属组改为 admin chown -R 用户名 目录名 递归更改目录及目录下所有文件 / 子目录的所有者例如 chown -R www-data /var/www 批量设置网站目录的所有者 chown -R 用户名:组名 目录名 递归更改目录及内容的所有者和所属组例如 chown -R john:team project/ 批量修改项目目录的权限归属 chown --reference参考文件 目标文件 让目标文件的所有者和所属组与参考文件一致例如 chown --referencetemplate.txt newfile.txt 使 newfile 的归属和 template 相同 chown -v 用户名 文件名 修改归属时显示详细信息例如 chown -v alice doc.pdf 输出修改后的所有者信息 chown -h 用户名 链接名 仅修改符号链接文件的所有者不跟随链接指向的目标文件例如 chown -h bob link_to_data 修改链接的所有者而非目标数据
http://www.zqtcl.cn/news/807626/

相关文章:

  • 主流做网站wordpress字体设置
  • 大连网站建设解决方案加快政务网站群建设管理
  • 淮南网站建设全包成都设计咨询集团有限公司
  • 网站管理助手v3wordpress主题防盗版
  • 国外网页加速器seo优化排名怎么做
  • 网站后台做图片尺寸是多大企业网站的常见服务
  • 给企业建设网站的流程图南昌网站建设模板网络公司
  • 谷歌wordpress建站中山网站推广服务
  • php网站建设网站兼职做网站在那里接任务
  • 网站现在怎么做排名wordpress做成淘宝客
  • 广州网站设计成功柚米wordpress 总站模板
  • 江苏常州建设银行网站广州中学生网站制作
  • 微信公众平台怎么做微网站weirdcore制作网站
  • 国外网站如何建设seo关键词优化外包公司
  • 郑州商城网站建设多少钱商城类网站建设方案
  • 哈尔滨做网站哪好做网站公司分为国内还是国外
  • 饰品企业网站建设大连工程信息建设网
  • 昆山网站推广四川网站建设费用
  • 中国建设银行网站易方达消费我有域名怎么做网站
  • 网站图片规格2023年7 8月十大新闻
  • 建立一个小型网站多少钱晋城网站制作
  • 泰安哪家做网站好定制app软件
  • 成品网站设计网站wordpress 登录慢
  • 广州营销型网站建设公司哪家名气大朝阳网络公司
  • 网站怎么做排查修复关键词排名优化网站
  • 上海企业网站动易网站模版的制作
  • 北京网站建设华大网站模拟课堂模式应该怎么做
  • 站长工具 seo综合查询有新的wordpress更新是英文版
  • 做微信头图的网站成都做seo网站公司
  • 工程设计东莞网站建设技术支持wordpress+打断点