linux 文件属性与目录管理

linux 文件属性与目录管理

linux 文件属性

linux 文件基本属性

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
363003_1227493859FdXT

更改文件属性

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

你可能感兴趣的:(linux 文件属性与目录管理)