示例: 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是ls -l的别名。
但是ll作用与ls -al基本相同。
列出文件的属性。
例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文件,需要动态库。
作用:显示inode信息
选项:
-L:支持符号连接; -f:显示文件系统状态而非文件状态; -t:以简洁方式输出信息; --help:显示指令的帮助信息; --version:显示指令的版本信息。
定位
命令
作用
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 file1 file2 > file3 cat file1 file1 > file2 // 此时file1被复制了两次,然后写到file2中
反向显示文件(和cat显示顺序相反)
格式: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
参数: -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 [ -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 [-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
参数: -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 显示帮助界面
作用
格式
选项及含义
选项
含义
-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