zoukankan      html  css  js  c++  java
  • Linux命令--文件处理

    touch命令

    Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

    ls -l 可以显示档案的时间记录。

    语法

    touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
    • 参数说明
    • a 改变档案的读取时间记录。
    • m 改变档案的修改时间记录。
    • c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
    • f 不使用,是为了与其他 unix 系统的相容性而保留。
    • r 使用参考档的时间记录,与 --file 的效果一样。
    • d 设定时间与日期,可以使用各种不同的格式。
    • t 设定档案的时间记录,格式与 date 指令相同。
    • --no-create 不会建立新档案。
    • --help 列出指令格式。
    • --version 列出版本讯息。

     

    read 命令

    Linux read命令用于从标准输入读取数值。

    read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

    语法

    read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

    参数说明:

    • -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
    • -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
    • -p 后面跟提示信息,即在输入前打印提示信息。
    • -e 在输入的时候可以时候命令补全功能。
    • -n 后跟一个数字,定义输入文本的长度,很实用。
    • -r 屏蔽,如果没有该选项,则作为一个转义字符,有的话 就是个正常的字符了。
    • -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
    • -t 后面跟秒数,定义输入字符的等待时间。
    • -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

     

    file命令

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

    通过file指令,我们得以辨识该文件的类型。

    语法

    file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]

    参数

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

    find命令

    Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与

    文件。并且将查找到的子目录和文件全部进行显示。

    语法

    find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ;

    参数说明 :

    find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则

    使用 -print 为预设 expression。

    expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

    -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

    -amin n : 在过去 n 分钟内被读取过

    -anewer file : 比文件 file 更晚被读取过的文件

    -atime n : 在过去n天内被读取过的文件

    -cmin n : 在过去 n 分钟内被修改过

    -cnewer file :比文件 file 更新的文件

    -ctime n : 在过去n天内被修改过的文件

    -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

    -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

    -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

    -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

    d: 目录

    c: 字型装置文件

    b: 区块装置文件

    p: 具名贮列

    f: 一般文件

    l: 符号连结

    s: socket

    -pid n : process id 是 n 的文件

    你可以使用 ( ) 将运算式分隔,并使用下列运算。

    exp1 -and exp2

    ! expr

    -not expr

    exp1 -or exp2

    exp1, exp2

     

    locate命令

    Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

    一般情况我们只需要输入 locate your_file_name 即可查找指定文件。

    语法

    locate [-d ][--help][--version][范本样式...]

    参数:

    • -d或--database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/slocate目录里,文档名为slocate.db,您可使用 这个参数另行指定。
    • --help  在线帮助。
    • --version  显示版本信息。

     

    which命令

    Linux which命令用于查找文件。

    which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

    语法

    which [文件...]

    参数

    • -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
    • -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
    • -w  指定输出时栏位的宽度。
    • -V  显示版本信息。

     

    whereis命令

    Linux whereis命令用于查找文件。

    该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

    该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

    语法

    whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

    参数

    • -b  只查找二进制文件。
    • -B<目录>  只在设置的目录下查找二进制文件。
    • -f  不显示文件名前的路径名称。
    • -m  只查找说明文件。
    • -M<目录>  只在设置的目录下查找说明文件。
    • -s  只查找原始代码文件。
    • -S<目录>  只在设置的目录下查找原始代码文件。
    • -u  查找不包含指定类型的文件。

     

     

    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"选项;

     

    more命令

    Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

    语法

    more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

    参数

    • -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),然后从该字串之后开始显示
    • +num 从第 num 行开始显示
    • fileNames 欲显示内容的文档,可为复数个数

     

    less命令

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

    语法

    less [参数] 文件

    参数说明

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

     

    head 命令

    head 命令可用于查看文件的开头内容,默认为10行

    head filename 会把 filename 文件里的首部的内容显示在屏幕上。

    命令格式:

    tail [参数] [文件]

    参数:

    • -n<行数> 显示行数
     

    tail 命令

    tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

    tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

    命令格式:

    tail [参数] [文件]

    参数:

    • -f 循环读取
    • -q 不显示处理信息
    • -v 显示详细的处理信息
    • -c<数目> 显示的字节数
    • -n<行数> 显示行数
    • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
    • -q, --quiet, --silent 从不输出给出文件名的首部
    • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

     

    ln命令

    Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

    当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

    语法

     ln [参数][源文件或目录][目标文件或目录]

    其中参数的格式为

    [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

    [--help] [--version] [--]

    命令功能 : 
    Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

    不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

    软链接

    • 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
    • 2.软链接可以 跨文件系统 ,硬链接不可以
    • 3.软链接可以对一个不存在的文件名进行链接
    • 4.软链接可以对目录进行链接

    硬链接

    • 1.硬链接,以文件副本的形式存在。但不占用实际空间。
    • 2.不允许给目录创建硬链接
    • 3.硬链接只有在同一个文件系统中才能创建

    命令参数

    必要参数

    • -b 删除,覆盖以前建立的链接
    • -d 允许超级用户制作目录的硬链接
    • -f 强制执行
    • -i 交互模式,文件存在则提示用户是否覆盖
    • -n 把符号链接视为一般目录
    • -s 软链接(符号链接)
    • -v 显示详细的处理过程

    选择参数

      • -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
      • -V "-V<备份方式>"或"--version-control=<备份方式>"
      • --help 显示帮助信息
      • --version 显示版本信息

     

    dd命令

    Linux dd命令用于读取、转换并输出数据。

    dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

    参数说明:

      • if=文件名:输入文件名,缺省为标准输入。即指定源文件。
      • of=文件名:输出文件名,缺省为标准输出。即指定目的文件。
      • ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
        obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
        bs=bytes:同时设置读入/输出的块大小为bytes个字节。
      • cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
      • skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
      • seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
      • count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
      • conv=<关键字>,关键字可以有以下11种:--help:显示帮助信息
        • conversion:用指定的参数转换文件。
        • ascii:转换ebcdic为ascii
        • ebcdic:转换ascii为ebcdic
        • ibm:转换ascii为alternate ebcdic
        • block:把每一行转换为长度为cbs,不足部分用空格填充
        • unblock:使每一行的长度都为cbs,不足部分用空格填充
        • lcase:把大写字符转换为小写字符
        • ucase:把小写字符转换为大写字符
        • swab:交换输入的每对字节
        • noerror:出错时不停止
        • notrunc:不截短输出文件
        • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
      • --version:显示版本信息

     

    grep命令[与cut连用]

    Linux grep命令用于查找文件里符合条件的字符串。

    grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据。

    语法

    grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

    参数

    • -a 或 --text : 不要忽略二进制的数据。
    • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
    • -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
    • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
    • -c 或 --count : 计算符合样式的列数。
    • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
    • -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
    • -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
    • -E 或 --extended-regexp : 将样式为延伸的普通表示法来使用。
    • -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
    • -F 或 --fixed-regexp : 将样式视为固定字符串的列表。
    • -G 或 --basic-regexp : 将样式视为普通的表示法来使用。
    • -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
    • -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
    • -i 或 --ignore-case : 忽略字符大小写的差别。
    • -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
    • -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
    • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
    • -q 或 --quiet或--silent : 不显示任何信息。
    • -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
    • -s 或 --no-messages : 不显示错误信息。
    • -v 或 --revert-match : 显示不包含匹配文本的所有行。
    • -V 或 --version : 显示版本信息。
    • -w 或 --word-regexp : 只显示全字符合的列。
    • -x --line-regexp : 只显示全列符合的列。
    • -y : 此参数的效果和指定"-i"参数相同

     

     

    cut命令[与grep连用]

    Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。

    语法

    cut  [-bn] [file]
    cut [-c] [file]
    cut [-df] [file]

    使用说明:

    cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。

    如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。

    参数:

      • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
      • -c :以字符为单位进行分割。
      • -d :自定义分隔符,默认为制表符。
      • -f :与-d一起使用,指定显示哪个区域。
      • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
        范围之内,该字符将被写出;否则,该字符将被排除

     

    awk 命令

    AWK是一种处理文本文件的语言,是一个强大的文本分析工具。

    之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。

    语法

    awk [选项参数] 'script' var=value file(s)
    
    awk [选项参数] -f scriptfile var=value file(s)

    选项参数说明:

      • -F fs or --field-separator fs
        指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
      • -v var=value or --asign var=value
        赋值一个用户定义变量。
      • -f scripfile or --file scriptfile
        从脚本文件中读取awk命令。
      • -mf nnn and -mr nnn
        对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
      • -W compact or --compat, -W traditional or --traditional
        在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
      • -W copyleft or --copyleft, -W copyright or --copyright
        打印简短的版权信息。
      • -W help or --help, -W usage or --usage
        打印全部awk选项和每个选项的简短说明。
      • -W lint or --lint
        打印不能向传统unix平台移植的结构的警告。
      • -W lint-old or --lint-old
        打印关于不能向传统unix平台移植的结构的警告。
      • -W posix
        打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。
      • -W re-interval or --re-inerval
        允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
      • -W source program-text or --source program-text
        使用program-text作为源代码,可与-f命令混用。
      • -W version or --version
        打印bug报告信息的版本。

     

    printf 命令

    语法

     printf(print) '输出类型 输出格式' 输出内容

     

    sed命令

    Linux sed命令是利用script来处理文本文件。

    sed可依照script的指令,来处理、编辑文本文件。

    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 就是!

     

     

    sort命令

    Linux sort命令用于将文本文件内容加以排序。

    sort可针对文本文件的内容,以行为单位来排序。

    语法

    sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

    参数说明

    • -b 忽略每行前面开始出的空格字符。
    • -c 检查文件是否已经按照顺序排序。
    • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
    • -f 排序时,将小写字母视为大写字母。
    • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
    • -m 将几个排序好的文件进行合并。
    • -M 将前面3个字母依照月份的缩写进行排序。
    • -n 依照数值的大小排序。
    • -o<输出文件> 将排序后的结果存入指定的文件。
    • -r 以相反的顺序来排序。
    • -t<分隔字符> 指定排序时所用的栏位分隔字符。
    • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
    • --help 显示帮助。
    • --version 显示版本信

     

    wc命令

    Linux wc命令用于计算字数。

    利用WC指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是所给予的文件名为 “ - ”,则WC指令会从标准输入设备读取数据。

    语法

    wc [-clw] [ -  help] [ -  version] [文件...]

    参数

    • -c或--bytes或--chars只显示Bytes数。
    • -l或--lines只显示行数。
    • -w或--words只显示字数。
    • --help在线帮助。
    • --version显示版本信息。

     

  • 相关阅读:
    国际组织
    波段
    hhgis驱动
    百度地图格式
    气象数据格式
    汽车用传感器
    无线传感器网络
    【系统软件工程师面试】7. 消息队列
    【ToDo】存储设计概述
    Arthas: Java 动态追踪技术
  • 原文地址:https://www.cnblogs.com/China-Waukee/p/9544427.html
Copyright © 2011-2022 走看看