笔记·文件管理

 

常用命令

#pwd   //显示当前工作目录
#basename /etc/sysconfig/network    //显示基名
#dirname /etc/sysconfig/network    //显示目录名
#cd [-|~|~user|.|..|目录]    //切换路径
#stat /etc/passwd    //查看文件状态
#touch [-a|-m|-t YYMMDDhhmm]    //创建文件,修改文件时间戳
#cp [-i|-f|-r|-d|-a]    //拷贝文件或目录
#rename 'conf' 'conf.bak' f*    //为所有的conf文件加上.bak后缀:
#rename '.bak' '' *.bak    //去掉所有的bak后缀:
#ls [-l|-a|-A|-h|-d|-r:逆序|-R:递归|-S:时间排序]   //显示文件
#rm -rf /    //删除文件或目录
alias rm='DIR=/data/backup`date +%F`;mkdir $DIR &> /dev/null;mv -t $DIR'   //自己创建回收站
#file    //查看文件内容类型
#tree -L n    //显示目录结构
#mkdir [-p|-m 755]    //创建目录
#ln [-s:软连接] filename [linkname ]    //创建软硬链接
  rm -rf /data/dirlink   //删除软链接本身,不会删除源目录内容
  rm -rf /data/dirlink/    //删除源目录的文件,不会删除链接文件
  #硬链接和软链接区别总结
  1. 本质:
    硬链接:本质是同一个文件
    软链接:本质不是同一个文件
  2. 跨设备
    硬链接:不支持
    软链接:支持
  3. inode
    硬链接:相同
    软链接:不同
  4. 链接数
    硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少
    软链接:创建或删除,链接数不会变化
  5. 文件夹
    硬链接:不支持
    软链接:支持
  6. 相对路径
    硬链接:原始文件相对路径是相对于当前工作目录
    软链接:原始文件的相对路径是相对于链接文件的相对路径
  7. 删除源文件
    硬链接:只是链接数减一,但链接文件的访问不受影响
    软链接:链接文件将无法访问
  8. 文件类型
    硬链接:和源文件相同
    软链接:链接文件,和源文件无关
  9. 文件大小
    硬链接: 和源文件相同
    软链接: 源文件的路径的长度

通配符

* 匹配零个或多个字符,但不匹配 "." 开头的文件,即隐藏文件
? 匹配任何单个字符,一个汉字也算一个字符
~ 当前用户家目录
~mage 用户mage家目录
. 和 ~+ 当前工作目录
~- 前一个工作目录
[0-9] 匹配数字范围
[a-z] 一个字母
[A-Z] 一个字母
[wang] 匹配列表中的任何的一个字符
[^wang] 匹配列表中的所有字符以外的字符
[^a-z] 匹配列表中的所有字符以外的字符

预定义的字符类

[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母,表示 a-z
[:upper:]: 任意大写字母,表示 A-Z
[:alpha:]: 任意大小写字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符

重定向

IO重定

向 >:覆盖输出
>>:追加输出
set -C:进制输出重定向覆盖已存在的文件,此时可以使用“>|”强制覆盖
set +C:关闭上述特性
2>:错误输出重定向
&>:合并正常和错误输出
2>&1:合并正常和错误输出

合并多个命令的结果至一个文件中

#( cal 2019 ; cal 2020 ) > all.txt
#{ ls;hostname;} > /data/all.log

tr命令:不修改源文件S

#tr 'a-z' 'A-Z' < /etc/issue #该命令会把/etc/issue中的小写字符都转换成大写字符
#tr –d abc < /etc/fstab #删除fstab文件中的所有abc中任意字符
#tr -s ' ' < df.log #去重空格符
#tr -s ' ' : < df.log #去重后的空格符用冒号代替
#cat /dev/urandom | tr -dc '[:alnum:]'| head -c10

管道符

#seq -s + 1 100 | bc

posted @ 2022-07-19 11:24  Krill_ss  阅读(77)  评论(0编辑  收藏  举报