Linux
1 Linux命令的入门
1.1 Linux命令基础
Linux命令的基础格式
无论什么命令,在Linux中都有通用的格式:commard [-options] -parameter
commard
:命令本身-options
:[可选,非必填],命令的一些选项,可以通过控制命令的行为细节-parameter
:[可选,非必填],命令的参数,多数用于命令的志向目标等
比如说:
bash
ls -l /home/itheima,ls是命令本身,-l是选项,/home/itheima是参数
1.2 ls命令
ls
是 Linux 中最常用的文件列表命令,用于显示目录内容。
bash
ls [选项] [目录路径]
若不指定目录,默认显示当前目录内容。
bash
ls
显示: Desktop Documents Downloads itheima Music Pictures Public Templates Videos
常用选项:
选项 | 作用 | 示例 |
---|---|---|
-l | 长格式显示(包含权限、大小、时间等) | ls -l /dir |
-a | 显示隐藏文件(以 . 开头的文件) | ls -a ~ |
-h | 人性化显示文件大小(如 1K 而非 1024 ) | ls -lh /Downloads |
-d | 显示目录本身(而非目录内容) | ls -d /path/to/dir |
-r | 反序显示(按修改时间从新到旧) | ls -tr |
-t | 按修改时间排序(最新在前) | ls -t /Documents |
-s | 显示文件大小(以块为单位) | ls -s /var/log |
-c | 按文件状态(如是否更改)排序 | ls -c /tmp |
-l --color=auto | 自动颜色区分文件类型(如蓝色为目录) | ls --color=auto |
对于常用选项,一般可以混用:
bash
[bai@bogon ~]$ ls -al
total 32
在 Linux 中,/home
目录是用户存储个人文件和配置的核心区域。/home
目录的作用
- 用户专属空间:每个用户(包括 root)都有独立的目录(如
/home/username
),存放个人文件、配置、桌面环境等。 - 持久化数据:重启后数据依然存在,与临时目录(如
/tmp
)区分开。 - 配置文件仓库:用户的 shell 配置(
.bashrc
)、桌面环境设置(如 KDE Plasma 的.config
)等均存储在此。
1.3 cd和pwd命令
cd
是 Linux 中最基础的目录切换命令,用于在文件系统中导航。
基本语法
bash
cd [选项] [目录路径]
默认行为:无参数时,切换到当前用户的主目录(如 ~
)。
示例
bash
cd # 进入用户主目录
cd /home/user # 切换到绝对路径 /home/user
cd Documents # 进入当前目录下的 relative/path/Documents
以下是 cd
命令的常用选项整理表格:
选项 | 作用 | 示例 |
---|---|---|
- | 切换到上一次所在的目录(相当于 cd !$OLDPWD ) | cd /var/log → cd - (返回 /var/log ) |
-P | 不跟随符号链接,显示物理路径(直接切换到符号链接指向的实际目录) | cd -P /path/to/symlink |
-L | 跟随符号链接(默认行为),切换到符号链接指向的目录 | cd -L /path/to/symlink |
~ | 进入当前用户的主目录(等价于 $HOME ) | cd ~ → /home/username |
~username | 进入指定用户 username 的主目录 | cd ~root → /root |
/ | 切换到根目录(绝对路径起点) | cd / → / |
.. | 进入上级目录(等同于 cd parent_dir ) | cd ../../ (上两级目录) |
--help | 显示帮助文档(所有命令的通用选项) | cd --help |
pwd
(Print Working Directory)是 Linux 中用于显示当前工作目录的绝对路径的命令。简单来说,它告诉你“你现在在哪里”。
基本语法
bash
pwd [选项]
相对路径与绝对路径的区别:
- 绝对路径:以
/
开头,明确指向文件系统中的唯一位置(如/var/log
)。 - 相对路径:以当前目录为基准(如
./Documents
表示当前目录下的Documents
)。
以下是 pwd
命令的常用选项的表格:
选项 | 作用 | 示例 |
---|---|---|
-l | 显示详细路径 | pwd -l |
-P | 不跟随符号链接,显示链接指向的实际路径(与默认行为相反) | pwd -P /var/www/html |
--help | 显示帮助文档 | pwd --help |
1.4 特殊路径符号
以下是 Linux 中常用的特殊路径符号及其含义,整理成表格形式:
特殊路径符号表
符号 | 含义 | 示例 | 常见用途 |
---|---|---|---|
~ | 当前用户的主目录(等价于 $HOME 变量) | cd ~ → /home/username | 快速进入用户主目录 |
. | 当前目录(自身目录) | ./script.sh (执行当前目录下的脚本) | 明确操作当前目录的文件 |
.. | 上级目录(父目录) | cd ../../ (返回两级上级目录) | 向上导航目录树 |
/ | 根目录(文件系统的顶层目录) | /etc/passwd (绝对路径从根开始) | 绝对路径的起点 |
* | 通配符:匹配当前目录下所有文件/子目录(非递归) | ls *.txt (列出所有 .txt 文件) | 批量操作文件(如删除、复制) |
? | 通配符:匹配单个任意字符(如 a?c 匹配 abc 、aac ) | find . -name "file?.log" | 精确匹配文件名模式 |
{} | 扩展选项:用于批量展开多个路径(需结合 -o 或 ` | ` 使用) | cp file{1,2,3}.txt /backup/ |
~user | 其他用户的主目录(需权限) | cd ~root (进入 root 用户的主目录) | 切换到其他用户空间(如管理员) |
** | 递归匹配:匹配所有子目录及其内容(需 globstar 选项启用) | find . **/*.txt (递归查找所有 .txt ) | 深度优先搜索文件 |
- | 上一次所在的目录(cd - 切换回去) | cd /var/log → cd - (返回 /var/log ) | 快速跳转至最近访问的目录 |
1.5 mkdir命令
在 Linux 中,mkdir
(Make Directory)命令用于创建目录。以下是其核心用法:
bash
mkdir [选项] 目录名
- 默认行为:在当前目录下创建指定名称的单层目录。若目录已存在,命令会报错。
以下是 mkdir
命令常见选项的表格整理:
符号 | 含义 | 示例 | 常见用途 |
---|---|---|---|
-r 或 --recursive | 递归创建多级目录 | mkdir -r parent/child/grandchild | 需要一次性创建嵌套多层目录时。 |
-p 或 --parents | 创建父目录 | mkdir -p logs/archive | 确保目录路径存在,避免因中间目录缺失导致错误。 |
-m 或 --mode | 指定目录权限 | mkdir -m 700 private_dir | 需要自定义目录权限时。 |
-v 或 --verbose | 显示详细输出 | mkdir -v output | 调试或确认目录是否成功创建时 |
1.6 touch、cat、more
touch
命令用于 创建空文件 或 修改文件的访问/修改时间戳。
创建空文件(若文件不存在):
bash
touch filename.txt # 在当前目录创建空文件
更新时间戳(若文件已存在):
bash
touch filename.txt # 将访问/修改时间同步为当前时间
cat
命令用于查看文件内容(小文件适用)。
bash
# 查看文件内容(显示行号)
cat -n log.txt
more
命令用于分页查看文件内容(大文件更高效)。支持交互式操作(如翻页、搜索、跳转)。
常用操作
- 空格键:翻页。
- 回车键:逐行查看。
- /关键词:搜索指定字符串。
- q:退出。
-c
:显示总行数。-f
:不换行显示(滚动模式)。
示例:
bash
# 分页查看大文件
more large_log.txt
# 查看文件时统计行数
more -c configuration.conf
# 搜索关键词 "ERROR"
more -c /ERROR system.log
1.7 cp、mv、rm
cp命令可以用于复制文件,文件夹,cp命令来自英文单词:copy
语法: cp [-r] 参数1 参数2
- -r选项 可选,用于复制文件夹使用,表示敌对
- 参数1 Linux路径,表示被复制的文件或文件夹
- 参数2 Linux路径,表示复制到的位置
bash
cp file.txt /home/user/Documents # 复制文件到指定目录
cp -r folder /backup # 递归复制目录(含子文件)
以下是 cp
命令常用选项的表格整理,涵盖核心功能与使用场景:
符号 | 含义 | 示例 | 常见用途 |
---|---|---|---|
-r | 递归复制目录及内部文件(必须用于目录) | cp -r src/ dest/ | 复制整个目录树 |
-f | 强制覆盖目标文件(无需确认) | cp -f file.txt backup.txt | 覆盖文件时不需交互 |
-i | 覆盖前提示用户确认(输入 y 才执行) | cp -i config.conf config.conf.bak | 避免误删重要文件 |
-v | 显示详细执行过程( verbose) | cp -rv folder /backup/ | 调试或观察复制流程 |
-a | 彻底保留文件属性(等价于 -dR --preserve=all ) | cp -a /data /backup/ | 备份时保留权限、时间戳、链接等 |
-d | 保留符号链接(不复制链接指向的实际文件) | cp -d symlink.txt dest/ | 复制符号链接本身 |
-h | 将符号链接视为普通文件处理(配合 -l 使用) | cp -hl /link/file.txt ./ | 显示链接的真实路径(非复制) |
-l | 创建硬链接(替代复制,节省空间) | cp -l large.log linked.log | 需频繁访问大文件时替代复制 |
--preserve | 保留所有权、时间戳等元数据(需搭配其他选项) | cp --preserve=all file.txt /backup/ | 特殊权限文件备份 |
-s | 对备份文件添加 ~ 后缀(默认行为) | cp -s file.txt file.txt~ | 生成备份文件(可自定义后缀) |