Linux常用文件管理命令

常用文件管理命令

cat

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

语法

    cat(选项)(参数)

选项

    -n或-number:有1开始对所有输出的行数编号;
    -b或--number-nonblank:和-n相似,只不过对于空白行不编号;
    -s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
    -A:显示不可打印字符,行尾显示“$”;
    -e:等价于"-vE"选项;
    -t:等价于"-vT"选项;

参数

文件列表:指定要连接的文件列表。

实例

  • 显示文本
    [root@localhost tmp]# cat /tmp/test
    hello world
    
    
    
    
    
    hello world 
    
  • 输出带编号文本
    [root@localhost tmp]# cat -n /tmp/test
         1  hello world
         2
         3
         4
         5
         6
         7  hello world 
    
  • 输出带编号文本,忽略空白行编号
    [root@localhost tmp]# cat -b /tmp/test
         1  hello world
    
    
    
    
    
         2  hello world 
    
  • 输出带编号的文本,如遇到连续空白行,就代换为一行空白行
    [root@localhost tmp]# cat -ns /tmp/test
         1  hello world
         2
         3  hello world 
    
  • 文本操作

创建文本

    [root@localhost tmp]# cat > /tmp/test2
    hello everyone

    hello world
    ^C
    [root@localhost tmp]# cat /tmp/test2
    hello everyone

    hello world

把test的文件加上行号输入到test2中

    [root@localhost tmp]# cat -n /tmp/test > /tmp/test2
    [root@localhost tmp]# cat /tmp/test2
         1  hello world
         2
         3
         4
         5
         6
         7  hello world 

把test和test2的文本内容加上行号(空白行不加)之后将内容附加到test3里

    [root@localhost tmp]# cat -b /tmp/test /tmp/test2 > /tmp/test3
    [root@localhost tmp]# cat /tmp/test3
         1  hello world





         2  hello world 
         3       1  hello world
         4       2
         5       3
         6       4
         7       5
         8       6
         9       7  hello world 

清空test2的内容

    [root@localhost tmp]# cat /dev/null > /tmp/test2
    [root@localhost tmp]# cat /tmp/test2
    [root@localhost tmp]# 

tac

tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。

语法

    tac(选项)(参数)     

选项

    -a或——append:将内容追加到文件的末尾;
    -i或——ignore-interrupts:忽略中断信号。

参数

文件列表:指定要保存内容的文件列表。

实例

  • 反向显示test3的文本
    [root@localhost tmp]# tac /tmp/test3
         9       7  hello world 
         8       6
         7       5
         6       4
         5       3
         4       2
         3       1  hello world
         2  hello world 
    
    
    
    
    
    
         1  hello world
    

head

head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

语法

    head(选项)(参数)

选项

    -n<数字>:指定显示头部内容的行数;
    -c<字符数>:指定显示头部内容的字符数;
    -v:总是显示文件名的头信息;
    -q:不显示文件名的头信息。

参数

文件列表:指定显示头部内容的文件列表。

实例

  • 显示前5行的内容
    [root@localhost tmp]# head  -5 /tmp/test3
         1  hello world
    
    
    
    
    [root@localhost tmp]# 
    

tail

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。

语法

    tail(选项)(参数)

选项

    --retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
    -c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;
    -f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;
    -F:与选项“-follow=name”和“--retry"连用时功能相同;
    -n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
    --pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
    -q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
    -s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
    -v或——verbose:当有多个文件参数时,总是输出各个文件名;
    --help:显示指令的帮助信息;
    --version:显示指令的版本信息。

参数

文件列表:指定要显示尾部内容的文件列表。

实例

  • 显示最后5行的内容
    [root@localhost tmp]# tail -5 /tmp/test3
         5       3
         6       4
         7       5
         8       6
         9       7  hello world 
    
  • 从第二行开始显示整个文本
    [root@localhost tmp]# tail -n +2 /tmp/test3
    
    
    
    
    
         2  hello world 
         3       1  hello world
         4       2
         5       3
         6       4
         7       5
         8       6
         9       7  hello world 
    
  • 从第2行开始显示10条文本
    [root@localhost tmp]# tail -n +2 /tmp/test3 | head -n 10
    
    
    
    
    
         2  hello world 
         3       1  hello world
         4       2
         5       3
         6       4
    
  • 动态显示文本,先进先出
    [root@localhost tmp]# tail -f /tmp/test3
    
    
         2  hello world 
         3       1  hello world
         4       2
         5       3
         6       4
         7       5
         8       6
         9       7  hello world 
    

more

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:

按Space键:显示文本的下一屏内容。
按Enter键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
按H键:显示帮助屏,该屏上有相关的帮助信息。
按B键:显示上一屏内容。
按Q键:退出rnore命令。

语法

    more(语法)(参数)

选项

    -<数字>:指定每屏显示的行数;
    -d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
    -c:不进行滚屏操作。每次刷新这个屏幕;
    -s:将多个空行压缩成一行显示;
    -u:禁止下划线;
    +<数字>:从指定数字的行开始显示

参数

文件:指定分页显示内容的文件。

实例

  • 一次显示8行文本
    [root@localhost tmp]# more -8 /tmp/test3
         1  hello world
    
    
    
    
    
         2  hello world 
         3       1  hello world
    --More--(40%)
    
  • 一次显示8行的内容
    [root@localhost tmp]# ll /etc | more -8
    total 1088
    -rw-r--r--.  1 root root     16 Dec 23 22:07 adjtime
    -rw-r--r--.  1 root root   1518 Jun  7  2013 aliases
    -rw-r--r--.  1 root root  12288 Dec 23 22:08 aliases.db
    drwxr-xr-x.  2 root root    236 Dec 23 22:04 alternatives
    -rw-------.  1 root root    541 Mar 31  2016 anacrontab
    drwxr-xr-x.  3 root root     51 Jan  1 13:44 ansible
    -rw-r--r--.  1 root root     55 Nov  5  2016 asound.conf
    --More--
    
  • 从第3行开始显示
    [root@localhost tmp]# more +3 /tmp/test3
    
    
    
    
         2  hello world 
         3       1  hello world
         4       2
         5       3
         6       4
         7       5
         8       6
         9       7  hello world 
    

less

less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。

用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

语法

    less(选项)(参数)

选项

    -e:文件内容显示完毕后,自动退出;
    -f:强制显示文件;
    -g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
    -l:搜索时忽略大小写的差异;
    -N:每一行行首显示行号;
    -s:将连续多个空行压缩成一行显示;
    -S:在单行显示较长的内容,而不换行显示;
    -x<数字>:将TAB字符显示为指定个数的空格字符。

参数

文件:指定要分屏显示内容的文件。


sed

显示中间文本的内容

语法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

选项

    -e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;
    -f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件;
    -h或--help:显示帮助;
    -n或--quiet或——silent:仅显示script处理后的结果;
    -V或--version:显示版本信息。

参数

文件:指定待处理的文本文件列表。

动作

    a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
    c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
    d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
    i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
    p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
    s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

实例

  • 显示第4行文本
    [root@localhost tmp]# sed -n '8p' /tmp/test3
         3       1  hello world
    
  • 显示第8行到第11行文本
    [root@localhost tmp]# sed -n '8,11p' /tmp/test3
         3       1  hello world
         4       2
         5       3
         6       4
    
  • 显示第8行到最后一行文本
    [root@localhost tmp]# sed -n '8,$p' /tmp/test3
         3       1  hello world
         4       2
         5       3
         6       4
         7       5
         8       6
         9       7  hello world 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92054

(0)
上一篇 2018-03-11 13:26
下一篇 2018-03-11 16:12

相关推荐

  • linux文件权限详解

    基本命令 1.cut : cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr 2.authconfig 修改加密方式 –passalgo=sha256 — update 3.scp 上传文件 -r dir ip:path 传目录 file ip:path传文件 …

    Linux干货 2017-04-03
  • LB Cluster 负载均衡集群 —-lvs 配置详解

    lvs : ipvs scheduler: 根据其调度时是否考虑各RS当前的负载状态,可分为静态方法和动态方法两种: 1、静态方法:仅根据算法本身进行调度; RR:roundrobin,轮询; WRR:Weighted RR,加权轮询; SH:Source Hashing,实现session sticy,源IP地址hash;将来自于同一个IP地址的请求始终发…

    Linux干货 2016-10-30
  • Linux下的I/O重定向与管道

    一、I/O设备     Linux中,对系统进行操作时,就需要I/O设备与系统产生交互,同时会产生三种数据,标准输入(0)、标准输出(1)、标准错误(2)。其中标准输入(stdin)默认接受来自键盘的输入,标准输出(stdout)和标准错误(stderr)默认向终端窗口输出,改变默认输出和出入的位置,就是I/O重定向。 二、输出重定向到文…

    Linux干货 2016-08-04
  • 优云Monitor:大规模Docker平台自动化监控之路

    本文介绍了通过优云Monitor,如何实现大规模容器运维平台的自动化监控需求。 尽管Docker技术目前还处于不稳定的发展与标准制定阶段,但这门技术已经呈现了极其火热的增长状态,却已经是不争的实事。到底有多火热?让我们先来看一张来自国外监控公司DataDog 2016年最新调查报告: 从图中可以看出,自2015年5月后,采用容器技术的应用呈现了30%的大幅增…

    2016-08-05
  • 高可用集群基本概念与heartbeat文本配置接口

    一、高可用集群基本概念:     什么是高可用集群:          所谓高可用集群,就是在出现故障时,可以把业务自动转移到其他主机上并让服务正常运行的集群构架     高可用集群的构架层…

    Linux干货 2016-01-13
  • mysql or条件可以使用索引而避免全表

    在某些情况下,or条件可以避免全表扫描的。 1 .where 语句里面如果带有or条件, myisam表能用到索引, innodb不行。 1)myisam表:  CREATE TABLE IF NOT EXISTS `a` (   `id` int(1)&nb…

    Linux干货 2015-04-13