Chattr
chattr +/- i 2.txt
chattr +/-a 2.txt only possible to add on, cannot be revised (can use touch to update time)
常用参数:
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件
***!!!
chattr is to set the auth and lsattr is to check the auth
chattr +i cannot make further update for both file and directory
chattr +a
as for file, cannot revise but possible for add on: head -n2 /etc/passwd >> 1.txt and use touch command to for date update
as for directory, not possible to revise directory but possible to revise the sub files under this directory.
Lsattr -R 111: to check all sub directories and files under sub directories.
set_uid
rws s means auth set_uid
密码文件
how to set uid? (temp set /usr/bin/ls as root autority)
chmod u=rws /usr ----- rwS(withouth x auth, need to add x as chmod u+x /usr/bin/ls)
SUID 仅可用于二进制文件中,对目录是无效的
Set_gid
temp set /usr/bin/ls as group authority 让执行这个文件的普通用户临时拥有所属组的权限
note: 当作用在目录的时候,当创建子目录或者子文件其所属组和该所属组保持一致
Stick_bit
防删除位,例如/tmp/的rwt("t")权限
*user1目录下的1.txt是否有写权限,不是决定于删除文件本身权限,而是决定于它所在的目录,所以他能被删除(要删除1.txt要看其所在目录的权限)
su - fred (swich to "fred" account)
软连接Symbolic Link & 硬链接 Hard Link
further explaination: https://blog.csdn.net/u013982161/article/details/52434309
软连接
是指一个文件里面存了另一个文件的路径/目录同理(节省空间)
eg. /bin 就是一个软连接文件,他应该在usr/bin下面
如何做软链接
也可以为目录做软链接
以下软链接(相对路径的软链接)仅仅是在当前目录下,(不推荐)
**假如你把所有文件拷贝到另一个文件夹里,你会发现文件不存在。 改了一个名字就会导致软链接初见问题,所以软链接尽量使用绝对路径
如何解决服务占用磁盘空间的问题
随着文写的写入/boot下面某文件会越来越大,解决方法是先把文件拷贝到剩余空间大的分区中去,并做软链接到/boot 下面,路径为原路径
硬链接
硬链接不支持对目录做硬链接,只支持对文件做硬链接,不能跨分区
创建了一个文件,新文件与源文件共用一个inode并且相互为硬链接,硬链接删除源文件无影响,软链接会报错,*硬链接并不会占用多余空间
软链接和硬链接比较
硬链接:其实就是同一个文件具有多个别名,具有相同inode,而dentry不同。
1. 文件具有相同的inode和data block;
2. 只能对已存在的文件进行创建;
3. 不能交叉文件系统进行硬链接的创建
4. 不能对目录进行创建,只能对文件创建硬链接
5. 删除一个硬链接并不影响其他具有相同inode号的文件;
软链接:软链接具有自己的inode,即具有自己的文件,只是这个文件中存放的内容是另一个文件的路径名。因此软链接具有自己的inode号以及用户数据块。
1. 软链接有自己的文件属性及权限等;
2. 软链接可以对不存在的文件或目录创建;
3. 软链接可以交叉文件系统;
4. 软链接可以对文件或目录创建;
5. 创建软链接时,链接计数i_nlink不会增加;
6. 删除软链接不会影响被指向的文件,但若指向的原文件被删除,则成死链接,但重新创建指向 的路径即可恢复为正常的软链接,只是源文件的内容可能变了。
Find 命令
其他搜索文件命令: which/ whereis(只有更新后的文件才能找到)/ locate(未安装, yum install -y mlocate-需要每天生成 updatedb手动生成)
Please input text here
文件种类有很多: d, f, l, s, c and b
find / -mtime(modify), -ctime(change) and -atime(access)
mtime 是指更改文件内容,ctime,是指更改权限。 更改文件内容mtime,ctime一定会随之变化
cat 1.txt 访问1.txt内容
state + file 查看文件3个time
+1/_1 表示文件更改时间一天以外/以内,同时也可以尝试按分钟搜索(同理+—10k 也是按文件大小搜索)
通过inode搜索硬链接文件
搜索某文件目录并list 出来(针对于某种需求就是要某文件)
Fine总结
(1)Find工具-name参数案列:
find /data/ -name "*.txt" #查找/data/目录以.txt结尾的文件;
find /data/ -name "[A-Z]*" #查找/data/目录以大写字母开头的文件;
find /data/ -name "test*" #查找/data/目录以test开头的文件;
(2)Find工具-type参数案列:
find /data/ -type d #查找/data/目录下的文件夹;
find /data/ ! -type d #查找/data/目录下的非文件夹;
find /data/ -type l #查找/data/目录下的链接文件。
find /data/ -type d|xargs chmod 755 -R #查目录类型并将权限设置为755;
find /data/ -type f|xargs chmod 644 -R #查文件类型并将权限设置为644;
(3)Find工具-size参数案列:
find /data/ -size +1M #查文件大小大于1Mb的文件;
find /data/ -size 10M #查文件大小为10M的文件;
find /data/ -size -1M #查文件大小小于1Mb的文件;
(4)Find工具-perm参数案列:
find /data/ -perm 755 #查找/data/目录权限为755的文件或者目录;
find /data/ -perm -007 #与-perm 777相同,表示所有权限;
find /data/ -perm +644 #文件权限在644以上;
(5)Find工具-mtime参数案列:
atime,access time 文件被读取或者执行的时间;
ctime,change time 文件状态改变时间;
mtime,modify time 文件内容被修改的时间;
find /data/ -mtime +30 -name "*.log" #查找30天以前的log文件;
find /data/ -mtime +30 -name "*.log" #查找30天以前的log文件;
find /data/ -mtime 30 -name "*.txt"#查找第30天的log文件;
find /data/ -mmin +30-name "*.log" #查找30分钟以前修改的log文件;
find /data/ -
-30 -name "*.txt" #查找30分钟以内被访问的log文件;
find /data/ -cmin 30 -name "*.txt"#查找第30分钟改变的log文件。
(6)Find工具参数综合案列:
#查找/data目录以.log结尾,文件大于10k的文件,同时cp到/tmp目录;
find /data/ -name "*.log" –type f -size +10k -exec cp {} /tmp/ /;
#查找/data目录以.txt结尾,文件大于10k的文件,权限为644并删除该文件;
find /data/ -name "*.log" –type f -size +10k -m perm 644 -exec rm –rf {} /;
#查找/data目录以.log结尾,30天以前的文件,大小大于10M并移动到/tmp目录;
find /data/ -name "*.log" –type f -mtime +30 –size +10M -exec mv {} /tmp/ /;
Shutcut Key Consolidate
CTRL-L 清屏
CTRL-D 退出终端=log out=EXIT
CTRL-C 撤销当前命令
CTRL-U 删掉前面的全部输入
CTRL-E 会把光标移动到最后面去
CTRL-A 把光标移动到最开始
Linux 和window 文件互传
普通Linux和Windows之间的文件共享方法,主要有建立nfs实现文件共享,和tftp之类的方法,但是都很麻烦,而如果只是小文件(几十 K,几百K),那么直接用rz/sz,就显得极其地方便了
注意要在xshell的环境下
yum install -y lrzsz
如下图显示SZ 和RZ 的区别
注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。