Linux文件相关命令

2022-07-08 16:29:34 浏览数 (1)

vim/vi

vim/vi是Linux的文本编辑器,最小化安装默认无改命令,可通过yum install vim-enhanced -y完成安装。

vim编辑器有三种模式:普通模式、编辑模式和命令模式

  • 普通模式:直接vim进入即为普通模式,按iao任意一键即进入编辑模式;按:/或?即进入命令模式 1、i:在当前光标所在处插入文字 2、A:在当前所在行的行尾最后一个字符处开始插入文字,和I相反 3、I:在当前所在行的行首第一个非空格符处开始插入文字,和A相反 4、O:在当前所在行的上一行处插入新的一行 5、o:在当前所在行的下一行处插入新的一行
  • 编辑模式:编辑模式只可以切换到普通模式,按Esc键返回普通模式
  • 命令模式:进入命令模式后,可以对文本文件进行保存等操作,同样按Esc键返回普通模式 1、w:保存 write 2、u: 撤销 undo 保存之前 3、q: 退出 quit 4、!: 强制

vim常用快捷键

  • 移动光标(普通模式): G:文件结尾 gg:文件开头 $:行尾 0:行头 ngg:切换到第n行,n表示具体行号 n[回车]:向下移动n行
  • 搜索(命令模式): /内容:向下搜索,此时按n继续搜索,N反向继续搜索。 ?内容:向上搜索,此时按n继续搜索,N反向继续搜索。
  • 替换(命令模式): :%s/A/B/g:把A替换成B,如果A或B中有斜线,把分割的斜线/#或@作为分隔符 注:s为替换,g全局替换 :n1,n2s/A/B/g:n1、n2为数字,在第n1行和n2行间寻找A,用B替换
  • 复制粘贴删除 yy:复制当前行 nyy:复制从当前开始的n行 p:粘贴到光标的下一行 P:粘贴到光标的上一行 dd:删除当前行 ndd:删除从当前行开始的n行 x:删除光标后字符 X:删除光标前字符 d1gg/d1G:删除当前行至第一行 dG:删除当前行至最后一行 d0:删除当前光标文本至行首(不含光标) d$:删除当前光标文本至行尾(含光标)

cat

cat经常用于查看文件内容,常用于行数较少的文件,默认不显示行号

代码语言:shell复制
常用参数:-n:显示文件内容并标注行号

echo

echo打印内容输出的内容

代码语言:shell复制
常用参数:
1. -n:所有内容输出一行
2. -e:支持转义字符(n换号,t空格键)
eg:[root@money ~]# echo -e 'InLovetYou'
    I
    Love    You
    [root@money ~]# echo 'InLovetYou'
    InLovetYou

more/less

more/less常用于查看内容过多的文本文件,区别是more查看文本文件会预先加载整个文本内容,而less不会

具体区别:

  1. less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
  2. less不必读整个文件,加载速度会比more更快
  3. less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
代码语言:shell复制
less参数:-N 显示行号

head

head,从头开始查看指定文件内容,默认显示头10行

代码语言:shell复制
常用参数:
-n 数字:从头开始显示指定行文件内容

tail

tail,从头尾部开始查看指定文件内容,默认显示最后10行

代码语言:shell复制
常用参数:
-n 数字:从尾部开始显示指定行文件内容
-f:实时查看文件变化,常用于查看程序运行时实时日志

grep

grep通常用于过滤指定字符行,具体使用格式为grep [参数] 过滤内容 文件

代码语言:shell复制
常用参数:
1. -v:取反过滤,输出不包含指定字符的行
2. -i:过滤指定字符串不区分大小写
3. -E:同时过滤多个字符串
   eg:[root@money ~]# grep -E 'root|bash' /etc/passwd
       root:x:0:0:root:/root:/bin/bash
       operator:x:11:0:operator:/root:/sbin/nologin
       m:x:1000:1000:m:/home/m:/bin/bash

touch

touch主要用于创建文件

格式:touch 文件名称

注:touch创建文件时,可根据序列同时创建多个文件,也可直接输入多个文件名称同时创建多个

alias

alias,别名,简化命令操作

代码语言:shell复制
常见用法:
1. 查看已有别名:alias
2. 设置别名:alias 别名='完整命令'
            eg:alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'   ##通过简化命令net直接查看网卡配置
3. 取消别名:unalias 别名
4. 永久设置别名:加入全局环境变量配置文件,一般是加入到/etc/bashrc中
   全局【环境变量】文件/etc/profile和/etc/bashrc
   用户【环境变量】文件~/.bash_profile和~/.bashrc
注:1、别名优先于命令
    2、若别名和命令相同,执行时想要执行的时命令,可使用完整路径或加反斜线
    eg:[root@money data]# alias rm='echo 暂时无法进行删除操作'
        [root@money data]# rm
        暂时无法进行删除操作
        [root@money data]# rm
        rm: 缺少操作数
        Try 'rm --help' for more information.
        [root@money data]# /bin/rm
        /bin/rm: 缺少操作数
        Try '/bin/rm --help' for more information.

uniq

uniq去重经常与sort排序一起使用,uniq用于处理文件中重复出现的行与列

代码语言:shell复制
常见用法:
1、uniq 文本文件:相邻的相同行去重
  eg:[root@money ~]# cat 1.txt
      10.0.0.1
      10.0.0.2 
      10.0.0.1 
      10.0.0.11 
      10.0.0.3 
      10.0.0.3 
      [root@money ~]# uniq 1.txt        ##两个10.0.0.3相邻重复只显示1次
      10.0.0.1
      10.0.0.2 
      10.0.0.1 
      10.0.0.11 
      10.0.0.3 
2、-c:计数,相邻的相同行去重并计数
  eg:[root@money ~]# uniq -c 1.txt
      1 10.0.0.1
      1 10.0.0.2 
      1 10.0.0.1 
      1 10.0.0.11 
      2 10.0.0.3 

sort

sort常用于对文件内容进行排序,默认会把所有相同的行连续排在一起

代码语言:shell复制
常用参数:
-n  按数字排序
-t  指定分隔符
-k  指定列  
-r  倒序

0 人点赞