linux 文件属性与目录管理
2022-03-09 本文已影响0人
七宝qb
linux 文件属性与目录管理
linux 文件属性
linux 文件基本属性
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
更改文件属性
chgrp:更改文件属组
语法:
chgrp [-R] 属组名 文件名
chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chmod:更改文件9个属性
每个 属性都有一个固定的分值,如下
- r:4
- w:2
- x:1
每个文件对应的用户或组,都有一个分值来代表权限如下
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= --- = 0+0+0 = 0
语法:
chmod [-R] xyz 文件或目录 #xyz代表不同的分值,如731,就是给owner rwx权限,group wx权限,others x权限
【有意思:】 可直接执行 chmod +rwx file。 默认给当前用户和用户组rx权限,仅给当前用户w权限
还有一种方式:
命令 | u用户,g组 ,o其他,a全部 | +(加入) -(除去) =(设定) | r w x | 文件或目录 |
---|---|---|---|---|
chmod | u g o a | +(加入) -(除去) =(设定) | r w x | 文件或目录 |
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用
chmod u=rwx,g=rx,o=r 文件名
文件与目录管理
liunx目录查看
接下来我们就来看几个常见的处理目录的命令吧:
- ls: 列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- cp: 复制文件或目录
- rm: 移除文件或目录
- mv: 移动文件与目录、文件重命名
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
Linux 文件内容查看
Linux系统中使用以下命令来查看文件的内容:
- cat 由第一行开始显示文件内容
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- nl 显示的时候,顺道输出行号!
- more 一页一页的显示文件内容
- less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head 只看头几行
- tail 只看尾巴几行
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
文件与目录常用操作
- 熟悉各个命令的特点和基本使用
- 能灵活改变文件的权限、属组
- 能够查找文件,并根据时间、大小排序,
- 了解文件的ctime,等时间的含义,并根据时间查找文件
- 定位、查找、替换文件中的字符串(包括简单的正则使用,如查找手机号,手机号脱敏)
- 刷新文件,查看文件实时尾部内容。(less)
less 命令:
功能:
参数: 行号(-N)、百分比(-m)
命令:
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma - 使用 a 标记文本的当前位置
history | less #翻页筛选history
less fileone filetwo #多文件查看
查找文件,并根据时间、大小排序,
ls -lS 按大小降序排列 ls -l | sort -n -k5 按大小升序
ls -lrt 按时间降序
ls -lnt 按时间升序
ls -l | sort -k9 按文件名升序(这是ls的默认输出方式)
ls -lr 按文件名降序
ls -l | sort -rk9 按文件名降序
ls -l -d */ 只显示目录
ls -l |grep -v "^d" 只显示文件 grep -v 忽略内容
linux 文件时间
linux 文件的三种时间(以 find 为例):
atime 最后一次访问时间, 如 ls, more 等, 但 chmod, chown, ls, stat 等不会修改些时间, 使用 ls -utl 可以按此时间顺序查看;
ctime 最后一次状态修改时间, 如 chmod, chown 等状态时间改变但修改时间不会改变, 使用 stat file 可以查看;
mtime 最后一次内容修改时间, 如 vi 保存后等, 修改时间发生改变的话, atime 和 ctime 也相应跟着发生改变.
根据时间查找文件
find ./ -ctime -1 当前目录一天之内修改过的文件
find ./ -cmin -5 当前目录5分钟内修改过的文件
find ./ -cmin -20 -name "*.css" |wc -l 再加强下,统计当前目录20分钟内修改过的css文件的行数 ,修改时间小于20分钟
find ./ -mtime 0 今天0:00~24:00编辑过的文件
+ 表示某段时间之前的
- 表示某段时间之内的
vim查找替换
参考地址 https://www.jianshu.com/p/b8e3b4e2075f
vim 查找方式类似less
/foo\c 大小写不敏感查找
/foo\C 大小写敏感查找 (默认)
在normal模式下按下*即可查找光标所在单词(word)
:s 命令用来查找和替换字符串。语法如下:
:{作用范围}s/{目标}/{替换}/{替换标志}
例如:%s/foo/bar/g 会在全局范围(%)查找foo并替换为bar,所有出现都会被替换
{作用范围} 分为当前行、全文、选区等等。
:s 当前行
:%s 全文
:5,12s/foo/bar/g 2-11行:
:.,+2s/foo/bar/g 当前行.与接下来两行+2
可视模式。
{替换标志}
g 全局global替换(即替换目标的所有出现)
空替换标志表示只替换从光标位置开始,目标的第一次出现:
/i 表示大小写不敏感查找,I表示大小写敏感:
/c 表示需要确认,例如全局查找"foo"替换为"bar"并且需要确认 :%s/foo/bar/gc