缘博客
发布日期

Linux基础命令(一):目录结构、命令格式与路径操作

作者
  • 姓名
    社交账号

本篇学习范围

Linux 基础命令很多,但并不是从背命令开始。本篇先解决一个更基础的问题:终端现在位于哪里,怎样准确表示并切换到目标目录。

围绕这条主线,会学习:

  1. Linux 的目录树和路径写法。
  2. Linux 命令的通用格式。
  3. lscdpwd 的完整基础用法。
  4. 绝对路径、相对路径和 . / .. / ~ 三个特殊路径符。
  5. mkdir 创建单层和多层目录。

下一篇会在此基础上操作文件、查找文件;第三篇再进入文本处理、重定向和 Vim。


Linux 的目录结构

Linux 的目录结构是一棵从根目录 / 开始的树。系统只有一个顶级根目录,所有文件和文件夹都位于 / 的下面:

/
├── home
│   └── alice
│       ├── Desktop
│       └── project
├── usr
│   └── local
└── var

这与 Windows 的多盘符结构不同:

系统路径起点层级分隔符示例
WindowsC:D: 等盘符\D:\\data\\work\\hello.txt
Linux唯一根目录 ///usr/local/hello.txt

在 Linux 中,/ 出现在不同位置含义不同:

/home/alice/project
开头的 /:根目录

/home/alice/project
     ↑     ↑
后续的 /:目录层级关系

例如,根目录下有 test 文件夹,其中有 hello.txt,它的路径写作:

/test/hello.txt

如果根目录下有 itcast/itheima/hello.txt,路径则是:

/itcast/itheima/hello.txt

理解“从 / 向下逐层定位”后,后续所有命令中的路径参数都会容易很多。


Linux 命令的通用格式

绝大多数 Linux 命令都可以按下面的形式理解:

command [-options] [parameter]
部分含义示例
command命令本身,决定要做什么ls
-options可选项,改变命令行为-l
parameter参数,通常指定操作对象/home/alice

方括号只表示“可选”,不属于要输入的内容。例如:

ls -l /home/alice

这里 ls 是命令,-l 是选项,/home/alice 是参数。

不是每条命令都有选项和参数。比如 pwd 没有必要参数,直接输入即可;mkdir 则必须提供要创建的目录路径。

当命令包含多个参数时,通常用空格分隔:

cp source.txt target.txt

先分清“命令、选项、参数”三个位置,遇到陌生命令时就能更容易读懂它的帮助信息。


工作目录、HOME 目录与 ls

什么是当前工作目录

终端在任意时刻都有一个“当前工作目录”。没有写路径时,很多命令默认就在这个目录中工作。

用户打开终端后,系统通常把当前用户的 HOME 目录设为初始工作目录。普通用户 alice 的 HOME 目录通常为:

/home/alice

root 用户的 HOME 目录通常是 /root,不要与系统根目录 / 混淆。

ls:列出目录中的内容

ls(list)用于列出目录内容,课件中的完整基础语法可写为:

ls [-a -l -h] [Linux 路径]

不写选项和参数时,ls 以平铺形式列出当前工作目录:

ls

写入路径参数时,列出指定目录:

ls /
ls /home/alice
ls ~/Desktop

常用选项如下:

命令作用说明
ls -a显示全部内容包含隐藏文件和隐藏目录
ls -l详细列表展示显示权限、链接数、所有者、大小、修改时间和名称等信息
ls -h易读方式显示大小显示 KMG 等单位,必须与 -l 配合使用
ls -lh详细列表且大小易读最常用的组合之一
ls -al全部内容加详细列表排查配置文件时常用

选项可以分开写,也可以合并写:

ls -l -a
ls -la
ls -al

这三种写法的效果相同,都会显示隐藏文件并使用详细列表。

隐藏文件

Linux 中,名称以 . 开头的文件和目录会默认隐藏:

.bashrc
.config
.git

它们仍然是真实存在的文件,只是普通 ls 不显示。使用 ls -a 可以查看。不要因为“看不到”就误以为它不存在,也不要随意删除用户目录中的隐藏配置文件。


cdpwd:确认并切换当前位置

pwd:输出当前工作目录

pwd 来自 Print Working Directory,用于输出当前终端所在位置:

pwd

它没有常用参数和选项。初学时不要仅根据 ls 的结果猜测所在目录,直接使用 pwd 最准确。

cd:切换工作目录

cd 来自 Change Directory,用于进入目标目录:

cd 路径

例如:

cd /usr/local
cd /home/alice/Desktop

cd 不写参数时,会回到当前用户的 HOME 目录:

cd

一个安全的目录切换习惯是:

cd ~/project
pwd
ls

先切换,再确认位置,最后查看目录内容。执行复制、删除等会修改文件的命令前,尤其应该先确认当前位置。


绝对路径、相对路径和特殊路径符

假设当前工作目录是:

/home/alice

想进入其中的 Desktop 目录,有两种写法:

cd /home/alice/Desktop
cd Desktop

绝对路径

绝对路径以根目录 / 为起点,始终从 / 开始写:

/home/alice/Desktop
/usr/local/bin

无论终端当前在哪里,绝对路径指向的位置都不变。脚本、配置文件和需要明确表达位置的命令中常使用绝对路径。

相对路径

相对路径以当前工作目录为起点,不以 / 开头:

Desktop
project/src
logs/app.log

相对路径更短,但它的含义依赖当前目录。如果当前目录不是预期位置,同一串文字可能指向完全不同的文件。

三个特殊路径符

符号表示什么示例结果
.当前目录cd .仍在当前目录
..上一级目录cd ..返回上一级
~当前用户 HOME 目录cd ~回到 HOME

它们可以组合使用:

cd ./Desktop       # 当前目录中的 Desktop
cd ../..           # 连续返回两级
cd ~/project       # HOME 目录中的 project

若当前处于 /home/alice/Desktop,那么:

.       等价于 /home/alice/Desktop
..      等价于 /home/alice
../..   等价于 /home
~       等价于 /home/alice

mkdir:创建目录

mkdir 来自 Make Directory,用来创建新的目录:

mkdir 目录路径

路径可以是绝对路径、相对路径,也可以含有 ~...

mkdir logs
mkdir ~/project
mkdir ./output

-p:连同不存在的父目录一起创建

若上级目录不存在,直接创建多层路径会失败:

mkdir ~/itcast/itheima/nice/666

这时添加 -p

mkdir -p ~/itcast/itheima/nice/666

-p 会自动补齐路径中不存在的父目录,并完成最后一级目录创建。它很适合初始化项目目录结构。

创建目录时的权限提示

新目录需要写入目标位置的权限。普通用户一般可以在自己的 HOME 目录下创建内容,但在 /usr/etc 等系统目录中可能因权限不足失败。不要为了创建一个练习目录就切换成 root;先选择 HOME 目录练习即可。


本篇命令速查

目标常用命令
查看当前位置pwd
查看当前目录内容ls
查看隐藏文件和详细信息ls -al
进入目录cd 路径
回到 HOME 目录cdcd ~
返回上一级目录cd ..
创建一个目录mkdir 目录名
创建连续多级目录mkdir -p 路径

下一篇:Linux基础命令(二):文件操作与查找命令