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

Linux 基本命令超详细解释第一期 | cd | pwd | ls | mkdir | rmdir

一、cd

cdchange directory 的缩写,用于切换当前工作目录。

1. 进入指定目录

cd /etc

2. 回到用户主目录

cd
# 或
cd ~

3. 返回上一次所在目录

cd -

4. 回到上一级目录

cd ..

5. 进入当前目录(不常用)

cd .

6. 使用环境变量

  • $HOME:当前用户的主目录

  • $PWD:当前所在目录

  • $OLDPWD:上一次所在目录

例如:

cd $OLDPWD

        等同于 cd -

注意事项

  1. 内建命令
    cd 是 Shell 内建命令,而不是单独的可执行文件。
    验证方式:

    type cd
    # 输出: cd is a shell builtin
    
  2. 目录不存在会报错

    cd /not/exist
    # bash: cd: /not/exist: No such file or directory
    
  3. 脚本中的容错写法

    cd /some/path || echo "目录不存在"
    

二、pwd

pwdprint working directory 的缩写,用于显示当前工作目录的绝对路径。

1. 显示当前目录

pwd

2. 显示逻辑路径(默认)

pwd -L
  • 可能包含符号链接

3. 显示物理路径(解析符号链接)

pwd -P

什么是逻辑路径 (Logical Path)物理路径 (Physical Path)

逻辑路径 (Logical Path)

  • 逻辑路径就是 你在命令行中看到和使用的路径,可能包含 符号链接

  • 如果你通过符号链接进入目录,逻辑路径会保留符号链接的名字。

例子:

cd /tmp
ln -s /usr/local mylink     # 建一个符号链接 mylink -> /usr/local
cd mylink                   # 进入符号链接
pwd -L

lnlink 的缩写,用于在文件之间创建链接,此处暂不详细解释。

输出:

/tmp/mylink

👉 逻辑路径保留了 mylink 这个符号链接名。

物理路径 (Physical Path)

  • 物理路径就是 实际存放数据的真实目录路径,不会显示符号链接,而是解析到真实位置。

接着上面例子:

pwd -P

输出:

/usr/local

👉 物理路径直接显示真实目录 /usr/local

三、ls

lslist 的缩写,用于列出目录内容。

1. 查看当前目录

ls

2. 查看指定目录

ls /usr/local

3. 显示详细信息(长格式)

ls -l

        -l是 ​​"long format"(长格式)​​ 的缩写

4. 显示隐藏文件

ls -a

        -a= ​​a​​ll(显示所有文件)(包括以点开头的隐藏文件)

5. 文件大小友好显示

ls -lh

        -h是 ​​"human-readable"(人类可读)​​ 的缩写,人类可读的文件大小单位(如 KB/MB)

6. 同时显示隐藏文件+详细信息+友好大小

ls -lha

7. 按时间排序

ls -lt

8. 按大小排序

ls -lS

9. 只显示目录

ls -d */

10. 递归显示子目录

ls -R

其他

which ls
# 一般在 /bin/ls 或 /usr/bin/lsalias ll='ls -l'
# ll 通常是 ls -l 的别名ls --color
# 开启颜色区分,便于识别文件类型

四、mkdir

mkdirmake directory 的缩写,用于创建目录。

1. 创建单个目录

mkdir mydir

👉 在当前目录下创建 mydir

2. 创建多级目录

mkdir -p /tmp/a/b/c

👉 如果上级目录不存在,自动一并创建。

p = parents(父目录),不加 -p 会报错:

mkdir: cannot create directory ‘/tmp/a/b/c’: No such file or directory

3. 同时创建多个目录

mkdir dir1 dir2 dir3

4. 指定权限(mode)

mkdir -m xxx newdir

Linux 目录权限用 三组权限表示:

rwx rwx rwx
  • 第一组(Owner/用户):目录所属用户权限

  • 第二组(Group/用户组):目录所属组权限

  • 第三组(Other/其他人):其他人权限

每个权限位用数字表示:

数字权限含义
7rwx可读、可写、可执行
6rw-可读、可写
5r-x可读、可执行
4r--只读
3-wx可写、可执行
2-w-可写
1--x可执行
0---无权限

示例 1:所有者可以读写执行,组和其他人可读执行(755)

mkdir -m 755 mydir
  • 数字拆解:7 5 5

    • 7 = rwx → 所有者可以读写执行

    • 5 = r-x → 用户组可以读和进入目录

    • 5 = r-x → 其他人可以读和进入目录

示例 2:只有所有者可以访问(700)

mkdir -m 700 private
  • 数字拆解:7 0 0

    • 7 = rwx → 所有者可以读写执行

    • 0 = --- → 用户组没有权限

    • 0 = --- → 其他人没有权限

示例 3:每个人都可读写执行(777)

mkdir -m 777 public
  • 数字拆解:7 7 7

  • 每个人都可以读、写、进入目录

权限组合能做什么
r(读)可以列出目录里的文件名(ls
x(执行)可以进入目录(cd
r + x可以进入目录,并列出文件名
w(写)可以创建、删除、重命名目录里的文件(前提是有 x)

5. 显示过程

mkdir -v mydir
  • 英文缩写v = verbose(详细的)

👉 输出提示信息,例如:

mkdir: created directory 'mydir'

五、rmdir

rmdirremove directory 的缩写,用于删除空目录。

1. 删除单个空目录

rmdir mydir
  • 目录必须为空,否则会报错:

rmdir: failed to remove 'mydir': Directory not empty

2. 递归删除空目录(父目录)

rmdir -p /tmp/a/b/c
  • 会先删除 c,然后删除 b,最后删除 a,前提是每一级都是空目录。

3. 注意事项

  • rmdir 只能删除空目录,非空目录需要使用 rm -r

rm -r mydir
  • 对于系统管理,慎用 rm -r,避免误删重要文件。


文章转载自:

http://0vkh32yF.nrbcx.cn
http://BkBlCUXI.nrbcx.cn
http://ED7LJLgg.nrbcx.cn
http://Ib0nEEpg.nrbcx.cn
http://MgjBVzXz.nrbcx.cn
http://vnzKJKn9.nrbcx.cn
http://PJru9PNS.nrbcx.cn
http://jAEDBSYB.nrbcx.cn
http://pmFcwI9g.nrbcx.cn
http://g2IMlwh6.nrbcx.cn
http://XK2RPbIa.nrbcx.cn
http://dkYKgbx3.nrbcx.cn
http://RruaLyxE.nrbcx.cn
http://OD6B4E26.nrbcx.cn
http://ohMff9mo.nrbcx.cn
http://YM2Nm3LN.nrbcx.cn
http://huXkzO9O.nrbcx.cn
http://NKshJ7yv.nrbcx.cn
http://9tQfXLMJ.nrbcx.cn
http://Ic9b8wik.nrbcx.cn
http://PGm3yLNB.nrbcx.cn
http://Z7idalIM.nrbcx.cn
http://VvEi7q57.nrbcx.cn
http://fbaktyjo.nrbcx.cn
http://6YKZZhzs.nrbcx.cn
http://QFPg5BLg.nrbcx.cn
http://30dE2AD7.nrbcx.cn
http://ql0gMhq5.nrbcx.cn
http://QdkRPpOQ.nrbcx.cn
http://3U0V6xkV.nrbcx.cn
http://www.dtcms.com/a/383859.html

相关文章:

  • 如何查找 Linux 中 `dm-X` 设备对应的真实磁盘或虚拟机?
  • 线性稳压器LDO原理
  • 大模型浪潮来袭
  • 第6课:安全性与权限控制
  • 如何用 Rust 重写 SQLite 数据库(二):是否有市场空间?
  • pgsql 特有字段记录
  • Leetcode第165场双周赛题目详解+复盘
  • rt1180 rt1180处理器ethercat具体技术介绍
  • Sugov 关于频率变化
  • 多语言编码Agent解决方案(6)-部署和使用指南
  • React 原理篇 - React 新架构深度解析
  • Flowgorith,一款图形化编程入门工具
  • LeetCode 674.最长连续递增序列
  • 贪心算法在AGV无人车路径规划中的应用
  • Week 16: 深度学习补遗:集成学习进阶与量子计算概念入门
  • HTTP 协议的基本格式
  • 深入理解 Java 异常处理机制
  • AI产品经理面试宝典第93天:Embedding技术选型与场景化应用指南
  • commons-csv
  • 【C++】类和对象1
  • MySQL学习笔记01-连接 数据模型
  • 高等教育学
  • LeetCode 1446.连续字符
  • 力扣966 元音拼写器(三个哈希表解法)详解
  • godot+c#操作sqlite并加解密
  • 利用DeepSeek实现服务器客户端模式的DuckDB原型
  • 使用Conda创建Python环境并在PyCharm中配置运行项目
  • 【项目】-Orange Pi Zero 3 编译内核测试LED
  • 【知识点讲解】Multi-Head Latent Attention (MLA) 权威指南
  • 《人性的弱点:激发他人活力》读书笔记