取的文件到目录名:dirname 路径
取得文件的文件名 basename 路径
文件内容到查阅到方法:
cat:查看文件的所有内容
-A 相当与 参数vET
-b列出行号,仅针对非空白行做行号显示
-E 将结尾的断行字符$显示出来
-T tab按键以 ^I 显示
-v列出一切看不见到字符
tac 输出方向和cat相反
nl:添加行号打印
more
less
head: 打印前多少行
tail:打印尾部多少行
打印11到20行
head -20 file | tail -10 file
od :二进制打印
touch可以创建文件和改变文件到时间
-a 修改访问时间
-c修改文件时间,若 文件不存在则不创建新文件
-d到后面可以接欲修改后到日期而不用目前日期。
-m 修改mtime :文件到内容改变的时间,ctime是文件到权限和属性改变到时间,atime文件内容被读取时会更新到时间,比如cat 文件
-t 后面可以接欲修改的时间而不是目前时间,格式为【YYMMDDhhmm】
如果touch 后面加的文件存在,会更新时间为现在,但是如果不存在就会创建一个空的文件
文件到默认权限umask:目前用户在创建文件或者目录的权限默认值,可输入umask 直接查看,也可输入umask -S 查看。umask的分数是“默认值需要减掉
的权限,不是777满值。比如要拿掉写权限就输入2,读输入4,执行输入1.但是计算到时候不能用数字直接相减,会出错
比如:-rw-rw-rw -(-------wx)=-rw-rw-r-- 但是数字直接减去到话,得到到是663 不正确。应该进行到是
110
011 掩码,为1就为0,为0就不变
------
100
直接用符号减法运算会更直观
文件到隐藏属性
chattr
chattr [ -RVf ] [ -v version ] [ mode ] files... mode= +-=[acdeijstuADST].
几个功能个强大的:
-a 文件只能增加数据不能删除和修改数据,root可以设置
-i:文件无法被删除,改名,设置连接也无法写入或添加数据。
-s 文件删除,完全删除
-u文件删除,可以找回
-c 自动将文件压缩,读取的时候自动解压缩
文件的特殊权限:SUID SGID SBIT
SUID权限仅仅对二进制程序有效,
执行者需要对改程序具有x的可执行权限
权限在执行该程序的过程中有效
执行者将具有该程序所有者的权限
SGID
SUID权限仅仅对二进制程序有效,
执行者需要对改程序具有x的可执行权限
执行者在执行过程中将会获得该程序用户组到支持
SBIT
当用户针对目录具有写入权限时:用户在该目录下创建文件或者目录到时候,仅有自己和root才有权利删除该文件。如果A目录加上了这个权限。A只能够针对
自己创建的文件或目录进行删除,重命名,移动操作。
设置方法很简单 4SUID 2 SGID 1 SBIT 这三个。把原来chmod xxxx file 第一个x表示到数字就是这三个特殊权限。也可用u+s g+s o+t分别设置
当文件的权限,出现了大写字母表示是空的
file可以查看文件的类型:which可以查找可以执行文件到路径,他是根据PATH查的。
whereis 和locate 来查找特定的文件。
whereis
-b 二进制
-m 只找在说明文件manual 下的文件
-s 只找source源文件
-u 不在上述三个选项的特殊文件
这两个是通过数据库查找到,速度快,新的文件可能会查不到,可以更新数据库,updatedb
find
find 【PATH】 【option】 【action】
1.时间参数
-mtime,-atime,-ctime
以mtime为例子
-mtime n n天之前一天之内更改过的文件
-mtime +n n天之前不含n天本身被改过的文件
-mtime -n n天之内被更改过的文件
分别两个文件之间的新旧
find filename1 -newer -filename2
2用户名和用户组有关的参数
-uid n:n是数字,在/etc/passwd里面和帐号有对应
-gid n 用户组id,/etc/group
-user name
-group name
-nouser 所有者不存在的
-nogroup 用户组不存在的
3.文件到权限和名称相关的参数
-name filename
-szie 【+-size】
-type TYPPE 文件类型,单个字母,如d就是目录
-perm mode 文件的权限相等
-perm -mode 查找的文件的权限必须包含mode
-perm +mode 查找权限包含任一mode权限
4.其他可以进行的操作
-exec command
例如find /perm +7000 -exec ls -l { } \; exec后面的命令不支持命令别名
解释:{}括号是表示 find命令执行到结果放在这里,ls -l 是对这个的操作find 额外的命令是 -exec开始,到 \:结束,因为;在bash环境下有特殊的含义。所以利用反斜杠转义。