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

Linux命令基础(上)

文章目录

  • 一、shell命令解释器
  • 二、Linux常见目录
  • 三、Linux常见命令
    • 3.1 内建命令与外部命令
      • 3.1.1 内建命令(builtin)
      • 3.1.2 外部命令
      • 3.1.3 命令类型查看方法 `type`
      • 3.1.4 内建与外部命令对比
    • 3.2 命令的标准格式
    • 3.3 帮助文档查看方法
      • man(最权威的帮助系统)
      • help(查看内建命令的帮助)
      • --help(外部命令自带帮助)
    • 3.4 路径(绝对与相对)
    • 3.5 常用的快捷键
      • 3.5.1. Bash 解析器常用快捷键
      • 3.5.2 Linux 系统相关快捷键
  • 四、软件安装和卸载
    • 4.1 在线安装
    • 4.2 安装包安装
  • 五、文件类型分类

一、shell命令解释器

  • 命令解析器的作用:交互式地解释、执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功能。
    在这里插入图片描述

Linux系统中提供了好几种不同的命令解释器,如shell(/bin/sh)、bash(/bin/bash)等,一般默认使用bash作为默认的解释器。

  • 内核:操作系统的核心。笼统地将系统称之为内核。
  • 常见的命令解析器:
    • shell – Bourne Shell
      • /bin/sh
    • bash – Bourne Again Shell
      • /bin/bash
    • 当前系统所使用的shell
      • echo $SHELL
    • 当前系统下有哪些shell
      • cat /etc/shells

在这里插入图片描述

二、Linux常见目录

  1. /
    根目录,是整个Linux文件系统的起点。所有目录都是从它派生出来的,系统启动、引导、挂载等所有路径都基于根目录。注意:系统中只有一个根目录,且一般不直接存放文件。

  2. /bin
    存放基本用户可执行命令,如 ls、cp、mv、rm、cat、echo 等。系统运行所需的基本命令,大多数用户都会用到。

  3. /usr/bin
    存放大多数用户命令,是系统主要的应用程序目录。与 /bin 相比,这里的命令通常体积更大,不是启动所必需的。

  4. /sbin
    存放系统管理员使用的系统管理命令,如 fdisk、shutdown、mount 等。普通用户通常没有权限使用。

  5. /usr/sbin
    系统管理员使用的辅助工具,一般是网络服务和系统管理工具。

  6. /boot
    存放系统启动相关文件,如内核文件 vmlinuz、启动加载器 grub 配置文件等。如果这些文件损坏,将无法引导系统。

  7. /dev
    存放系统所有设备的文件接口。例如 /dev/sda 表示硬盘,/dev/cdrom 表示光驱。访问这些文件相当于操作相应设备。

  8. /etc
    存放系统配置文件,是系统设置的核心目录。重要配置包括启动项、网络设置、用户账户等。常见文件如 /etc/fstab(文件系统挂载信息)、/etc/hostname、/etc/hosts。

  9. /home
    每个普通用户的主目录都在这里。例如用户 alice 的家目录为 /home/alice。用户的数据、配置文件、桌面等都保存在此目录中。

  10. /root
    超级用户 root 的家目录。与普通用户的 /home 不同,它位于根目录下,权限更高,平时不建议登录 root 使用系统。

  11. /lib
    存放系统运行所需的共享库文件,类似 Windows 下的 DLL 文件。包括启动过程中的基本功能库,供 /bin 和 /sbin 中的程序调用。

  12. /usr/lib
    存放 /usr/bin 中程序用到的函数库文件,不直接由用户运行,但对程序正常运行至关重要。

  13. /usr/local/lib
    存放本地安装软件使用的库文件,与系统自带库区分。

  14. /tmp
    临时文件存放目录,任何用户或程序都可以在此创建临时文件。系统重启时此目录内容可能会被清空,不应存放重要数据。

  15. /lost+found
    当系统异常或硬盘损坏时,fsck 工具会把恢复的文件碎片放在这里,用于修复过程中找回的数据。

  16. /mnt
    临时挂载文件系统的目录。例如手动挂载光盘或U盘时常挂载在此目录下。

  17. /media
    系统自动挂载的设备目录,例如插入U盘后会在 /media/用户名/下创建一个对应目录自动挂载。

  18. /opt
    第三方软件安装目录。用户手动安装的软件常会放在此目录下,便于系统更新时不影响自定义程序。

  19. /proc
    是一个虚拟文件系统,实际上存在于内存中。它反映系统当前状态,如CPU、内存、进程等。常见文件有 /proc/cpuinfo、/proc/meminfo、/proc/version。

  20. /srv
    存放服务相关的数据,如网页服务的内容可放在 /srv/www。通常与具体服务绑定使用。

  21. /var
    存放经常变化的文件,如日志文件、缓存、锁文件等。例如:

    • /var/log:系统日志文件
    • /var/log/messages:所有系统消息的记录
    • /var/spool/mail:用户邮件存放位置
    • /var/run:程序运行时记录 PID(进程号)
  22. /usr
    用于存放只读的用户程序和数据。细分如下:

    • /usr/bin:大多数用户应用程序
    • /usr/sbin:系统管理员程序
    • /usr/share:架构无关的数据(如帮助文档)
    • /usr/lib:程序运行所需的库
    • /usr/local:本地安装程序
    • /usr/share/doc:文档说明
    • /usr/share/man:man 手册页面文件
    • /usr/include:C程序中使用的头文件

三、Linux常见命令

3.1 内建命令与外部命令

3.1.1 内建命令(builtin)

  • 由 shell(如 bash)本身提供的命令,执行速度快
  • 无需创建子进程,节省系统资源。
  • 示例:cdpwdechoexit 等。
  • 有些内建命令有外部版本,如 echo 同时存在于 bash 内部和 /bin/echo

示例:

type echo
# 输出:
# echo 是 shell 内建
# echo 是 /bin/echo

3.1.2 外部命令

  • 系统安装或软件包自带的可执行程序
  • 存放路径:/bin//usr/bin//sbin//usr/sbin/ 等。
  • 需要通过 fork 一个新进程 来执行。
  • 示例:lsvicpcatmkdir 等。

查看 PATH 环境变量(外部命令的搜索路径):

echo $PATH

3.1.3 命令类型查看方法 type

type [-afptP] 命令名

常见示例:

type cd         # cd 是 shell 内建
type ls         # ls 是 /bin/ls
type -a echo    # 查看所有匹配(内建 + 外部)

3.1.4 内建与外部命令对比

特性内建命令外部命令
来源shell 内部系统 / 安装软件提供
是否创建子进程
执行效率相对低
存储位置内存中/bin, /usr/bin
示例cd, echols, mkdir, cat

3.2 命令的标准格式

command [ -options ] [ parameters ]

说明:

  • command:命令名,表示要执行的操作,如 lscd
  • -options:可选项,用于修改命令行为,如 -l 表示长格式
  • parameters:传入的参数,可以是路径、文件名、用户名等

示例:

ls -l /home

表示以长列表的形式显示 /home 目录的内容。

终端提示符格式

GuLu@Ubuntu:~$

  • 格式为:用户名@主机名:shell工作路径$
    • $:代表当前用户为“普通用户”
    • #:代表当前用户为“root用户”(管理员)
    • 使用命令 sudo su 切换为 root
    • 使用 exit 命令退出 root 用户

3.3 帮助文档查看方法

man(最权威的帮助系统)

格式:

man [章节号] 命令名

章节分类:

章节号内容说明
1用户命令(最常用)
2系统调用(如 read、write)
3C 标准库函数
4设备文件
5文件格式,如 passwd
6游戏
7杂项(如环境变量)
8系统管理命令(如 ifconfig)

示例:

man 1 ls         # 查看 ls 命令说明(标准命令)
man 3 printf     # 查看 printf 的库函数说明
man -k passwd    # 查找包含关键词 passwd 的文档

操作快捷键

功能
空格键向下翻页
b向上翻页
q退出 man
/word搜索 word 字符串
h显示帮助键表

help(查看内建命令的帮助)

格式:

help 命令名

示例:

help cd

–help(外部命令自带帮助)

并非所有命令都支持。

ls --help

3.4 路径(绝对与相对)

绝对路径

  • / 根目录开始写起
  • 示例:/home/user/Documents

相对路径

  • 基于当前所在目录

  • 常用:

    • . 当前目录
    • .. 上一级目录
  • 示例:

    • cd .. 返回上一级目录
    • cd ./folder 进入当前目录下的 folder

3.5 常用的快捷键

3.5.1. Bash 解析器常用快捷键

  • Tab 键自动补全

    • 补齐命令/路径
    • 显示当前目录下所有目录/文件
  • 清屏操作

    • 命令:clear
    • 快捷键:Ctrl + L
  • 中断终止进程

    • 快捷键:Ctrl + C
  • 历史命令遍历

    • 向上:Ctrl + P
    • 向下:Ctrl + N
  • 光标移动

    • 左移:Ctrl + B(←)
    • 右移:Ctrl + F(→)
    • 行首:Ctrl + A(Home)
    • 行尾:Ctrl + E(End)
  • 删除字符

    • 删除光标前字符:Ctrl + H(Backspace)
    • 删除光标后字符:Ctrl + D
    • 删除光标前所有字符:Ctrl + U
    • 删除光标后所有字符:Ctrl + K

3.5.2 Linux 系统相关快捷键

  • 打开终端的三种方式

    1. Alt + F2 输入 gnome-terminal
    2. 搜索“终端”应用
    3. 桌面右键 → 打开终端
  • 常用终端快捷键

    • 新建终端:Ctrl + Shift + N
    • 新建标签页:Ctrl + Shift + T
    • 关闭标签页:Ctrl + Shift + W
    • 关闭窗口:Ctrl + Shift + Q
    • 复制:Ctrl + Shift + C
    • 粘贴:Ctrl + Shift + V
    • 查找:Ctrl + Shift + F
    • 标签切换:Alt + [1-9]
    • 字体放大/缩小/恢复:Ctrl + Shift + = / Ctrl + - / Ctrl + 0
    • 全屏切换:F11
  • 系统快捷操作

    • 切换应用:Alt + Tab
    • 注销:Ctrl + Alt + Backspace
    • 图形界面切换:Ctrl + Alt + F7
    • 虚拟终端切换:Ctrl + Alt + F1~F6

四、软件安装和卸载

4.1 在线安装

APT(Advanced Packaging Tool)是 Ubuntu 默认的软件管理工具,支持联网自动安装、卸载、更新。

命令说明
sudo apt-get update更新软件包列表,建议安装前先执行
sudo apt-get install <软件名>安装指定软件包(如:vim、tree 等)
sudo apt-get remove <软件名>卸载指定软件(不保留配置文件)
sudo apt-get clean清理本地缓存的安装包,释放空间
  • 清理的缓存路径:/var/cache/apt/archives

示例

sudo apt-get update
sudo apt-get install tree
sudo apt-get remove tree
sudo apt-get clean

4.2 安装包安装

.deb 是 Debian/Ubuntu 系统专用的本地软件安装包格式,适合安装下载的独立软件包(比如官网提供的 deb 安装包)。

  • 安装本地的 .deb 安装包(xxx.deb 为文件名)
sudo dpkg -i xxx.deb
  • 卸载软件
  • 软件名是软件包的名称(不是文件名),可通过 dpkg -l 查看已安装包列表。
sudo dpkg -r <软件名>

示例:

  • 安装:
sudo dpkg -i tree_1.6.0-1_amd64.deb
  • 卸载:
sudo dpkg -r tree

注意事项:

  • 使用 dpkg -i 安装时若提示依赖缺失,可运行以下命令自动修复:

    sudo apt-get install -f
    
  • 若不确定软件名称,可用:

    dpkg -l | grep tree
    

五、文件类型分类

通常,Unix/Linux系统中常用的文件类型有7种:普通文件、目录文件、设备文件、管道文件、链接文件和套接字。

![[Pasted image 20250721184442.png]]

字符文件类型说明
-普通文件
d目录(directory)
l符号链接(symbolic link)
b块设备(如硬盘)
c字符设备(如终端)
s套接字(socket)
p管道(pipe)
http://www.dtcms.com/a/313292.html

相关文章:

  • day 44 文件的规范书写与拆分
  • LCL滤波器及其电容电流前馈有源阻尼设计软件【LCLAD_designer】
  • 机器学习——决策树(DecisionTree)
  • 分享两个问题及其解决方法:发送AT没反应和wifi模块连接不上热点
  • Java设计模式之行为型模式(访问者模式)应用场景分析
  • MATLAB小波分析工具包进行时间序列的小波功率谱分析
  • 基于Matlab的深度学习智能行人检测与统计系统
  • FastAPI入门:安全性
  • 网安-逻辑漏洞-23登陆验证
  • 【系统编程】错误处理、读写缓冲区及位图
  • 文章分享---《Keil 再升级,修复了这些bug》
  • [自动化Adapt] 录制引擎
  • Nginx 相关实验(1)
  • C语言数据结构(7)贪吃蛇项目2.贪吃蛇项目实现
  • 分离还是统一,这是个问题
  • STM32F103_Bootloader程序开发13 - 巧用逆向拷贝,实现固件更新的“准原子”操作,无惧升级中的意外掉电
  • 时间空间复杂度
  • 高质量数据集|从武汉光谷《面向科技情报大模型的高质量数据集建设》招标项目谈起
  • 实现游戏排行榜
  • SpringBoot项目数据脱敏(自定义注解)
  • 关于corn
  • SpringAI无人机智能灌溉、本地化AI推理、分析气象站、分析球场草皮系统实践
  • Python操作Excel——从入门到精通
  • QML 将一个qml文件定义为公共的全局单例
  • 外设数据到昇腾310推理卡 之五 3403ATU
  • 【分析学】Hilbert 空间
  • python脚本-ATE测试数据stdf文件自动处理之概率分布图、直方图、数据分布图
  • 说说对泛型的理解?
  • 数据资产——解读2025 数据提供合同(示范文本)【附全文阅读】
  • linux扩展磁盘容量到home下