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
- shell – Bourne Shell
二、Linux常见目录
-
/
根目录,是整个Linux文件系统的起点。所有目录都是从它派生出来的,系统启动、引导、挂载等所有路径都基于根目录。注意:系统中只有一个根目录,且一般不直接存放文件。 -
/bin
存放基本用户可执行命令,如 ls、cp、mv、rm、cat、echo 等。系统运行所需的基本命令,大多数用户都会用到。 -
/usr/bin
存放大多数用户命令,是系统主要的应用程序目录。与 /bin 相比,这里的命令通常体积更大,不是启动所必需的。 -
/sbin
存放系统管理员使用的系统管理命令,如 fdisk、shutdown、mount 等。普通用户通常没有权限使用。 -
/usr/sbin
系统管理员使用的辅助工具,一般是网络服务和系统管理工具。 -
/boot
存放系统启动相关文件,如内核文件 vmlinuz、启动加载器 grub 配置文件等。如果这些文件损坏,将无法引导系统。 -
/dev
存放系统所有设备的文件接口。例如 /dev/sda 表示硬盘,/dev/cdrom 表示光驱。访问这些文件相当于操作相应设备。 -
/etc
存放系统配置文件,是系统设置的核心目录。重要配置包括启动项、网络设置、用户账户等。常见文件如 /etc/fstab(文件系统挂载信息)、/etc/hostname、/etc/hosts。 -
/home
每个普通用户的主目录都在这里。例如用户 alice 的家目录为 /home/alice。用户的数据、配置文件、桌面等都保存在此目录中。 -
/root
超级用户 root 的家目录。与普通用户的 /home 不同,它位于根目录下,权限更高,平时不建议登录 root 使用系统。 -
/lib
存放系统运行所需的共享库文件,类似 Windows 下的 DLL 文件。包括启动过程中的基本功能库,供 /bin 和 /sbin 中的程序调用。 -
/usr/lib
存放 /usr/bin 中程序用到的函数库文件,不直接由用户运行,但对程序正常运行至关重要。 -
/usr/local/lib
存放本地安装软件使用的库文件,与系统自带库区分。 -
/tmp
临时文件存放目录,任何用户或程序都可以在此创建临时文件。系统重启时此目录内容可能会被清空,不应存放重要数据。 -
/lost+found
当系统异常或硬盘损坏时,fsck 工具会把恢复的文件碎片放在这里,用于修复过程中找回的数据。 -
/mnt
临时挂载文件系统的目录。例如手动挂载光盘或U盘时常挂载在此目录下。 -
/media
系统自动挂载的设备目录,例如插入U盘后会在 /media/用户名/下创建一个对应目录自动挂载。 -
/opt
第三方软件安装目录。用户手动安装的软件常会放在此目录下,便于系统更新时不影响自定义程序。 -
/proc
是一个虚拟文件系统,实际上存在于内存中。它反映系统当前状态,如CPU、内存、进程等。常见文件有 /proc/cpuinfo、/proc/meminfo、/proc/version。 -
/srv
存放服务相关的数据,如网页服务的内容可放在 /srv/www。通常与具体服务绑定使用。 -
/var
存放经常变化的文件,如日志文件、缓存、锁文件等。例如:- /var/log:系统日志文件
- /var/log/messages:所有系统消息的记录
- /var/spool/mail:用户邮件存放位置
- /var/run:程序运行时记录 PID(进程号)
-
/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)本身提供的命令,执行速度快。
- 无需创建子进程,节省系统资源。
- 示例:
cd
、pwd
、echo
、exit
等。 - 有些内建命令有外部版本,如
echo
同时存在于 bash 内部和/bin/echo
。
示例:
type echo
# 输出:
# echo 是 shell 内建
# echo 是 /bin/echo
3.1.2 外部命令
- 系统安装或软件包自带的可执行程序。
- 存放路径:
/bin/
、/usr/bin/
、/sbin/
、/usr/sbin/
等。 - 需要通过 fork 一个新进程 来执行。
- 示例:
ls
、vi
、cp
、cat
、mkdir
等。
查看 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, echo | ls, mkdir, cat |
3.2 命令的标准格式
command [ -options ] [ parameters ]
说明:
command
:命令名,表示要执行的操作,如ls
、cd
-options
:可选项,用于修改命令行为,如-l
表示长格式parameters
:传入的参数,可以是路径、文件名、用户名等
示例:
ls -l /home
表示以长列表的形式显示 /home
目录的内容。
终端提示符格式
GuLu@Ubuntu:~$
- 格式为:用户名@主机名:shell工作路径$
- $:代表当前用户为“普通用户”
- #:代表当前用户为“root用户”(管理员)
- 使用命令
sudo su
切换为 root - 使用
exit
命令退出 root 用户
3.3 帮助文档查看方法
man(最权威的帮助系统)
格式:
man [章节号] 命令名
章节分类:
章节号 | 内容说明 |
---|---|
1 | 用户命令(最常用) |
2 | 系统调用(如 read、write) |
3 | C 标准库函数 |
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 系统相关快捷键
-
打开终端的三种方式
Alt + F2
输入gnome-terminal
- 搜索“终端”应用
- 桌面右键 → 打开终端
-
常用终端快捷键
- 新建终端:
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种:普通文件、目录文件、设备文件、管道文件、链接文件和套接字。
字符 | 文件类型说明 |
---|---|
- | 普通文件 |
d | 目录(directory) |
l | 符号链接(symbolic link) |
b | 块设备(如硬盘) |
c | 字符设备(如终端) |
s | 套接字(socket) |
p | 管道(pipe) |