zoukankan      html  css  js  c++  java
  • Linux当中文件的显示命令

    Linux中对于文件展示的操作较多,用的也比较频繁,总结如下:

    1. cat

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

    cat [-AbeEnstTuv] [--help] [--version] filename
    
    -n 或 --number:由 1 开始对所有输出的行数编号。
    -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
    -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
    -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
    -E 或 --show-ends : 在每行结束处显示 $。
    -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
    -e : 等价于 -vE。
    -A, --show-all:等价于 -vET。
    -e:等价于"-vE"选项;
    -t:等价于"-vT"选项;
    

    举例:

    cat –n file  (打印文件,并添加行号)
    
    cat m1 m2 > file (将文件ml和m2合并后放入文件file中)
    

    2. more

    命令类似 cat ,会以一页一页的形式显示. 按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示, 按q退出显示。

    more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
    
    -num 一次显示的行数
    
    +num 从第 num 行开始显示
    
    -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
    
    -l 取消遇见特殊字元 ^L时会暂停的功能
    
    -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
    
    -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
    
    -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
    
    -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
    
    -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
    
    +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
    

    举例:

    more +20 testfile  (从第 20 行开始显示 testfile 之文档内容)
    

     3. less

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    less [参数] 文件
    
    -e 当文件显示结束后,自动离开
    -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
    -g 只标志最后搜索的关键词
    -i 忽略搜索时的大小写
    -m 显示类似more命令的百分比
    -N 显示每行的行号
    -o <文件名> 将less 输出的内容在指定文件中保存起来
    -s 显示连续空行为一行
    -S 行过长时间将超出部分舍弃
    /字符串:向下搜索"字符串"的功能
    ?字符串:向上搜索"字符串"的功能
    n:重复前一个搜索(与 / 或 ? 有关)
    N:反向重复前一个搜索(与 / 或 ? 有关)
    b 向后翻一页
    d 向后翻半页
    h 显示帮助界面
    Q 退出less 命令
    u 向前滚动半页
    y 向前滚动一行
    空格键 滚动一页
    回车键 滚动一行
    [pagedown]: 向下翻动一页
    [pageup]: 向上翻动一页
    

    举例:

    ps -ef |less  (ps查看进程信息并通过less分页显示)
    

    4. head tail

    这2个命令比较类似。head是按行号正序输出文件,tail是按行号倒叙输出文件。

    head [参数]... [FILE]
    
    tail [参数]... [FILE]
    
    -c<数目> 显示的字节数
    -n<行数> 显示行数(默认10行)
    --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
    

    举例:

    head -5 file
    
    tail -5 file
    

    5. find

    find命令用来在指定目录下查找文件

    find   path   -option   [ -print ]   [ -exec   -ok   command ]   {} \;
    
    -path:  find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
    -print: find命令将匹配的文件输出到标准输出。
    -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
    -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
    

    -option可对应下列参数:

    -name   filename             #查找名为filename的文件
    -perm                        #按执行权限来查找
    -user    username             #按文件属主来查找
    -group groupname            #按组来查找
    -mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    -atime    -n +n               #按文件访问时间来查GIN: 0px">
    -ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
    -nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存
    -newer   f1 !f2              找文件,-n指n天以内,+n指n天以前
    -ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    -nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在
    -nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存
    -newer   f1 !f2               #查更改时间比f1新但比f2旧的文件
    -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
    -size      n[c]               #查长度为n块[或n字节]的文件
    -depth                       #使查找在进入子目录前先行查找完本目录
    -fstype                     #查更改时间比f1新但比f2旧的文件
    -type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件
    -size      n[c]               #查长度为n块[或n字节]的文件
    -depth                       #使查找在进入子目录前先行查找完本目录
    -fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
    -mount                       #查文件时不跨越文件系统mount点
    -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
    -cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到
    -mount                       #查文件时不跨越文件系统mount点
    -follow                      #如果遇到符号链接文件,就跟踪链接所指的文件
    -cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中
    -prune                       #忽略某个目录
    

    举例:

    find   -name april*  (在当前目录下查找以april开始的文件)
    
    find   /mnt   -name tom.txt   -ftype vfat   (在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件)
    
    find . -type f -exec ls -l {} \;  (查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出)
    

    6. 文件判断

    下列参数是在if语句中,对文件的相关判断操作,如果下面的条件成立将会返回真.(仅列出一些常用的操作)

    -e
        文件存在
    -f
        表示这个文件是一个 一般 文件(并不是目录或者设备文件)
    -s
        文件大小不为零
    -d
        表示这是一个目录
    -b
        表示这是一个块设备(软盘, 光驱, 等等.)
    -S
        表示这是一个socket
    -r
        文件是否具有可读权限( 指的是正在运行这个测试命令的用户是否具有读权限 )
    -w
        文件是否具有可写权限(指的是正在运行这个测试命令的用户是否具有写权限)
    -x
        文件是否具有可执行权限(指的是正在运行这个测试命令的用户是否具有可执行权限)
    -O
        判断你是否是文件的拥有者
    f1 -nt f2
        文件 f1 比文件 f2 新
    f1 -ot f2
        文件 f1 比文件 f2 旧
    f1 -ef f2
        文件 f1 和文件 f2 是相同文件的硬链接
    !
        "非" -- 反转上边所有测试的结果(如果没给出条件, 那么返回真).
    

    举例:

    if [ ! -f "$myFile" ]; then
    
     touch "$myFile"
    
    fi # 这里的-f参数判断$myFile是否存在
    

     7. 文件类型判断

    file命令用于辨识文件类型。

    file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
    
    -b  列出辨识结果时,不显示文件名称。
    -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
    -f   <名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
    -L  直接显示符号连接所指向的文件的类别。
    -m   <魔法数字文件>  指定魔法数字文件。
    -v  显示版本信息。
    -z  尝试去解读压缩文件的内容。
      [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
    

     举例:

    [root@localhost ~]# file -b install.log      <== 不显示文件名称
    UTF-8 Unicode text
    
  • 相关阅读:
    JDK环境变量设置
    用mapXtreme Java开发web gis应用 (下)
    最简单的mapxtreme的servlet例子
    MapXtreme Java开发环境配置
    MapXtreme2004代码 读取TAB表中的元素
    一段旋转图元几何体的代码
    oracle ocp题库变化,052最新考试题及答案整理30
    OCP认证052考试,新加的考试题还有答案整理23题
    OCP题库变了,2018年052新题库29题
    2018OCP最新题库052新加考题及答案整理27
  • 原文地址:https://www.cnblogs.com/xbxblog/p/9830611.html
Copyright © 2011-2022 走看看