linux文件、默认目录和权限
linux文件和目录
1、文件
文件:计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。
文件是计算机系统管理的基本单位。其根据存储的信息有多种分类,文档文件、图片文件、程序文件等,通常以文件扩展名声明。文件内容的魔数结构也会标明文件类型。
2、目录
计算机中的文件通过树形的结构被管理。目录,或者说文件夹是树形结构的主要单位,末端目录可以包容文件,也可以不包含。
在windows中,目录的顶点是盘符,比如C盘和D盘,也可以为了方便管理,划分其他盘符。
在linux中,目录的顶点是/,系统中的所有文件和目录都直接或间接地挂载到根目录下。
3、linux与文件
linux的理念之一,“一切基于文件”。当然,其他操作系统也是基于文件的,但linux主要作为服务器,其设计和应用都针对于文件进行,更纯粹。
4、linux路径符号
/:linux的根目录。在根目录下挂载各种文件。
~:登录用户的根目录
.:当前目录
..:上级目录
5、绝对路径和相对路径
以/开始的路径称为绝对路径
不以/开始的路径称为相对路径,其以当前位置进行计算目录位置
linux默认目录
为了方便管理,Linux在根目录下默认存在多个目录,分别用于存放不同功能的文件。
注意:默认目录并非不可更改,与普通目录一样可操作,不同的linux版本之间存在不同。同时,如果没有特殊情况,建议遵守相关规范。
- /bin:这个目录存放着最经常使用的命令
- /boot:存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /dev:该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
- /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
- /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
- /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
- /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
- /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
- /proc:存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
- /root:该目录为系统管理员,也称作超级权限者的用户主目录。
- /sbin:这里存放的是系统管理员使用的系统管理程序。
- /srv: 该目录存放一些服务启动之后需要提取的数据。
- /sys:
- /tmp:这个目录是用来存放一些临时文件的。
- /usr:用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
- var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
文件属性
ll命令可以查看当前路径下的文件属性。
文件类型
第一个字符表示文件类型。
d:目录
-:文件
l:链接文档
b:为装置文件里面的可供储存的接口设备(可随机存取装置)
c:为装置文件里面的可供储存的接口设备(可随机存取装置)
权限
接下来的九个字符分为三组,各3个相邻字符。
这三组分别表示属主权限、属组权限和其他用户权限。而每组3个字符依次表示读权限r,写权限w,执行权限x。
-
属主权限:即如果登录用户是当前文件的属主,则具有什么样的权限
-
属组权限:即如果登录用户属于当前文件的属组,则具有什么样的权限
-
其他用户权限,即如果登录用户不属于当前文件的属组,则具有什么样的权限
-
读权限r:如果具有读权限,可以读取文件内容,表示为r或者1,反之为-或0
-
写权限w:如果具有该权限,可以编辑文件内容,表示为w或者2,反之为-或0
-
执行权限x:如果具有该权限,可以执行该文件,表示为x或者3,反之为-或0
其他属性
属主:文件属于某个用户,一般是创建该文件的用户
属组:文件属于某个组,一般是创建该文件的用户所属的组
权限命令
sudo
sudo 一般指令
用超级用户权限执行该命令,要求输入密码。完成该指令后仍然是之前的用户身份。
sudo su
切换登录身份为超级管理员,要求输入密码。
chgrp
更改文件属组
用法:chgrp [选项]... 用户组 文件...
-R, --recursive 递归操作文件和目录
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
chown
更改文件属主,也可以同时更改文件属组
用法:chown [选项]... [所有者][:[组]] 文件...
-R, --recursive 递归操作文件和目录
chmod
更改文件的权限
用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
-R, --recursive 递归修改文件和目录
示例:
chmod 777 .bashrc
chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限
chmod a-x test1
chmod +x ./test.sh #使脚本具有执行权限
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码