文件目录
stat 123 #显示文件 C M A 时间
touch 原文件 刷新时间戳
cp -r 多次复制会在子目录里一直复制
cp -a 保留属性
cp 123{,.bak} = cp 123 123.bak 调用前边的字符
cp -a 123{,.bak} -b 加-b选项会给被覆盖的文件多创建一个后缀是~的文件,就是123.bak~
rename txt abc *.txt 批量修改文件名 把后缀txt修改成abc
mkdir -p 递归创建
文件元数据和节点表结构
元数据是文件的日期,权限,节点编号,指针等一些信息
数据是内容
直接指针 4k
间接指针-直接指针 4M
双重间接指针-间接指针-直接指针 4G 以此类推
ls -i 可以查看节点编号 唯一的
文件连接
硬链接 ln 绝对路径源文件 绝对路径链接文件 i节点编号一样,不支持目录链接,不支持跨分区 增长连接数
软链接 ln -s 绝对路径源文件 绝对路径链接文件 i节点编号不同 同步 不增长连接数
重定向
1> 只收集正确的
2> 只收集错误的
&> 正确错误都收集
ls /root asdasdas > /tmp/123 2>&1 把错误输出放到正确里边
ls /root asdasdas 2> /tmp/123 1>&2 把正确输出放到错误里边
com1标准输出 | com2 标准输入
cat > a.txt <<EOF
[root@rocky tmp]# 2 |& bc 传递错误
(standard_in) 1: illegal character: :
(standard_in) 1: syntax error
(standard_in) 1: illegal character: :
cat << EOF >>qq
cat << EOF >qq
cat >> qq <<EOF
cat > qq <<EOF
权限
stat abc 查看文件 a c m时间
lsattr 查看文件属性
chattr 修改文件属性
chattr +i /etc/passwd 不允许修改
chattr -i /etc/passwd 允许修改
chattr +a /etc/passwd 不允许修改,只允许添加
文件修改chmod 权限 递归 chmod -R 777 1
文件修改chonw 用户.组
文件修改属组 chgrp 123 /tmp/123
setfacl 设置 setfacl -m u:root:r /tmp/1/1a.log -x 删除 g 组
getfacl 查看
r read 读
w write 写
x execute 执行
chmod 6特殊权限6主4组4其他
chmod -R +X 只给目录加执行权限 不给文件加
suid 4 作用于二进制可执行的文件,用户执行此文件时会继承所以者的权限 chmod u+s 123.log
sgid 2 针对目录设置, 拥有sgid权限后,在目录下新创建文件后会继承目录属组的信息 chmod g+s /tmp
sticky bit 1 针对目录设置 只有目录下文件和目录的属主和root可以删除 互不干扰, chmod o+t /tmp
目录权限
r 查看目录下文件
w 修改目录下文件 mv rm touch
x 切换目录
chmod 6特殊权限6主4组4其他
suid 4 普通用户执行期间,会获取命令属主对系统的权限 chmod u+s 123.log
sgid 2 针对目录设置, 拥有sgid权限后,在目录下新创建文件后会继承目录属组的信息 chmod g+s /tmp
sticky bit 1 针对目录设置 只有目录下文件和目录的属主和root可以删除 互不干扰, chmod o+t /tmp
目录是777-umask
文件是666-umask
() 小括号里的内容只生效一次
[root@rocky ~]# umask
0022
[root@rocky ~]# umask -S
u=rwx,g=rx,o=rx
打包压缩
gzip 压缩
gzip -k 压缩保留源文件
gunzip 解压
gzip -d 解压
bzip2 压缩
bzip2 -d 解压
bunzip2 解压
xz 压缩
xz -d 解压
xunz 解压
tar zcvf 目标.tar.gz 源文件
tar -tvf 123.tar.gz 查看包-i:忽略中断(interrupt)信号。