2680 字
13 分钟
Linux基础(3):Linux核心基础命令详解

前言#

无论你使用 Ubuntu、CentOS 9 Stream、银河麒麟还是 openEuler,基础命令都是 Linux 系统管理和开发的通用语言。熟练掌握这些核心命令,能让你在任何 Linux 发行版上高效完成文件操作、系统管理和日常任务。本文将详细讲解最常用的 12 个 Linux 基础命令,包括它们的基本用途、常用参数和实用示例。

一、目录导航命令#

1. cd - 切换工作目录#

命令意义:Change Directory 的缩写,用于在文件系统中切换当前工作目录。

基本语法
cd [目录路径]

常用用法:

  • cd 或 cd ~:切换到当前用户的主目录
  • cd -:切换到上一个工作目录
  • cd .:保持在当前目录(通常用于脚本中)
  • cd ..:切换到上级目录
  • cd ../..:切换到上两级目录
  • cd /:切换到根目录
  • cd /etc/sysconfig:切换到绝对路径指定的目录
  • cd Documents:切换到当前目录下的 Documents 子目录

2. pwd - 显示当前工作目录#

命令意义:Print Working Directory 的缩写,用于打印当前所在的绝对路径。

基本语法
pwd [选项]

常用参数:

  • -P:显示物理路径,不跟随符号链接(默认跟随符号链接)
实用示例
# 显示当前目录
pwd
# 显示物理路径(当当前目录是符号链接时)
pwd -P

二、文件和目录创建命令#

3. mkdir - 创建目录#

命令意义:Make Directory 的缩写,用于创建新的目录。

基本语法
mkdir [选项] 目录名

常用参数:

  • -p:递归创建多级目录(如果父目录不存在,会自动创建)
  • -m 权限:创建目录时直接设置权限(如-m 755)
实用示例
# 创建单个目录
mkdir test
# 同时创建多个目录
mkdir dir1 dir2 dir3
# 递归创建多级目录(最常用)
mkdir -p a/b/c/d
# 创建目录并设置权限为755
mkdir -m 755 public

4. touch - 创建空文件或修改文件时间戳#

命令意义:主要用于创建空文件,也可以修改文件的访问时间和修改时间。

基本语法
touch [选项] 文件名

常用参数:

  • -a:只修改文件的访问时间
  • -m:只修改文件的修改时间
  • -d "时间字符串":指定文件的时间戳
实用示例
# 创建单个空文件
touch file.txt
# 同时创建多个空文件
touch file1.txt file2.txt file3.txt
# 修改文件的修改时间为当前时间
touch -m file.txt
# 将文件时间设置为指定时间
touch -d "2024-05-20 10:30:00" file.txt

三、文件和目录查看命令#

5. ls - 列出目录内容#

命令意义:List 的缩写,用于列出指定目录下的文件和子目录。

基本语法
ls [选项] [目录路径]

常用参数:

  • -l:以长格式显示详细信息(权限、所有者、大小、时间等)
  • -a:显示所有文件,包括隐藏文件(以.开头的文件)
  • -h:以人类可读的格式显示文件大小(KB、MB、GB等)
  • -t:按文件修改时间排序(最新的在前)
  • -r:反向排序
  • -R:递归列出所有子目录的内容
  • -i:显示文件的 inode 号
实用示例
# 列出当前目录内容
ls
# 列出/etc目录的详细信息
ls -l /etc
# 列出所有文件(包括隐藏文件)
ls -la
# 按时间倒序显示文件(最旧的在前)
ls -lhtr
# 递归列出当前目录下所有内容
ls -R

ls -l 输出字段解释:

ls输出解析
drwxr-xr-x 2 root root 4096 May 10 10:00 test
| 权限 |链接数|所有者|组|大小| 修改时间 |文件名|

四、文件和目录操作命令#

6. mv - 移动或重命名文件/目录#

命令意义:Move 的缩写,用于移动文件或目录,也可以用于重命名。

基本语法
mv [选项] 源文件/目录 目标文件/目录

常用参数:

  • -i:交互式模式,覆盖前提示确认
  • -f:强制模式,不提示直接覆盖
  • -n:不覆盖已存在的文件
  • -v:显示详细信息
实用示例
# 重命名文件
mv oldname.txt newname.txt
# 移动文件到指定目录
mv file.txt /tmp/
# 移动多个文件到指定目录
mv file1.txt file2.txt /tmp/
# 移动目录
mv dir1 /tmp/
# 交互式移动(覆盖前提示)
mv -i file.txt /tmp/

7. cp - 复制文件/目录#

命令意义:Copy 的缩写,用于复制文件或目录。

基本语法
cp [选项] 源文件/目录 目标文件/目录

常用参数:

  • -r 或 -R:递归复制目录及其所有内容
  • -i:交互式模式,覆盖前提示确认
  • -f:强制模式,不提示直接覆盖
  • -n:不覆盖已存在的文件
  • -v:显示详细信息
  • -p:保留文件的属性(权限、所有者、时间戳等)
  • -a:归档模式,相当于-drp,递归复制并保留所有属性
实用示例
# 复制文件
cp file.txt file_copy.txt
# 复制文件到指定目录
cp file.txt /tmp/
# 复制多个文件到指定目录
cp file1.txt file2.txt /tmp/
# 递归复制目录(最常用)
cp -r dir1 dir2
# 复制目录并保留所有属性
cp -a dir1 /tmp/
# 交互式复制
cp -i file.txt /tmp/

8. rm - 删除文件/目录#

命令意义:Remove 的缩写,用于删除文件或目录。

CAUTION极度危险:数据粉碎机
  • rm -rf 命令非常危险,一旦执行,文件将被永久删除且无法恢复。
  • 绝对不要执行 :spoiler[rm -rf /] 或 :spoiler[rm -rf /*],这会删除系统根目录下的所有文件,导致系统瞬间崩溃。 ::
基本语法
rm [选项] 文件/目录

常用参数:

  • -r 或 -R:递归删除目录及其所有内容
  • -f:强制删除,不提示任何信息
  • -i:交互式模式,删除前提示确认
  • -v:显示详细信息
实用示例
# 删除单个文件
rm file.txt
# 交互式删除文件
rm -i file.txt
# 删除多个文件
rm file1.txt file2.txt
# 删除空目录
rmdir empty_dir # 只能删除空目录
rm -d empty_dir # 与rmdir相同
# 递归删除目录及其所有内容(最常用)
rm -r dir1
# 强制删除目录(不提示)
rm -rf dir1

五、文本处理命令#

9. echo - 输出文本或变量内容#

命令意义:用于在终端输出指定的文本或变量的值,也可以用于向文件中写入内容。

基本语法
echo [选项] [文本/变量]

常用参数:

  • -n:不输出末尾的换行符
  • -e:启用转义字符解析(如\n换行、\t制表符)
实用示例
# 输出文本
echo "Hello World"
# 输出变量内容
name="Linux"
echo "Hello $name"
# 不输出换行符
echo -n "Hello "
echo "World" # 输出:Hello World
# 启用转义字符
echo -e "Line 1\nLine 2\nLine 3"
echo -e "Name\tAge\tCity"
# 向文件中写入内容(覆盖原有内容)
echo "Hello World" > file.txt
# 向文件中追加内容
echo "New line" >> file.txt

10. cat - 查看文件内容#

命令意义:Concatenate 的缩写,主要用于查看文件内容,也可以用于合并文件和创建文件。

基本语法
cat [选项] 文件名

常用参数:

  • -n:显示所有行的行号
  • -b:只显示非空行的行号
  • -s:将连续的空行压缩成一行
实用示例
# 查看文件内容
cat file.txt
# 查看文件内容并显示行号
cat -n file.txt
# 合并多个文件
cat file1.txt file2.txt > combined.txt
# 创建新文件并写入内容(按Ctrl+D结束输入)
cat > newfile.txt
# 向文件中追加内容
cat >> newfile.txt
# 这里文档(Here Document)方式写入多行内容
cat > script.sh << EOF
#!/bin/bash
echo "Hello World"
EOF

六、压缩和解压命令(虽然不是基础命令,但地位和基础命令一样重要)#

11. tar - 归档和压缩文件#

命令意义:Tape Archive 的缩写,是 Linux 中最常用的归档和压缩工具,可以将多个文件或目录打包成一个归档文件,并支持多种压缩算法。

基本语法
tar [选项] 归档文件名 [文件/目录...]

常用参数:

  • -c:创建新的归档文件
  • -x:从归档文件中提取文件
  • -z:使用 gzip 压缩/解压(.tar.gz 格式)
  • -j:使用 bzip2 压缩/解压(.tar.bz2 格式)
  • -J:使用 xz 压缩/解压(.tar.xz 格式)
  • -v:显示详细过程
  • -f 文件名:指定归档文件名(必须放在所有参数的最后)
  • -C 目录:指定解压到的目录
  • -t:列出归档文件中的内容
实用示例
# 将当前目录下的所有文件打包成archive.tar
tar -cvf archive.tar *
# 将dir1目录打包并使用gzip压缩
tar -zcvf dir1.tar.gz dir1/
# 解压到当前目录
tar -zxvf dir1.tar.gz
# 解压到指定目录
tar -zxvf dir1.tar.gz -C /tmp/
# 列出归档文件中的内容
tar -tf dir1.tar.gz
# 创建xz压缩的归档文件(压缩率最高)
tar -Jcvf dir1.tar.xz dir1/

12. zip/unzip - 压缩和解压 zip 文件#

命令意义:用于创建和解压 zip 格式的压缩文件,是跨平台最常用的压缩格式之一。

基本语法
# zip 命令
zip [选项] 压缩文件名 源文件/目录...
# unzip 命令
unzip [选项] 压缩文件名

常用参数:

  • zip: -r 递归压缩, -q 安静模式, -d 删除指定文件, -u 更新文件
  • unzip: -d 目录 指定路径, -q 安静模式, -o 覆盖不提示, -l 列出内容
实用示例
# 压缩单个文件
zip file.zip file.txt
# 递归压缩目录
zip -r dir.zip dir/
# 同时压缩多个文件和目录
zip -r archive.zip file1.txt file2.txt dir1/
# 解压到当前目录
unzip archive.zip
# 解压到指定目录
unzip archive.zip -d /tmp/
# 列出压缩包中的内容
unzip -l archive.zip
# 覆盖已存在的文件
unzip -o archive.zip

七、常用命令速查表#

命令用途最常用组合
cd切换目录cd ~, cd .., cd /
pwd显示当前目录pwd
mkdir创建目录mkdir -p a/b/c
touch创建空文件touch file.txt
ls列出目录内容ls -lhtr, ls -la
mv移动/重命名mv old new, mv file /tmp/
cp复制文件/目录cp -r dir1 dir2, cp file /tmp/
rm删除文件/目录rm -rf dir, rm file.txt
echo输出文本echo "text" > file.txt
cat查看文件内容cat file.txt, cat -n file.txt
tar归档压缩tar -zcvf file.tar.gz dir, tar -zxvf file.tar.gz
zip/unzipzip压缩解压zip -r dir.zip dir, unzip file.zip

结语#

以上 12 个命令是 Linux 系统中最基础、最常用的核心命令,几乎覆盖了日常文件操作的所有需求。熟练掌握这些命令,能让你在 Linux 系统中如鱼得水,大大提高工作效率。

TIP进阶学习建议

建议大家尽可能在实际的终端环境中多动手操作,利用肌肉记忆加深对这些核心命令的理解。当你能脱稿熟练运用这些基础命令后,再去系统级学习 Shell 脚本、管道符及更高级的管理配置,将会变得水到渠成、事半功倍! ::

Linux基础(3):Linux核心基础命令详解
https://www.6ixblog.site/posts/linux-basic-3-1/
作者
Licwic
发布于
2025-01-03
许可协议
CC BY-NC-SA 4.0