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)
eighteenxueighteenxu
上一篇 2018-03-11 13:26
下一篇 2018-03-11 16:12

相关推荐

  • 关于大型网站技术演进的思考(十二)–网站静态化处理—缓存(4)

    原文出处: 夏天的森林   上篇我补充了下SSI的知识,SSI是一个十分常见的技术,记得多年前我看到很多门户网站页面的后缀是.shtml,那么这就说明很多门户网站都曾经使用过SSI技术,其实现在搜狐网站也还在用shtml,如下图所示: 由此可见SSI在互联网的应用还是非常广泛的。其实互联网很多网页如果我们按照动静分离策略拆分,绝…

    2015-03-11
  • 基础网络配置

    配置文件: /etc/ude /proc/sys/net/ipv4/ip_forward /etc/sysconfig/network-scripts/ifcfg-IFACE 网络配置文件 /etc/sysconfig/network-scripts/route-IFACE 路由配置文件 配置文件里的设置: DEVICE:此配置文件应用到的设备 HWADDR…

    Linux干货 2017-05-08
  • 计划任务cron

        cron是一个在类Unix操作系统上的任务计划程序。它可以让用户在指定时间段周期性地运行命令或者shell脚本,通常被用在系统的自动化维护或者管理。          crontab 的基本格式是: <分钟> <小…

    Linux干货 2017-07-03
  • 双主模型的lvs-dr高可用负载均衡集群

    实验目的:使用keepalived实现lvs-dr模型双主高可用集群 实验环境:两台virtual server(实现lvs的双主)、两台real server(安装web service,用于负载均衡)、一台clietn用于验证结果 注意:为了不影响实验结果,在实验开始前先关闭iptables和selinux 操作步骤: 一、配置IP 1.配置A主机的IP…

    2017-05-13
  • N25期第八周作业

    1.请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别 主要功能: 网桥是一个局域网与另一个局域网之间建立连接的桥梁,属于数据链路层的一种设备。 集线器是可以将一些机器连接起来组成一个局域网的设备。 二层交换机是工作于OSI模型的第2层(数据链路层)的设备,作用和集线器类似。 三层交换机就是具有部分路由器功能的二层交换机。 路由器是互联…

    Linux干货 2017-03-08
  • 马哥教育网络班N22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。     [root@zabbix ~]# id $(who | cut -d' ' -f1 | tail -n 1)    &nbs…

    Linux干货 2016-08-30