Linux Tip 03 文件类型属性、权限管理、拓展名、主要目录介绍、文件的相关操作、文件内容查看、文件的修改、文件和目录的权限、文件的查找

一、用户的存储

在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 与系统运行过程有关

六、主要目录的介绍

/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 …代表上一层目录 也可以使用 …/

七、目录的相关操作

目录的查看
. 代表此层目录
.. 代表上一层目录
- 代表前一个目录
~ 代表目前使用者身份所在的家目录
~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 将结果打印到屏幕上(默认操作)
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值