一、Shell是什么Shell 是一个命令行解释器它接收用户输入的命令并将其传递给操作系统内核执行。多数Linux发行版的默认Shell是GNU Bash。登录Linux后Bash会自动启动通过虚拟控制台终端或图形终端仿真器如GNOME Terminal访问Shell提示符$表示等待用户输入命令二、核心基础命令速览1. 获取帮助manman ls # 查看ls命令手册man -k keyword # 按关键字搜索手册页手册页分区如1为可执行程序5为配置文件等可通过man 5 passwd指定区号。2. 目录切换cdcd /home/user # 绝对路径cd ../ # 相对路径进入父目录cd ~ # 回到主目录特殊目录符号.当前目录..父目录3. 查看当前路径pwdpwd # 打印当前工作目录的绝对路径4. 列出目录内容ls-F区分目录末尾加/与普通文件-a显示.开头隐藏配置文件-l长格式展示权限、属主、大小、修改时间、文件类型d 目录 /- 普通文件-R递归展示所有子目录文件支持* ? [] !通配符过滤文件三、查看文件内容命令用途常用参数cat一次性显示全部内容-n显示行号more分页查看只能向下空格翻页q退出less交互式查看可上下翻页/keyword搜索head显示文件开头-n 5前5行tail显示文件末尾-f实时监控日志cat -n file.txthead -20 file.txttail -f /var/log/syslog # 实时跟踪四、文件链接硬链接(ln)同一inode的多个路径删除一个不影响其他符号链接/软链接(ln -s)相当于快捷方式指向原文件路径ln original hard_linkln -s original soft_link五、Linux虚拟目录结构速览Linux采用单根虚拟目录根目录为/没有Windows的盘符概念。目录用途/bin用户级命令/etc配置文件/home用户主目录/var日志等可变数据/tmp临时文件/usr用户程序和数据挂载点将物理设备关联到虚拟目录中的某个目录如/mnt/usb。六、 课后练习管理“学习笔记”项目 初始状态位于用户主目录~✅ 任务清单1. 创建项目结构1.1 确认当前在主目录pwd输出应该是/home/你的用户名如果不是执行cd ~切回主目录。1.2 创建项目根目录 LearningNotesmkdir LearningNotesmkdir make directory 创建文件夹1.3 一次性创建 3 个子目录用 - p 批量创建mkdir -p LearningNotes/lectures LearningNotes/references LearningNotes/backups-p批量创建多层目录不存在父目录也不会报错1.4 切换进入 lectures 目录cd LearningNotes/lectures1.5 验证当前位置pwd输出/home/你的用户名/LearningNotes/lectures代表成功。2. 创建并编辑笔记文件2.1 创建两个空文件touch linux_basics.txt commands_cheatsheet.txttouch创建空文件也可以修改文件时间戳后面会用到2.2 给 linux_basics.txt 写入内容echo Linux Command Basics linux_basics.txt echo cd: Change directory linux_basics.txt echo ls: List files and directories linux_basics.txt echo pwd: Print working directory linux_basics.txt2.3 给 commands_cheatsheet.txt 写入内容echo cat: Display entire file commands_cheatsheet.txt echo head: Show first 10 lines commands_cheatsheet.txt echo tail: Show last 10 lines commands_cheatsheet.txt echo less: Interactive file viewer commands_cheatsheet.txt2.4 验证写入是否成功cat linux_basics.txt cat commands_cheatsheet.txt3. 文件操作当前目录LearningNotes/lectures3.1 复制 commands_cheatsheet.txt 到 references改名 command_reference.txtcp commands_cheatsheet.txt ../references/command_reference.txt拆解cp 源文件 目标路径/新文件名../代表上级目录当前在 lectures上级就是 LearningNotes所以../references就是同级的 references 文件夹加-i更安全覆盖前提示cp -i commands_cheatsheet.txt ../references/command_reference.txt3.2 将 linux_basics.txt 重命名为 linux_fundamentals.txtmv linux_basics.txt linux_fundamentals.txtmv两个作用①重命名 ②移动文件同目录下使用 重命名不同目录 移动文件3.3 给 linux_fundamentals.txt 做备份放到 backups 目录cp linux_fundamentals.txt ../backups/直接复制到 backups文件名不变作为备份文件。3.4 更新 commands_cheatsheet.txt 时间戳touch commands_cheatsheet.txttouch 核心功能文件已存在时仅更新访问 / 修改时间内容完全不变。4. 查看和分析文件内容4.1 完整查看 linux_fundamentals.txt 全部内容cat linux_fundamentals.txtcat一次性输出文件所有内容4.2 查看 references 里 command_reference.txt 前 2 行head -n 2 ../references/command_reference.txthead读取文件开头-n 2指定只看前 2 行4.3 查看当前目录 commands_cheatsheet.txt 最后 3 行tail -n 3 commands_cheatsheet.txttail读取文件末尾-n 3指定只看最后 3 行4.4 交互式浏览 command_reference.txtless ../references/command_reference.txt操作快捷键空格下一页回车下一行q退出浏览界面5. 项目维护5.1 切回项目根目录 LearningNotescd ../验证位置pwd输出应为/home/用户名/LearningNotes5.2 列出项目完整目录结构方式 1简单 ls 递归ls -R-R递归显示所有子文件夹和文件5.3 删除 references 里的 command_reference.txtrm references/command_reference.txt5.4 在项目根目录新建空文件 project_status.txttouch project_status.txt5.5 更新项目内所有文件的访问时间思路找到所有 txt 文件批量 touch 更新时间find . -type f -name *.txt -exec touch {} \;拆解.当前目录LearningNotes-type f只匹配文件不匹配文件夹-name *.txt匹配所有后缀 txt 文件-exec touch {} \;对每个匹配到的文件执行 touch最终效果总结操作命令查看手册man切换目录cd列出文件ls创建文件/目录touch/mkdir复制/移动/删除cp/mv/rm查看文件cat/less/head/tail创建链接ln/ln -s