Linux Shell 零基础入门:从命令行到文件系统实战
Linux Shell 零基础入门从命令行到文件系统实战一、什么是 Shell如何进入命令行1. Shell 的本质Shell 是用户与 Linux 内核之间的命令解释器相当于系统的 “翻译官”我们输入文本指令Shell 翻译给内核执行再把结果返回终端。 绝大多数 Linux 发行版、Docker 容器默认使用Bash Shell登录后自动启动。2. 两种访问 CLI命令行界面的方式纯文本控制台系统退出图形桌面使用快捷键切换UbuntuCtrlAltF7切图形界面RHEL/CentOSCtrlAltF1切图形界面图形终端仿真器桌面系统打开终端软件Xshell、系统自带 Terminal直接调出命令行提示符3. Shell 提示符基础默认普通用户提示符为$代表等待输入命令root 管理员提示符为#。输入命令后按回车执行Tab 键可自动补全文件名 / 目录大幅提升输入效率。二、man 手册Linux 自带官方文档忘记命令参数、不懂命令用法时不用上网查系统自带完整手册 ——man命令。# 查看ls命令完整手册 man ls # 查看man命令自身手册 man man # 模糊搜索含password关键字的所有命令忘记命令名专用 man -k password手册页操作快捷键空格向下翻整页回车逐行向下滚动上下箭头微调滚动q退出手册页面手册分区说明手册分多个区块最常用1 区可执行程序 / Shell 命令其余还有系统调用、库函数、配置文件等分区。三、Linux 虚拟文件系统和 Windows 最大区别Windows 采用盘符分区C 盘、D 盘每个磁盘独立一套目录Linux 采用统一虚拟目录结构核心只有一个根目录/。1. 核心概念根目录/整个文件系统的起点所有磁盘、文件都挂载在它之下挂载点虚拟目录中的文件夹用来挂载额外硬盘 / U 盘。比如第二块硬盘全部挂载到/home用户数据全部存在这块磁盘系统文件留在第一块硬盘。路径分隔符Linux 使用正斜线/Windows 反斜线\2. 根目录核心文件夹作用速查表目录作用说明/bin基础系统二进制命令/etc系统全局配置文件/home普通用户主目录集合/home/xxx为用户专属目录/rootroot 管理员专属主目录/usr用户工具、软件、文档/var动态变化文件日志、缓存、数据库/tmp临时文件重启自动清空/mediaU 盘、移动硬盘等可移动设备默认挂载点/proc虚拟目录实时查看进程、硬件信息/opt第三方大型软件安装目录3. 两种文件路径绝对路径从根/开始写完整路径永远不会出错cd /home/zhangzy/LearningNotes/lectures相对路径基于当前所在目录不用写完整前缀# 当前在LearningNotes直接进入子文件夹 cd lectures特殊简写符号.当前目录..上一级父目录~当前登录用户的主目录四、目录切换与查看pwd、cd、ls 核心命令1. pwd打印当前所在目录pwd # 输出示例/home/zhangzy实操好习惯每一步操作前输入pwd确认当前位置避免误操作。2. cd切换目录cd ~ # 回到自己的主目录 cd .. # 返回上一级文件夹 cd /usr/bin # 绝对路径切换 cd lectures # 相对路径进入子文件夹3. ls列出目录文件最常用基础用法与高频参数ls # 简单列出文件字母排序 ls -F # 文件末尾标记类型/代表目录、*代表可执行文件 ls -a # 显示所有文件包含以 . 开头的隐藏配置文件 ls -l # 长格式展示权限、所有者、大小、修改时间 ls -R # 递归列出所有子目录文件 ls -FRl # 参数可组合使用长格式ls -l输出字段含义drwxrwxr-x 5 zhangzy zhangzy 243 6月13 15:51 h首位字符d 目录、- 普通文件、l 软链接9 位权限、硬链接数、文件所有者、所属组、文件大小、修改时间、文件名4. 通配符过滤文件匹配指定规则文件批量操作必备?匹配任意单个字符*匹配 0 个或多个任意字符[]匹配括号内任意字符ls test*.txt # 列出所有test开头的txt文件 ls file?.txt # file1.txt、filea.txt 都会匹配五、文件与目录管理全套命令1. 创建操作touch创建空文件也可更新文件时间戳不修改内容touch linux_basics.txt touch test.txt # test.txt已存在时仅更新修改时间mkdir创建目录mkdir LearningNotes mkdir -p LearningNotes/lectures # -p 自动创建多级不存在的父目录2. 复制 cpcp source.txt dest.txt # 复制文件 cp -i source.txt dest.txt # -i 覆盖前弹出确认提示推荐日常使用 cp -r dir1 dir2 # -r 递归复制整个目录3. 移动 / 重命名 mvmv兼具移动文件、重命名两个功能inode 编号不变仅修改文件名路径mv linux_basics.txt linux_fundamentals.txt # 重命名 mv file.txt ./references/ # 移动到指定目录 mv -i old.txt new.txt # 覆盖前提示确认4. 删除操作Linux 无回收站谨慎操作删除文件rmrm test.txt rm -i test.txt # 删除前确认 rm -f test.txt # 强制删除无提示删除目录rmdir仅能删除空目录有文件则报错rm -rf 目录名强制递归删除整个目录高危命令慎用rmdir empty_dir rm -rf references # 直接删除带内容的文件夹5. 文件链接硬链接 vs 软链接硬链接 ln多个路径指向同一个 inode删除一个链接文件本体不会丢失适合文件备份防误删ln linux_fundamentals.txt backups/linux_fundamentals.txt软链接 ln -s类似 Windows 快捷方式存储源文件路径源文件删除后链接失效ln -s /home/test.txt link_test.txt六、查看文件内容cat /more/less /head/tail1. cat一次性完整输出文件适合小文件cat linux_basics.txt cat -n linux_basics.txt # -n 显示所有行号 cat -b linux_basics.txt # -b 仅给非空行加行号2. more /less分页查看大文件more基础分页只能向下翻页底部显示进度less升级版支持上下翻页、关键词搜索推荐优先使用 操作空格翻页、q退出/关键词快速搜索内容3. head /tail只看文件首尾head test.txt # 默认前10行 head -6 test.txt # 查看前6行 tail test.txt # 默认最后10行 tail -3 test.txt # 查看最后3行 tail -f app.log # 实时追踪日志新增内容运维监控神器4. file判断文件类型自动识别文本、目录、链接、二进制文件还能查看文本编码file linux_basics.txt小结怎样和 shell 交互终端输入命令回车执行pwd查看当前路径每步操作前确认目录规范操作。Linux 怎么存储文件采用虚拟目录树以/根目录为起点所有文件、目录、设备都挂载在树形结构下无 Windows 分区盘符概念。cd 目标路径切换工作目录cd ~/cd回到用户家目录cd ..返回上一级目录cd 绝对路径直接跳转到指定完整路径ls列出当前目录文件、子目录ls -R递归列出所有子目录及内部文件本次作业用到mkdir 目录名新建空文件夹touch 文件名不存在创建空白文本文件已存在更新文件访问、修改时间戳不改动文件内容cp 源文件 目标路径/新文件名复制已有文件到指定位置支持改名备份mv 旧名称 新名称同目录下 重命名mv 文件 目标目录跨目录移动文件rm 文件名删除文件rmdir 目录名仅删除空文件夹有内容目录只能用rm -rcat 文件一次性完整输出全部内容适合短文件less 文件交互式分页阅读器上下翻页q退出head -n 数字 文件只查看文件前 N 行tail -n 数字 文件只查看文件末尾 N课后练习一、任务 1创建项目结构需求新建 LearningNotes三级子目录进入 lectures二、任务 2创建和编辑笔记需求新建两个 txt 文件并写入指定文本内容三、任务 3文件操作复制 / 重命名 / 备份 / 更新时间戳四、任务 4查看和分析文件内容五、任务 5项目维护切根目录、查看结构、删文件、新建文件、批量更新时间