【Linux】文件及目录管理命令(二)

【Linux】文件及目录管理命令(二)

  • rename命令
    # rename .txt .doc *.txt
    将当前目录下所有.txt文件中的.txt替换成.doc
    
    # rename you1.c you.c you1.c
    将you1.c重命名为you.c
    
    # rename you you0 you*
    you001到you100的所有文件都被重命名为you0001到you0100
    所有以you开头的文件都被重命名。
    
    # rename you you0 you[1-9]*
    从you1到you9的所有文件都被重命名为you01到you09
    文件名中的you被替换为you0
    
    常用通配符说明
    ?  表示一个任意字符
    *  表示一个或一串任意字符
    
    常用正则表达式符号说明
    ^  匹配输入的开始位置
    $  匹配输入的结尾
    .  匹配除换行符外的任意字符
    +  匹配前一个字符一次或多次,zo+ 可以匹配 zoo,但不匹配 z
    [a-z]  表示某个范围内的字符
    [^m-z]  否定的字符区间,与不在指定区间内的字符匹配
    
  • file命令
    # file you.c
    显示文件类型
    
    # file -b you.c
    显示文件类型,不显示文件名称
    
    # file -b -i you.c
    显示文件类型, 显示MIME类别,不显示文件名称
    
    # file -f you.txt *
    查看文件中的文件名的文件类型
    
    # file -z passwd.tar.gz
    解读压缩文件的内容
    
    -b 不输出文件名 
    -f 命名文件
    -m list指定包含参数的文件列表.用冒号分开多个文件
    
    -n 每检查完一个文件就强制刷新标准输出. 
    仅在检查一组文件时才有效. 将文件类型输出到管道时才采用此选项
    
    -v 打印程序版本
    -z 试图查看压缩文件内部信息
    -L 显示符号链接文件的原文件
    -s 读文件列表中的块特殊文件和字符特殊文件
    
  • cat/tac命令
    # cat /etc/passwd
    查看文件的内容
    
    # cat -n /etc/passwd
    查看文件的内容,并显示行数编号
    
    # cat -n /etc/passwd > file.txt*
    查看文件的内容,并添加行数编号后输出到另外一个文件中
    
    # cat /dev/null > file.txt
    清空文件的内容
    
    # cat /etc/passwd a.txt > file.txt
    合并文件内容
    
    # cat file.txt > file1.txt
    复制文件
    
    tac是将cat反写过来,所以功能跟cat相反 
    cat是由第一行到最后一行连续显示,而tac则是由最后一行到第一行反向显示
    
    -A 等价于 -vET 
    -b 给非空输出行编号
    -e 等价于 -vE 
    -E 在每行结束显示 $ 
    -n 给所有输出行编号
    -s 将所有的连续的多个空行替换为一个空行
    -t 等价于 -vT 
    -T 把 TAB 字符显示为 ^I 
    -v 除了LFD和TAB之外所有控制符用 ^ 和 M- 记方式显示
    
  • more命令
    空白键(space)下一页显示, b 键往回(back)一页显示
    # more /etc/passwd
    查看文件内容, 按下回车向下浏览
    
    # more -5 /etc/passwd
    指定 NUM 每屏显示行数
    
    # more +7 /etc/passwd
    从文件第 NUM 行开始显示
    
    -d	显示帮助
    -f	统计逻辑行数而不是屏幕行数
    -l	抑制换页(form feed)后的暂停
    -p	不滚屏,清屏并显示文本
    -c	不滚屏,显示文本并清理行尾
    -u	抑制下划线
    -s	将多个空行压缩为一行
    -NUM 指定每屏显示的行数为 NUM
    +NUM 从文件第 NUM 行开始显示
    
  • less命令
    less命令允许用户向前或向后浏览文件,而more命令只能向下浏览
    less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页
    Q键退出less程序
    # less /etc/passwd
    查看文件内容
    
    # ps -aux | less
    执行命令,然后分页显示
    
    # history | less
    查看命令历史使用记录并通过less分页显示
    
    # less you.txt you1.txt
    浏览多个文件
    :n 浏览下一个文件
    :p 浏览上一个文件
    
    正在浏览一个文件时,使用 :e 打开另一个文件。
    less file1
    :e file2
    
    命令内部操作
    
    按键功能如下:
    b 向后翻一页
    d 向后翻半页
    h 显示帮助界面
    Q 退出less 命令
    u 向前滚动半页
    y 向前滚动一行
    空格键 滚动一页
    回车键 滚动一行 
    
    向前搜索
        / : 使用一个模式进行搜索,并定位到下一个匹配的文本
        n : 向前查找下一个匹配的文本
        N : 向后查找前一个匹配的文本
    
    向后搜索
        ? : 使用模式进行搜索,并定位到前一个匹配的文本
        n : 向后查找下一个匹配的文本
        N : 向前查找前一个匹配的文本
    
    全屏导航
        ctrl + F :向前移动一屏
        ctrl + B :向后移动一屏
        ctrl + D :向前移动半屏
        ctrl + U :向后移动半屏
    
    单行导航
        j : 向前移动一行
        k : 向后移动一行
    
    其它导航
        G : 移动到最后一行
        g : 移动到第一行
        q / ZZ : 退出less命令
        
    标记导航
        ma : 使用 a 标记文本的当前位置
        'a : 导航到标记 a 处
    
  • head命令
    # head /etc/passwd
    默认情况下,将文件的前10行显示
    
    # head -n 7 /etc/passwd
    显示文件前7行,使用-n选项
    
    # head file1.txt file2.txt
    显示多个文件
    
    -c  --bytes=[-]K     
    显示每个文件的前K 字节内容
    如果附加"-"参数,则除了每个文件的最后K字节外显示剩余全部内容
    
    -n, --lines=[-]K      
    显示每个文件的前K 行内容
    如果附加"-"参数,则除了每个文件的最后K行外显示剩余全部内容
    
    -q 不显示包含给定文件名的文件头
    
  • tail命令
    # tail /etc/passwd
    默认情况下,将文件的最后10行显示
    
    # tail -n 7 /etc/passwd
    显示文件最后7行,使用-n选项
    
    -c 输出最后设定个字节
    -f 当文件增长时,输出后续添加的数据
    -s 与-f合用,表示在每次反复的间隔休眠S秒
    -n 输出最后N行,而非默认的最后10行
    
    --max-unchanged-stats=N
        参看texinfo文档(默认为5)
        
    --max-consecutive-size-changes=N
        参看texinfo文档(默认为200)
        
    -q 从不输出给出文件名的首部
    -v 总是输出给出文件名的首部
    
  • nl命令
    # nl passwd
    列出passwd的内容
    
    # nl -b a passwd
    列出passwd的内容,空行也加上行号
    
    # nl -b a -n rz passwd
    让行号前面自动补上0,统一输出格式
    
    # nl -b t passwd
    空行不显示行号
    
    # nl -b a -n rz -w 3 passwd
    行号指定宽度为3
    命令行号默认为六位,要调整位数可以加上参数-w 3调整为3位
    
    -b 指定行号指定的方式,主要有两种:
    -b a 不论是否为空行,也同样列出行号
    -b t 如果有空行,空的那一行不要列出行号(默认值)
    
    -n  列出行号表示
        -n ln 行号在最左方显示;
        -n rn 行号在栏位的最右方显示,不加 0 
    	-n rz 行号在栏位的最右方显示,加 0 
    	
    -w  行号栏位的占用的位数
    -p 在逻辑定界符处不重新开始计算
    
  • which命令
    # which bash
    显示命令的路径
    
    # which which
    显示命令的别名
    
    -a  查找全部内容,而非第一个文件
    -n  指定文件名长度,指定的长度必须大于或等于最长的文件名
    -p  与-n参数相同,但包括了文件的路径 
    -w  指定输出时栏位的宽度
    -V  显示版本信息
    
  • grep命令
    # grep "root" /etc/passwd
    文件中搜索一个单词
    
    # grep "root" passwd passwd1
    多文件中查找单词
    
    # grep -v "root" /etc/passwd
    输出除匹配之外的所有行
    
    # grep -c "root" /etc/passwd
    统计文件或者文本中包含匹配字符串的行数
    
    # grep -i "ROOT" /etc/passwd
    忽略大小写搜索
    
    # grep -c ^$ /etc/passwd
    统计文件中空行的行数
    
    # grep -c ^[^$] /etc/passwd
    统计文件中非空行的行数
    
    -E 扩展正则表达式egrep
    -F 一个换行符分隔的字符串的集合fgrep
    -G 基本正则
    -P 调用的perl正则
    -e 后面根正则模式,默认无
    -f 从文件中获得匹配模式
    -i 不区分大小写
    -w 匹配整个单词
    -x 匹配整行
    -z 一个 0 字节的数据行,但不是空行
    
    grep的规则表达式:
    
    ^  锚定行的开始 ^grep匹配所有以grep开头的行    
    $  锚定行的结束 grep$匹配所有以grep结尾的行   
    .  匹配一个非换行符的字符 gr.p匹配gr后接一个任意字符,然后是p    
    *  匹配零个或多个先前字符 *grep匹配所有空格后紧跟grep的行  
    .*  一起用代表任意字符   
    []  匹配一个指定范围内的字符 [Gg]rep匹配Grep和grep    
    [^] 匹配一个不在指定范围内的字符 [^A-FH-Z]rep匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行   
    \(..\)  标记匹配字符 \(love\) love被标记为1   
    \<      锚定单词的开始 \<grep 匹配包含以grep开头的单词的行    
    \>      锚定单词的结束 grep\> 匹配包含以grep结尾的单词的行   
    x\{m\}  重复字符x,m次 0\{5\}匹配包含5个o的行  
    x\{m,\}  重复字符x,至少m次 o\{5,\}匹配至少有5个o的行   
    x\{m,n\}  重复字符x,至少m次,不多于n次 o\{5,10\} 匹配5--10个o的行
    \w    匹配文字和数字字符[A-Za-z0-9] G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p 
    \W    \w的反置形式,匹配一个或多个非单词字符,如点号句号等   
    \b    单词锁定符 \bgrep\b 只匹配grep。  
    
  • sort命令
    # sort txt
    将文本默认排序
    从首字符向后,依次按ASCII码值进行比较,升序输出
    
    # sort -u txt
    忽略相同行
    
    # sort -b txt
    忽略每行前面开始出的空格字符
    
    # sort -c txt
    检查文件是否已经按照顺序排序
    
    -b 忽略前导的空白区域
    -d 只考虑空白区域和字母字符
    -f 忽略字母大小写
    -g 按照常规数值排序
    -i 只排序可打印字符
    -h 使用易读性数字
    -n 根据字符串数值比较
    -R 根据随机hash 排序 从指定文件中获得随机字节
    -r 逆序输出排序结果 
    指定的格式排序:一般数字-g,高可读性-h,月份-M,数字-n,随机-R,版本-V
    -V 在文本内进行自然版本排序
    
  • paste命令
    # paste file1 file2
    合并两个文件
    
    # paste -d '*' file1 file2
    指定字符代表制表符作为分隔符
    
    # paste -s -d '*' file1 file2
    每个文件合并成行而不是按行粘贴
    
    # paste -s file1
    行列倒转
    
    # paste file1 file2 file3
     拼接多个文件
    
    将每个指定文件里的每一行整合到对应一行里,之间用制表符分隔
    如果没有指定文件,或指定文件为"-",程序将从标准输入读取数据
    
  • split命令
    在默认情况下将按照每1000行切割成一个小文件
    # split -l 30 passwd
    指定行数来切割,默认文件名是xaa,xab排序的
    
    # split -b 1b passwd
    指定文件大小来切割
    
    # cat xa* > passwd1
     合并文件
    
    -b 输出文件大小定为SIZE字节
    -C 输出文件大小定为最多SIZE字节的行
    -l 输出文件大小定为设定行
    -d 使用数字而不是字母作为切割后的小文件的后缀
    -v 显示详细的处理信息
      
    b: 512(blocks)
    K: 1024(kibiBytes)
    KB: 1000(kiloBytes)
    M: 1024*1024(mebiBytes)
    MB: 1000*1000(megaBytes)
    G: 1024*1024*1024(gibiBytes)
    GB: 1000*1000*1000(gibaBytes)
    T, P, E, Z, Y
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值