Linux目录结构及文件的基本操作

本文介绍了Linux目录结构及其与Windows的不同之处,详细解释了FHS标准,并提供了基本的Linux文件和目录操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引子

作为一个程序员,Linux永远是一个难以绕过的开发环境,在日常的工作与或者学习中,总会或多或少的用到Linux,学习Linux的计划依旧酝酿很久了,平时总是随便看看各种文档,没有经过一个系统的学习过程,开这个新坑,总结Linux的基础知识,大概就是这样。现在就进去Linux目录结构及文件的基本操作学习部分吧。

Linux 目录结构

在学习Linux目录结构前,需要了解的是,Linux目录与Windows的目录的区别,在一般的操作体验中,感受不到多大的不同,但是它们的实现机制是完全不同的。

一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘…)及分区来实现文件管理,然后之下才是目录,目录就显得不是那么重要,除系统文件之外的用户文件放在任何地方任何目录也是没有多大关系。所以通常 Windows 在使用一段时间后,磁盘上面的文件目录会显得杂乱无章(少数善于整理的用户除外吧)。然而 UNIX/Linux 恰好相反,UNIX 是以目录为主的,Linux 也继承了这一优良特性。 Linux 是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。举例来说,可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录等。

FHS标准

Linux 的目录结构说复杂很复杂,说简单也很简单。复杂在于,因为系统的正常运行是以目录结构为基础的,对于初学者来说里面大部分目录都不知道其作用,重要与否,特别对于那些曾经的重度 Windows 用户,他们会纠结很长时间,关于我安装的软件在哪里这类问题。说它简单是因为,其中大部分目录结构是规定好了的(FHS 标准),是死的,当你掌握后,你在里面的一切操作都会变得井然有序。

FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。

FHS定义了两层规范

  • 一、/下面的各个目录应该要放什么文件数据,例如/etc应该放设置文件,/bin/sbin则应该放可执行文件等。

  • 二、针对/usr/var这两个目录的子目录来定义。例如/var/log防止系统日志,/usr/share放置共享数据等。

image

可以自己在环境下键入如下命令查看

tree [directory]

没有安装该命令的话自行安装。

实际效果如下

image

目录路径

路径就是想要到达目的地的路线,如果想要进入某个特定的目录或者获取某个特定目录的文件,就需要使用文件路径。

使用cd切换目录,Linux中.表示当前目录,..表示上一级目录,-表示上一次所在目录,~通常表示当前用户的home目录。使用pwd可以获取当前目录的绝对路径。

示例:

image

绝对路径

顾名思义,就是从/目录到当前目录的绝对路径

相对路径

相对目前的目录的路径,以当前目录.为起点,到目标位置的路径。

# 绝对路径

cd /usr/local/bin

# 相对路径

cd ../../usr/local/bin

具体使用时依据情况选择方便的方式就行了。

Linux文件的基本操作

新建

新建空白文件

使用touch命令新建空白文件

image

新建目录

使用mkdir命令创建新目录:

mkdir dir

# 也可以使用-p参数指定多级目录
mkdir -p first/second/third

复制

复制文件

使用cp命令复制一个文件到指定目录


# cp [file] [directory]

cp test first/second/third
复制目录

直接使用cp进行复制会报错(可以自己试试),想要成功的复制目录,必须使用-r或者-R参数,表示递归复制

mkdir one
cp -r first one

删除

删除文件

使用rm命令删除文件,

rm test

# 有时候会出现权限不足的错误,这时候使用-f参数强制删除就可以了

rm -f test
删除目录

删除目录与复制目录类似,也需要加上-r-R参数

rm -r one

移动文件和重命名文件

移动文件

使用 mv(move or rename files)命令移动文件(剪切)。将文件“ file1 ”移动到 Documents 目录:

# mv [file] [directory]
mv test one
重命名文件

重用mv命令就可以实现重命名文件名了

# mv [old] [new]
mv test test2

查看文件

cat tac nl

cattac都是把文件内容打印到终端,前者为正序显示,后者为倒序显示。

nl 命令表示添加行号的并打印。

more与less

两者类似,具体使用可以通过

man more
man less

查看手册获取更多帮助

more默认显示一屏的内容,底部显示当前阅读精度,按h显示帮助,q退出,Enter显示下一行。

image

head与tail

head显示文件前十行内容,tail显示文件后十行内容,关于 tail 命令,不得不提的还有它一个很牛的参数 -f,这个参数可以实现不停地读取某个文件的内容并显示。这可以让我们动态查看日志,达到实时监视的目的。

查看文件类型

使用file命令查看文件

cc@cc-OptiPlex-3020:~$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=d0bc0fb9b3f60f72bbad3c5a1d24c9e2a1fde775, stripped
cc@cc-OptiPlex-3020:~$

小结

目录与文件的基本操作就这些了,更多信息可以查阅相关温昂和手册。

参考

实验楼

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值