文件目录操作
# 文件目录操作
# 1、关机,重启,注销命令
# 1.1 shutdown:关机,重启命令
常用:
shutdown -r now # 立刻重启系统
shutdown -h now #立刻关机
2
相似命令:
init 0 # 立刻关机
init 6 # 立刻重启系统
halt/reboot/poweroff # 立刻关机
2
3
# 1.2 logout/exit:注销命令
输入 logout 或者 exit 即可退出登录
# 2、文件,目录操作命令
# 2.1 pwd:显示当前目录
# 2.2 cd:切换目录
# 2.3 tree:树形显示目录
# 2.4 mkdir:创建目录
常用:
mkdir -p test/test1/ -m 755 # 创建test/test1/目录,赋予权限为755
# 2.5 touch:创建文件/改变文件时间戳
常用:
touch -m test # -m参数更改最后修改的时间
touch -a test # -a参数更改最后访问的时间
touch -d 20210805 test # 指定创建文件后的文件修改,时间为2021年8月5日
touch -r a.txt b.txt # 使用-r参数让b.txt的时间属性和a一致
2
3
4
# 2.6 ls:显示目录下的内容/属性信息
常用: 常用:
ls -alh
ls -alh --time=atime --time-style=full-iso # 显示当前目录下,文件目录的访问时间
ls -ld test # 显示test文件夹的信息
ls -lrt # 找到最后一个修改的文件/目录 (-t 按时间排序 -r 倒序排序,最后一行就是要找的文件)
2
3
4
# 2.7 cp:复制文件/目录
常用:
cp -a = cp -pdr 常用
cp -r # 递归复制目录和文件
2
# 2.8 mv:移动/重命名文件
# 2.9 rm:删除文件或目录
# 2.10 rmdir:删除空目录
# 2.11 ln:硬链接与软链接
硬链接是指通过索引节点 (inode) 来进行链接。在Linux(ext2、ext3、ext4)文件系统中,所有文件都有一个独有的inode编号。 软链接或符号链接(Symbolic Link or Soft Link)有点像Windows里的快捷方式
# 2.12 find:查找文件
find语法使用说明:
常用:
find . -atime -2 # 查找2天内访问过的文件
find . -mtime -5 # 查找5天内修改过的文件
find . -type d # 查找目录
find . ! -type d # 查找非目录
find . -perm 755 # 查找755的权限的所有文件
find . -size +2k # 查找文件大小大于2k的文件
find . -newer file1 ! -newer file2 # 查找比文件1新但是比文件2旧的文件
find . -maxdepth 1 -type d # 查找一级目录
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- -4 代表查找4天以内
- 4 代表查找第4天
- +4 代表查找4天以前
# find 正则表达式
格式: find 路径 -regextype "type" -regex "pattern"
注:find正则表达式工作中使用较少,了解即可
ls-l命令放在find命令的 -exec
中执行:
find . -type f -exec ls -l {} \;
find命令匹配到了当前目录下的所有普通文件,并在 -exec选项中使用ls -l命令将它们列出
{}
的作用:指代前面find 命令查找到的内容。{}
前后都要有空格。-exec
后可以是其他任何命令,例如例子中的ls,rm等命令。
# 使用exec选项的安全模式-ok
find /var/log/ -name "*.log" -mtime -1 -ok rm {} \; #找出/var/log 目录下所有一天以内的日志文件,并且删除
< rm ... /var/log/audit/audit.log > ? n
< rm ... /var/log/pcp/pmcd/nfsclient.log > ? n
< rm ... /var/log/pcp/pmcd/kvm.log > ? n
< rm ... /var/log/pcp/pmcd/dm.log > ? n
2
3
4
5
使用此命令时会提示是否删除,y确认,n取消
# find结合xargs使用
参数 -i
可以指定一个替换的字符串。
使用xargs 的 -i
选项可以让 {}
代替前面find命令找到的文件或目录,命令如下。
find . -type f | xargs -i mv {} /tmp/ # 把当前文件夹所有文件移动到/tmp/目录下
# 2.13 xargs:将标准输入转化为命令行参数
xargs命令是向其他命令传递命令行参数的—个过滤器,能够将管道或者标准 输入传递的数据转换成xargs命令后跟随的命令的命令行参数。
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。 xargs 一般是和管道一起使用。 常用
cat xargs.txt | xargs -n 3 # -n指定每行输出3个
cat xargs.txt | xargs -n 3 -d n # -d 指定n为分隔符,并且每行输出3个
2
# 2.14 rename:重命名文件
rename from to file
- from: 代表需要替换或者需要处理的字符(一般是文件名的一部分,也包括 扩展名)。
- to: 把前面的from代表的内容替换为to 代表的内容。
- file: 待处理的文件,可以用
*
通配所有的文件。
# 2.15 basename:显示文件名或目录名
basename命令用于显示去除路径和文件后缀部分的文件名或目录名。
# 2.16 dirname:显示文件或目录路径
dirname命令用于显示文件或目录路径。
# 2.17 chattr :改变文件的扩展属性
chattr话令用于改变文件的扩展属性。与chmod这个命令相比, chmod只是改 变文件的读、写、执行权限,更底层的属性控制是由chattr来改变的。
# lsattr test.txt
-------------------- test.txt
# chattr +a test.txt
# lsattr test.txt
-----a-------------- test.txt
# rm -f test.txt
rm: 无法删除'test.txt': 不允许的操作
2
3
4
5
6
7
# 2.18 lsattr:查看文件扩展属性
lsatt话令用于查看文件的扩展属性。
# 2.19 file:显示文件的类型
file -b test.txt # 输出信息使用精简格式,不输出文件名
# 2.20 md5sum:计算和校验文件的MD5值
# md5sum 1.txt > 1.log
# md5sum -c 1.log # 与文件进行比对,失败会提示
1.txt: 成功
# md5sum -c 1.log
1.txt: 失败
md5sum: 警告:1 个校验和不匹配
2
3
4
5
6
# 2.21 chown:改变文件或目录的用户和用户组
chown mail:root 1.txt # 同时修改所属用户和组
chown .root 1.txt # 修改组,不要忘记带 .
chown root 1.txt # 修改用户
chown -R # 递归修改
2
3
4
# 2.22 chmod:改变文件或目录权限
chmod u+rwx,g+rwx,o+rwx 1.txt = chmod 777 1.txt
chmod -R # 递归修改
2
# 2.23 chgrp:更改文件用户组
了解即可
# 2.24 umask:显示或设置权限掩码
umask命令指定在建立文件时预设的权限掩码。
#获取当前权限掩码
umask
2