Linux 命令行的世界 :2.文件系统中跳转

我们需要学习的第一件事(除了打字之外)是如何在 Linux 文件系统中跳转。在这一章节中,我们将介绍以下命令:
pwd 打印出当前工作目录名
cd 更改目录
ls 列出目录内容

Linux以分层目录结构来组织所有文件。这就意味着所有文件组成了一棵树型目录,这个目录树可能包含文件和其它的目录。文件系统中的第一级目录称为根目录。根目录包含文件和子目录,子目录包含更多的文件和子目录,依此类推。

Linux,总是只有一个单一的文件系统树(通常这是一棵倒置的树,也就是说,树根在最上面,而各个枝干在下面展开。),不管有多少个磁盘或者存储设备连接到计算机上。根据负责维护系统安全的系统管理员的兴致,挂载到目录树的各个节点上。

我们所在的目录则称为当前工作目录。我们使用 pwd(print working directory(的缩写))命令,来显示当前工作目录。

bash 复制代码
[root@localhost ~]# pwd
/root

当我们首次登录系统后,当前工作目录是我们的根目录。

列出一个目录包含的文件及子目录,使用 ls 命令。

bash 复制代码
[root@localhost /]# ls
ATO     bin   copylog  etc   lib    media  opt   root  sbin  sys  usr
backup  boot  dev      home  lib64  mnt    proc  run   srv   tmp  var

要更改工作目录,我们用 cd 命令。输入 cd, 然后输入你想要去的工作目录的路径名。路径名就是沿着目录树的分支到达想要的目录期间所经过的路线。路径名可通过两种方式来指定,一种是绝对路径,另一种是相对路径。

绝对路径开始于根目录,紧跟着目录树的一个个分支,一直到达所期望的目录或文件。例如,你的系统中有一个目录,大多数系统程序都安装在这个目录下。这个目录的路径名是 /usr/bin。它意味着从根目录(用开头的"/"表示)开始,有一个叫"usr" 的目录包含了目录 "bin"。

bash 复制代码
[root@localhost var]# cd /usr/bin
[root@localhost bin]# pwd
/usr/bin

我们把工作目录转到 /usr/bin 目录下,注意shell 提示符是怎样改变的吗?为了方便,通常终端提示符自动显示工作目录名。

相对路径开始于工作目录。为了做到这个(用相对路径表示),我们在文件系统树中用一对特殊符号来表示相对位置。这对特殊符号是 "."(点)和 ".." (点点)。符号 "." 指的是工作目录,".." 指的是工作目录的父目录。比方说我们想更改工作目录到 /usr/bin 的父目录 /usr。比方说我们想更改工作目录到 /usr/bin 的父目录 /usr。

bash 复制代码
#使用绝对路径
[root@localhost bin]# cd /usr/
[root@localhost usr]# pwd
/usr

#使用相对路径
[root@localhost usr]# cd /usr/bin/
[root@localhost bin]# cd ..
[root@localhost usr]# pwd
/usr

同样地,从目录 /usr/ 到 /usr/bin 也有两种途径。

bash 复制代码
#使用绝对路径
[root@localhost usr]# cd /usr/bin/
[root@localhost bin]# pwd
/usr/bin

#使用相对路径
[root@localhost usr]# cd ./bin/
[root@localhost bin]# pwd
/usr/bin

有一件很重要的事,我必须指出来。在几乎所有的情况下,你可以省略 "./"。它是隐含的。如果不指定一个文件的路径,那它被默认为在当前工作目录下。

bash 复制代码
[root@localhost bin]# cd ..
[root@localhost usr]# pwd
/usr
[root@localhost usr]# cd bin
[root@localhost bin]# pwd
/usr/bin

关于文件名的重要规则

  1. 以 "." 字符开头的文件名是隐藏文件。这仅表示,ls 命令不能列出它们,用 ls-a 命令就可以了。

  2. 文件名和命令名是大小写敏感的。文件名"File1"和"file1"是指两个不同的文件名。

  3. Linux 没有"文件扩展名"的概念。

  4. 虽然 Linux 支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限使用".","-",下划线。最重要的是,不要在文件名中使用空格。如果你想表示词与词间的空格,用下划线字符来代替。

最后祝大家龙年大吉!!

版权声明

版权声明:
本文参考了THE LINUXCOMMAND LINE by William Shotts,
本文内容为我阅读过程中精简后的记录笔记整理而成。
推荐大家去读原书哦!
相关推荐
向阳121813 分钟前
Dubbo负载均衡
java·运维·负载均衡·dubbo
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
海阔天空_20131 小时前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能1 小时前
气爪在自动化装配线中是如何应用的?
运维·自动化
q567315232 小时前
在 Bash 中获取 Python 模块变量列
开发语言·python·bash
€☞扫地僧☜€3 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
hjjdebug3 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯3 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流3 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩3 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3