Linux基础学习 | 目录及文件
一、目录结构
Linux目录采用树形结构,以根目录/向下延伸呈一个倒置的树的形状。

每个目录下都有其相对应的子目录,而子目录中又有其子目录的存在,就像一棵树的树枝分叉,所有的目录层次结构分明,每个目录也都有其相对用的作用。可以通过在shell中输入ls命令查看目录及文件,其中每个目录下都有两个特别的目录. 和 ..目录,分别表示 当前目录 和 上层目录,可以通过ls -l命令查看。
各目录简述解释,详情参考菜鸟教程
/boot:与内核、启动有关的文件
/bin: 存放命令、或者可执行程序
/dev: 存放设备文件
/etc: 系统配置文件
/lib: 库文件
/mnt: 临时挂载点
/proc:虚拟目录,对内存中的信息映射到该目录下
/root: 管理员的家目录
/home:普通用户的家目录
/usr: 系统运行过程中不经常改变的文件
/var: 系统运行过程中常改变的文件
/tmp: 临时目录,所有用户都可以访问
相关命令
cd |
切换目录(Change Directory) |
|---|---|
| cd … | 回到上一层目录 |
| cd 路径 | 进入该目录(可以是相对路径,也可以是绝对路径) |
| cd ~ | 进入家目录,即home/下与用户名同名的目录 |
| cd - | 在最近使用过的两个路径切换 |
| 其他命令 | 解释 |
|---|---|
| pwd | 显示当前位置(Print work diretory) |
| mkdir | 创建目录(Make Directory) |
| rmdir | 删除空目录(Remove directory) |
| rm -r | (-R, --recursive)递归删除,用于删除非空目录 |
| rm -rf | ( -f, --force)忽略不存在的文件,从不给出提示,常与-rf配合删除目录 |
二、文件
在Linux下有一切皆文件的说法。在Linux平台下针对不同的文件主要有以下分类。
- 普通文件用
-表示 - 目录文件用
d表示 - 链接文件用
l表示 - 设备文件用
c\d表示 - 管道文件用
p表示 - 套接字文件用
s表示
可以通过在bash命令解释器中输入ls -l命令查看
测试:如下图所示,在blog目录下打开bash命令解释器,依次输入
touch a.txt创建普通文件mkdir tmp创建目录ln -s ~/Desktop/code ./code_tmp创建软连接mkfifo 1.pipe创建管道文件
输入ls -l命令查看文件属性

文件属性
使用ls -l可以查看文件的详细参数

文件权限
其中权限部分又分为属主权限、属组权限、和其他人权限。
因为Linux平台支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响,同时为了互相协同工作的需要,因此Linux下文件根据用户的不同划分了以三种。
- 属主
u:文件的主人 - 属组
g:同组人 - 其他
o:其他用户
权限主要分为一下几类
- 读权限
r,可以用数字4表示 - 写权限
w,可以用数字2表示 - 执行权限
x,可以用数字1表示 - -没有权限,可以用数字
0表示
特殊权限
SUID权限
文件在执行阶段具有文件所有者的权限
在/bin目录下的passwd命令就具有该权限,因此普通用户可以执行该命令修改自己的密码。

我们可以看到该权限占据了写权限的位置,因此用S表示具有该权限的同时还具有x权限,s则表示不具备x权限
SGID权限
文件在执行阶段具有文件同组人的权限
如下图,我们在tmp中用root用户创建一个1.c文件,可以看到文件的属主和属组都是root所拥有的。

接下来我们返回上层目录在tr用户下设置tmp属组的权限为s权限,再次进入tmp目录用root用户创建2.c文件,可以看到这次文件的属组变成了我们的普通用户tr所有。

我们在tr用户下把tmp目录加上了s权限,当其他用户 在tmp目录下创建文件时都会把文件属性设置为该目录的属组属性。
设置权限
使用chmod命令可以设置文件权限。一般分两种设定法
- 文字设定法
- eg:
chmod u+x a.c给a.c文件属主增加执行权限 - eg:
chmod g-w a.c给a.c文件属组取消写权限 - eg:
chmod a-w a.c给a.c文件所有用户取消写权限
- eg:
- 数字设定法
- eg:
chmod 746 a.c给a.c文件的属主设置”读“”写“”执行“权限,属组设置”读“权限,其他用户设置”读“”写“权限
- eg:
相关命令:
| 文件操作命令 | 解释 |
|---|---|
| touch | 创建或者修改文件 |
| rm | 删除文件或者目录 |
| tree | 命令可以以树状图列出文件目录结果 |
| cp | 复制文件或者目录 |
| mv | 移动文件/目录或者重命名 |
| 查看文本命令 | 解释(具体信息请使用man帮助手册查看) |
|---|---|
| cat | 查看文件内容,cat 文件名 |
| more | 同上,more 文件名 |
| less | 同上,less 文本名 |
| head | 查看文本开头信息,head 文件名 |
| tail | 查看文本尾部信息 tail 文件名 |
| echo | 在终端显示指定内容,可以用> <等重定向命令改变输出为止 |
Linux基础学习 | 目录及文件的更多相关文章
- linux基础学习目录
以下用一个表格来罗列linux默认的目录或文件及其用途: 目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - / ...
- Linux 基础学习1
目录 Linux 基础学习 用户登录 终端 交互式接口 bash 修改ssh连接慢的步骤 命令提示符 显示提示符格式 命令 别名 命令格式 获取命令的帮助信息 man bash 快捷键 tab 键 引 ...
- [linux基础学习]默认的目录介绍
以下用一个表格来罗列linux默认的目录或文件及其用途: 目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - / ...
- Linux基础学习系列目录导航
Linux基础学习-通过VM安装RHEL7.4 Linux基础学习-命令行与图形界面切换 Linux基础学习-基本命令 Linux基础学习-RHEL7.4之YUM更换CentOS源 Linux基础学习 ...
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- linux基础学习路线&review
linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...
- Linux 基础学习2
目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
随机推荐
- Service层抽象规范
Service层是整个web系统的负责业务逻辑一块,最有必要实现抽象,Service层要达到复用性,低耦合性.那么该如何抽象呢?一般遵循以下原则 1.单一职责(SRP) 2.开放-封闭(OCP) 3. ...
- 给页面添加Canvas鼠标光标星星跟随动画特效
素材来源:https://www.lanrenzhijia.com/others/5024.html 简单说下我自己的步骤: 把<script type="text/javascrip ...
- 如何设置计算机IP地址
今天公司变更网络环境让同学们设置IP地址,我竟然不会,我问了一句IP还能自己设置啊,.low爆了,于是赶紧百度,现总结如下 IP地址的设置一种是静态IP,一种是自动获取IP(之前都是自动获取的吧,而且 ...
- 『德不孤』Pytest框架 — 10、setUp()和tearDown()函数
目录 1.setUp()和tearDown()函数介绍 2.setUp()和tearDown()函数作用 3.setUp()和tearDown()函数说明 4.示例 (1)方法级 (2)类级 (3)函 ...
- shuffle()和sns.FacetGrid()定义
- Docker容器和虚拟机区别
Docker .虚拟机之间区别 虚拟机技术的缺点: 1.资源占用太多 2.冗余步骤多 3.启动很慢 容器化技术 1.服务器资源利用率高 2.比较轻量化 3.打包镜像测试,一键运行 比较Docker和虚 ...
- CSS自定义属性与前端页面的主题切换
基于级联变量的CSS自定义属性,已经出来很多年了. 虽然有less.sass等预处理器大行其道,但是自定义属性也有它的特点和用处,诸如在js中读写.作用域设置等等,在处理UI主题切换等功能上也发挥着很 ...
- fashion_mnist 计算准确率、召回率、F1值
本文发布于 2020-12-27,很可能已经过时 fashion_mnist 计算准确率.召回率.F1值 1.定义 首先需要明确几个概念: 假设某次预测结果统计为下图: 那么各个指标的计算方法为: A ...
- 企业网络防范Serv-U的漏洞
很多企业都将自己的网站建立在互联网上,日常有专门的维护人员进行维护,很多时候对网站的更新当然不是直接在服务器上操作,而是将要更新的网页页面通过FTP工具上传到服务器上实现.因此必须要在服务器上搭建起一 ...
- js中的函数嵌套和闭包
小编已经有一段时间没有更新文章了,最近一直在考虑接下来要更新什么内容.接下来,小编会围绕以下三个方面更新文章.实际项目中遇到的问题和解决方案.Vue源码解析.代码重构.关于数据可视化.小编也会按照这个 ...