Linux 命令
Posted Crazy丶迷恋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 命令相关的知识,希望对你有一定的参考价值。
获得命令的使用帮助:
内部命令:help command(命令)
外部命令:command --help
man:命令手册
语法:man(选项)(参数) 参数: -a:在所有的man帮助手册中搜索; -f:等价于whatis指令,显示给定关键字的简短描述信息; -P:指定内容时使用分页程序; -M:指定man手册搜索的路径。 NAME:命令名称及功能简要说明 SYNOPSIS:用法说明,包括可用的选项 DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义 OPTIONS:说明每一个选项的意义 FILES:此命令相关的配置文件 BUGS: EXAMPLES:使用示例 SEE ALSO:另外参照
info:在线文档
例子:info ls
type:显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
whatis:用于查询一个命令执行什么功能,并将查询结果打印到终端上。
ls:列出目录下的所有子目录或者文件
语法:ls [-alrtAFR] [name...] 参数: -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为”.”的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 -r 将文件以相反次序显示(原定依英文字母次序) -t 将文件依建立时间之先后次序列出 -A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录) -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/” -R 若目录下有文件,则以下之文件亦皆依序列出
cd:切换目录
cd /root/Docements # 切换到目录/root/Docements cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录 cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录 cd ~USERNAME # 进入指定用户的家目录 cd - #在当前目录和前一次所在的目录之间来回切换
pwd:打印目前所在的工作目录的绝对路径
date:时间管理
语法:date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] 参数: -d datestr : 显示 datestr 中所设定的时间 (非系统时间) –help : 显示辅助讯息 -s datestr : 将系统时间设为 datestr 中所设定的时间 -u : 显示目前的格林威治时间 –version : 显示版本编号 例子:显示当前时间 # date 三 5月 12 14:08:12 CST 2010 # date ‘+%c‘ 2010年05月12日 星期三 14时09分02秒 # date ‘+%D‘ //显示完整的时间 05/12/10 # date ‘+%x‘ //显示数字日期,年份两位数表示 2010年05月12日 # date ‘+%T‘ //显示日期,年份用四位数表示 14:09:31 # date ‘+%X‘ //显示24小时的格式 14时09分39秒
% : 印出 % %n : 下一行 %t : 跳格 %H : 小时(00..23) %I : 小时(01..12) %k : 小时(0..23) %l : 小时(1..12) %M : 分钟(00..59) %p : 显示本地 AM 或 PM %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61) %T : 直接显示时间 (24 小时制) %X : 相当于 %H:%M:%S %Z : 显示时区
%a : 星期几 (Sun..Sat) %A : 星期几 (Sunday..Saturday) %b : 月份 (Jan..Dec) %B : 月份 (January..December) %c : 直接显示日期与时间 %d : 日 (01..31) %D : 直接显示日期 (mm/dd/yy) %h : 同 %b %j : 一年中的第几天 (001..366) %m : 月份 (01..12) %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形) %w : 一周中的第几天 (0..6) %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形) %x : 直接显示日期 (mm/dd/yy) %y : 年份的最后两位数字 (00.99) %Y : 完整年份 (0000..9999)
mkdir:创建空目录
语法:mkdir [-p] dirName 参数: -m, --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p, --parents 递归创建, -v, --verbose 每次创建新目录都显示信息 例子: mkdir -pv /mnt/test/{x/m,y}/z # 命令行展开,会创建两个目录一个x,一个y mkdir -pv {a,d}_{b,c} # a_b a_c d_b d_c mkdir {1..4}{1..4} # 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44
touch:创建文件
tree:查看目录树
语法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...] 参数: -a 显示所有文件和目录。 -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。 -C 在文件和目录清单加上色彩,便于区分各种类型。 -d 显示目录名称而非内容。 -D 列出文件或目录的更改时间。 -f 在每个文件或目录之前,显示完整的相对路径名称。 -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。 -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。 -i 不以阶梯状列出文件或目录名称。 -I<范本样式> 不显示符合范本样式的文件或目录名称。 -l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。 -n 不在文件和目录清单加上色彩。 -N 直接列出文件和目录名称,包括控制字符。 -p 列出权限标示。 -P<范本样式> 只显示符合范本样式的文件或目录名称。 -q 用”?”号取代控制字符,列出文件和目录名称。 -s 列出文件或目录大小。 -t 用文件和目录的更改时间排序。 -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。 -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。
rmdir:删除空目录
rm:删除目录或文件
语法:rm [options] name... 参数: -i 删除前逐一询问确认。 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 -r 将目录及以下之档案亦逐一删除。
cp:复制文件
语法:cp [options] source dest 或 cp [options] source... directory 参数: -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。 -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。 -f:覆盖已经存在的目标文件而不给出提示。 -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答”y”时目标文件将被覆盖。 -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。 -l:不复制文件,只是生成链接文件。
mv 移动文件,修改目录或文件名称
语法:mv [options] source dest mv [options] source... directory 参数: -f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖 -i :若目标文件已经存在,就会询问是否覆盖 -u :若目标文件已经存在,且比目标文件新,才会更新
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 a.txt b.txt
more:查看文件内容,可以分屏显示
语法: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 欲显示内容的文档,可为复数个数 常用操作命令: Enter 向下n行,需要定义。默认为1行 k 向上1行 Ctrl+F 或 空格键 向下滚动一屏 Ctrl+B 或 b 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出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]: 向上翻动一页 1.全屏导航 ctrl + F – 向前移动一屏 ctrl + B – 向后移动一屏 ctrl + D – 向前移动半屏 ctrl + U – 向后移动半屏 2.单行导航 j – 向前移动一行 k – 向后移动一行 3.其它导航 G – 移动到最后一行 g – 移动到第一行 q / ZZ – 退出 less 命令 4.其它有用的命令 v – 使用配置的编辑器编辑当前文件 h – 显示 less 的帮助文档 &pattern – 仅显示匹配模式的行,而不是整个文件 5.标记导航 当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置: ma – 使用 a 标记文本的当前位置 ‘a – 导航到标记 a 处
head:查看文件前n行,默认是10
语法:head(参数)(文件) 参数: -n<数字>:指定显示头部内容的行数; -c<字符数>:指定显示头部内容的字符数; -v:总是显示文件名的头信息; -q:不显示文件名的头信息。
tail:查看文件后n行,默认是10
语法:tail(参数)(文件) 参数: --retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用; -c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容; -f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效; -F:与选项“-follow=name”和“--retry"连用时功能相同; -n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。 --pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令; -q或——quiet或——silent:当有多个文件参数时,不输出各个文件名; -s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数; -v或——verbose:当有多个文件参数时,总是输出各个文件名; --help:显示指令的帮助信息; --version:显示指令的版本信息。
cut:文本剪切
语法:cut(参数)(文件) 参数: -b:仅显示行中指定直接范围的内容; -c:仅显示行中指定范围的字符; -d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容; -n:与“-b”选项连用,不分割多字节字符; --complement:补足被选择的字节、字符或字段; --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符; --help:显示指令的帮助信息; --version:显示指令的版本信息。 例子: cut -d: -f1,3 aa.txt # 打印1和3字段 cut -d: -f1-3 aa.txt # 打印1到3字段
join:文本合并
语法:join(参数)(文件) 参数: -a<1或2>:除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行; -e<字符串>:若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串; -i或--ignore-case:比较栏位内容时,忽略大小写的差异; -o<格式>:按照指定的格式来显示结果; -t<字符>:使用栏位的分割字符; -v<1或2>:更-a相同,但是只显示文件中没有相同栏位的行; -1<栏位>:连接[文件1]指定的栏位; -2<栏位>:连接[文件2]指定的栏位。 文件1:要进行合并操作的第1个文件参数; 文件2:要进行合并操作的第2个文件参数。
sort:根据第一个字符在ASCLL码表中升序排序
语法:sort(参数)(文件) 参数: -b:忽略每行前面开始出的空格字符; -c:检查文件是否已经按照顺序排序; -d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符; -k:按第几个字段排序 sort -t: -k3 /etc/passwd -u:相同的行只显示一次 -f:排序时,将小写字母视为大写字母; -i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符; -m:将几个排序号的文件进行合并; -M:将前面3个字母依照月份的缩写进行排序; -n:依照数值的大小排序; -o<输出文件>:将排序后的结果存入制定的文件; -r:以相反的顺序来排序; -t<分隔字符>:指定排序时所用的栏位分隔字符; +<起始栏位>-<结束栏位>:以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
uniq:略过相邻的重复行
语法:uniq(参数)(文件) 参数: -d:显示重复行 -D:显示所有重复行 -c:显示重复的次数
wc:wc命令用于计算字数
语法:wc(参数)(文件) 参数: -c或–bytes或–chars 只显示Bytes数。 -l或–lines 只显示列数。 -w或–words 只显示字数。 –help 在线帮助。 –version 显示版本信息。
split:将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
语法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名] split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ] 参数: -b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的列数大小。 -<行数> : 指定每多少行切成一个小文件 –help : 在线帮助 –version : 显示版本信息 输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。 -a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。 例子:把 rec_mic_0.pcm 音频切分,每个切分的文件1024,切分为rec_mic_0.pcm-0000后缀,后缀长度为4 split -b 1024 rec_mic_0.pcm -d -a 4 rec_mic_0.pcm-