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,
本文内容为我阅读过程中精简后的记录笔记整理而成。
推荐大家去读原书哦!
相关推荐
007php0075 小时前
linux服务器上CentOS的yum和Ubuntu包管理工具apt区别与使用实战
linux·运维·服务器·ubuntu·centos·php·ai编程
人类群星闪耀时5 小时前
深度学习在灾难恢复中的作用:智能运维的新时代
运维·人工智能·深度学习
djykkkkkk5 小时前
ubuntu编译遇到的问题
linux·运维·ubuntu
LinkTime_Cloud5 小时前
GitLab 将停止为中国区用户提供服务,60天迁移期如何应对? | LeetTalk Daily
大数据·运维·gitlab
qq_429856575 小时前
linux 查看服务是否开机自启动
linux·运维·服务器
Smile丶凉轩6 小时前
Docker核心技术和实现原理
运维·docker·容器
清风细雨_林木木6 小时前
Docker使用——国内Docker的安装办法
运维·docker·容器
运维&陈同学6 小时前
【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
运维·后端·elk·elasticsearch·云原生·自动化·kibana·日志收集
7yewh7 小时前
Linux驱动开发 IIC I2C驱动 编写APP访问EEPROM AT24C02
linux·arm开发·驱动开发·嵌入式硬件·嵌入式
dessler7 小时前
Docker-Dockerfile讲解(三)
linux·运维·docker