zoukankan      html  css  js  c++  java
  • Linux | 文件编辑命令

    1、rmdir命令:删除空目录

    【语法格式】

    rmdir [参数] [目录名称]
    

    【常用参数】

    • -p:用递归的方式删除指定的目录路径中的所有父级目录,非空则报错
    • -v:显示命令的详细执行过程
    • -- --help:显示命令的帮助信息
    • -- --version:显示命令的版本信息
    • -- --ignore-fail-on-non-empty:忽略由于删除非空目录时导致命令出错而产生的错误信息

    【注意】

    rmdir命令只能删除空目录,rmdir命令的“-p”参数可以递归删除指定的多级目录,但是要求每个目录也必须是空目录。

    【实例】

    删除空目录

    [root@localhost ~]# rmdir dir
    

    递归删除指定的目录树

    [root@localhost ~]# rmdir -p dir/dir1/dir2
    

    显示指令详细执行过程

    [root@localhost ~]# rmdir -p -v dir/dir1/dir2
    

    显示命令的版本信息

    [root@localhost ~]# rmdir --version
    

    2、rm命令:删除文件或目录

    【语法格式】

    rm [参数] [文件]
    

    【常用参数】

    • -f:忽略不存在的文件,不会出现警告信息
    • -i:删除前会询问用户是否操作
    • -r/R:递归删除
    • -v:显示指令的详细执行过程

    【注意】

    rm命令是一个危险的命令,使用的时候需要特别当心。

    【实例】

    执行删除操作前,给出提示

    [root@localhost ~]# rm -i file.txt
    

    直接删除,不给出提示

    [root@localhost ~]# rm -f file.txt
    

    递归删除目录下的所有文件

    [root@localhost ~]# rm -r dir
    

    3、cat命令:在终端设备上显示文件内容

    【语法格式】

    cat [参数] [文件]
    

    【常用参数】

    • -n:显示行数(空行也编号)
    • -s:显示行数(多个空行算一个编号)
    • -b:显示行数(空行不编号)
    • -E:每行结束处显示$符号
    • -T:将TAB字符显示为^符号
    • -V:使用^和M-引用,除了LFD和TAB之外
    • -e:等价于”-vE”组合
    • -t:等价于”-vT”组合
    • -A:等价于 -vET组合
    • --help:显示帮助信息
    • --version:显示版本信息

    【注意】

    cat命令一般用来查看内容较少的纯文本文件。当文件内容较大时,文本内容会在屏幕上快速闪动(滚屏),用户往往看不清所显示的具体内容。因此对于较长文件内容可以按Ctrl+S键,停止滚屏;以及Ctrl+Q键可以恢复滚屏;而按Ctrl+C(中断)键则可以终止该命令的执行。或者对于大文件,干脆用more命令吧!

    【实例】

    查看文件内容

    [root@localhost ~]# cat filename.txt
    

    查看文件内容,并显示行数编号

    [root@localhost ~]# cat -n filename.txt
    

    查看文件内容,并添加行数编号后输出到另一个文件中

    [root@localhost ~]# cat -n filename.txt > filenames.txt
    

    清空文件的内容

    [root@localhost ~]# cat /dev/null > filename.txt
    

    持续写入文件内容,碰到EOF符后结束并保存

    [root@localhost ~]# cat > filenames.txt <<EOF
    > Hello,world
    > EOF
    

    将软盘设备制作成镜像文件

    [root@linuxcool ~]# cat /dev/fd0 > fdisk.iso
    

    4、more命令:显示文本文件内容

    【语法格式】

    more [参数] [文件]
    

    【常用参数】

    • -num:指定每屏显示的行数
    • -f:计算实际的行数,而非自动换行的行数
    • -p:先清除屏幕再显示文本文件的剩余内容
    • -c:与-p相似,不滚屏,先显示内容再清除旧内容
    • -s:多个空行压缩成一行显示
    • -u:禁止下划线
    • +/pattern:在每个文档显示前搜索该字(pattern),然后从该字串之后开始显示
    • +num:从第num行开始显示

    【命令快捷键】

    • 空格键:显示文本的下一屏内容
    • H键:显示帮助屏
    • B键:显示上一屏内容
    • Q键:退出more命令
    • =:输出当前的行号
    • :f:输出文件名和当前的行号
    • V:调用vi编辑器
    • !:调用shell,并执行命令
    • Enter键:向下n行,需要定义,默认为1行
    • :接着输入一个模式,可以在文本寻找下一个相匹配的模式

    【实例】

    显示文件内容,显示之前先清屏,附已显示的百分比

    [root@linuxcool ~]# more -c /var/log/messages
    

    显示文件内容,每10行显示一次,而且在显示之前先清屏

    [root@linuxcool ~]# more -c -10 /var/log/messages
    

    显示文件file的内容,每5行显示一次,而且在显示之后再清屏

    [root@linuxcool ~]# more -p -5 /var/log/messages
    

    逐页显示 file 文档内容,如有连续两行以上空白行则以一行空白行显示

    [root@linuxcool ~]# more -s /var/log/messages
    

    从第 20 行开始显示 file 之文档内容

    [root@linuxcool ~]# more +20 /var/log/messages
    

    5、head命令:显示文件开头内容

    【语法格式】

    head [参数] [文件]
    

    【常用参数】

    • -n:后面接数字,代表显示几行的意思
    • -c:指定显示头部内容的字符数
    • -v:总是显示文件名的头信息
    • -q:不显示文件名的头信息

    【注意】

    head命令以行为单位,取文件的内容,后面不接参数时默认打印前10行

    【实例】

    显示前3行内容

    [root@linuxcool ~]# head -n 3 /var/log/messages
    

    显示文件名信息,并显示文件前2行

    [root@linuxcool ~]# head -v -n 2 /var/log/messages
    

    显示文件前5个字符

    [root@linuxcool ~]# head -c 5 /var/log/messages
    

    6、tail命令:显示文件尾部内容

    【语法格式】

    tail [参数]
    

    【常用参数】

    • --retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用
    • -c或——bytes=:输出文件尾部的N(N为整数)个字节内容
    • -f<name/descriptor>:--follow:显示文件最新追加的内容
    • -F:与选项“-follow=name”和“--retry”连用时功能相同
    • -n或——line=:输出文件的尾部N(N位数字)行内容
    • --pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令
    • --help:显示指令的帮助信息
    • --version:显示指令的版本信息

    【注意】

    tail用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

    【实例】

    显示/var/log/message日志的最后10行

    [root@localhost ~]# cat /var/log/messages
    

    显示/var/log/message日志的内容,从第20行至文件末尾

    [root@localhost ~]# cat +20 /var/log/messages
    

    显示/var/log/message日志的最后10个字符

    [root@localhost ~]# cat -c 10 /var/log/messages
    

    动态查看日志,总是显示后10行

    [root@localhost ~]# tail -f 10 /var/log/messages
    

    显示帮助信息

    [root@localhost ~]# tail --help
    

    7、fail命令:识别文件类型

    【语法格式】

    file [参数] [文件]
    

    【常用参数】

    • -b:列出识别结果时,不显示文件名称
    • -c:详细显示指令执行过程,便于排错或分析程序执行的情形常与 -m 一起使用,用来在安装幻数文件之前调试它
    • -f:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称
    • -L:直接显示符号连接所指向的文件类别
    • -m:指定魔法数字文件
    • -v:显示版本信息
    • -z:尝试去解读压缩文件的内容
    • -i:显示MIME类别

    【注意】

    file命令用来识别文件类型,也可用来识别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像windows通过扩展名来确定文件类型的。

    【实例】

    显示文件类型

    [root@localhost ~]# file /var/log/messages
    

    显示文件类型,不显示文件名称

    [root@localhost ~]# file -b /var/log/messages
    

    显示文件类型,显示MIME类别,不显示文件名称

    [root@localhost ~]# file -b -i /var/log/messages
    

    显示符号连接所指向的文件类别

    [root@localhost ~]# file -L /var/log/messages
    

    8、find命令:查找和搜索文件

    【语法格式】

    find [参数] [路径] [查找和搜索范围]
    

    【常用参数】

    • -name:按名称查找
    • -size:按大小查找
    • -user:按属性查找
    • -type b/d/c/p/l/f:按类型查找(设备、目录、字符设备、管道、链接文件、文本文件)
    • -iname:忽略大小写
    • -perm:匹配权限(mode为完全匹配,-mode为包含即可)
    • -user:匹配所有者
    • -group:匹配所有组
    • -mtime -n +n:匹配修改内容的时间(-n指n天以内,+n指n天以前)
    • -atime -n +n:匹配访问文件的时间(-n指n天以内,+n指n天以前)
    • -ctime -n +n:匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
    • -nouser:匹配无所有者的文件
    • -nogroup:匹配无所有组的文件
    • -newer f1 ! f2:匹配比文件f1新但比f2旧的文件
    • -prune:忽略某个目录

    【注意】

    find如不加如何参数,表示查找当前路径下的所有文件和目录,如果服务器负载比较高尽量不要在高峰期使用find命令,find命令搜索还是比较消耗系统资源。

    【实例】

    使用-name参数查看/etc目录下所有的.conf结尾的配置文件

    [root@localhost ~]# find /etc -name *.conf
    

    使用-size参数查看/etc目录下大于1M的文件

    [root@localhost ~]# find /etc -size +1M
    

    查找当前用户主目录下的所有文件

    [root@localhost ~]# find $HOME -print
    

    搜索范围时间超过10分钟的所有文件

    [root@localhost ~]# find . -type f -amin +10
    

    找出/home目录下不是以.txt结尾的文件

    [root@localhost ~]# find /home ! -name "*.txt"
    

    9、grep命令:关键字搜索

    【语法格式】

    grep [参数]
    

    【常用参数】

    • -i:搜索时,忽略大小写
    • -c:只输出匹配行的数量
    • -l:只列出符号匹配的文件名,不列出具体的匹配行
    • -n:列出所有的匹配行,显示行号
    • -s:不显示不存在、没有匹配文本的错误信息
    • -v:显示不包含匹配文本的所有行
    • -w:匹配整词
    • -x:匹配整行
    • -r:递归搜索

    【实例】

    支持多文件查询并支持使用通配符

    [root@localhost ~]# grep Getting dir/*
    

    输出匹配字符串行的数量

    [root@localhost ~]# grep -c Getting dir/*
    

    10、wc命令:统计文件的字节数、字数、行数

    【语法格式】

    wc [参数] [文件]
    

    【常用参数】

    • -w:统计字数,或--words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
    • -c:统计字节数,或--bytes或--chars:只显示Bytes数
    • -l:统计行数,或--lines,只显示列数
    • -m:统计字符数
    • -L:打印最长行的长度
    • --help:显示帮助信息
    • --version:显示版本信息

    【实例】

    统计字数

    [root@localhost ~]# wc -b file.txt
    

    统计字节数

    [root@localhost ~]# wc -c file.txt
    

    11、diff命令:比较文件差异

    【语法格式】

    diff [参数] [目录]
    

    【常用参数】

    • -a:diff预设只会逐行比较文本文件
    • -b:不检查空格字符的不同
    • -c:比较两个文件的差异
    • -W:在使用-y参数时,指定栏宽
    • -x:不比较选项中所指定的文件或目录
    • -X:您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件
    • -y:以并列的方式显示文件的异同之处
    • --help:查看帮助信息
    • --brief:判断两个文件是否相同
    • --left-column:在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容
    • --suppress-common-lines:在使用-y参数时,仅显示不同之处

    【注意】

    diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录 。

    【实例】

    比较两个文件,并排格式输出

    [root@localhost ~]# diff log2014.log log2013.log  -y -W 50
    

    12、tr命令:字符转换

    【语法格式】

    tr [参数] [字符串1] [字符串2]
    

    【常用参数】

    • -c:选定字符串1中字符集的补集,即反选字符串1的补集
    • -d:删除字符串1中出现的所有字符
    • -s:删除所有重复出现的字符序列,只保留一个

    【注意】

    tr命令的作用是一种可将字符进行替换、压缩、删除,它可以将一组字符转换为另一组字符。tr只能从标准输入中读取数据,因此,tr要么将输入文件重定向到标准输入,要么从管道读入数据。tr命令类似于sed命令,但是比sed更简单。

    【实例】

    将file.txt中的大小写字母进行转换

    13、echo命令:输出字符串或提取Shell变量的值

    【语法格式】

    echo [参数] [字符串]
    

    【常用参数】

    • -n:不输出结尾的换行符
    • -e:“a” 发出警告音
    • -e:“” 删除前面的一个字符
    • -e:“c” 结尾不加换行符
    • -e:“f” 换行,光标扔停留在原来的坐标位置
    • -e:“ ” 换行,光标移至行首
    • -e:“ ” 光标移至行首,但不换行
    • -E:禁止反斜杠转移,与-e参数功能相反
    • —version:查看版本信息
    • --help:查看帮助信息

    【实例】

    输出一段字符串

    [root@localhost ~]# echo "你好"
    

    输出变量提取后的值

    [root@localhost ~]# echo $PATH
    

    对内容进行转义,不让$符号的提取变量值功能生效

    [root@localhost ~]# echo $PATH
    

    结合输出重定向符,将字符串信息导入文件中

    [root@localhost ~]# echo "你好">a.txt
    

    使用反引号符执行命令,并输出其结果到终端

    [root@localhost ~]# echo `date`
    2020年 08月 25日 星期二 16:09:04 CST
    

    输出带有换行符的内容

    [root@localhost ~]# echo -e "a
    b
    c"
    a
    b
    c
    

    输出信息中删除某个字符

    [root@localhost ~]# echo -e "abc"
    

    14、cut命令:连接文件并打印到标准输出设备上

    【语法格式】

    cut [参数] [文件]
    

    【常用参数】

    • -b:以字节为单位进行分割
    • -c:以字符为单位进行分割
    • -d:自定义分隔符,默认为制表符TAB
    • -f:显示指定字段的内容
    • -n:取消分割多字节字符
    • --complement:补足被选择的字节、字符或字段
    • --out-delimiter:指定输出内容是的字段分割符

    【注意】

    cut命令有两个主要功能,第一是显示文件内容,第二是连接多个文件。若不指定参数,则命令将读取标准输入。

    【实例】

    按列形式提取passwd文件中用户名信息

  • 相关阅读:
    echarts 图表缩放 X轴Y轴数据缩放
    avue大屏 avuedata echarts图形数据过多自动滚动
    地图自定义弹窗 高德地图信息窗体 鼠标点击地图点标记显示弹窗html
    地图自定义弹窗 高德地图信息窗体 鼠标点击地图点标记显示弹窗vue
    自动刷新页面的实现方法总结
    vs2008 切换到试图代码后自动关闭问题
    时间差值
    Array.prototype.slice() 方法
    Array.prototype.slice.call()详解及转换数组的方法
    [UNIX网络编程1.0]源代码在linux系统下的实现
  • 原文地址:https://www.cnblogs.com/Cyzhouke/p/13739822.html
Copyright © 2011-2022 走看看