OverTheWire答案 & Linux命令笔记

本文主要记录了OverTheWire Bandit答案以及使用的linux命令。

Bandit答案

ssh -p 2220 bandit?@bandit.labs.overthewire.org

关卡 秘钥
Level0 bandit0
Level1 boJ9jbbUNNfktd78OOpsqOltutMc3MY1
Level2 CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
Level3 UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
Level4 pIwrPrtPN36QITSp3EQaw936yaFoFgAB
Level5 koReBOKuIDDepwhWk7jZC0RTdopnAYKh
Level6 DXjZPULLxYr17uwoI01bNLQbtFemEgo7
Level7 HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs
Level8 cvX2JJa4CFALtqS87jk27qwqGhBM9plV
Level9 UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR
Level10 truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
Level11 IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR
Level12 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu
Level13
Level14
Level15

常用linux命令

ls

ls [-alrtAFR] [name…]

参数 解释
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为”.”的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
-R 若目录下有文件,则以下之文件亦皆依序列出

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

file

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

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

du

du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][–block-size][–exclude=<目录或文件>][–max-depth=<目录层数>][–help][–version][目录或文件]

参数 解释
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 重复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计。
-S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
–exclude=<目录或文件> 略过指定的目录或文件。
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
–help 显示帮助。
–version 显示版本信息。

find

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

参数 解释
-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 的文件
-user name name 是文件所属的用户
-group group group 是文件所属的组

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”参数相同。

uniq

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][–help][–version][输入文件][输出文件]

注:uniq only filter adjacent matching lines from INPUT

参数 解释
-c或–count 在每列旁边显示该行重复出现的次数。
-d或–repeated 仅显示重复出现的行列。
-f<栏位>或–skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>或–skip-chars=<字符位置> 忽略比较指定的字符。
-u或–unique 仅显示出一次的行列。
-w<字符位置>或–check-chars=<字符位置> 指定要比较的字符。
–help 显示帮助。
–version 显示版本信息。
[输入文件] 指定已排序好的文本文件。
[输出文件] 指定输出的文件。

sort

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

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

strings

Usage: strings [option(s)] [file(s)]

Display printable strings in [file(s)] (stdin by default)

参数 解释
-a - –all Scan the entire file, not just the data section [default]
-d –data Only scan the data sections in the file
-f –print-file-name Print the name of the file before each string
-n –bytes=[number] Locate & print any NUL-terminated sequence of at
-\<number> least [number] characters (default 4).
-t –radix={o,d,x} Print the location of the string in base 8, 10 or 16
-w –include-all-whitespace Include all whitespace as valid string characters
-o An alias for –radix=o
-T –target= Specify the binary file format
-e –encoding={s,S,b,l,B,L} Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
-s –output-separator=\<string> String used to separate strings in output.
@\<file> Read options from \
-h –help Display this information
-v -V –version Print the program’s version number

tr

tr [-cdst][–help][–version][第一字符集][第二字符集]
tr [OPTION]…SET1[SET2]

参数 解释

-c, –complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d, –delete:删除指令字符
-s, –squeeze-repeats:缩减连续重复的字符成指定的单个字符
-t, –truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
–help:显示程序用法信息
–version:显示程序本身的版本信息

字符集合的范围 解释
\NNN 八进制值的字符 NNN (1 to 3 为八进制值的字符)
\ 反斜杠
\a Ctrl-G 铃声
\b Ctrl-H 退格符
\f Ctrl-L 走行换页
\n Ctrl-J 新行
\r Ctrl-M 回车
\t Ctrl-I tab键
\v Ctrl-X 水平制表符
CHAR1-CHAR2 字符范围从 CHAR1 到 CHAR2 的指定,范围的指定以 ASCII 码的次序为基础,只能由小到大,不能由大到小。
[CHAR*] 这是 SET2 专用的设定,功能是重复指定的字符到与 SET1 相同长度为止
[CHAR*REPEAT] 这也是 SET2 专用的设定,功能是重复指定的字符到设定的 REPEAT 次数为止(REPEAT 的数字采 8 进位制计算,以 0 为开始)
[:alnum:] 所有字母字符与数字
[:alpha:] 所有字母字符
[:blank:] 所有水平空格
[:cntrl:] 所有控制字符
[:digit:] 所有数字
[:graph:] 所有可打印的字符(不包含空格符)
[:lower:] 所有小写字母
[:print:] 所有可打印的字符(包含空格符)
[:punct:] 所有标点字符
[:space:] 所有水平与垂直空格符
[:upper:] 所有大写字母
[:xdigit:] 所有 16 进位制的数字
[=CHAR=] 所有符合指定的字符(等号里的 CHAR,代表你可自订的字符)

本文标题:OverTheWire答案 & Linux命令笔记

文章作者:Jerry

发布时间:2018年07月24日 - 10:33:00

最后更新:2018年08月18日 - 13:23:35

原始链接:https://jerryma0912.github.io/2018/07/24/18-linuxCommand/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。