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

Shell基础知识与常用命令:从零开始掌握Linux命令行

一、Shell是什么?

Shell 是一个命令行解释器,它接收用户输入的命令并将其传递给操作系统内核执行。多数Linux发行版的默认Shell是GNU Bash

  • 登录Linux后,Bash会自动启动

  • 通过虚拟控制台终端图形终端仿真器(如GNOME Terminal)访问Shell

  • 提示符$表示等待用户输入命令


二、核心基础命令速览

1. 获取帮助:man

man ls # 查看ls命令手册

man -k keyword # 按关键字搜索手册页

手册页分区(如1为可执行程序,5为配置文件等),可通过man 5 passwd指定区号。


2. 目录切换:cd

cd /home/user # 绝对路径
cd ../ # 相对路径,进入父目录
cd ~ # 回到主目录

特殊目录符号

  • .当前目录

  • ..父目录


3. 查看当前路径:pwd

pwd # 打印当前工作目录的绝对路径


4. 列出目录内容:ls

  • -F:区分目录(末尾加/)与普通文件;-a:显示.开头隐藏配置文件
  • -l:长格式,展示权限、属主、大小、修改时间、文件类型(d 目录 /- 普通文件)
  • -R:递归展示所有子目录文件;支持* ? [] !通配符过滤文件

三、查看文件内容

命令用途常用参数
cat一次性显示全部内容-n显示行号
more分页查看(只能向下)空格翻页,q退出
less交互式查看(可上下翻页)/keyword搜索
head显示文件开头-n 5前5行
tail显示文件末尾-f实时监控日志

cat -n file.txt
head -20 file.txt
tail -f /var/log/syslog # 实时跟踪


四、文件链接

  • 硬链接(ln):同一inode的多个路径,删除一个不影响其他

  • 符号链接/软链接(ln -s):相当于快捷方式,指向原文件路径

ln original hard_link
ln -s original soft_link


五、Linux虚拟目录结构速览

Linux采用单根虚拟目录,根目录为/,没有Windows的盘符概念。

目录用途
/bin用户级命令
/etc配置文件
/home用户主目录
/var日志等可变数据
/tmp临时文件
/usr用户程序和数据

挂载点:将物理设备关联到虚拟目录中的某个目录(如/mnt/usb)。


六、 课后练习:管理“学习笔记”项目


📁 初始状态

  • 位于用户主目录~


✅ 任务清单

1. 创建项目结构

1.1 确认当前在主目录
pwd

输出应该是/home/你的用户名,如果不是,执行cd ~切回主目录。

1.2 创建项目根目录 LearningNotes
mkdir LearningNotes
  • mkdir= make directory 创建文件夹
1.3 一次性创建 3 个子目录(用 - p 批量创建)
mkdir -p LearningNotes/lectures LearningNotes/references LearningNotes/backups
  • -p:批量创建多层目录,不存在父目录也不会报错
1.4 切换进入 lectures 目录
cd LearningNotes/lectures

1.5 验证当前位置

pwd

输出:/home/你的用户名/LearningNotes/lectures,代表成功。

2. 创建并编辑笔记文件

2.1 创建两个空文件
touch linux_basics.txt commands_cheatsheet.txt
  • touch:创建空文件;也可以修改文件时间戳(后面会用到)
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.txt
2.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.txt
2.4 验证写入是否成功
cat linux_basics.txt cat commands_cheatsheet.txt

3. 文件操作

当前目录:LearningNotes/lectures

3.1 复制 commands_cheatsheet.txt 到 references,改名 command_reference.txt
cp commands_cheatsheet.txt ../references/command_reference.txt

拆解:

  • cp 源文件 目标路径/新文件名
  • ../代表上级目录,当前在 lectures,上级就是 LearningNotes,所以../references就是同级的 references 文件夹
  • -i更安全(覆盖前提示):cp -i commands_cheatsheet.txt ../references/command_reference.txt
3.2 将 linux_basics.txt 重命名为 linux_fundamentals.txt
mv linux_basics.txt linux_fundamentals.txt
  • mv两个作用:①重命名 ②移动文件
  • 同目录下使用 = 重命名;不同目录 = 移动文件
3.3 给 linux_fundamentals.txt 做备份,放到 backups 目录
cp linux_fundamentals.txt ../backups/

直接复制到 backups,文件名不变,作为备份文件。

3.4 更新 commands_cheatsheet.txt 时间戳
touch commands_cheatsheet.txt

touch 核心功能:文件已存在时,仅更新访问 / 修改时间,内容完全不变。

4. 查看和分析文件内容

4.1 完整查看 linux_fundamentals.txt 全部内容
cat linux_fundamentals.txt

cat:一次性输出文件所有内容

4.2 查看 references 里 command_reference.txt 前 2 行
head -n 2 ../references/command_reference.txt
head:读取文件开头,-n 2指定只看前 2 行

4.3 查看当前目录 commands_cheatsheet.txt 最后 3 行
tail -n 3 commands_cheatsheet.txt
tail:读取文件末尾,-n 3指定只看最后 3 行

4.4 交互式浏览 command_reference.txt
less ../references/command_reference.txt

操作快捷键:空格:下一页;回车:下一行;q:退出浏览界面

5. 项目维护

5.1 切回项目根目录 LearningNotes
cd ../

验证位置:

pwd

输出应为/home/用户名/LearningNotes

5.2 列出项目完整目录结构

方式 1(简单 ls 递归)

ls -R

-R递归显示所有子文件夹和文件

5.3 删除 references 里的 command_reference.txt

rm references/command_reference.txt

5.4 在项目根目录新建空文件 project_status.txt

touch project_status.txt

5.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
http://www.jsqmd.com/news/1108579/

相关文章:

  • 5MB超轻量中文解决方案:WenQuanYi Micro Hei字体终极部署指南
  • AI共享软件开发指南:从需求到商业化实战
  • 三步高效修复损坏MP4视频:UnTrunc实用指南
  • Burp Suite HTTPS抓包全攻略:从证书安装到实战安全测试
  • 3步完全解锁网易云NCM加密:一站式音频格式自由方案
  • 揭秘AMD Ryzen处理器性能:SMUDebugTool终极调试指南
  • 2026最新实测:八字排盘的命理软件推荐:2026最新第三方测评看这几条硬指标
  • 手机号查QQ终极指南:3分钟学会快速逆向查询方法
  • 破解抖音内容批量获取难题:douyin-downloader架构深度解析与实战指南
  • 【VMware分辨率自适应终极指南】:20年虚拟化专家亲授3大核心配置法,99%用户忽略的关键驱动设置
  • 炉石佣兵战记自动化助手:告别重复操作,释放你的游戏时间
  • 终极完整网页截图方案:一键捕获超长页面的专业工具
  • 告别视频硬字幕困扰:3分钟掌握AI智能字幕去除神器
  • 文档智能:从OCR到空间语义理解的机器学习实践
  • Windows本地语音识别终极指南:完全离线保护隐私的实时语音转文字方案
  • 企业公务用车降本增效:汉中政企采购的车型选型方法论
  • IIM-42652 IMU与TM4C129ENCPDT实现6DoF运动追踪方案
  • hot100 缺失的第一个整数(41)
  • Linux 用户与权限(rwx)详解
  • MQ 选型最难的不是比吞吐,而是先判断你要的是事件日志、任务队列,还是业务消息
  • 多智能体角色一致性压力测试:基于M2.7的西游架构实践
  • Linux 【01- ping命令超详细教程】
  • codex多agent协作新手项目落地实践
  • 直流电机静音控制方案:TB9051FTG与PIC32MX764F128L应用
  • 春雨行动赋能,ChatiSS寒热辨证软件冲刺国内中医AI三类器械资质空白
  • 华为UVM技术分析:把GPU显存塞进Linux核心MM---GMEM实现简析
  • 抖音内容管理革命:如何用开源工具节省95%的下载时间
  • 基于改进YOLO11的天际线检测算法:复杂光照与恶劣天气适配实战
  • how to 梳理 this porject 结构 for quick knowing the 干什么的 which file
  • 如何免费解锁WeMod Pro功能?Wand-Enhancer完整指南