[笔记]快乐的Linux命令行《二》文件系统中跳转

news2025/8/2 16:23:46

系列文章目录

[笔记]快乐的Linux命令行《一》LInux系统简介以及什么是shell
[笔记]快乐的Linux命令行《二》文件系统中跳转

文章目录

  • 系列文章目录
  • 前言
  • 一、文件系统中跳转
    • 1.1 理解文件系统树
      • Linux基本文件系统树
      • 目录介绍
      • 与Windows的异同
    • 1.2 当前工作目录
      • pwd 显示当前工作目录
    • 1.3 列出目录内容
      • ls 列出目录内容
    • 1.4 更改当前工作目录
      • cd 命令 更改当前工作目录
    • 1.5 绝对路径
    • 1.6 相对路径
      • 举例:从/usr/bin到达/usr
      • 举例:从/usr 到达/usr/bin
    • 1.7 有用的快捷键
  • 总结

前言

我们需要学习的第一件事(除了打字之外)是如何在 Linux 文件系统中跳转。

一、文件系统中跳转

1.1 理解文件系统树

Linux,以分层目录结构来组织所有文件。这就意味着所有文件组成了一棵树型目录(directory)(有时候在其它系统中叫做文件夹 folder)(如下节图),这个目录树可能包含文件和其它的目录。

文件系统中的第一级目录称为根目录。根目录包含文件和子目录,子目录包含更多的文件和子目录,依此类推。

Linux基本文件系统树

Linux 系统目录结构

可以把文件系统 想象成 一颗倒立的树 "/"目录是根 所以被称为根目录
在这里插入图片描述

目录介绍

/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root
该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

/selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:该目录存放一些服务启动之后需要提取的数据。

/sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

/usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

/usr/bin:系统用户使用的应用程序。

/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src:内核源代码默认的放置目录。

/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

与Windows的异同

  • Windows :每个存储设备都有一个独自的文件系统。如下即两块磁盘
    在这里插入图片描述

  • Linux:类似于 Unix 的操作系统,比如 Linux,总是有一个单一的文件系统树,不管有多少个磁盘或者存储设备连接到计算机上。根据系统管理员的兴致,存储设备连接到(或着更精确些,是挂载到)目录树的各个节点上。系统管理员负责维护系统安全。

1.2 当前工作目录

在这里插入图片描述
把文件系统想象成一个迷宫形状,就像一棵倒立的大树,我们站在迷宫的中间位置。在任意时刻,我们处于一个目录里面,我们能看到这个目录包含的所有文件,以及通往上面目录(父目录)的路径,和下面的各个子目录。

我们所在的目录则称为当前工作目录

我们使用pwd(打印工作目录)命令,来显示当前工作目录。

pwd 显示当前工作目录

[me@linuxbox ~]$ pwd # 输入后回车显示当前目录
/home/me

小贴士:

  • 当我们首次登录系统后,(或者启动终端仿真器会话后),当前工作目录是我们的主目录。
  • 每个用户都有他自己的主目录,当用户以普通用户的身份操控系统时,主目录是唯一允许用户编写
    文件的地方。

1.3 列出目录内容

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

ls 列出目录内容

[me@linuxbox ~]$ ls
Desktop Documents Music Pictures Public Templates Videos

1.4 更改当前工作目录

要更改工作目录(此刻,我们站在树形迷宫里面)

cd 命令 更改当前工作目录

我们用 cd 命令。输入 cd, 然后输入你想要的工作目录的路径名,就能实现愿望。路径名就是沿着目录树的分支到达想要的目录,期间所经过的路线。

路径名可通过两种方式来指定:

  • 一个是绝对路径,
  • 另一个是相对路径。

首先处理绝对路径。

1.5 绝对路径

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

[me@linuxbox ~]$ cd /usr/bin
[me@linuxbox bin]$ pwd
/usr/bin
[me@linuxbox bin]$ ls
...Listing of many, many files ...

可以发现当前目录发生了变化,可以从shell提示符的变化观察到(通常设置提示符自动显示工作目录名)

1.6 相对路径

绝对路径从根目录开始,直到它的目的地,而相对路径从当前工作目录开始到达它的目的地。

一对特殊符号来表示相对位置,在文件系统树中。
这对特殊符号:

  • .” (点) :符号 “.” 指的是当前工作目录。
  • ..” (点点):指的是当前工作目录的上一级目录(或者说父目录)。

举例:从/usr/bin到达/usr

使用绝对路径:

[me@linuxbox bin]$ cd /usr
[me@linuxbox usr]$ pwd
/usr

使用相对路径:

[me@linuxbox bin]$ cd ..
[me@linuxbox usr]$ pwd
/usr

举例:从/usr 到达/usr/bin

使用绝对路径:

[me@linuxbox usr]$ cd /usr/bin
[me@linuxbox usr]$ pwd
/usr/bin

使用相对路径:

[me@linuxbox usr]$ cd ./bin
[me@linuxbox bin]$ pwd
/usr/bin

或者另一种使用相对路径:

[me@linuxbox usr]$ cd bin
[me@linuxbox bin]$ pwd
/usr/bin

小贴士:
在几乎所有的情况下,你可以省略 “./”。它是隐含地输入

1.7 有用的快捷键

快捷键运行结果
cd更改工作目录到你的家目录。
cd -更改工作目录到先前的工作目录。
cd ~user_name更改工作目录到用户家目录。例如, cd ~bob 会更改工作目录到用户“bob”的家目录。

关于文件名的重要规则:

  1. 以 “.” 字符开头的文件名是隐藏文件。这仅表示,ls 命令不能列出它们,除非使用 ls -a 命令。当你创建帐号后,几个配置帐号的隐藏文件被放置在你的主目录下。稍后,我们会仔细研究一些隐藏文件,来定制你的系统环境。另外,一些应用程序也会把它们的配置文件以隐藏文件的形式放在你的主目录下面。
  2. 文件名和命令名是大小写敏感的。文件名 File1 和 file1 是指两个不同的文件名。
  3. Linux 没有“文件扩展名”的概念,不像其它一些系统。可以用你喜欢的任何名字来给文件起名。文件内容或用途由其它方法来决定。虽然类似 Unix 的操作系统,不用文件扩展名来决定文件的内容或用途,但是应用程序会。
  4. 虽然 Linux 支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限 使用“.”,“-”,下划线。最重要的是,不要在文件名中使用空格。如果你想表示词与词间的空格,用下划线字符来代替。(注意,如果有空格 文件路径需要用引号括起来,避免被识别为参数)

总结

本节就介绍到这里了,回忆一下你还记得多少:

  • 文件系统的树结构
  • 跳转目录的方法
  • 绝对路径和相对路径的区别

关注微信公众号【二次源怪兽】
回复【快乐的Linux命令行】
获取电子书

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

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

相关文章

CSS基础入门

CSS基础入门 1.官方文档 1.CSS 指的是层叠样式表* (Cascading Style Sheets) 2.地址: https://www.w3school.com.cn/css/index.asp 2.为什么需要 CSS 1.在没有 CSS 之前,我们想要修改 HTML 元素的样式需要为每个 HTML 元素单独定义样式属性,费心费力…

手把手教你如何编写一个Makefile文件

一、概念理解(彩蛋藏在某个地方) 1.1 什么是Makefile? C语言中,我们使用visual studio开发软件时候,写程序开始时候都会创建一个project项目文件,然后在文件里面编译 .h 和 .c 的文件。在Linux中&#xf…

给大家免费发布几款苹果CMSv10模板影视主题,附带教程和演示截图

苹果CMS是优秀的开源PHP建站系统,在主流建站系统中特色鲜明,以灵活、小巧、兼容性好、负载强等优点而深受许多站长的喜爱。 很多人在运营苹果cms站点都会找模板,下面博主给大家推荐几款免费并且简约的模板,其实个人认为模板这东西不需要买太贵的&#xf…

编译安装LAMP架构搭建wordpress个人博客和discuz论坛——编译安装基于 FASTCGI 模式LAMP架构多虚拟主机WEB应用

文章目录1 实验目标2 环境准备3 实现步骤3.1.1 二进制安装3.1.2为wordprss和discuz应用准备数据库和用户帐号3.2 编译安装 httpd 2.43.3 编译安装 fastcgi 方式的 php 7.43.4 修改配置 httpd 支持 php-fpm3.5 准备wordpress和discuz! 相关文件3.6 测试访问3.7 安装成功1 实验目…

MySQL高级篇知识点——其它数据库日志

目录1.其他数据库日志1.1.日志类型1.2.日志的弊端2.慢查询日志 (slow query log)3.通用查询日志 (general query log)3.1.问题场景3.2.查看当前状态3.3.启动日志3.4.查看日志3.5.停止日志3.6.删除/刷新日志4.错误日志 (error log)4.1.启动日志4.2.查看日志4.3.删除/刷新日志5.二…

Glide图片框架源码解析

一、Glide几个基本概念 Model 表示数据的来源;加载图片的时候需要告诉Glide从哪获取这个图片,可以是url类型、本地文件类型、资源ID类型。不管什么类型,Glide都将其称为Model。 Data 从数据源中获取到model之后,把它加工成原始数…

java.swing 飞机大战小游戏

上午没事刷到网上最近炒热了一些简单的小游戏和爱心代码,单身8个月了,对爱心代码不是很感冒,所以想蹭个热度,写一个飞机大站来玩玩。 首先,分析小游戏需要那些技术与怎么设计: 窗体,因为是jav…

Python如何使用PyMySQL连接数据库

1:为什么要连接数据库呢? 做接口自动化测试的时候,我们需要校验数据是否正常入库,数据是否正确,来做断言处理;有的时候需要修改数据,去执行其他场景的测试用例;有的时候需要删除数据…

DOX-HSA/HGB/FITC/Glu人血清蛋白/血红蛋白/荧光素/葡萄糖修饰阿霉素

小编今天分享给大家的科研知识是DOX-HSA/HGB/FITC/Glu人血清蛋白/血红蛋白/荧光素/葡萄糖修饰阿霉素,来看! DOX-HSA人血清蛋白偶联阿霉素相关: 采用阿霉素(Doxorubicin,DOX)与人血清白蛋白(HSA)经化学交联获得的偶联物。本品经过滤,溶于PBS…

Chapter4 利用机器学习解决分类和回归问题

目录 4.1 机器学习和神经网络基本概念 4.1.1 感知器 4.1.2 前向传播 4.1.3 反向传播 4.1.4 过拟合和欠拟合 4.2 利用神经网络解决回归问题 4.2.1 问题介绍 4.2.2 利用pytorch解析数据 4.2.2 利用pytorch定义网络结构 4.2.3 开始训练 4.2.4 将模型进行保存 4.3 利用p…

云中马在A股上市:总市值约为40亿元,叶福忠为实际控制人

11月18日,浙江云中马股份有限公司(下称“云中马”,SH:603130)在上海证券交易所主板上市。本次上市,云中马的发行价为19.72元/股,发行数量为3500万股,募资总额约为6.90亿元,募资金额约…

码农必备?清华大学开源了一款写代码神器。。。

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store 提升程序员编码效率,是一个经久不衰的话题,从最初用纯文本编辑器到后来代码自动补全,再到后来基于AI智能补全代码,开发者效率的确在不断提升。 关于新工…

这就是程序员眼中的函数吗?(一)

小叮当的任意门1. 函数是什么?2. C语言中的函数分类1. 库函数2. 自定义函数3. 函数的参数1. 实际参数(实参)2. 形式参数(形参)4. 函数的调用1. 传值调用2. 传址调用练习1. 写一个函数可以判断一个数是不是素数三级标题…

5分钟实现「视频检索」:基于内容理解,无需任何标签

Notebook 教程:text-video retrieval 「视频检索」任务就是输入一段文本,检索出最符合文本描述的视频。随着各类视频平台的兴起和火爆,网络上视频的数量呈现井喷式增长,「视频检索」成为人们高效查找视频的一项新需求。传统的视频…

Matlab点云处理及可视化第1期—基于KD树的邻域点搜索(柱状邻域、球状邻域及KNN)

目录 1 概述 2 代码实现 3 可视化验证 数据及完整代码获取方式: 观前提示:本文文字内容请勿直接用于论文写作,否则后果自负。 特别提示:《Matlab点云处理及可视化》系列文章旨在为初入点云处理领域的朋友提供一份较为权威、可…

MR直播(混合现实直播)做一场高品质企业培训

阿酷TONY / 2022-11-18 / 长沙 MR,是英文Mixed Reality两个单词的缩写,中文翻译为混合现实。 MR混合现实直播技术是通过在现实环境中引入虚拟场景信息,增强用户体验的真实感,具有真实性、实时互动性等特点。 MR直播解决方案是深…

基于springboot农产品交易平台的设计与实现

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于特色农产品电商平台 当然也不能排除在外,随着网络技术的不断成熟,带动了特色农产品电商平台,它彻底…

软件需求分析——需求的理论基础

如果有兴趣了解更多相关内容,可以来我的个人网站看看:瞳孔空间 一:需求的涵义 研究对象:软件加强型系统中的软件 软件加强型系统:泛指由计算机技术支持的互相联系着的一组人类活动组成的系统。与物理设备和人类社会…

linux网络协议栈源码分析 - 传输层(TCP的输出)

1、TCP write系统调用(tcp_sendmsg) 1.1、write系统调用 socket的write系统调用栈: write最终调用tcp_sendmsg发送消息。 1.2、tcp_sendmsg报文分段 tcp_sendmsg主要是对用户的消息按MSS进行分段、添加到发送队列并将用户数据拷贝到分段里面,根据相关判断设置PSH标…

[附源码]SSM计算机毕业设计超市收银系统论文JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…