`
bbsunchen
  • 浏览: 233667 次
  • 性别: Icon_minigender_1
  • 来自: 天朝帝都
社区版块
存档分类
最新评论

linux文件操作命令

阅读更多

想想自己一开始处理文件的时候,看文件有多少行,都要写个perl脚本,好不麻烦啊...以此文纪念自己傻逼的科研生活

linux 文本操作命令

1. cat 查看文件中的内容, -n 查看时为每一行加编号;

-b 和-n类似,只不过对于空白行不编号;

2. head file 显示文件头的内容,默认显示10行,加 -n 可以显示指定的行数;

3. tail file 显示文件尾的内容,默认显示10行,加 -n 可以显示指定的行数;

tail -n 20 file 显示文件后20行;

tail -f /var/log/messages 实时显示系统的日志信息;

more file 分屏显示文件的内容;

less file 分屏显示文件的内容,在more的基础上可以上下翻页;

4. diff 比较两个文件内容的不同,报告文件的差异;

-b 忽略文件中空格造成的不同 -B 忽略文件中空行造成的不同;

-l 忽略文件中的大小写造成的不同;

例如:diff file1 file2 ; diff -B file1 file2 ;

5. uniq 出除文件中重复的行; uniq file 可以将文件file中相临的重复行去除;

6. wc 用来统计文本中的行数,词数,字数;

-l 用来统计行数;

-w 用来统计词数;

-c 用来统计字数;

wc -l /etc/passwd 可以统计passwd文本中的行数

linux 下 读取某个文件的某一行或者某几行

查看文件song.txt的第190行到196行, 
sed -n '190,196p' song.txt 
如果查看某一行用 
sed -n '190,1p' song.txt即可 
sed -n 'a,bp' song.txt读取自第a行到第b行的数据 
if(a > b ) return 第a行

Find命令和Sed命令详解

命令格式: 
find pathname -options 【-print -exec -ok】 
   pathname  find 命令所查找的目录路径; 
   -print  将匹配的文件输出到标准输出; 
   -exec  对匹配的文件执行该参数所给的shell命令,命令格式给‘command’ {} \;{}和\;之间有空格; 
   -ok  和-exec的作用相同,只是以更安全的模式来执行参数,但执行每个命令前都会给用户提示是否执行; 
   -options 命令参数 
    -name 按照文件名查找文件; 
    -perm 按照文件权限查找文件; 
    -prune 使用该命令使find命令不在当前指定目录中查找,如果同时使用-depth选项,它将被find忽略; 
    -user 按照文件属主查找; 
    -group 按文件属组查找; 
    -mtime -n +n 按照文件的更改时间查找,-n表示文件更改时间距现在n天以内, 
                                         +n表示文件更改时间距现在n天以前; 
    -nogroup 查找无有效所属组的文件,即该文件所属的组不在/etc/group 
    -nouser  查找无有效属主的文件,即该文件所在的主不在/etc/passwd; 
    -newer file1 ! file2  查找更改时间比文件file1新但比文件file2旧的文件; 
  -type 查找某一类型的文件 
    b  块设备文件 
    d  目录 
    c 字符设备文件 
    p 管道文教案 
    l  符号链接文件 
    f 普通文件 
实例:1、使用ls -l命令列出所匹配到的文件 
   #find 。 -type f -exec ls -l {} \; 
    2、删除/logs目录中更改时间在5日以前的文件 
   #find logs -type f -mtime +5 -exec rm {} \; 
   该命令在执行的时候直接删除匹配的文件,安全性不高; 
   #find logs -type f -mtime +5 -exec -ok rm {} \; 
   该命令在执行的时候会提示用户是否要删除该文件,按Y删除文件,N不删除该文件。 
    3、使用find命令查找passed文件中是否包含user1用户; 
   #find /etc -name “passwd*” -exec grep “user1” {} \; 
    4、查找当前目录中文件属主有读写权限,并且属组和其他用户有读权限; 
      #find . -type f -perm 644 -exec ls -l {} \; 
    5、查找系统中所有文件长度为0的不同文件,并列出它的路径; 
      #find / -type f -size 0 -exec ls -l {} \; 
    6、查找当前文件系统中所有目录并排序; 
      # find . -type d |sort 
    7、删除当前目录中访问时间在7天以前的文件,并且含有三个数字后缀的log文件 
      #find . -name “admin.log[0-9][0-9][0-9]” -atime -7 -ok rm {} \; 
二、xargs命令详解 
     在使用find的命令时-exec选项处理匹配文件的信息,但是有些系统文件对exec的命令长度有限制, 
  在运行命令几分钟后,可能出现溢出错误信息,通常的错误信息为“参数列太长”或“参数列溢出”,这时候用sargs 
  就可以解决该问题。 
   find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,这样就可以处理 
  最先获取的一部分文件,然后是剩余的并继续下去。 
实例:1、查找系统中的每个普通文件,然后用xargs命令测试它们分别属于那类文件; 
   #find . -type f -print | xargs file 
    2、把内存信息转储问(core dump),然后把结果保存到/tmp/core.log文件中; 
      #find / -name “core” -print | xargs echo “” >/tmp/core.log 
    3、查找当前目录下所有用户具有读、写和执行权限的文件,并收回其他用户的写权限; 
      #find . -perm -7 -print | xargs chmod o-w; 
    4、搜索当前目录下所有普通文件中包含hostname的字符; 
     #find . -type f -print | xargs grep “hostname”或 
     #find . -name \* -type f -print | xargs grep “hostname” 
    5、查找/apps目录下的文件,但不查找/apps/bin目录下查找; 
     #find /apps -path “/apps/bin” -prune -o -print 
三、sed命令详解 
     sed用法 sed是一个非交互性文本流编辑器,它编辑文件或标准输入导出的文件拷贝。可以在命令行输入sed命令, 
也可以在一个文件中写入命令,在使用sed时,sed并不于初始化文件打叫道,它操作的只是一个拷贝,然后所有的改动 
如果没有重定向到一个文件,将输出到屏幕。因为sed是一个非交互性编辑器,必须通过行号或正规表达式指定要改变 
的文本行。 
1、sed怎么读取数据:sed从文件的一个文本行或从标准输入的几种格式中读取数据,将之拷贝到一个编辑缓冲区,然后 
读命令行或脚本的第一命令,并使用这些命令查找模式或定位行号编辑它,重复此过程命令结束。 
2、调用sed:调用sed有三种方式在命令行键入命令;将sed命令插入脚本文件,然后调用sed;将sed命令插入脚本文件, 
并使sed脚本可执行。 
    2.1sed命令格式: 
   sed [选项] sed命令输入文件         【命令行在使用sed时,实际命令要加单引号。sed也允许加双引号】 
   sed [选项] -f sed脚本文件输入文件 
   sed选项如下: 
    n 不打印  【sed不编辑行到标准输出,缺省为打印所有的行】 
    p 命令可以用来打印编辑行 
    c 下一命令是编辑命令,使用多项编辑时加入此选项,如果只用到一条sed命令,此选项无用,但指定它也没有关系 
    f 如果正在sed脚本文件,使用此选项,此选项通知sed一个脚本文件支持所有的sed命令 
     sed -f myscript.sed  input_file    【myscript.sed即为支持sed命令的文件】 
    2.2保存sed输出 
    由于不接触初始化文件,如果想要保存改动内容,简单地将所有输出重定向到一个文件即可,例如: 
    #sed ’some-sed-commands‘ input-file >myoutfile 
    2.3使用sed在文件中查询文本的方式 
    sed浏览输入文件时,缺省从第一行开始,有两种方式定位文本 
     1.使用行号,可以是一个简单数字或一个行号范围 
     2.使用正规表达式 
    使用sed定位文本的一些方式: 
     x (x为行号,如1 
     x,y (表示行号范围从x到y行,如2,5表示从第2行到第5行 
     /pattern/ (查询包含模式的行。如/disk/或/[a-z]/ 
     /pattern/pattern/ (查询包含两个模式的行,例如/disk/disks/ 
     /pattern/ ,x  (在给定行号上查询包含模式的行。例如/ribbon/,3 
     x,/pattern/    (通过行号或模式查询匹配行。例如3,/vcd/ 
     x,y!查询不包含指定行号x和y的行。例如1,2! 
  2.4基本sed编辑命令 
     p 打印匹配行 
     = 显示文件行号 
     a\  在定位行号后附加新文本信息 
     i\ 在定位行号后插入新文本信息 
        d 删除定位行 
     c\ 用新文本替换定位文本 
     s 使用替换模式替换相应模式 
     r 冲另一个文件中读取文件 
     w 写文本到一个文件 
     q 第一个模式匹配完成后推出或立即推出 
     | 显示与八进制ASCII代码等价的控制字符 
     {} 在定位执行的命令组 
     n 从另一个文件中读文本下一行,并附加在下一行 
     g 将模式2粘贴/pattern n/ 
     y 传送字符 
     n 延续到下一输入行;允许跨行的模式匹配语句。 
   sed识别任何基本正规表达式和模式及其匹配规则,如果要定位一特殊字符,必须使用(\)屏蔽其特殊含义 
  例如:1.打印第2行 
    #sed -n ‘2p’ temp.txt 
     2.打印指定范围,打印1到3行,用逗号分割符号 
    #sed -n ‘1,3p’ temp.txt 
     3.使用行号和模式结合使用,显示temp.txt最后一行中的单词the, 
    # sed -n ‘/the/p’ temp.txt 
     4.使用模式与行号的混合方式剔除第一行,和格式为line_number,/pattern/。都好用来分隔行号 
     与模式开始部分,为了达到预期结果,使用4,/the/。意思只在第四行查询模式the。 
    #sed -n ‘4,/the/p’ temp.txt 
     5.匹配元字符$前,必须使用反斜杠\屏蔽特殊含义。模式为/\$/p 
    #sed -n ‘/\$/p’ temp.txt 
     6.显示整个文件,只需将行号范围设为第一行到最后一行1,$。$意为最后一行。 
    #sed -n ‘1,$P’ temp.txt 
     7.显示任意字符,匹配任意字符,后跟任意字符的0次或多次重复,并以ing结尾 
      #sed -n ‘/.*ing/p’ temp.txt 
     8.打印匹配的的字符并显示该行行号 
      #sed -e ‘/music/=’  temp.txt 
     9.在匹配的字符串后插入新的字符串,使用附加操作即使位置,a\,a\通知sed这是一个附加操作 
      #sed  “/abcd/a\ABCD” temp.txt 
     10.替换文本 替换命令用替换模式指定模式,格式为 
    [address[,address]] s/pattern-to-find/replacerment-pattern/[gpwn] 
    s选项通知sed这是一个替换操作,并查询pattern-to-find,成功后replacement-pattern替换它。 
      g: 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。 
      p: 缺省sed将所有被替换写入标准输出,加p选项将使-n选项无效; 
      n: 不打印输出结果; 
      w: 文件名使用此选项将输出定向到一个文件 
    例如:替换night为NIGHT,首先查询night,然后用文本NIGHT替换它 
     #sed ‘s/night/NIGHT/’ temp.txt

分享到:
评论

相关推荐

    linux文件系统及文件操作命令

    Linux 文件系统及文件操作命令 Linux 文件系统是指 Linux 操作系统中用于存储和管理文件的系统。它提供了一个层次结构化的文件系统,允许用户存储、管理和访问文件。Linux 文件系统由多个目录组成,每个目录可以...

    Linux服务器配置与管理:linux文件操作命令.pptx

    掌握: Linux文件操作命令 【能力目标】 会使用文件操作命令维护管理文件 【思政目标】 培养学生职业素养和工匠精神。 1.新建空文件或更新已有文件或目录的修改日期——touch命令 功能: > 若指定的文件或目录已存在...

    实验85-Linux命令:文件操作命令1

    今天,我们将深入探讨三个基本的Linux文件操作命令:`touch`、`cat`和`more`,它们是Linux用户在进行文件管理时不可或缺的工具。 首先,我们来详细了解一下`touch`命令。`touch`命令是一个非常实用的工具,主要用于...

    linux文件操作命令.html

    复制文件:cp,重命名、移动文件:mv,删除文件、目录:rm,绝对、相对命令,建立目录:mkdir,改变文件或目录所属的组:chgrp,显示进程:ps,

    Linux文件操作命令详解及应用场景与优化

    内容概要:本文详细介绍了 Linux 下的四大基本文件操作命令 ls、cp、mv、rm。从基本用法到常见选项及高级应用逐一解析,涵盖列出目录内容、复制文件、移动文件、删除文件的具体操作。同时指出了各命令在大量文件处理...

    Linux文件操作和用户管理

    首先,Linux文件操作是日常工作中最为常用的部分。在Linux系统中,所有内容都被视作文件,包括普通文件、目录文件(或称为文件夹)、设备文件等。文件操作包括但不限于创建、删除、复制、移动、编辑、权限修改等。 ...

    Linux常用文件命令

    Linux提供了多种文件操作命令,包括cat、man、ln等。cat命令用于查看文件内容,man命令用于显示命令的用法,ln命令用于创建文件链接。使用ln命令可以创建硬链接和符号链接,硬链接用于创建文件的多个名称,符号链接...

    Linux文件操作最常用命令.pdf

    Linux文件操作最常用命令包括了文件创建、查看、删除、复制、移动、重命名、解压压缩以及查找等操作。以下是各个操作对应的常用命令以及其使用方法和注意事项。 0. 新建操作: 新建文件夹可以使用`mkdir`命令,后接...

    Linux文件操作命令都有哪些

    以下是一些常见的Linux文件操作命令的详细说明: 1. **cat命令**:cat(concatenate)用于查看和组合文件内容。例如,`cat f1 f2 > f3`会将文件f1和f2的内容合并并写入到f3中。它还支持对输出行进行编号,例如`-n`...

    linux常规操作命令大全

    文件操作命令: * cat:显示文件内容和合并多个文件 * clear:清屏 * chattr:改变文件属性 * chgrp:改变文件组权 * chmod:改变文件或目录的权限 * chown:改变文件的属权 * comm:比较两个已排过序的文件 * cp:...

    操作系统实验报告(Linux安装及常用命令练习).doc

    1. Linux 登录、目录及文件操作命令: * login:登录 Linux 系统 * logout:退出 Linux 系统 * mkdir:创建目录 * rmdir:删除目录 * cd:切换目录 * mv:移动文件或目录 * ls:列出文件或目录 * cp:复制...

    Linux文件搜索命令解析以及locate命令查询优化.pdf

    Linux 操作系统中有多种文件搜索命令,例如find和locate命令,它们提供了多种搜索条件,包括文件名称、时间、文件类型、用户名称、文件大小等,功能非常强大。但是,这些命令的搜索时间较长,特别是在服务器中搜索...

    Linux常用配置文件及常用命令

    Linux是一个功能强大且灵活的操作系统,它提供了许多配置文件和命令来帮助用户管理和维护系统。在本节中,我们将介绍一些常用的Linux配置文件和命令,帮助用户更好地理解和掌握Linux系统。 配置文件 /etc/...

    linux入门常用命令

    #### 二、Linux文件操作命令 **2.1 文件复制命令(cp)** `cp`命令用于复制文件或目录。该命令的基本语法为: ``` cp [选项] 源文件或目录 目标文件或目录 ``` 其中,`[选项]`可以是以下几种: - `-a`: 等价于`-dpr`,...

    Linux常用命令介绍

    #### 三、Linux文件操作命令 掌握基本的文件操作命令对于日常使用Linux至关重要。 - **复制文件/目录(cp命令)** - **语法**:`cp [选项] 源文件或目录 目标文件或目录` - **选项**: - `-a`:相当于`-d -p -R`...

    Linux系统的基本操作及常用命令实验报告.doc

    Linux 系统的基本操作包括安装和使用 Linux 操作系统、熟悉 Ubuntu 操作系统的使用界面和各项功能、目录操作命令、文件操作命令、系统询问与权限命令、进程操作命令等。 目录操作命令是 Linux 操作系统中最基本的...

    linux操作系统实验文件和目录操作报告.pdf

    Linux 操作系统文件和目录操作报告 Linux 操作系统中的文件类型可以...在 Linux 操作系统中,文件操作命令非常丰富,包括 touch、cp、mv、rm、cat、find 等命令。这些命令可以帮助用户高效地管理和操作文件和目录。

    linux复制、删除、移动文件的命令:cp、rm、mv.docx

    Linux 文件操作命令:cp、rm、mv Linux 操作系统中有三个基本的文件操作命令:cp、rm 和 mv。这些命令是 Linux 文件管理的基础,掌握它们是 Linux 使用者的必备技能。 cp 命令 cp 命令是 Linux 中用来复制文件或...

    Linux文件比较命令

    在Linux操作系统下要比较两个文件,可以通过我们介绍的两个命令进行比较,各有优缺点

    Linux文件管理命令

    Linux 文件管理命令是 Linux 操作系统中最基本也是最重要的一部分,它提供了多种命令来管理和维护文件系统。这些命令包括创建、删除、复制、移动、编辑和查看文件等。 一、文件管理命令 1. 创建文件:touch 命令 ...

Global site tag (gtag.js) - Google Analytics