Linux基础操作4(文件概念,属性及使用)

简介: Linux基础操作4(文件概念,属性及使用)

前面的文章稍微提起过Linux的文件系统,并提到文件挂载的概念,这篇文章,咱们详细的讨论一下Linux的文件系统以及挂载的概念,并介绍一些简单的对文件的操作


1.windows与linux的磁盘区别

我们日常接触使用windows系统较多,知道Windows的磁盘可以分为很多块,有C盘,D盘,E盘等等,各个磁盘之间相互独立,互不干扰,且根据自己的需求来分,很多人喜欢开个D盘来放自己的东西,防止增删时影响到C盘里的系统文件,每一个磁盘都内置有文件系统,使存储的文件信息更加直观的展现给用户看,不然都是一些二进制数,我们是看不懂的

系统的文件信息都被默认放到了C盘里,个人信息被放到了D盘,进入C,D盘里能看到一些文件,文件里可能还有其他文件,画出来就像倒着的树状图一样,称为倒树状结构,最上面的(C:) 与 ( D:) 称为树根。因为C,D互不干扰,分别为两个不同的树根,因此Windows采用的文件结构是多根倒树状结构。

下面我们再聊聊linux的文件结构,不同于windows,linux只有一个树根,即 ' / ' 根目录,其他所有的文件都在这个根目录的下面

那么linux的磁盘空间该如何分配呢,一般会划出一块很大的空间直接给 ' / ',但如果想细分的话,可以指定单独的一块空间给某个目录,那这个目录的数据都会存放到这块单独的空间里,这个目录也被称为挂载点。例如,我们将一大块空间分给' / '之后,再拿出一小块空间,把这一小块空间分配给 '/boot ' ,那么'/boot '就被称为一个挂载点,以后'/boot '里的数据都会存放到这一小块空间里,不会占用' / '的空间。我们外插入一个u盘时,Linux里有专门放u盘数据的文件,插入后,u盘会挂载到这个文件上面,进入这个文件,就能够访问u盘里的数据。


2.Linux的文件目录信息

下面说说Linux的一些常见目录及所包含的信息

/root :管理员的家目录

/home:普通用户的家目录

/etc:系统的配置文件

/var:系统服务的数据

/tmp:系统临时文件目录

/usr/bin:用户命令

/usr/sbin:管理员命令

/boot:系统启动时所需要的文件

/sys:反应系统当前运行状态

文件的命名规则:

除了字符' / ',其他字符都是可以用来命名的,Linux的文件命名是区分大小写的,且文件名的长度不能超过255个字符

文件所在的路径:

绝对路径:以' / '开始的目录,是文件位置的全路径,在任何位置都可以使用

(从根开始一直到要找的文件的路径)一般配置信息时会用到

相对路径:不以' / '开始的目录,只有在特定的位置才能使用


3.Linux对文件及目录进行操作的一些命令

cd:改变目录

cd 后面接上绝对路径或者相对路径,就移动到这个目录下面。输入命令pwd,可以查看当前所在的目录

输入命令 cd ..  会移动到当前目录的上一级目录,直接输入cd 或 cd ~ 会移动到当前用户的主目录,如果在~后面接上用户名,会移动到这个用户的主目录下

输入命令 cd - 能够实现两个热点路径的快速切换

cp:拷贝文件和目录

通过man帮助,我们查到CP的语法格式为:

cp  [option]...  SOURCE  DEST

[option]就是可接的一些选项了,SOURCE是我们要复制的文件或目录,DEST表示要复制到的目的地,SOURCE可以有多个文件,而DEST目的地只能有一个。

上图的操作是把 /home 目录下的 practice 复制到 /root 目录下的 practice-2,因为 practice 和  practice-2 都是文本文件,因此会把 practice -2 中的内容都替换成 practice。如果目的地是一个目录,那么会把这个文件放到目的地目录里,如果目标文件不存在,也就是practice-2 不存在的话,会创建一个practice-2文件,并把practice的内容复制到里面。

mv:移动,重命名文件和目录

语法格式和cp是类似的

上图就是把/home里的 haha 文件移动到 /root 里

mv还有重命名的作用,接上要改名的文件,后面再跟上要改的名字就能完成改名,上图就是我们把haha文件改名为kaka。注意,要改的名字不能和当前文件夹里的文件重名,否则会导致内容覆盖。

创建和删除文件

创建文件使用命令touch,如果要创建的文件已经存在,则更新该文件的时间戳

通过命令stat 可以查看一个文件的时间戳

时间戳:

access time:文件最后一次被访问的时间  (访问时间)

modify time:文件内容最后一次被修改的时间 (修改时间)

change time:文件状态最后一次发生变更的时间  (状态时间)

删除文件命令 rm 即 remove

相关选项:-f 强制删除 ,-r 递归删除,即删除目录里的全部文件,-i交互式,即删除有提示

创建及删除目录

创建目录的命令为 mkdir

要创建多级目录可以使用选项 -p ,-pv可以查看每一级目录被创建的过程。

rmdir只能用来删除空目录,想删除某个目录的话,不能在要删除的目录下使用 rm,这样是识别不到要删除的目录的,要退回上一级目录或者使用绝对路径,非要在要删除的目录下删除该目录的内容,可以在使用rm 时加上 *,代表删除当前目录下的所有内容,但是不包括当前目录

简单来说就是你可以使用rm * 删除当前目录下的所有内容,但是删不掉当前目录,要么退回到上一级目录去删,要么就使用绝对路径

文件属性

命令 file或是 stat 可以查看指定文件的类型属性,文本文件,压缩文件等

文件的压缩

Linux的文件压缩命令有很多,比较常见的是zip 和 tar ,zip是压缩命令,unzip是解压命令,tar是集压缩和解压于一体的命令,通过加不同的选项实现不同的功能

tar -t 不打开压缩文件,直接查看压缩包里的内容, -v 压缩/解压时,显示包里的内容

-C 解压到指定路径

zip  压缩包名  待压缩的文件或目录

如上图,压缩test目录,事实上我犯了一个错误,因为我仅仅只是压缩了目录,并没有压缩目录里的文件,要想连目录里的文件一同压缩,就要加上递归选项 -r

文件的搜索

通过命令 find 来实现文件的搜索,具体的用法大家可以查阅一下,因为这个命名有关的选项还是蛮多的

需要注意的是这个命令不仅会在内存中搜索,还会跑到磁盘中搜索,搜索效果挺好,但是也导致效率并不是很高,大家斟酌使用吧

目录
相关文章
|
14天前
|
Linux
Linux下使用ls查看文件颜色全部为白色的解决方法,以及Linux中文件颜色介绍
Linux下使用ls查看文件颜色全部为白色的解决方法,以及Linux中文件颜色介绍
60 2
|
15天前
|
Linux
Linux 服务器下载百度网盘文件
本教程指导如何使用 `bypy` 库从百度网盘下载文件。首先通过 `pip install bypy` 安装库,接着运行 `bypy info` 获取登录链接并完成授权,最后将文件置于指定目录并通过 `bypy downdir /Ziya-13b-v1` 命令下载至本地。
20 1
Linux 服务器下载百度网盘文件
|
3天前
|
Linux Shell Windows
linux基础操作
本文介绍了Linux命令的基础操作,包括查看内核版本、主机名、IP/MAC地址的方法,以及命令符的含义。同时,对比了Linux与Windows的区别,如路径表示法和文件执行方式的不同。文中还详细说明了如何查看CPU型号/频率及内存大小,切换目录、重启系统、查看历史命令等基本操作,并介绍了使用`date`命令修改和查看时间、使用`du`命令统计硬盘空间大小,以及创建软链接和硬链接的方法。最后,提供了获取命令帮助的两种方式。
|
8天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
17天前
|
Linux
linux 删除乱码文件名的文件
【8月更文挑战第26天】当遇到文件名显示为乱码,导致无法正常通过键盘输入文件名进行删除操作时,可以利用鼠标的复制功能配合`rm`命令实现删除。对于文件夹的删除,可使用`rm -rf 目录名`。然而,有时这种方式仍无法删除某些特殊乱码文件,这时可以通过获取文件的i节点号(使用`ls -i`或`ll -i`命令查看)并执行`find -inum [节点号] -delete`来进行删除。这种方法特别适用于处理那些因文件名问题而难以删除的情况。
64 2
|
18天前
|
JSON Linux 网络安全
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
|
13天前
|
JavaScript Linux
Linux中和文件相关的操作
Linux中和文件相关的操作
23 0
|
16天前
|
Linux
Linux0.11 文件打开open函数(五)
Linux0.11 文件打开open函数(五)
26 0
|
18天前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
|
18天前
|
Java Linux 网络安全
【Azure 应用服务】App Service for Linux环境中,如何解决字体文件缺失的情况
【Azure 应用服务】App Service for Linux环境中,如何解决字体文件缺失的情况

热门文章

最新文章