Linux基础知识 | 文件与目录大全讲解
nanshan 2025-01-11 15:52 8 浏览 0 评论
1. linux文件权限与目录配置
1. 文件属性
Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各 read/write/execute 等权限
文件的权限与类型解释:
1 为:代表这个文件名为目录或文件,本例中为文件(-),d为目录,l为链接文件 ……
234为:owner拥有者的权限,本例中为可读、可写、可执行(rwx)
567为:group同群组使用者权限,本例中为可读可执行(rx)
890为:others其他使用者权限
2. 更改文件属性与权限
chgrp: 改变文件所属群组,chown: 改变文件拥有者,chmod: 改变文件的权限
- chgrp:要被改变的群组名称必须要在/etc/group文件内,我要把tempFile文件夹的所属群组改为testing,命令为:chgrp testing tempFile,加上-R : 进行递回(recursive)的持续变更,即连同次目录下的所有文件、目录都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况
- chown:使用者必须是已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者,我要把tempFile文件夹的拥有者改为testown,命令为:chown testown tempFile,加上-R:即连同次目录下的所有文件、目录的拥有者都更新为testown,一些其他用法:chown testown:testing tempFile表示把tempFile的拥有者改为testown,群组改为testing
- chmod:
- 数字类型改变文件权限:各权限的分数分别为r:4、w:2、x:1,所以0-7分别为:
- 0:-、1:x、2:w、3:wx、4:r、5:rx、6:rw、7:rwx,
- 例如,将tempFile文件夹的三种身份(owner/group/others)的权限都改为rwx的命令:chmod 777 tempFile,加-R:即连同次目录下的所有文件都会变更
- 符号类型改变文件权限:
- u: user,g: group,o: others,a: all
- 例1:设置tempFile文件的权限成为“-rwxr-xr-x”时:chmod u=rwx,go=rx tempFile
- 例2:增加tempFile文件每个人都可写入的权限:chmod a+w tempFile
- 例3:去掉tempFile文件可执行权限:chmod a-x tempFile
3. 目录与文件权限的意义

如果在某目录下不具有x的权限, 那么就无法切换到该目录下,也就无法执行该目录下的任何指令,即使具有该目录的r 或w的权限,所以要开放目录给任何人浏览时,至少要给予r及x的权限,但w权限不可随便给
4. linux目录
目录 | 文件内容 |
bin | 系统有很多放置可执行文件的目录,但/bin比较特殊。因为/bin放置的是在 单人维护模式下还能够被操作的指令。 在/bin下面的指令可以被root与一般 帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的 指令。 |
/boot | 这个目录主要在放置开机会使用到的文件,包括Linux核心文件以及开机菜 单与开机所需配置文件等等。 Linux kernel常用的文件名为:vmlinuz,如果 使用的是grub2这个开机管理程序, 则还会存在/boot/grub2/这个目录 |
/dev | 在Linux系统上,任何设备与周边设备都是以文件的型态存在于这个目录当 中的。 你只要通过存取这个目录下面的某个文件,就等于存取某个设备 ~ 比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd等等 |
/etc | 系统主要的配置文件几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。一般来说,这个目录下的各文件属性是可以让一 般使用者查阅的, 但是只有root有权力修改 |
/lib | 系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库, 以及 在/bin或/sbin下面的指令会调用的函数库 |
/lib64 | 用来存放与 /lib 不同的格式的二进制函数库,例如支持 64 位的 /lib64 函数 库等 |
/media | media是“媒体”的英文,顾名思义,这个/media下面放置的就是可移除的设备! 包括软盘、光盘、DVD等等设备都暂时挂载于此。常见的文件名 有:/media/floppy, /media/cdrom等等 |
/mnt | 如果想要暂时挂载某些额外的设备,一般建议可以放置到这个目录 中。 在早时候,这个目录的用途与/media相同,只是有了/media之后,这个目录就用来暂时挂载用了 |
/opt | 这个是给第三方协议软件放置的目录,自行安装额外的软件(非原本的distribution提供的),那么也能够将软件安装到这里来 |
/run | 存放开机后所产生的各项信息 |
/sbin | Linux有非常多指令是用来设置系统环境的,这些指令只有root才能够利用来“设置”系统,其他使用者最多只能用来“查询”而已。 放在/sbin下面的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。 至于某些服务器软件程序,一般则放置到/usr/sbin/当中。至于本机自行安装 的软件所产生的系统可执行文件(system binary), 则放置到/usr/local/sbin/ 当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等 |
/srv | srv可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要 取用的数据目录。 常见的服务例如WWW, FTP等等。举例来说,WWW服务 器需要的网页数据就可以放置在/srv/www/里面 |
/tmp | 这是让一般使用者或者是正在执行的程序暂时放置文件的地方。 这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要数据不 可放置在此目录 |
/usr | /usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据;所有系统默认的软件都会放置到/usr, 系统安装完时,这个目录会占用最多的硬盘容量 |
/var | 主要为放置变动性的数据,如果/usr是安装时会占用较大硬盘容量目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file,run file),或者例如Mysql数据库的文件等 |
/home | 这是系统默认的使用者主文件夹(home directory)。在新增一个一般使 用者帐号时, 默认的使用者主文件夹都会规范到这里来 |
/root | 系统管理员(root)的主文件夹 |
/lost+found | 这个目录是使用标准的ext2/ext3/ext4文件系统格式才会产生的一个目录, 目的在于当文件系统发生错误时, 将一些遗失的片段放置到这个目录下。 不过如果使用的是 xfs 文件系统的话,就不会存在这个目录 |
/proc | 这个目录本身是一个“虚拟文件系统(virtual filesystem)”,他放置的数据都是在内存当中, 例如系统核心、行程信息(process)、周边设备的状 态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间 |
/sys | 这个目录跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录核心与系统硬件信息较相关的信息。 包括目前已载入的核心模块与核心侦测到的硬件设备信息等等。这个目录同样不占硬盘容量 |
Linux目录树:
2. Linux文件与目录管理
1. 目录与路径
. | 代表此层目录 |
.. | 代表上一层目录 |
- | 代表前一个工作目录 |
~ | 代表**“目前使用者身份”**所在的主文件夹 |
~account | 代表 account*这个使用者的主文件夹(account是个帐号名称) |
相关命令:
cd | 变换目录 |
pwd | 显示当前的目录 |
mkdir | 创建一个新的目录,加-p可以创建一连串层级的目录: mkdir -p /home/bird/testing/test1 |
rmdir | 删除一个空的目录,例如:rmdir -p folder1/folder2 表示删除名字为folder1里面的folder2这个子目录,如果删除folder2这个子目录后,folder1也成了空目录的话,那么folder1也会一同被删除, |
rm | rm -rf tempFile,强行删除非空的文件夹,无需询问 |
可执行文件路径的变量: $PATH
echo $PATH可以显示出路径,$表示后面接的是变量,结果:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有“顺序”之分的
2. 文件与目录管理
ls 命令用来查看目录的内容
-a | 列举目录中的全部文件,包括隐藏文件 |
-l | 列举目录中细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等 |
-f | 列举的文件显示文件类型s |
-r | 逆向,从后向前地列举目录中内容 |
-R | 递归,该选项递归地列举当前目录下所有子目录内的内容 |
-s | 大小,按文件大小排序 |
-h | 以人类可读的方式显示文件的大小,如用 K、M、G 作单位 |
ls -l tempFile | 列举文件 tempFile 的所有信息 |
3. 创建(touch)|复制(cp)|删除(rm)|移动(mv)
- touch命令:
创建一个新文件:touch fileName
- cp命令:
cp 命令用来拷贝文件,要复制文件,输入命令cp <source filename> <target filename>
cp t.txt Document/t 该命令将把文件 t.txt 复制到 Document 目录下,并命名为 ts
-i 互动:如果文件将覆盖目标中的文件,他会提示确认
-r 递归:这个选项会复制整个目录树、子目录以及其他
-v 详细:显示文件的复制进度
- mv命令:
mv 命令用来移动文件
-i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认
-f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项
-v 详细:显示文件的移动进度
mv t.txt Document 把文件 t.txt 移动到目录 Document 中
- rm命令:
rm 命令用来删除文件
-i 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除进度
-r 递归:将删除某个目录以及其中所有的文件和子目录
rm t.txt 该命令删除文件 t.txt
3.查看文件内容
1、cat 由第一行开始显示文件内容
直接查阅一个文件的内容cat fileName
2、tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
由最后一行到第一行反向在屏幕上显示出来tac fileName
3、nl 显示的时候,顺道输出行号
可以将输出的文件内容自动的加上行号nl fileName
4、more 一页一页的显示文件内容
nl 与 cat, tac 等,都是一次性的将数据一口气显示到屏幕上面,而more可以进行一页一页翻动 more fileName,在 more 这个程序运行过程中,有几个按键可以按:
5、less 与 more 类似,但是比 more 更好的是,他可以往前翻页
less 的用法比起 more 又更加的有弹性,在 more 的时候,并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup]、[pagedown] 等按键的功能来往前往后翻看文件
6、head 只看头几行
head [-n number] fileName,默认的情况中,显示前面十行!若要显示前 20 行:head -n 20 fileName
7、tail 只看尾巴几行
tail [-n number] fileName,默认的情况中,显示后面十行!若要显示后 20 行:tail -n 20 fileName
实战:假如我想要显示 /etc/man_db.conf 的第 11 到第 20 行
head -n 20 /etc/man_db.conf | tail -n 10,这两个指令中间有个管线 (|) 的符号存在,这个管线的意思是:“前面的指令所输出的讯息,请通过管线交由后续的指令继续使用”的意思
8、od 以二进制的方式读取文件内容
od [-t TYPE] 文件,
4.默认权限和隐藏权限
1. 文件默认权限umask
当创建一个新的文件或目录时,他的默认权限是什么呢,可以用umask命令查看
直接输入:umask,会得到一串数字,例如0022,与一般权限有关的是后面三个数字,第一个数字是特殊权限用的,先不要理会。当加入 -S (Symbolic)这个选项,就会以符号类型的方式来显示出权限 umask -S,结果:u=rwx,g=rx,o=rx
0022的后三个数字分别表示owner、group、others被拿掉的权限,owner拥有rwx三个权限,group和others被拿了w权限,因为r、w、x分别代表4、2、1
在默认的情况中, root 的 umask 会拿掉比较多的属性,root 的 umask 默认是 022, 这是基于安全的考虑啦~至于一般身份使用者,通常他们的 umask 为 002 ,亦即保留同群组的写入权力
那怎样才能修改这些默认权限呢,比如要把默认权限改为002,直接输入umask 002即可
2. 文件隐藏属性
chattr (设置文件隐藏属性)
lsattr(显示文件隐藏属性)
3. 观察文件类型
file fileName 用于查看某个文件的类型、格式等,如下所示:
[root@VM-20-9-centos public]# file robots.txt
robots.txt: ASCII text
[root@VM-20-9-centos public]# file .DS_Store
.DS_Store: Apple Desktop Services Store
4. 指令与文件的搜寻
1.指令文件名的搜寻
which:寻找命令的可执行文件
-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称
[root@VM-20-9-centos /]# which -a ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@VM-20-9-centos /]# which -a cat
/usr/bin/cat
[root@VM-20-9-centos /]# which -a vim
/usr/bin/vim
[root@VM-20-9-centos /]# which -a ifconfig
/usr/sbin/ifconfig
2.文件文件名的搜寻
whereis:在一些特定的目录中寻找文件或文件名
[root@VM-20-9-centos /]# whereis vim
vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
[root@VM-20-9-centos /]# whereis ifconfig
ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[root@VM-20-9-centos /]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz
whereis因为只查找了特定的目录,所以查找速度快,可以用whereis -l查看一共查找了哪些目录,而find的查找速度却要慢,因为它直接搜寻磁盘
locate:locate是在已创建的数据库 /var/lib/mlocate/ 里面搜寻数据,所以不用直接在去硬盘当中存取数据,所以速度快,而数据库的创建默认是每天执行一次,所以当新建了文件或目录后需要更新数据库,才能找到文件,命令是 updatedb
updatedb:根据 /etc/updatedb.conf 的设置去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库文件
[root@VM-20-9-centos /]# locate -l 2 public
/etc/firewalld/zones/public.xml
/etc/firewalld/zones/public.xml.old
[root@VM-20-9-centos /]# locate -l 5 passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd
如果感觉小编写得不错,请素质三连:点赞+转发+关注。我会努力写出更好的作品分享给大家。更多JAVA进阶学习资料小编已打包好,可以关注私信找我领取哦
- 上一篇:Linux系统文件类型和文件权限详解
- 下一篇:Linux系统各个文件介绍
相关推荐
- 教你一个解决手机卡顿的方法(10秒解决手机卡顿问题)
-
我们的手机天天刷头条,看视频,用了一阶段时间以后,就时不时的发生卡顿现象。昨天我的手机就发现了这个问题。友友们,你们遇到过这样的问题吗?你们都是怎样解决的?我看了一眼我的粉丝情况,头条君给我分析的很精...
- 手机视频缓存清理,3步彻底清空,告别卡顿
-
在我们使用手机观看视频的过程中,经常会产生大量的缓存垃圾,这些垃圾文件不仅占用了手机的存储空间,还可能导致手机卡顿和运行缓慢。然而,你知道如何彻底清空手机的视频缓存,让手机恢复流畅的使用体验吗?在本文...
- 关手机这个开关,轻松提升流畅度!
-
关闭手机这个开关,跟新买的一样流畅。手机不要再清理垃圾了,只要关闭这个开关,手机就会和新买的差不多,丝滑流畅不卡顿。其实抖音里就隐藏着一个小开关,每天刷过的视频都会保存在手机里,如果一直不清理,手机就...
- 如何清理今日头条和西瓜视频的内存,让手机流畅不卡顿?
-
对于老年人而言,今日头条和西瓜视频能带来丰富的资讯与娱乐。然而,随着使用时间的增加,这些应用会占用大量手机内存,致使手机运行卡顿。那该如何解决呢?接下来,我将用最简单易懂的方式教老年人清理今日头条和西...
- 视频在线如何转换格式?好用不卡顿的三种转换办法
-
转换视频格式目前来说已经是很熟练的操作了,但是还有些用户可能还是不知道,小编今天就特意给大家带来一些小众才知道的转换教程,让新手也能快速的上手去转换视频格式,以后获取到视频就不怕内容丢失了,视频的格式...
- 如何把视频慢放处理?这几个慢放方法记得收藏
-
如何把视频慢放处理?如果你想让视频慢放,可能是因为你想放慢一些精彩的瞬间,或者你想制作一个慢动作视频。在这篇文章中,我们将介绍一些调速方法,这些方法可以有效地调整视频速度,一起来学习一下吧。方法一:使...
- 如何清理看过的视频,释放垃圾,让手机更流畅?
-
现在谁的手机上没几个短视频平台,无聊时就会刷别人的视频。可您知道吗?我们看过的内容都会被自动保存在手机里,而且很耗内存。如果长时间不释放,手机就会出现各种问题,其中最突出的就是反应慢。相信很多老年人的...
- 手机掉帧是怎么回事?刷视频的时候经常掉帧卡顿
-
手机掉帧是指在运行应用或视频时,画面出现卡顿、不流畅的现象,通常由硬件性能不足、软件优化不佳、内存占用过高、网络问题或设备过热等因素引起。尤其是在刷视频时,掉帧问题可能更为明显,以下是具体原因及解决方...
- 拍视频画面卡顿不流畅,原来是相机设置错误 #短视频拍摄
-
拍摄视频时,应该选择哪种快门速度?许多新手朋友可能会认为,快门速度越高,画面就越清晰,实则不然。因为拍摄视频时,需要考虑一个问题,即动态模糊。例如,如果设置为24帧/秒,那么每秒钟会拍摄24张图片。如...
- 手机卡顿最大原因#视频太卡怎么变流畅
-
抖音这几个开关是手机卡顿的最大原因。你是不是也会经常遇到刷视频的时候,打开一个视频之后老半天还在那转着圈圈,总觉得手机没有之前流畅了。这就说明你的手机占用的内存太多了,导致手机卡顿,使用不流畅。使用手...
- 为啥你家的玩游戏和刷视频经常性的会卡,那是你不懂这些小妙招
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:暴走的黄小猪说到网速有不少的值友都有一个共同点,那就是“卡”,那是你根本没体验过啥叫真正的网速啊,全屋零四条网络报表也花不了几个钱你们的方法...
- 电脑看视频卡顿有什么解决方法?(电脑看视频画面卡顿是什么原因)
-
电脑看视频卡顿的原因可能多种多样,包括硬件性能不足、网络问题、软件设置不当等。以下是一些常见的解决方法,帮助你改善视频播放的流畅度:一、硬件方面1.检查硬件性能:如果电脑配置较低,尤其是CPU、内存或...
- 手机Wi-Fi满格但视频卡顿,你需要这样解决
-
累了一天的打工人回家拿出手机准备玩玩游戏,看看电影时,发现网络异常卡顿,但手机又显示Wi-Fi信号满格,当咱们遇到此类问题时,这些动作能让网络恢复正常,方法如下。一、重启路由器和光猫很多家庭在安装好路...
- 视频越刷越卡?原来是路由器开启了这个功能,关闭方法来了
-
应该很多小伙伴都有过类似的经历,就是在家里长时间刷视频或者看剧的时候,网速好像会越来越慢,视频总是要加载。手机本身可能是一部分原因,但路由器也会影响,你知道吗?当我们在刷视频的,路由器会悄悄地开启大量...
- 一招解决视频卡顿的问题,改变发布渠道后,结果香了
-
最近一段时间拍了很多美景视频,编辑发布到头条后,有时一直显示在缓冲,播放不了,有时打开断断续续的,老是卡顿。导致的后果是:要么展现量很低,要么阅读量寥寥无几,这让我非常苦恼。所以再发布作品时,我只好文...
你 发表评论:
欢迎- 一周热门
-
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WindowsServer2022|配置NTP服务器的命令
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
【系统配置】信创终端挂载NAS共享全攻略:一步到位!
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)