一、用户的存储
在Linux系统中
系统上所有的账号和一般身份的用户以及root的相关信息都存在/etc/passwd这个文件中
个人的密码记录在/etc/shadow中
所有的组名都记录在/etc/group中
二、文件类型和属性
切换到root用户
su -
退出root用户
exit
查看文件
ls
ls -al 查看详细信息
ls -l 查看文件
详细信息的格式 [权限] [链接] [拥有者] [用户组] [文件容量] [修改日期] [文件名]
权限:一共有十个字符来表示
第一个字符
如果是d则是目录
如果是-代表是文件
如果是l代表是链接文件
如果是b表示为设备文件里面可供存储的周边设备
如果是c表示为设备文件里面的串行端口设备,比如鼠标键盘
接下来的字符三个为一组全都是rwx的三个参数的组合,r代表可读 w代表可写 x代表可执行。没有则是-
第一组为文件拥有者具备的权限
第二组为加入此用户组的账号的权限
第三组为非本人且没有加入本用户组的其他账号的权限
三、文件和目录的权限管理
修改文件所属用户组
被修改的组名要在/etc/group存在
chgrp
chgrp [-R] dirname/filename ...
-R代表递归实现,连带子目录一起修改
修改文件拥有者
用户必须存在于/etc/passwd才可以修改
chown
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:用户组名称 文件或目录
复制文件 同时会复制执行者的属性和权限
cp 源文件 目标文件
修改文件的权限 SUID、SGID、SBIT等特性
可以用数字或符号来进行修改
chmod
Linux中文件一共有九个基本权限
拥有者、所属群组、其他人 各自有自己的rwx
数字进行修改的话:
r:4
w:2
x:1
将三个权限相加 就是自己要修改的值
chmod [-R] xyz 文件目录
xyz 对应的就是三种用户的权限的值
chmod 777 filename
文件和目录rwx的区别
文件的r就是可以读文件
文件的w则是可以对文件编写,但是不可以删除
文件的x操作 则是可以执行文件,不依靠文件名
目录的r则是可以读取对应的目录下的文件名
目录的w则是可以修改目录下的文件名
目录的x则是可以进入到这个目录 作为工作目录 有权限进入到这个目录
四、文件的类型
常规文件:
纯文本文件
最常规的ASCLL文件 可以用cat读取对应的内容
二进制文件
linux中的可执行文件就是这个格式
数据文件
目录文件;
目录 一个属性是d
链接文件:
类似windows的快捷方式,第一个属性为l
设备与设备文件
通常集中在/dev中
分为两类:
区块设备文件:存储数据提供给接口设备,例如软盘和硬盘,比如/dex/sda 第一个属性为b
字符设备文件:一些串行端口的接口设备,例如鼠标和键盘,第一个属性为c
数据接口文件
通常用在网络上进行数据交换,启动程序监听客户端的需求,socket进行数据的沟通,第一个属性为s /run 和 /tmp中会看到 第一个属性为s
数据输送文件
FIFO文件是个特殊的文件,也就是管道,第一个属性是p,解决读写操作
五、文件的拓展名
linux没有拓展名的要求,但是拓展名可以帮助我们了解这个文件是干什么的
*.sh 脚本或批处理文件
*Z、*.tar、*.tar.gz、*.zip、*。tgz 打包的压缩文件 压缩软件不同 名字也不同
*.html、*.php 网页相关文件
文件长度的限制:
Linux中单个的文件和目录文件名的限制是255字节,一个英文字母占一个字节,一个汉字占两个字节
在linux中的文件名中尽量避免如下字符:
- ? > < ; & ! [ ] | \ ’ " ` ( ) { }
避免文件名用加减号开头
三层目录的定义
/ 根目录 与启动系统有关
/usr 与软件安装/执行有关
/var 与系统运行过程有关文章来源:https://www.toymoban.com/news/detail-409704.html
六、主要目录的介绍
/bin 存放单人维护模式下还可以被使用的命令
例如 cat chmod chown date mv mkdir cp bash 等
/boot 存放启动时会使用的文件,例如内核文件,启动引导程序
/dev 任何设备和接口设备都以文件形式存在这个目录中
/etc 系统的主要配置文件都存在这个目录,例如人员的账号密码,各种服务的启动文件
/etc/opt 存放第三方辅助软件
/etc/X11 与Xwindow有关的配置文件
/etc/sgml 与SGML格式有关的配置文件
/etc/xml 与xml格式有关的配置文件
/lib 存放系统启动时会用到的函数库,以及bin和sbin下面会调用的函数库
/media 存放的是可删除的设备
/mnt 存放暂时挂载的额外设备 例如dvd
/opt 存放第三方辅助软件
/run 存放系统启动所产生的信息
/sbin 存放系统启动过程中需要的命令,例如启动、修复、还原系统
/srv 网路服务启动后,需要的数据目录存在这
/tmp 用户和正在执行的程序暂时存放文件的地方
/usr usr的数据 可分享但是不可动
/usr/bin 所有一般用户可以使用的命令都存在这 与/bin一样
/usr/lib 与/lib一样
/usr/local 作为管理员在本机上安装的软件目录
/usr/sbin 非系统正常运行所需要的命令
/usr/share 存放只读的数据文件,包括共享文件 例如 /usr/share/man /usr/share/doc /usr/share/zoneinfo
/usr/games 与游戏比较相关的数据存在这
/usr/include c和c++的头文件与包含文件的存放在这
/usr/libexec 某些不被一般用户常用的执行文件和脚本存在这
/usr/lib<qual> 与/lib<qual> 相同
/usr/src 源代码一般存在这里
/var 存放变动性的数据
/var/cache 存放应用程序本身运行过程中产生的缓存
/var/lib 程序执行中需要用到的数据文件存放在这
/var/lock 实现对某些设备上锁
/var/log 存放日志文件
/var/mail 存放个人电子邮件
/var/run 程序或者是服务启动后,在这里存放PID 与/run相同
/var/spool 存放一些队列数据,也就是等待其他程序使用的数据,这些数据使用后通常都会被删除
/home 系统默认的家目录~代表目前这个用户的家目录 ~name 代表指定用户的家目录
/lib<qual> 存放不同格式的二进制函数库
/root 管理员的家目录
/lost+found 系统发生错误是 将片段存在这 用的是xfs系统就不存在这
/proc 作为一个虚拟文件系统
/sys 也是个虚拟文件系统,记录内核与系统硬件信息的内容
绝对路径:从根目录开始写
相对路径:开头不是根路径的就是相对路径
cd . 代表当前目录 也可以使用./
cd …代表上一层目录 也可以使用 …/文章来源地址https://www.toymoban.com/news/detail-409704.html
七、目录的相关操作
目录的查看
. 代表此层目录
.. 代表上一层目录
- 代表前一个目录
~ 代表目前使用者身份所在的家目录
~user 代表user这个用户的家目录
pwd 显示目前所在目录
pwd -p 取得非连接形式的正确路径
创建目录
mkdir [-mp] 目录名字
-m:设置文件权限,直接设置 不设置使用默认权限
-p:递归创建
mkdir-m 711 test
删除目录(只能删除空目录)
rmdir [-p] 目录名称
-p:连同上层空的目录一起删掉
执行文件路径的变量$PATH
echo $PATH 查看被定义的目录 echo 有打印 显示的意思 $修饰的就是变量
文件与目录的查看
ls [-aAdfFhilnrRSt] 文件名或者目录名
ls [--color={never,auto,always}] 文件名或目录名
ls [--full-time] 文件名或目录名
-a:显示全部的文件,包括隐藏文件(.开头)
-A:全部的文件,包括隐藏文件,但是.与..不显示出来
-d:仅列出目录本身,而不是列出目录内的文件数据
-f:直接列出结果,不进行排序(默认是按照文件名排序)
-F:根据文件、目录等信息,给予附加数据结构 *代表可执行文件 /代表目录 =代表socket文件 |代表FIFO文件
-h:将文件的容量以人类易读懂的形式列出来
-i:列出inode好吗
-l:详细信息显示
-n:列出UID和GID 并不是使用者和用户组的名称
-r:将排序结果方向输出
-R:连同子目录内容一起列出来
-S:以文件容量大小排序
-t:按照时间排序
--color=never:不要依据文件特性给予颜色显示
--color=always:显示颜色:
--color=auto:自行依据设置判断是否显示颜色
--full-time:以完整时间模式输出
--time={atime,ctime}:输出access时间或改变权限属性时间,而不是内容修改时间
ll就相当于ls- l
目录的复制
目录的复制、删除与移动
cp rm mv
cp除了可以复制文件还可以创建连接
mv不仅可以用来移动文件 还可以用来重命名
目录的复制
cp -[adfilparsu] 源文件 目标文件
cp [options] source1 source2 source3 ... directory
-a:相当于-dr --preserve=all
-d:如果源文件是链接文件,则复制的是链接文件而不是文件本身
-f:强加的意思,如果目标文件已经存在且无法开启,则删除后再尝试一次
-i:若目标文件依旧存在,覆盖时会询问操作是否进行
-l:进行硬链接的链接文件的创建,并非复制文件本身
-p:连同文件的属性一起复制过去,并非使用默认属性
-r:递归复制,用于目录的复制
-s:复制成符号链接文件,也就是类似于快捷方式文件
-u:目标文件比源文件更旧才会更新,或者目标文件不在的情况下进行复制
--preserve==all:除了-p权限的相关参数以外,加入SELinux属性links、xattr属性
目录的删除
rm [-fir] 文件或目录
-f:忽略不存在的文件,不会出现报错信息
-I:交互模式,删除前会问使用者是否操作
-r:递归删除,最常用于目录删除,非常危险
目录的移动
mv [-fiu] source destination
mv [options] source1 source2 ... directory
-f:忽略不存在的文件,不会出现报错信息
-i:如果目标文件存在则会询问是否覆盖
-u:如果目标文件存在,source比较新则更新
获取路径的文件名与目录名
获取最后的文件名
basename 目录
获取目录名
dirname 目录
八、文件内容查看
cat 由第一行开始显示文件内容
cag [-AbEnTv]
-A 相当于-vET的整合
-b 列出行号,空白行不进行标号
-E 将结尾的换行符¥显示出来
-n 打印出行号,连同空白行也会有行号,与-b不同
-T 将tab按键以^I显示出来
-v 列出一些看不出来的特殊字符
tac 从最后一行开始显示
nl 显示的时候,同时输出行号
more 一页一页地显示文件内容
空格 代表向下翻一页
Enter 代表向下翻一行
/字符串 代表在这个显示的内容中,向下查找对应的关键字
:f 立刻显示出文件名以及目前显示的行数
q 代表立刻离开more,不再显示文件内容
b或者ctrl-b 代表往回翻页,只对文件有用对管道无用
less 和more类似,但是可以往前翻页
空格 向下翻动一页
pagedown 向下翻动一页
pageup 向上翻动一页
/字符串 向下查找关键字
?字符串 向上查找关键字
n 重复前一个查找
N 反向重复前一个查找
g 前进到这个数据的第一行
G 前进到数据的最后一行
q 离开less
head 取出前面几行
head [-n number] 文件
-n 后面接数字 代表具体行数
tail 取出后面几行
tail [-n number] 文件
-n 后面接数字 代表具体行数
-f 表示持续刷新后面所接文件的内容,直到ctrl+c结束
od 以二进制的方式读取文件内容
od [-t TYPE] 文件
-t 后面接各种类型输出
a 利用默认的字符输出
c 使用ASCII 码来输出
d[size] 利用十进制来输出 每个整数占用size Bytes
f[size] 利用浮点数来输出 每个整数占用size Bytes
o[size] 利用八进制来输出 每个整数占用size Bytes
x[size] 利用六进制来输出 每个整数占用size Bytes
九、修改文件时间或者创建文件
touch
touch [-acdmt] 文件
-a 仅自定义access time
-c 仅修改文件的时间,若该文件不存在则不建立新文件
-d 后面可以接想要自定义的日期 可以用--date=="日期"
-m 仅修改mtime
-t 后面可以接自定义时间不使用目前时间 格式为[YYYYMMDDhhmm]
touch 文件名
创建一个空白文件
十、文件和目录的默认权限和隐藏权限
umask 用来指定目前用户在简历文件或目录时对的权限默认值
umask -S 采用字符形式查看默认权限
文件的隐藏属性
chattr [+-=] [ASacdistu]
+ 增加一个特殊参数
- 删除一个特殊参数
= 直接设置参数
A 存取文件的时候atime不会被修改
S 进行文件修改的时候会同步写入磁盘
a 该文件只能增加数据,不能删除也不可以修改数据,只有root才可以设置该属性
c 存储时自动压缩,读取时自动解压
d dump程序被执行时,设置d属性可以导致文件不被dump备份
i 设置文件不可以被删除、改名、设置链接 同时也无法写入和删除数据
s 文件设置了s时,如果文件被删除,将会完全从硬盘中删除,误删的话无法恢复
u 与s相反,使用u配置时,文件被删除则数据还是存在磁盘中的,可以用来恢复文件
显示文件隐藏属性
lsattr [-adR] 文件或目录
-a 将隐藏文件的属性也显示出来
-d 如果接的是目录,仅列出目录本身的属性而非目录内的文件名
-R 连同子目录的数据一并显示列出来
查看文件的基本信息
file 文件名
十一、文件的查找
由一些特定的目录中查找文件
whereis [-bmsu] 文件或目录名
-l 可以列出whereis会去查询的几个主要目录
-b 只找二进制格式的文件
-m 只找在说明文件manual路径下的文件
-s 只找source源文件
-u 查找不在上述三个项目当中的其他特殊文件
locate [-ir] keyword
-i 忽略大小写的差异
-c 不输出文件名,仅计算找到的文件数量
-l 仅输出几行的意思
-S 输出locate所使用的数据库文件的相关信息
-r 后面可接正则表达式的显示方式
find [PATH] [option] [action]
时间相关的选项有-atime、-ctime、-mtime
例如 -mtime n 代表在n天前当天修改过的文件
-mtime +n 代表n天之前修改过的文件 不包含n天
-mtime -n n天之内修改过的文件 包含n天
-newer file file为一个存在的文件,列出比file还要新的文件
与使用者和用户组有关的参数
-uid n 用户ID
-gid n 用户组ID
-user name 账户名
-group name 用户组名称
-nouser 查找文件拥有者不在/etc/passwd
-nogroup 查找文件的拥有用户组不在/etc/group中
与文件名称和权限有关的参数
-name filename 查找的目标文件名称
-size [+-]SIZE 查找的文件要比SIZE大或小 SIZE中c代表Bytes
-type TYPE f正规文件 b、c设备文件 d目录 l链接文件 ssocket p FIFO文件
-perm-mode 查找文件权限刚好等于mode的文件
-perm /mode 查找文件权限包含某一mode的文件
额外可以进行的操作
-exec command 用command命令处理查询到的结果
-print 将结果打印到屏幕上(默认操作)
到了这里,关于Linux Tip 03 文件类型属性、权限管理、拓展名、主要目录介绍、文件的相关操作、文件内容查看、文件的修改、文件和目录的权限、文件的查找的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!