Linux命令系列--文件显示命令

    xiaoxiao2024-10-16  84

    显示文件信息

    ls

    示例:   ls -a                                   // 不隐藏任何以. 开始的项目   ls -lS                                  // 按照文件大小列出文件   ls -lh                                  // 以易于阅读的格式输出文件大小   ls -l --block-size=M          // 以M为单位显示各个文件   ls -l --block-size=M file1  // 以M为单位显示file1    参数:

      -a, --all                                不隐藏任何以 "."开始的项目   -A, --almost-all                   列出除"."及".."以外的任何项目    --author                                与-l 同时使用时列出每个文件的作者   -b, --escape                       以八进制溢出序列表示不可打印的字符   --block-size=SIZE           以size为单位显示大小。例:`--block-size=M' ,SIZE 可以是一个可选的整数,后面跟着以下单位                                               中的一个:KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。   -B, --ignore-backups         不显示后边带 ~ 的项目(备份文件)。   -c                                         with -lt: sort by, and show, ctime (time of last modification of file status information)                                                with -l: show ctime and sort by name otherwise: sort by ctime, newest first   -C                                         每栏由上至下列出项目   --color[=WHEN]                  控制是否使用色彩分辨文件。WHEN 可以是"never"(默认)、"always"或"auto"其中之一   -d, --directory                      当遇到目录时列出目录本身而非目录内的文件   -D, --dired                           产生适合Emacs 的dired 模式使用的结果   -f                                           不进行排序,-aU 选项生效,-lst 选项失效   -F, --classify                         加上文件类型的指示符号(*/=@| 其中一个)   --format=关键字                 交错-x,逗号分隔-m,水平-x,长-l,单栏-1,详细-l,垂直-C   --full-time                              即-l --time-style=full-iso   -g                                          类似-l,但不列出所有者   --group-directories-first     在文件前分组目录。此选项可与--sort 一起使用,一旦使用--sort=none (-U)将禁用分组   -G, --no-group                     以一个长列表的形式,不输出组名   -h, --human-readable      与-l 一起,以易于阅读的格式输出文件大小  (例如 1K 234M 2G)   --si                                         同上面类似,但是使用1000 为基底而非1024   -H, --dereference-command-line                         跟随命令行列出的符号链接   --dereference-command-line-symlink-to-dir        跟随命令行列出的目录的符号链接   --hide=PATTERN                隐藏符合PATTERN 模式的项目 (-a 或 -A 将覆盖此选项)   --indicator-style=方式         指定在每个项目名称后加上指示符号方式:none (默认),classify (-F),file-type (-p)   -i, --inode                             显示每个文件的inode 号   -I, --ignore=PATTERN         不显示任何符合指定PATTERN 的项目   -k                                           即--block-size=1K   -l                                             使用较长格式列出信息                                                 第1列:属性。详见chmod                                                  第2列:若为普通文件,则为硬链接数,若为链接文件,则为节点数。                                                 第3列:拥有者。                                                 第4列:拥有者所在的组                                                 第5列:所占空间。(若为设备节点,如/dev/..,逗号左侧是主设备号,右侧是次设备号)                                                 第6列:修改时间:月、日、钟表时间   -L, --dereference                 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息   -m                                           所有项目以逗号分隔,并填满整行行宽   -n, --numeric-uid-gid             类似 -l,但列出UID 及GID 号   -N, --literal                               输出未经处理的项目名称 (如不特别处理控制字符)   -o                                             类似 -l,但不列出有关组的信息   -p,  --indicator-style=slash    对目录加上表示符号"/"   -q, --hide-control-chars         以"?"字符代替无法打印的字符   --show-control-chars             直接显示无法打印的字符 (这是默认方式,除非调用的程序名称是"ls"而且是在终端输出结果)   -Q, --quote-name                   将条目名称括上双引号   --quoting-style=方式              使用指定的quoting 方式显示条目的名称: literal、locale、shell、shell-always、c、escape   -r, --reverse                            逆序排列   -R, --recursive                       递归显示子目录   -s, --size                                 以块数形式显示每个文件分配的尺寸   -S                                            根据文件大小排序   --sort=WORD                        以下是可选用的WORD 和它们代表的相应选项:                                                    extension -X       status   -c    none      -U       time     -t size      -S       atime    -u                                                    time      -t       access   -u    version   -v       use      -u   --time=WORD                      和-l 同时使用时显示WORD 所代表的时间而非修改时间:atime、access、use、ctime 或status                                                  加上--sort=time 选项时会以指定时间作为排序关键字   --time-style=STYLE             和-l 同时使用时根据STYLE 代表的格式显示时间:full-iso,iso,locale,posix-iso,+FORMAT。                                                  FORMAT 即是"date"所用的时间格式;如果FORMAT是FORMAT1<换行>FORMAT2,                                                  FORMAT1适用较旧的文件而FORMAT2 适用于较新的文件;如果STYLE以"posix-"开头,则                                                 STYLE 仅在POSIX 语系之外生效。   -t                                            根据修改时间排序,最新的放在最前边   -T, --tabsize=宽度                指定制表符(Tab)的宽度,而非8 个字符   -T, --tabsize=COLS             assume tab stops at each COLS instead of 8   -u                                           同-lt 一起使用:按照访问时间排序并显示;同-l一起使用:显示访问时间并按文件名排序                                                 其他:按照访问时间排序   -U                                          不进行排序;按照目录顺序列出项目   -v                                           在文本中进行数字(版本)的自然排序   -w, --width=COLS               自行指定萤幕宽度而不使用目前的数值   -x                                           逐行列出项目而不是逐栏列出   -X                                          根据扩展名排序   -1                                          每行只列出一个文件   --help                                    显示此帮助信息并退出   --version                               显示版本信息并退出

    ll

    ll是ls -l的别名。

    但是ll作用与ls -al基本相同。

    file

    列出文件的属性。

    例1: file a.o; 得到: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped 可确定:是Intel目标文件,只能在Intel上运行,而不是arm文件,所以不能在开发板运行。

    例2: file hello 得到: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked (uses shared libs),for GNU/Linux 2.6.18, not stripped 可确定:是可执行的文件,Intel文件,需要动态库。

    stat

    作用:显示inode信息

    选项:

    -L:支持符号连接; -f:显示文件系统状态而非文件状态; -t:以简洁方式输出信息; --help:显示指令的帮助信息; --version:显示指令的版本信息。

    显示文件内容

    vi

    定位

    命令

    作用

    0(或^)

    光标移到行首

    $

    光标移到行尾

    gg

    光标移动到文件首部

    G

    光标移动到文件末尾

    ngg/nG 无需回车

    :n 回车

    vi +n fileName 回车

    跳转到第n行。

    ctrl+o

    回到上一个光标的位置

    ctrl+i

    回到下一个光标的位置

    /

    输入查找的字符,按n会往后查找,按N会往前查找

    ?

    输入查找的字符,按n会往前查找,按N会往后查找

    ctrl+b

    上翻

    ctrl+f

    下翻

     

    编辑

    命令

    作用

    u

    恢复到上一步

    ctrl+R

    恢复到撤销之前的状态。(对撤销的撤销)

    a

    光标后插入文本

    i

    光标前插入文本

    o

    插入新的一行,从行首开始输入

    d0

    删至行首

    ndd

    删除从当前行开始的n行

    D

    删至行尾

    x

    删除光标后一个字符

     

    退出

     

    命令作用

    :w

    保存文件

    :wq

    保存文件并退出

    :q

    退出

    :q!

    退出但是不保存

    :qall!

    放弃所有修改并退出 (可以用:qa!)

    :wqall!

    保存所有并退出(可以用:wqa!)

    窗口

     

    命令

    作用

    :split

    竖直分割窗口。(可以用":sp",另外,可以这样用:":sp./file1,以打开另一个文件)

    :vsplit

    竖直分割窗口。(可以用":vs",另外,可以这样用:":vs./file1,以打开另一个文件)

    ctrl+w

    可以在窗口之间跳转

    :only

    关闭其他窗口,只保留此窗口(可以用:on)

    vim-o

    水平分割打开。例如:vim-ofile1file2

    vim-O

    竖直分割打开。例如:vim-Ofile1file2

    :shell

    在vi编辑的时候用此命令暂时跳出vi,可以运行命令(可用:sh)。可以用exit来恢复到vi界面

    vi上下左右和退格不正常问题解决

    步骤一:

    输入chsh,回车 在Login Shell...后输入/bin/bash回车

    步骤二:

    修改/etc/vim/vimrc.tiny 修改  set compatible  为  set nocompatible     设置是否兼容 添加  set backspace=2             设置 backspace可以删除任意字符

    备注:

    set baskspace=2等同于set backspace=indent,eol,start  indent: 如果用了:set indent,:set ai 等自动缩进,想用退格键将字段缩进的删掉,必须设置这个选项。否则不响应。 eol:如果插入模式下在行开头,想通过退格键合并两行,需要设置eol。 start:要想删除此次插入前的输入,需设置这个。

    cat

    作用:显示文件 示例:     cat file1 file2 > file3     cat file1 file1 > file2   // 此时file1被复制了两次,然后写到file2中

    tac

    反向显示文件(和cat显示顺序相反)

    hexdump

    格式:hexdump [-bcCdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...] 参数 -b     每个字节显示为8进制。一行共16个字节,一行开始以十六进制显示偏移值 -c     每个字节显示为ASCII字符-C     每个字节显示为16进制和相应的ASCII字符 -d     两个字节显示为10进制 -e     格式化输出 -f     Specify a file that contains one or more newline separated format strings. Empty lines and lines whose first non-blank         character is a hash mark (#) are ignored.-n     只显示前n个长度的字符 -o     两个字节显示8进制数据-s     从偏移量开始输出 -v     The -v option causes hexdump to display all input data. Without the -v option, any number of groups of output lines,          which would be identical to the immediately preceding group of output lines -x     双字节十六进制显示 示例: 1.以ASCII字符显示文件中字符     hexdump -c test 2.以16进制和相应的ASCII字符显示文件里的字符     hexdump -C test 3.只显示文件中前n个字符     hexdump -C -n 5 test 4.以偏移量开始格式输出     hexdump -C -s 5 test

    head

    参数: -q 隐藏文件名 -v 显示文件名 -c 显示前多少个字节数 -n 显示前几行示例: 1.显示文件的前5行 head -n 5 test.txt 2.显示文件前5个字节 head -c 5 test.txt 3.显示除了最后5个字节以外的内容 head -c -5 test.txt

    tail

    格式:tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]参数: -f 监视File文件增长。 -c Number 从Number字节位置读取指定文件 -n Number 从Number行位置读取指定文件。 -m Number 从Number多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。 -b Number 从Number表示的512字节块位置读取指定文件。 -k Number 从Number表示的1KB块位置读取指定文件。示例: 1、监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出:按下CTRL C tail -f filename 2、显示filename最后20行 tail -n 20 filename 3、逆序显示filename最后10行 tail -r -n 10 filename

    more

    作用:more会以一页一页的显示方便使用者逐页阅读,而且还有搜寻字串的功能。格式:more [-dlfpcsu ] [-num ] [ / pattern] [ linenum] [file ... ]参数: n 从笫n行开始显示 -n 定义屏幕大小为n行 /pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行向后显示 -c 从顶部清屏,然后显示 -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能 -l 忽略Ctrl l(换页)字符 -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 -s 把连续的多个空行显示为一行 -u 把文件内容中的下画线去掉常用操作命令: Enter 向下n行,需要定义。默认为1行 空格键 向下滚动一屏(Ctrl F也可以) b 返回上一屏(Ctrl B也可以) = 输出当前行的行号 :f 输出文件名和当前行的行号 v 调用vi编辑器(或者V) !命令 调用Shell,并执行命令 / 向后搜索 q 退出more

    less

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

    cut

    作用

     

    格式

     

    选项及含义

    选项

    含义

    -b,--bytes=lists

    只选中指定的这些字节

    -c,--characters=lists

    只选中指定的这些字符

    -d, --delimiter=分界符

    使用指定分界符代替制表符作为区域分界。只有指定-f时使用。不指定时分界为制表符。

    -f, --fields=列表

    只选中指定的这些域;并打印所有不包含分界符的行,除非-s 选项被指定。

    仅使用f -b, -c 或-f 中的一个,每一个列表都是专门为一个类别作出的,或者您可以用逗号隔开要同时显示的不同类别。您的输入顺序将作为读取顺序,每个仅能输入一次。

    每种参数格式表示范围如下:

    N   从第1 个开始数的第N 个字节、字符或域

    N-  从第N 个开始到所在行结束的所有字符、字节或域

    N-M 从第N 个开始到第M 个之间(包括第M 个)的所有字符、字节或域

    -M  从第1 个开始到第M 个之间(包括第M 个)的所有字符、字节或域

    -n

    取消分割多字节字符。仅和 -b 标志一起使用,如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。

    --complement

    补全选中的字节、字符或域

    -s, --only-delimited

    不打印没有包含分界符的行

    --output-delimiter=字符串

    使用指定的字符串作为输出分界符,默认采用输入的分界符

    --help

    显示此帮助信息并退出

    --version

    显示版本信息并退出

    示例

    cat test.txt

    结果:

    Name; Mark; Percent

    tom; 69; 91

    jack; 71; 87

    alex; 68; 98

     

    cut -d " " -f1 test.txt

    结果:

    Name;

    tom;

    jack;

    alex;

    cut -d " " -f2,3 test.txt

    结果:

    Mark; Percent

    69; 91

    71; 87

    68; 98

    cut -d " " -f2 --complement test.txt

    结果:

    Name; Percent

    tom; 91

    jack; 87

    alex; 98

    cut -c1-3 test.txt

    结果:

    Nam

    tom

    jac

    ale

     

     

    cut -c1- test.txt

    结果:

    Name; Mark; Percent

    tom; 69; 91

    jack; 71; 87

    alex; 68; 98

     

    cut -d ";" -f2 test.txt

    结果:(有空格)

     Mark

     69

     71

     68

     

    cut -d ";" -f2 test.txt | cut -d " " -f2

    结果:(无空格)

    Mark

    69

    71

    68

     

     


    最新回复(0)