Linux 终端中的目录切换

news2025/7/10 18:02:47

图片

目录

⛳️推荐

前言

理解 Linux 中的路径

利用 cd 命令变更目录

故障解决

文件或目录不存在

非目录错误

特殊目录符号

测试你的知识


⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

前言

Linux 的 cd 命令让你可以轻松切换文件夹(即目录)。只需提供你要切换到的文件夹路径即可。

cd path_to_directory

然而对于 Linux 新人来说,可能会在路径的指定上有所困扰。

首先,让我们解决这个问题。

理解 Linux 中的路径

在 Linux 文件系统中,路径是用来追踪文件位置的信息。所有的路径都从根目录开始,然后向下延伸。

你可以通过下面的方式查看当前所在的位置:

pwd
结果可能是类似于 /home/username 的输出。注意,这里的 username 将会是你自己的用户名。

你可以注意到,路径是由 / 符号和目录名组成的。比如路径 /home/abhishek/scripts, 表示 scripts 是在文件夹 abhishek 之内,而文件夹 abhishek 在 home 文件夹之内。要注意,第一个 '/' 是指根目录(即文件系统的开始处),后面的 '/' 则作为目录的分隔符。

图片

Path in Linux

🖥️ 在终端中键入 ls /,然后按回车。你将会看到根目录下的所有内容,试试看!

接下来,让我们学习两种常见的路径指定方式:绝对路径和相对路径。

绝对路径:这种路径从根开始,然后一直扩展到你需要的位置。如果一个路径是以 / 开头,那就说明它是一个绝对路径。

相对路径:这是相对于你文件系统中当前位置的路径。如果我当前位置在 /home/abhishek,并且我需要去 /home/abhishek/Documents, 我只需要简单地切换到 Documents,而不需要指定整个绝对路径 /home/abhishek/Documents

在我演示这两种路径的区别之前,有必要先熟悉两个特殊的目录标识:

◈ . (单点)表示当前目录。

◈ .. (双点)表示上一级目录,也就是当前目录的母目录。

这里有一张图形化的表示。

图片

Absolute path vs relative path

利用 cd 命令变更目录

在你已对路径概念有所了解之后,我们来了解如何切换目录。

🖥️ 如果你仅键入 cd 并按回车键,无论当前位置在哪,系统都会将你带回主目录。试一试吧。

敲入以下命令,你就能看到主目录里的所有文件夹:

ls

这是我看到的情况:

abhishek@ituxedo:~$ ls

Desktop Downloads Pictures Templates VirtualBoxVMs

Documents Music Public Videos

你的情况可能与此类似,但未必完全一样。

假如你希望跳转到 Documents 文件夹。由于它就在当前目录下,这里使用相对路径会比较方便:

cd Documents

💡 注意,大部分 Linux 发行版预设的终端模拟器会在提示符本身显示出当前所在的位置。因此你不必频繁使用 pwd 指令来确认自己的位置。

图片

Most Linux terminal prompts show the current location

假如你希望切换到位于主目录里的 Templates 文件夹。

你可以使用相对路径 ../Templates.. 会让你返回到上层目录,即 /home/username,然后你就可以进入 Templates 文件夹了)。

但这次我们尝试使用绝对路径。请把下面的 abhishek 替换成你的用户名。

cd /home/abhishek/Templates

此刻你已经在 Templates 文件夹里了。如何前往 Downloads 文件夹呢?这次我们再使用相对路径:

cd ../Downloads

💡 别忘了你还可以使用终端的 tab 键自动补全功能。只需要键入命令或者文件夹名称的前几个字母,然后敲击 tab 键,系统就会尝试自动地补全命令或文件夹名称,或者给你显示出所有可能的选项。

故障解决

在 Linux 终端操作切换目录的过程中,你可能会遇到一些常见的错误。

文件或目录不存在

如果在你尝试切换目录时,出现类似下面的错误信息:

bash: cd: directory_name: No such file or directory

那么你可能在路径或目录名称上犯了误解。这里有几点你需要注意的:

◈ 请确定你输入的目录名中没有拼写错误。

◈ Linux 系统对大小写敏感,因此,Downloads 和 downloads 会被识别为不同的目录。

◈ 你可能未正确指定路径。可能你所在的位置与你预期的不同?或者你遗漏了绝对路径中的开头的 / 字符?

图片

非目录错误

如果你看到像下面这样的错误提示:

bash: cd: filename: Not a directory

这表示你尝试使用 cd 命令对一个文件进行操作,而不是一个目录(文件夹)。很明显,你不能像进入文件夹那样“进入”一个文件,因此会出现这样的错误。

图片

参数过多

这是 Linux 新手常犯的另一个错误:

bash: cd: too many arguments

cd 命令只接受一个参数。也就是说,你只能对命令指定一个目录。

如果你指定了超过一个的参数,或者在路径中误加了空格,你就会看到这个错误。

图片

🏋🏻 如果你输入 cd -,它将会把你带到前一个目录。当你在两个相隔较远的地方切换时非常方便,可以避免再次输入长路径。

特殊目录符号

在结束这个教程之前,我想快速告诉你关于特殊符号 ~。在 Linux 中,~ 是用户主目录的捷径。

如果用户 abhi 运行它,~ 就会代表 /home/abhi,如果用户 prakash 运行,~ 就意味着 /home/prakash

总结一下你在这个基础教程系列中学到的所有特殊目录标识:

< 如显示不全,请左右滑动 >

符号描述
.当前目录
..上级目录
~主目录
-前一个目录

测试你的知识

下面是一些简单的练习,用来测试你刚刚学到的关于路径和 cd 命令的知识。

移动到你的主目录,并使用这个命令创建一个嵌套的目录结构:

mkdir -p sample/dir1/dir2/dir3

然后,一步步来试试这个:

◈ 使用绝对路径或相对路径进入 dir3

◈ 使用相对路径移动到 dir1

◈ 使用你能想象到的最短路径进入 dir2

◈ 使用绝对路径切换到 sample 目录

◈ 返回你的主目录

🔑 想知道你是否全都做对了吗?欢迎分享你的答案。

现在你知道如何切换目录,是不是应该学习一下如何创建它们呢?

我强烈推荐你阅读这篇文章,了解一些关于终端和命令的小技巧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1618219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AD 21、22 软件安装教程

AD2022安装包链接 链接&#xff1a;https://pan.baidu.com/s/1oMNbXibQ1Zjl0RTLdPDVGw 提取码&#xff1a;xfs4 软件下载 1.以管理员身份运行 2. 3. 4. 5.路径最好改为C盘以外的&#xff0c;如D盘&#xff0c;要新建一个空文件夹 6. 7.下载好以后 8.在Crack文件夹下找…

内插和抽取

抽取&#xff1a; 频域表达式的关系&#xff1a; 1、角频率扩大M倍 2、移动2pi、22pi…&#xff08;n-1&#xff09; 2pi 3、相加 4、幅度变为1/M 内插&#xff1a; 加入低通滤波&#xff0c;减小混叠&#xff0c;但是由于截短&#xff0c;也会造成误差&#xff0c;但是…

投资网站汇总

1、 中信证券(600030)历年财务指标——亿牛网https://eniu.com/gu/sh600030/cwzb 2、 3、 4、

Linux中文件描述符与重定向的深入探索

目录 1. 理解C语言的文件操作函数 2. 操作系统的文件操作接口 3. 文件描述符详解和其内核本质 4. 如何理解Linux下一切皆文件 5. Linux中的重定向 5.1 输出重定向 5.2 追加重定向 5.3 输入重定向 6. 结合文件描述符理解重定向 7.重定向的系统调用 在Linux操作系统中&a…

Docker容器:镜像与容器命令管理

目录 一、镜像管理命令 1、搜索镜像 2、获取镜像 3、镜像加速下载 4、查看下载的镜像文件信息 5、查看下载到本地的所有镜像 6、获取指定镜像的详细信息 7、为本地的镜像添加新的标签 8、删除镜像 8.1 删除指定的镜像 8.2 批量删除多个镜像 9、导出镜像与导入镜像 …

CUDA线程管理

核函数在主机端启动时&#xff0c;执行会转移到设备上&#xff0c;并且将控制权转移回主机。当核函数在GPU上运行时&#xff0c;主机可以运行其他函数。因此&#xff0c;主机与核函数是异步的。 此时&#xff0c;设备端也就是GPU上会产生大量的线程&#xff0c;并且每个线程都…

汇编期末复习知识点

参考文献1 第一章 概述 组成 计算机系统由硬件子系统和软件子系统组成。硬件子系统&#xff1a;组成计算机系统的所有电子的&#xff0c;机械的&#xff0c;光学的和磁性的元部件。 计算机中常用进制数表示 十进制(Decimal):数据尾部加一后缀D&#xff0c;如2355D二进制&a…

【技巧】Git 版本控制工具没有图标提示怎么办?

Git 版本控制工具在日常开发中使用率是非常高的&#xff0c;多数情况下会安装 TortoiseGit 之类的插件&#xff0c;让文件夹显示图标&#xff0c;方便观察文件的状态。但是有时装完插件之后发现&#xff0c;文件夹/文件并没有图标显示&#xff0c;可以按照以下思路进行排查&…

Git 核心概念与实操

这里写目录标题 1 版本回退2 工作区、暂存区、本地仓库、远程仓库 1 版本回退 原文链接&#xff1a;https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192 首先 git log 查看提交记录 在Git中&#xff0c;用 HEAD 表示当前版本 上一个版本就是 HEAD^ &#xff…

Abaqus2024 安装教程(附免费安装包资源)

鼠标右击软件压缩包&#xff0c;选择“解压到Abaqus2024”。 鼠标右击“此电脑”&#xff0c;选择“属性”。 点击“高级系统设置”。 点击“环境变量”。 点击“新建”。 变量名输入&#xff1a;NOLICENSECHECK 变量值输入&#xff1a;true 然后点击“确定”。 点击“确定”。…

裤裤带你一起学C语言内存函数啦!

目录 1.memcpy的使用和模拟实现 2.memmove使用和模拟实现 3.memset函数的使用 4.memcmp函数的使用 内存函数在<string.h>库中&#xff0c;我们使用内存函数必须先引入<string.h>头文件 1.memcpy的使用和模拟实现 memcpy的函数原型如下&#xff1a; void * m…

【重要】Heygen订阅指南和用法详解!让照片学说话?一张照片变演讲?Heygen订阅值得吗?

常见问题 Q&#xff1a;Heygen是什么&#xff1f;Heygen是什么玩意&#xff1f; A&#xff1a;Heygen是一款由AI视频工具,创作者只需要上传视频并选择要翻译的语言&#xff0c;该工具可实现自动翻译、调整音色、匹配嘴型。为了方便理解&#xff0c;笔者利用Heygen制作了一个AI视…

QA测试开发工程师面试题满分问答20: 软件的安全性应从哪几个方面去测试?

软件的安全性测试应从多个方面进行&#xff0c;并确保覆盖以下关键方面&#xff1a; 当回答问题时&#xff0c;可以根据自己的经验和知识&#xff0c;从上述要点中选择适合的方面进行详细说明。强调测试的综合性、全面性和持续性&#xff0c;并强调测试的重要性以及如何与开发团…

cdp集群主节点根目录磁盘扩容

查看挂载点 df -h可以看到&#xff0c;根目录容量只有37G&#xff0c;现在对根目录进行扩容 查看根目录挂载的磁盘大小 lsblk挂载磁盘名字为vda&#xff0c;磁盘容量有80G&#xff0c;现在磁盘使用量为vda下面三个分区vda1&#xff0c;vda2&#xff0c;vda3容量之和&#xf…

OpenWRT磁盘扩容(PVE虚拟机方案)

官方扩容指导文档 PVE给虚拟机磁盘扩容 给虚拟机磁盘扩容&#xff0c;选中OpenWRT的硬盘&#xff0c;随后选择调整大小 输入增量大小&#xff0c;即增加多少磁盘空间给硬盘。这里我选择增加4G 进入OpenWRT控制台界面安装一些linux常用查看磁盘的工具&#xff08;也可以通过网…

SpringCloud系列(12)--服务提供者(Service Provider)集群搭建

前言&#xff1a;在上一章节中我们成功把微服务注册进了Eureka集群&#xff0c;但这还不够&#xff0c;虽然注册服务中心Eureka已经是服务配置了&#xff0c;但服务提供者目前只有一个&#xff0c;如果服务提供者宕机了或者流量过大&#xff0c;都会影响到用户即服务使用者的使…

自己手动在Linux上实现一个简易的端口扫描器

背景 常常听到网络攻击有一个东西叫做端口扫描器&#xff0c;可以扫描指定服务器开放的端口&#xff0c;然后尝试连接&#xff0c;并寻找漏洞&#xff0c;最终攻破服务器。而那些使用的端口扫描器都是一个个现成的程序&#xff0c;看上去很厉害的样子。而实际上这些东西对于懂…

springcloud alibaba 整合seata的TCC

一、seata服务端搭建同上篇。 Seata的AT模式客户端两阶段提交流程源码分析 二、seata客户端的结构 1.示例DEMO工程 下单&#xff0c;扣余额&#xff0c; 减库存。 2. MAVEN配置。 父工程&#xff1a;由于spring-cloud-starter-alibaba-seata依赖的seata-spring-boot-starter…

深度学习-数据预处理

目录 创建一个人工数据集处理缺失的数据插入对inputs中的类别值或离散值&#xff0c;将NaN视为一个类别对inputs和outputs中的数值类型转换为张量格式 创建一个人工数据集 import os import pandas as pd os.makedirs(os.path.join(.., data), exist_okTrue) data_file os.p…

C++判断一个点是否在一个在任意空间中的长方体中

目录 不旋转的长方体计算旋转矩阵及旋转后的长方体计算旋转矩阵计算旋转后的长方体 判断点是否在旋转后的长方体内 不旋转的长方体 如果这个长方体是规则的&#xff0c;不进行任何旋转&#xff0c;可以先计算长方体的BoundingBox&#xff0c;判断点是否在3D的BoundingBox中即可…