前言在当今的技术环境中高效的工具选择对开发者和系统管理员至关重要。Linux作为一个强大的开源操作系统以其稳定性、灵活性和丰富的命令行生态著称尤其适用于服务器管理、开发环境搭建及自动化任务处理。与此同时MobaXterm Personal作为一款面向Windows用户的增强型终端软件集成了SSH客户端、X11服务器、网络工具链等功能极大简化了远程服务器操作与图形化应用访问的流程。二者的结合为跨平台协作提供了无缝衔接的解决方案显著提升了开发与运维效率。本部分将简要概述其核心优势为后续深入实践奠定基础。以下操作命令截图来自MobaXterm Personal一、Linux 系统管理哲学与 Shell 核心机制1. 图形化与命令行管理模式的对比管理方式差异Linux 系统主要依赖命令行进行管理虽然部分发行版如Ubuntu、CentOS支持图形化界面但在服务器运维中命令行仍是核心工具。操作习惯迁移讲师强调需将Windows的操作习惯平移到Linux命令中通过类比如右击属性对应 ls -l来降低学习曲线。Linux通常来说都是使用“命令”管理系统和应用程序也有部分如上的支持图形化管理相对来说的所以个人认为我们需要把Windows中的操作习惯平移到Linux命令中更好掌握学习。2.Shell 翻译官的角色与类型核心功能定义Shell是运行在系统中的特殊程序充当用户与内核之间的“翻译官”负责将用户的自然语言指令如 ls转换为内核能识别的二进制指令。交互与登录支持Shell 不仅支持命令交互更是用户登录系统的必要支持程序若 Shell 不支持用户无法进入系统。解释1.让我们可以使用命令来和系统进行交互。 2.登录到系统中的这个行为也需要shell支持。多语言适配针对不同开发语言如 Java、Python、Go系统需加载对应的 Shell 类型来解析特定的语法和规则。3. Linux“一切皆文件”的哲学理念资源抽象化Linux 将所有资源目录、文档、压缩包、磁盘等统一抽象为文件仅通过文件属性来区分其类型和用途。视觉化区分系统通过颜色编码直观区分文件类型如白色代表普通文件蓝色代表目录红色代表压缩包绿色可执行文件其他颜色代表浅蓝色链接文件类似 Windows快捷方式。二、Linux命令的分类、格式及使用方法2.1 Linux命令行的格式1 | 命令字 [选项][参数] #英文字符区分大小写三要素构成命令行由“命令字基本功能”、“选项额外功能”和“参数操作对象”三部分组成三者之间必须用空格分隔。命令字表示我们要执行的基本功能 (如ls)是整条命令中最关键的一部分唯一确定一条命令选项额外的功能短格式选项使用“-”符号引导长格式选项使用“–”符号引导 有时候java -v 有时候升级了或者换了其他应用程序 java --version才可以 总之灵活使用不要死板多个单字符选项可以组合在一起使用例’ls -lh’参数我们命令执行时操作的对象命令字的处理对象可以是文件名、目录路径名或用户名等内容个数可以是零到多个如果执行命令是没有加任何参数有2种情况① 这个命令本身就不需要参数。② 参数默认指当前的位置。2.2 linux命令的分类Linux命令分为内部命令和外部命令。其实简单来说内部命令系统自带的。 外部命令额外安装的。三、Linux常用命令3.1 Linux命令行的辅助操作Tab 键自动补全输入部分路径或文件名后按 Tab 键可自动补全若存在多个匹配项双击 Tab 可列出所有候选。反斜杠换行使用反斜杠 \ 可将长命令换行显示便于编写脚本或文档时的格式规范。清屏与取消命令clear 或 CtrlL 用于清屏CtrlC 用于强制终止当前正在执行的命令。3.2 命令帮助help和man内置帮助系统使用 --help 或 man 命令查看命令用法其中 man 手册内容详尽但多为英文。外部资源推荐推荐使用“菜鸟教程”,Linux命令大全官网等中文网站或程序官网需借助翻译工具作为辅助学习资源。现在都可以在网站上看纯中文的为什么要看这些英文的所以以上两个命令其实用的比较少了。3.3 查看当前工作目录pwd这个命令以后学习脚本时候是很有用的。在不确定目前的工作目录时可以经常使用pwd命令确认一下当前所在目录。尤其删除时rm -rf 时很有用的。3.4 切换工作目录cd路径切换cdcd 命令用于切换目录。cd ~ 或 cd 可直接返回用户家目录cd - 可快速返回上一次所在的目录。cd想当于windows中双击进入文件夹操作。绝对路径从跟目录开始写的路径 其他都是相对路径先这样理解./ 等于当前目录 ../回上级目录 都是相对路径补充一点命令行提示符解读和家目录概念权限标识符提示符末尾的#代表当前用户为root最高权限$代表当前用户为普通用户。家目录作用Linux 中每个用户都有一个专属的家目录如 /home/username 或 root 的 /root用于存放个人数据。路径书写规范若目标目录不在当前目录下必须使用绝对路径或包含上级目录的相对路径如 cd /user/local否则无法进入。3.5 列表显示目录内容ls常用选项、可结合通配符基础查看ls不加参数时默认显示当前目录下的非隐藏文件和目录列表。1 |ls [选项] [文件或目录… ]3.5.1详细信息查看ls -l使用 -l 参数以长格式显示文件详情包括权限、所有者、大小等。或者缩写成ll 类似别名补充 alias 命令别名 命令虽然别名便于操作但在实际生产环境中通常不建议随意设置以避免环境依赖问题。注意 在定义别名时等号两边不能有空格否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号3.5.2隐藏文件查看ls -a使用 -a 参数显示所有文件包括以点.开头的隐藏文件。\3.5.3递归显示目录结构ls -Rls -R命令用于递归显示指定目录及其所有子目录下的文件列表适用于需要查看完整目录树的场景。3.5.4人性化单位显示ls -hls -lh 命令中的 -h 参数代表“友好显示”Human-readable会自动将文件大小转换为带单位如 K、M、G的格式便于用户直观理解。其他几个不经常使用暂不展示。补充通配符系统自带模糊匹配的单字符匹配?问号?用于匹配文件名中任意一个未知字符必须存在且仅匹配一个字符。多字符匹配*星号*用于匹配文件名中零个、一个或多个任意字符常用于模糊查找或批量操作。3.6 统计目录及文件空间占用情况du1 | du [选项] [文件或目录… ]详细空间占用分析du命令专用于统计目录或文件的磁盘占用情况3.61 du -ahdu -ah可递归显示所有文件和目录含隐藏文件的大小。3.62 du -shdu -sh仅显示指定目录的总占用空间不展开子目录详情适用于快速获取目录大小。3.7 创建新目录mkdir1 | mkdir [选项] 目录位置及名称绝对路径、相对路径 2 | -p递归创建创建一个已有的目录会报错加-p则不会报错/当父目录不存在时递归创建目录mkdir-p命令支持递归创建多级目录如 a/b/c若不加-p选项系统会因父目录不存在而报错。补充通配符的使用3.8 创建空文件touch1 | touch 文件…批量文件创建touch 命令可同时创建多个文件支持通过空格分隔参数实现批量操作。①文件存在修改文件或者目录的时间属性包括存取时间和更改时间。②文件不存在创建新文件。3.9 创建链接文件ln软链接、硬链接符号链接定义Linux 中的软链接Symbolic Link类似于 Windows 的快捷方式指向源文件或目录的路径。硬链接暂时不说应有后续知识作为基础才可以兜底。创建命令语法使用ln -s源文件 链接文件 创建软链接建议使用绝对路径以确保链接有效性。1 | ln -s 源文件或目录… 链接文件或目标位置 #创建软链接相当于创建一个快捷方式 2 | ln #创建硬链接相当于复制了一份副本暂不解释快捷方式的逻辑3.10 复制文件或目录cp1 | cp [选项] 源文件或目录/目标文件或目录基础复制与重命名cp命令支持直接复制文件若目标位置指定新文件名则兼具重命名功能。3.10.1 目录递归复制cp -r复制目录时必须添加-r选项否则系统会提示“略过目录”导致复制失败。3.10.2 覆盖策略cp -f默认情况下若目标位置存在同名文件系统会进行交互式询问使用-f选项可强制覆盖但需注意某些版本下该选项可能不生效。但是因为版本没有成功截图所以执行cp -f 也要确定版本。其他几个命令不常用暂不截图。3.11 移动文件或目录/改名mvmv相当于windows的剪切功能。1 | mv [文件名] [目录名] 2 | mv [文件名] [文件名] 4 | -i若指定目录已有同名文件则先询问是否覆盖旧文件 5 | -f在 mv 操作要覆盖某已有的目标文件时不给任何指示 6 | 当在同一目录下用mv就是改名如果是跨目录使用mv的话就是移动相当于剪切的操作剪切先复制源文件当粘贴后源文件会删除。重命名如果mv操作的源文件和 粘贴的位置相同它的功能会变成重命名mv中基本用不到选项故暂不描述。3.12 删除文件或目录rm 高危命令1 | rm [选项] 要删除的文件或目录高危操作警告rm命令极其危险尤其是 rm -rf递归强制删除误操作可能导致系统崩溃或数据丢失。工作中使用非常危险请注意系统保护机制虽然 root 是最高权限用户但 Linux 内核会对涉及系统核心生存的文件进行保护阻止 root 误删关键目录如根目录 /导致命令丢失或系统不可用。root只是用户最高权限后面还有幕后boss更高权限不会让你删除核心。防护措施强烈建议在实验环境中使用快照Snapshot功能以便在误操作后快速还原系统状态。3.13 查找命令/文件存放目录which1 | which 命令|程序名命令查找与别名路径查询which 命令用于查找命令文件的存放路径如 which ls。别名机制系统默认设置了别名Alias例如 ls 实际上是 ls --colorauto用于自动显示颜色以区分文件类型。3.14 echo 命令1 | echo 文本内容 指向位置 2 | echo 文本内容 指向位置echo基础功能是把键盘输入的内容输出到终端屏幕中我们可以配合2个特殊符号来修改输出的方向/位置并且修改输出的方式追加/覆盖写法如下echo abc 正常情况下会打印在屏幕终端中echo abc index.html 表示修改输出方向把内容以追加的方式写入到index.html的文件中echo abc index.html 表示修改输出方向把内容以覆盖的方式写入到index.html的文件中 专业术语是 重定向追加 专业术语是 重定向覆盖专业术语“重定向” 把默认输出的方向进行修改3.15 findfind匹配条件精确查看目录或文件的绝对路径位置1 | find [查找范围] [查找条件表达式] 2 | #查找范围查找文件或子目录的目录位置 3 | #查找条件表达式查找条件类型3.15.1命令字 find /home -name -type -size 10M采用递归方式根据目标的名称、类型、大小等不同属性进行精细查找。如果不设置任何参数则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。3.15.2 find工具补充1 | -a 表示而且 (and) 两个条件必须同时满足 2 | -o 表示或者 (or) 只需满足其中任何一个条件即可3.15.3 find与exec结合1 | find [路径] [匹配条件] -exec [命令] {} \; 2 | # 在当前目录下(包含子目录)删除所有txt文件 3 | find ./ -name *.txt -exec rm {} \;总结1 | #目录操作 2 | pwd # 显示当前路径 3 | cd # 切换目录 4 | ls # 列出目录内容 5 | du # 查看磁盘使用情况 6 | 7 | # 文件管理 8 | mkdir # 创建目录 9 | touch # 创建文件 10| ln # 创建链接 11| cp # 复制文件 12| rm # 删除文件 13| mv # 移动/重命名文件 14| 15| # 查找功能 16| which # 查找命令路径 17| find # 搜索文件 18| # 系统控制 19|init 0 # 关机 20|init 6 # 重启 ———————————————— 版权声明本文为CSDN博主「荣光波比」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/qq_41978931/article/details/150071936