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

医疗视角下的 Linux - 02 Linux 命令手册

感谢娄老师精心制作的 MarkdownFlow 教程!蹭课生学习后记了笔记,欢迎接龙 😃
不当之处,欢迎指正!

Linux 命令格式

Linux 命令的格式为:

command[options][arguments(args)]
  • command(命令):要执行的核心操作,如ls(列出文件);
  • option(选项):通常以-(短选项)或--(长选项)开头,用来调整命令的行为,如ls -l表示以长格式列出文件属性;
  • argument / args(参数):命令的作用对象,通常是文件名、目录名等。如ls /home表示列出/home目录下的文件;
  • 中括号表示可选(即有些命令不需要选项和参数)。

例如 ls 命令,ls -a中的-a就是选项,ls .中的.就是参数,表示当前目录,该参数是默认的(即,可加可不加),所以该命令等价于ls

Linux 核心命令

系统命令

who(我是谁)

查看当前有哪些用户登录了系统。

# 1. 查看当前登录用户(像查看今天谁值班)# 输出登录用户的用户名、终端标识、登录时间who# 2. 显示详细信息(像查看详细的考勤记录)# 在 who 输出的基础上,增加登录进程 ID 等信息who-a

whereis / which(命令在哪)

定位一个命令的安装位置。二者区别如下:

  • whereis:查找更全面。不仅显示命令的可执行文件路径,还通常会显示其 man 手册和源代码路径(若存在)。

    root@LAPTOP-XX:~# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
  • which:更常用且专注。只在环境变量PATH指定的目录中搜索,指出当输入这个命令时,系统会执行哪个文件。这在存在多个版本的命令时很有用。
    如:which python输出/usr/bin/python,即指出系统默认使用这个 Python 版本。

查看系统发行版信息

lsb_release-a

自学神器:man 命令

man(manual) 是 Linux 世界最权威和全面的内置说明(帮助)文档,堪称Linux 中最强大的自学工具。遇到不熟悉的命令,可以先执行man 命令名看一下官方说明。

# 查看 man 命令本身的说明manman

man 命令的参数(命令的作用对象)通常是程序、工具或函数的名称,系统会查找并显示指定参数关联的手册页。如果提供了章节编号(section),则会只在该章节进行查找。

系统默认会按照预定义的顺序查找所有可用的章节,然后只显示找到的第一个页,即使多个章节都有这个页面。

# 不同章节的区别man1printf# 第1章:用户命令man3printf# 第3章:库函数

章节编号对应的手册页面类型:

1 可执行程序或 shell 命令:普通用户可以在 Shell 中执行的命令,eg:ls,cd

2 系统调用(内核提供的函数):如open,read

3 库调用(C语言标准库等函数库提供的函数):如printf,fopen

4 特殊文件(通常在 /dev 下的设备文件)

5 文件格式和规范:配置文件的格式说明,如/etc/passwd

6 游戏

7 杂项(含 macro packages 和 conventions),如 man(7), groff(7)

8 系统管理命令(一般仅用于 root):如ifconfig,fdisk

9 内核 routines[非标准]

同一个命令或工具名可能出现在不同章节,如:

  • man 1 printf:查看 Shell 命令printf,用于格式化输出文本;
  • man 3 printf:查看 C 语言库函数printf,用于在 C 程序中格式化输出;
  • 若仅输入man printf,默认显示的是编号最小的章节,即man 1 printf的内容。

手册页面的内容结构

一个手册页面含多个小节,通常包含:

  • 名称(name):命令的名字和简要说明;
  • 概述(synopsis):命令的语法格式,指出选项怎么用;
  • 配置(configuration)、描述(description):详细解释命令和每个选项的功能;
  • 示例(examples):一些使用示例(不是每个 man 页面都有);
  • 亦见(see also):相关的命令

此外,还经常包含选项(option)、退出状态(exit status)、返回值(return value)、错误(errors)、环境、文件、版本、标准(conforming to)、注释(notes)、bugs、和作者等信息。

在页面中输入/关键词,可以查找该关键词的所有匹配项,按 n、N 分别跳转到下一个/上一个。

手册页中指定的命令书写规范

手册页面的概述小节(有时也用于其他小节)通常会在某些内容上赋予特殊格式,表示在写命令的这部分内容时要遵循某种书写规范。


特殊格式书写规范
加粗文本按原样输入
倾斜文本替换为合适的参数
[-abc]“[ ]” 中的任何甚至全部参数都是可选的
-a|-b被 “|” 分隔的选项不能同时使用
参数带有下划线的参数是可重复的
[表达式]“[ ]” 中的整个表达式可以重复

常用选项

  • man <1~6> <keyword>:在指定编号的手册章节中,查找包含指定关键词的页面;
  • man -k <keyword>apropos <keyword>:查找并列出手册中与给定关键词相关的命令/函数;
  • man -k <key1> | grep <key2> | grep <key3> | ...:找到指定页面后使用关键词筛选指定内容;
  • man -f 命令whatis:查看命令的简要说明;
  • man -a 命令:显示该命令在所有章节中的手册(按章节编号的顺序);

man,info,--help的区别和联系

  • man:最常用、最标准的文档,内容精炼,格式统一,是首选;
  • info:某些 GNU 项目的文档跟详细,采用超链接形式,适合阅读复杂软件的手册。可以理解为 “带目录的电子书”;
  • 命令 --help:最快的查看方式,通常只列出命令的选项和简要用法,适合快速查阅。如:ls -h

使用建议:

先尝试命令 --help快速看选项,如果不明白,再用man 命令看详细说明,如果还不够,再用info 命令

目录管理

ls(查看目录)

功能:列出指定目录(默认为当前目录)下的文件和子目录。结果默认按字母顺序排序。

用法:

  • ls:只列出文件名(不包含隐藏文件)

  • ls -a:在 ls 基础上,包括隐藏文件

  • ls -l:列出文件权限、所有者、文件大小、修改时间等详细信息

  • ls -l /etc:列出指定的 /etc 目录的详细信息

pwd(从哪里来)

查看当前所在位置。

# 1. 输出当前所在目录pwd# 2. 输出物理路径/真实地址(避免符号链接的干扰)pwd-P# 3. 在脚本中使用current_dir=$(pwd)

绝对路径 VS 相对路径

  • 绝对路径:从根目录/开始的完整路径;
  • 相对路径:相对于当前所在目录的路径,其中:
    • .代表当前目录。如./script.sh表示当前目录下的script.sh文件;
    • ..代表上级目录。如../project表示上级目录下的project文件夹。

注意:直接在命令中写文件名/目录名,也是相对路径。例如cat file.txt就是寻找当前目录下的file.txt

cd(到哪里去)

跳转到其他目录。

cd目录名# 进入到指定目录cd.# 留在当前位置cd..# 返回上级目录cd~# 回到家目录cd/# 进入根目录(文件系统的起点)cd-# 返回上一次所在的目录(就像执行一次 “后退”)

高级技巧:CDPATH
这是一个环境变量,可以在里面填一个目录列表。系统执行使用cd 目录名时,不仅会在当前目录下查找,还会在CDPATH指定的目录列表下查找。相当于设定了几个常用的查找入口。
eg:做出如下设置后:

# 把家目录、~/Projects 设为常用搜索入口exportCDPATH=.:~:~/Projects

mkdir -p

用来创建多层目录,核心功能有两个:

  1. 递归地创建多层目录,中间目录不存在时也能一次性创建
  2. 目标目录已存在时不报错,也不会覆盖原目录(mkdir会报错)

文件管理

touch

touch的主要功能有两个:

  1. 更新文件的时间戳(timestamp)
    • 包括访问时间(atime)和修改时间(mtime)。
    • 如果文件已经存在,touch只会更新这些时间,不会修改内容。
  2. 创建空文件
    • 如果文件不存在,touch会新建一个空文件(即 0 字节文件)。

find / locate(文件在哪)

find 命令在指定目录中递归地查找文件/目录。

# 按文件名(以.txt结尾)查找find/home-name"*.txt"# 还可在命令末尾添加 `-ls` 来显示找到文件的详细信息# 按文件类型(f 表示普通文件)+文件名(以.pdf结尾)查找find.-typef-name"*.pdf"# 按文件大小查找(+1M 表示大小超过 1MB 的文件)find/var/log-size+1M# 按修改时间查找(-7表示修改时间在最近7天内,+7表示7天以前,7表示正好在第7天前)find.-mtime-7# 对找到的文件,不经确认提示直接删除,删除不可恢复(极度危险,不建议使用,建议先预览再删除)find.-name"*.log"-execrm{}\;# 同上,直接删除查找结果(更不容易写错,依然建议先预览再删除)find.-name"*.tmp"-delete

locate 像 Windows 下的 Everything 软件,基于数据库快速搜索(搜索前需要先更新数据库:updatedb)。

grep(全文检索)

grep 命令使用正则表达式在文件中查找指定模式的内容。

# 在文件中搜索包含指定关键词的行grep"tmux".zshrc# 增加显示行号grep-n"tmux".zshrc# 在指定目录下的所有文件中,搜索包含指定关键词的行grep-r"json"./issue2md|less

Linux 常用命令

od 命令 - 文件内容查看器

od 命令就像医院的化验仪器,可以查看文件的原始编码格式。

# 1. 以八进制格式查看文件(默认)od file.txt# 2. 以十六进制和 ASCII 格式查看od-xfile.txt# 3. 查看二进制文件的结构od-cbinary_file

echo 命令 - 文本输出器

echo 命令就像医院的广播系统,用于输出文本信息。

# 1. 基本文本输出echo"Hello World"# 2. 不换行输出(-n选项)echo-n"正在处理..."# 3. 解释转义字符(-e选项)echo-e"第一行\n第二行\t制表符"

more/less 命令 - 文件查看器

more 和 less 就像高效的病历翻阅工具,用于查看长文件。

# 1. 分页查看文件(more)morelong_file.txt# 2. 更强大的查看器(less)lesslogfile.log# 3. 查看并搜索(less 支持搜索)lessfile.txt# 在 less 中按 / 输入搜索词,按 n/N 查找下/上一个

head/tail 命令 - 文件首尾查看器

head 和 tail 就像查看病历的开头和结尾。

# 1. 查看文件前 10 行(默认)headfilename.txt# 2. 查看文件前 5 行head-n5filename.txt# 3. 查看文件后 10 行(默认)tailfilename.txt# 4. 查看文件后 20 行tail-n20filename.txt# 5. 实时查看日志文件更新tail-flogfile.log

sort 命令 - 排序工具

sort 命令就像病历整理系统,对内容进行排序。

# 1. 按字母顺序排序sortnames.txt# 2. 按数字大小排序sort-nnumbers.txt# 3. 反向排序sort-rfile.txt# 4. 去重排序sort-uduplicates.txt# 5. 按第二列排序sort-k2data.txt

cut 命令 - 字段提取器

cut 命令就像从病历中提取特定种类的信息。

# 1. 按字符位置截取(取每行第 1-10 个字符)cut-c1-10 file.txt# 2. 按指定的分隔符提取字段(指定逗号作为分隔符,取第1、3列)cut-d','-f1,3data.csv# 3. 以 tab 作为分隔符提取特定列(取第1-3列)cut-f1-3 tab_file.txt

cp 命令 - 文件复制器

cp 命令就像复印机。

# 1. 复制单个文件cpsource.md destination.md# 2. 复制整个目录cp-rdir1 dir2# 3. 交互式复制(若 file2 已存在,会先询问再覆盖)cp-ifile1 file2# 4. 保留文件属性(权限、时间戳、所有者等)cp-pimportant_file ~/

rm 命令 - 文件删除器

rm 命令就像病历销毁机,用来删除文件/目录,使用前要谨慎。

# 1. 删除单个文件rmunwanted_file.md# 2. 递归地删除目录(中所有文件)rm-rold_dir# 3. 强制删除(不提示)rm-flocked_file# 4. 交互式删除(更安全)rm-iimportant_dir/*

rmdir 命令 - 空目录删除器

rmdir 命令专门删除空目录。

# 1. 删除空目录rmdirempty_dir# 2. 删除多级空目录rmdir-ppath/to/empty/dir# 3. 显示删除过程rmdir-vdir1 dir2

file 命令 - 文件类型识别器

file 命令就像文件类型检测仪。

# 1. 识别文件类型fileunknown_file# 2. 识别多个文件filefile1 file2 file3# 3. 在原有识别基础上,继续识别文件的编码格式file-iimage.jpg

free 命令 - 内存空间查看器

free 命令就像内存使用检测仪。

# 1. 以易读格式显示内存free-h# 2. 实时监控内存变化(每5秒刷新一次)free-s5

df 命令 - 磁盘空间查看器

df 命令就像磁盘容量表。

# 1. 显示磁盘分区使用情况(总大小、已用、剩余、挂载点)df-h# 2. 在上面基础上,增添显示文件系统类型df-Th# 3. 显示指定磁盘分区使用情况df-h/home

du 命令 - 硬盘使用分析器

du 命令就像硬盘使用扫描仪。

# 1. 统计指定目录下所有文件/子目录的硬盘占用大小(最后一行是该目录占用的总空间)du-h/home/user# 2. 在上面基础上,增加显示隐藏文件du-ah/home/user# 3. 只显示总大小,不列出每个文件(常用)du-sh/home/user

mv 命令 - 文件移动/重命名

mv 命令就像文件搬运工。

# 1. 重命名文件mvoldname.txt newname.txt# 2. 移动文件到指定目录mvfile.txt /target/dir# 3. 移动多个文件mvfile1 file2 file3 /destination

ping 命令 - 网络连通性测试器

# 1. 基本连通性测试pinggoogle.com# 2. 指定次数测试ping-c5baidu.com# 3. 每隔一定时间测试一次ping-i2baidu.com

history 命令 - 历史命令查看器

# 1. 查看最近的命令历史history# 2. 查看最近 10 条命令history10# zsh 中应替换为 history -10# 3. 执行历史命令(!编号)!123# 4. 搜索历史命令history|grep"ssh"

总结

上述这些命令就像工具箱中的各种工具(就像已上市的各种药品)。

记住每个命令的基本用法,在实际工作中灵活组合使用,就像医生根据病情选择合适的药品一样。

多练习这些命令,你会发现自己处理文件和管理操作系统的能力越来越强。

http://www.cnnetsun.cn/news/1307179.html

相关文章:

  • 等保2.0 (下)
  • GRU时间序列回归预测模型:基于Matlab的详细注释代码实现
  • 基于CW32F030的嵌入式双通道电压电流表设计
  • ESP32-WROOM-32模块化开发板设计与工程实践
  • 超低功耗环境监测终端:ESP32-S3+墨水屏设计实践
  • Qwen2.5-72B-GPTQ-Int4开源大模型:vLLM+Chainlit构建合规审计问答平台
  • 餐饮连锁店福音:Ostrakon-VL-8B快速部署,实现AI自动巡店与权限管控
  • YOLOFuse快速开始:运行infer_dual.py,立即查看融合检测结果
  • 基于Ostrakon-VL-8B的零售货架智能审计Agent系统设计
  • RexUniNLU与Mathtype公式编辑器的智能集成
  • MogFace人脸检测模型WebUI与Dify工作流结合:构建智能身份验证应用
  • MiniCPM-o-4.5-nvidia-FlagOS开发环境搭建:从Android到AI的全栈准备
  • SecGPT-14B代码实例:基于Chainlit构建红蓝队智能问答系统
  • 南北阁Nanbeige 4.1-3B与SolidWorks集成:3D模型智能生成实战
  • 云容笔谈·东方红颜影像生成系统与智能体(Agent)协同工作流设计
  • Jetson Xavier NX 系统迁移与SDK组件增量部署实战
  • Android动画进阶:深入解析插值器与估值器的协同工作原理
  • 新手友好:跟着快马平台的引导式界面,轻松完成openclaw本地安装
  • XMLView革新:重新定义XML文档可视化与处理体验
  • M2LOrder模型在.NET生态中的集成:C#客户端调用详解
  • 云容笔谈·东方红颜影像生成系统ComfyUI可视化工作流搭建:零代码玩转高级图像生成
  • TIFF文件格式深度解析:从IFH到IFD的完整指南(附实例分析)
  • Qwen3-14b_int4_awq轻量部署教程:单卡A10/A100上运行14B级开源大模型
  • Qwen-Image-2512-ComfyUI 场景应用:电商海报与社交配图生成实战
  • RMBG-2.0惊艳效果展示:复杂边缘(宠物毛发/婚纱/玻璃瓶)抠图对比实录
  • AppScan实战:SSL证书安装与登录验证绕过技巧
  • DeepSeek-OCR-2惊艳效果:低分辨率扫描件(150dpi)仍保持92%准确率
  • Phi-3-vision-128k-instruct开源镜像:含完整vLLM配置+Chainlit源码可二次开发
  • SiameseAOE模型与Git工作流集成:自动化代码提交信息属性抽取
  • TextView进阶:深入解析ellipsize属性与marquee跑马灯实现技巧