文件
基本概念
linux将文件可读写的身份分为三个类型分别是:用户(owner)、所属群组(group)、其他人(others),且三种身份各有读、写、执行等权限
用户和用户组
linux是一个多人多任务的系统,为了保证个人的隐私权,所以文件属于那个用户很重要,用户组就是多个用户组成一组,组内用户可以查看组内的文件,但是其他组的用户就不能查看
文件的权限
使用 ls -al 命令可以查看文件的详细信息
从左到右依次代表:权限,链接数,文件拥有者,文件所属用户组,文件大小,修改日期,文件名 注:文件名前面带了一点的文件是隐藏文件
权限详解
权限代码的组成有十个字符,其中第一个字符代表文件的类型(目录,文件,链接文件等)详细如下:
- 为【d】则是目录
- 为【-】则是文件
- 为【|】则是链接文件
以上三种是最常见的类型,还有c(端口设备),b(周边设备)等
接下来的字符中,以三个字符为一组,且均是 rwx 的三个字母组成,详细如下:
r代表的是可读readw代表的是可写x代表的是可执行权限(注:x在类型是目录时,没有x权限是不能进入目录的)
文件权限的组合字母位置是不会变的,若无此权限则对应的字母用 - 代替
注意:第一组代表文件拥有者的权限,第二组代表同一用户组的权限,第三组代表其他人的权限
修改文件属性于权限
//用法chgrp groupname filename
chown
修改文件的拥有者和修改用户组的使用差不多
// 用法chown 账号名称 文件/目录
chmod
修改文件权限的命令是 chmod 但是方式有两种,一种是用数字,另一种是使用符号
数字的方式
每一个权限符号对应的数字如下:
r: 4w: 2x: 1
在设置每一类用户的权限的时候需要将它们的权限值进行相加,例如:-rwxrwx--- 权限,文件的拥有者的权限值的总和是:4+2+1=7,同一用户组下的用户权限值:4+2+1=7
其他用户的权限则是:0+0+0=0,🆗,理解这个之后问题来了,当我们需要将其他用户的权限修改为 rwx 时,我们可以这样做:
chmod 777 文件名
符号的形式
个人看法:相对数字的方式修改用户对文件的权限符号的方式显得不是很方便
因为使用符号的方式需要指定用户类型,所以Linux使用:u,g,o,a代表不同的用户类型
- u 代表文件拥有者
- g 代表同一组下的用户
- o 代表其他用户
- a 代表所有类型用户
命令的使用方式如下:
chmod u=rwx,g=rw,o=r 文件名// 这条命令的作用就是设置文件拥有者的权限是 rwx,同一组的用户的权限是 rw,其他用户的权限是 r
也可以使用a,给所有用户的加上相同的权限
+,-的用法
Linux的目录
相对路径和绝对路径
绝对路径是指从根目录 / 写起的路径如:/etc/…
相对路径则是指不是从根目录写起的路径
几个特殊目录
- . 一个点代表此层目录
- .. 两个点代表上一层目录
- 代表前一个工作目录
- ~ 代表目前使用者的家目录
- ~wen 代表wen这个用户的家目录
常见的几个目录有关的命令
- cd 切换目录
- ls 文件与目录的查看
- pwd 显示当前目录
- mkdir 建立一个新目录
- rmdir 删除一个空目录
rmdir不能删除不为空的目录,若需要则使用 rm -rf
复制、删除与移动文件
cp 参数 源文件 要复制到的文件
- -a
- -i 若目标文件已存在,在覆盖时会先询问操作的进行
- -p 连同文件的属性(权限,用户,时间)一起复制过去,而非使用默认属性
- -r 递归复制,用于目录的复制操作
列出常见的几个(还有几个没列出)
cp命令使用很重要,其实也很复杂,这里只是简单的了解
rm的参数
命令的格式 :
rm 参数 文件或目录
- -f 忽略不存在的文件不会出现警告信息
- -i 交互模式,在删除前询问使用者是否操作
-
文件内容的查看
cat 直接查看文件内容
- tac 从最后一行开始直接查看内容
- nl 显示的时候同时输出行号
- more 一页一页的显示文件内容,不会一下都显示出来很友好
- less 和more类似,但是更好的是可以向前翻页
- head 只看前几行
- tail 只看后几行
- od 以二进制的方式读取文件
文件查找和文件内容的查询
文件内容查找
通常使用 grep 命令,可以通过一些正则表达式来检索到需要查找的内容
- -b
- -c
- -i
- -h
- -l
文件查找
find 命令,该命令的功能是在指定的目录开始,搜索它的所有子目录,查找满足条件的文件
格式 find [option] filename
文件与目录的默认权限与隐藏权限
Linux中新建一个文件或目录时会有默认权限,这个默认的权限就和 umask 有关了。可以查看,具体默认值在下面
查看默认权限
// 两种方式,一是直接查看,而是加上-S的参数umaskumask -S
一般(没有除去umask)默认情况如下
如果是新建文件则是: -rw-rw-rw- 最大666
如果是新建文件夹则是: drwxrwxrwx 最大777
最后除去umask的默认值是:
比如 umask = 022
则代表 user 不用减权限, group 被减掉了 w 权限, others 被减去了 w 权限。得到最终的权限是: -rw-r--r--
理解为 -rw-rw-rw- 减去 ——-w—w-
tar包和压缩
tar 命令可以将许多的文件打包成一个归档文件(tar包),和压缩不一样
- -c 创建新的tar包
- -f 指定包名
- -x 还原tar包
- -t 列出tar包中的内容
- -v 显示指令执行过程
- -z 使用gzip压缩
- -j
- -C
创建一个tar包
tar -cf etc.tar /etc# 注意命令后面接的目录是你需要打包的目录
查看包的内容
tar -tf etc.tar
还原tar包
tar -xf etc.tar
