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

LinuxShell编程基础学习笔记

一、Shell基础知识

1.Shell是Linux系统文本命令行交互界面CLI,图形桌面出现前是唯一和Unix/Linux交互途径,主流默认Shell为GNU bash,Docker容器默认使用/bin/bash。
2.登录系统访问CLI方式:图形桌面登录需打开终端仿真器;纯文本控制台用Ctrl+Alt+F系列按键切换,Ubuntu按F7进入图形界面,RHEL按F1。
3.Shell提示符默认是$符号,代表等待用户输入命令,输入命令后回车执行。
4.Tab自动补全:输入文件/目录前缀按Tab,可自动补全名称,多匹配项会列出全部候选。
5.man帮助手册
man命令用于查询Linux命令官方手册,man man查看man自身手册;man -k 关键词可通过关键字模糊搜索命令。
手册分区1代表可执行程序与shell命令,2为系统内核调用,3为程序库函数。
手册操作:空格整页翻页,回车逐行滚动,q键退出手册页面。

二、Linux文件系统

1.Windows与Linux路径核心区别
Windows分多盘符,路径分隔符为反斜杠\;Linux只有单一虚拟根目录/,无盘符,路径分隔符使用正斜杠/。
2.核心概念
根目录/是整个文件系统起点,系统第一块硬盘为根驱动器;挂载点是虚拟目录下文件夹,用于挂载U盘、额外硬盘等外设。
Linux隐藏文件以点.开头,默认ls命令不会展示。
3.系统标准目录作用
/home:普通用户专属主目录,格式/home/用户名
/root:超级管理员root的专属主目录
/media、/mnt:移动存储设备挂载目录
/opt:存放第三方软件包
/proc、/sys:存储硬件、进程实时信息,虚拟文件
/tmp:临时文件目录,系统重启内容清空
/usr:存放用户工具、程序、文档
/var:存放日志、缓存等频繁变动文件
4.两种文件路径
绝对路径:从根目录/完整书写,精准定位文件;
相对路径:基于当前目录简写,.代表当前目录,..代表上级父目录。

三、目录操作命令

1.pwd:打印当前工作目录,切换目录前建议执行确认位置。
2.cd:切换目录
cd 绝对路径 直接跳转指定完整目录;cd 相对路径 跳转当前目录下子文件夹;cd .. 返回上级目录;cd ~或单独cd 直接回到用户主目录。
shtu:列出目录文件,常用参数
ls -F:目录末尾添加/,区分文件与文件夹;
ls -a:显示所有文件,包含.开头隐藏文件;
ls -l:长格式输出,展示文件类型、权限、所有者、大小、修改时间;
ls -R:递归列出所有子目录内文件;
参数可组合使用,如ls -alFR。
ls -l输出字段说明:首位d代表目录、-代表普通文件;后续9位为读写执行权限;数字是硬链接数量;之后依次为文件所有者、所属用户组、文件字节大小、修改时间、文件名。
ls支持通配符过滤文件:?匹配单个字符,*匹配任意多个字符,[]匹配指定范围字符,!用于排除字符。
4.mkdir:创建目录
mkdir 目录名 创建单层文件夹;mkdir -p 多级目录 自动创建所有缺失的父目录。
5.rmdir:仅能删除无内容的空目录,目录存在文件时执行报错。
6.rm:删除文件/非空目录,Linux无回收站,删除内容无法恢复
rm 文件名 删除单个文件;rm -i 文件名 删除前弹窗确认;rm -rf 目录名 强制递归删除整个目录,高危命令谨慎使用。

四、文件操作命令

1.touch:创建大小为0的空白文件;仅修改已有文件时间戳,不改动文件内容。
2.cp:复制文件/目录
cp 源文件 目标文件 复制文件;cp -i 源文件 目标路径 覆盖文件前提示确认;cp -r 源目录 目标目录 复制完整文件夹及内部所有内容。
3.mv:移动文件或重命名文件
同目录内执行mv为重命名;跨目录执行mv为移动文件;搭配-i参数,覆盖文件前弹出确认提示。
4.ln 文件链接
硬链接ln:多个文件名指向同一个inode节点,删除其中一个链接不会删除原文件,无法跨硬盘分区创建;
软链接ln -s:类似Windows快捷方式,存储源文件路径,源文件删除后链接失效。

五、查看文件内容命令

1.file:识别文件类型、文本编码、软链接指向的源文件。
2.cat:一次性输出文件全部内容,适合小型文本
cat -n 显示所有行行号;cat -b 仅给非空文本行添加行号。
3.more、less:分页交互式浏览文件
more仅支持向下翻页,q退出;less是more升级版,支持上下滚动、文本搜索,推荐优先使用。
4.head:查看文件开头内容,默认展示前10行,-n 参数自定义展示行数,head -2 文件 查看文件前两行。
5.tail:查看文件末尾内容,默认展示最后10行,-n 参数自定义行数,tail -3 文件 查看文件后三行;tail -f 实时跟踪文件新增内容,常用于监控系统日志。

六、课后实操项目完整操作命令

任务:在用户主目录~完成LearningNotes学习笔记项目,每步操作前执行pwd确认当前目录
1.创建项目目录结构
pwd
mkdir LearningNotes
cd LearningNotes
pwd
mkdir lectures references backups
cd lectures
pwd
2.创建笔记文件并写入内容
touch linux_basics.txt commands_cheatsheet.txt
echo -e "Linux Command Basics\ncd: Change directory\nls: List files and directories\npwd: Print working directory" > linux_basics.txt
echo -e "cat: Display entire file\nhead: Show first 10 lines\ntail: Show last 10 lines\nless: Interactive file viewer" > commands_cheatsheet.txt
3.文件操作
pwd
cp commands_cheatsheet.txt ../references/command_reference.txt
mv linux_basics.txt linux_fundamentals.txt
cp linux_fundamentals.txt ../backups/
touch commands_cheatsheet.txt
4.查看文件内容
pwd
cat linux_fundamentals.txt
head -2 ../references/command_reference.txt
tail -3 commands_cheatsheet.txt
less ../references/command_reference.txt
5.项目维护
cd ../
pwd
tree
rm references/command_reference.txt
touch project_status.txt
touch lectures/* references/* backups/* project_status.txt
项目最终目录结构
LearningNotes/
project_status.txt
lectures/
commands_cheatsheet.txt
linux_fundamentals.txt
references/
backups/
linux_fundamentals.txt

七、核心命令总结

目录操作:pwd查看路径、cd切换目录、mkdir创建目录、rmdir删除空目录
文件列表:ls搭配-a/-l/-F/-R参数查看文件信息
文件创建修改:touch新建空文件、更新时间戳
文件复制移动:cp复制、mv移动/重命名
文件删除:rm删除文件/非空目录
文件链接:ln硬链接、ln -s软链接
文件查看:cat全量输出、less分页浏览、head查看开头、tail查看末尾
帮助查询:man查询命令手册,man -k关键字检索命令
辅助工具:Tab自动补全、* ? []通配符批量筛选文件

课后作业:

http://www.jsqmd.com/news/1106290/

相关文章:

  • 2026年无线物联网融合网络设备十大品牌排行榜
  • 量子优化算法FPC-QAOA:突破参数爆炸难题
  • 35岁转行AI大模型:挑战、机遇与实战路径
  • 服务端开发爱好者
  • 心情值游戏系统实现
  • [特殊字符] 搬砖的秘密:为什么一次搬 64 块砖最快?
  • 车间地坪养护秘籍
  • Rust项目开发完整教程
  • 从WAIC看AI办公新趋势:会议助手正在从“记录工具”变成“组织智能体”
  • Rust语言基础开发教程
  • 一个老股民的十年自白十年炒股没亏,但我劝你别学我
  • 本地化AI漫剧制作:Qwen与ComfyUI实战指南
  • 从 VMware 迁移到 Proxmox VE 的完整方案
  • MAX9744与PIC18LF45K50的音频功率放大系统设计
  • Vue组件开发技巧
  • 单系统登录机制
  • vim源码编译安装 _
  • 贵阳婚纱照拍的最好的是哪一家?
  • view_source
  • 大气层系统完整指南:5个步骤快速安装Switch自定义固件
  • [特殊字符]️ 性能调优手册:把 chunk size 思路落地到你的项目
  • 出现“WSL 安装似乎已损坏”的错误通常意味着Windows子系统对于Linux(WSL)的某些组件可能未正确安装或注册。要解决这个问题,你可以尝试以
  • 【课程设计/毕业设计】基于 Java Web 的乡村茶产业文化传播平台的设计与实现【附源码、数据库、万字文档】
  • Go语言并发模式之WorkerPool设计实践
  • Java接口开发最佳实践
  • 可变系数的脉冲压缩
  • 2026年大模型API选型指南:六大聚合平台多维度实测与避坑建议
  • [Saturate节点]原理解析与实际应用
  • 终极图片浏览神器:ImageGlass完整指南,轻松查看90+图片格式
  • 在线游戏反作弊技术:从原理到实战应用