# Shell
# Flag
Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器), Shell也用于泛指所有为用户提供操作界面的程序,也就是程序和用户交互的层面
- 命令行参考大全(Linux、macOS、CMD、PowerShell、VB Script)https://ss64.com (opens new window)
- https://www.robvanderwoude.com (opens new window)
# 行尾序列
又叫行尾符、换行符
- https://zh.wikipedia.org/wiki/換行 (opens new window)
- https://zh.wikipedia.org/wiki/控制字符 (opens new window)
CR
:Carriage Return,对应ASCII十进制是13
, 十六进制0x0D
,转义字符\r
,表示回车,MacIntosh操作系统(Mac OSX 10.9之前)使用LF
:Linefeed,对应ASCII十进制是10
, 十六进制0x0A
,转义字符\n
,表示换行,Unix/Linux/MacOSX使用CRLF
:Carriage Return & Linefeed,\r\n
,表示回车并换行,Dos和Windows使用
Linux
# 显示格式。
:set ff
# 设置为unix格式
:set ff=unix
# 保存
:wq
# batch与shell同义操作符
batch | Shell | 作用 |
---|---|---|
% | $ | 命令行参数前缀 |
/ | - | 命令选项标记 |
\ | / | 目录路径分隔符 |
== | = | (等于)字符串比较测试 |
!==! | != | (不等)字符串比较测试 |
| | | | 管道:前一条命令的输出,作为后一条命令参数 |
|| | || | 前一条命令执行失败,才执行后一条命令 |
& | & | 前后所有命令都执行,不管成功与否 |
&& | && | 前一个命令执行成功,才执行后一个 |
; | ; | 前后所有命令都执行,不管成功与否 |
@ | set +v | 不打印当前命令 |
* | * | 文件名"通配符" |
> | > | 文件重定向(覆盖) |
>> | >> | 文件重定向(附加) |
< | < | 重定向stdin |
^ | \ | 命令换行执行,PowerShell为`(反引号) |
%VAR% | $VAR | 环境变量 |
REM | # | 注释 |
NOT | ! | 取反 |
NUL | /dev/null | "黑洞"用来阻止命令输出 |
ECHO | echo | 打印(Bash中有更多选项) |
ECHO. | echo | 打印空行 |
ECHO OFF | set +v | 不打印后续的命令 |
FOR %%VAR IN (LIST) DO | for var in [list]; do | "for"循环 |
:LABEL | 没有等价物(多余) | 标签 |
GOTO | 没有等价物(使用函数) | 跳转到脚本的另一个位置 |
PAUSE | sleep | 暂停或等待一段时间 |
CHOICE | case or select | 菜单选择 |
IF | if | if条件语句 |
IF EXIST FILENAME | if [ -e filename ] | 测试文件是否存在 |
IF !%N==! | if [ -z "$N" ] | 参数"N"是否存在 |
CALL | source命令或.(点操作符) | "include"另一个脚本 |
COMMAND /C | source命令或.(点操作符) | "include"另一个脚本(与CALL相同) |
SET | export | 设置一个环境变量 |
SHIFT | shift | 左移命令行参数列表 |
SGN | -lt或-gt | (整形)符号 |
ERRORLEVEL | $? | 退出状态 |
CON | stdin | "控制台"(stdin) |
PRN | /dev/lp0 | (一般的)打印设备 |
LPT1 | /dev/lp0 | 第一个打印设备 |
COM1 | /dev/ttyS0 | 第一个串口 |
# batch与shell同义命令
DOS | UNIX | 作用 |
---|---|---|
ASSIGN | ln | 链接文件或目录 |
ATTRIB | chmod | 修改文件权限 |
CD | cd | 更换目录 |
CHDIR | cd | 更换目录 |
CLS | clear | 清屏 |
COMP | diff, comm, cmp | 文件比较 |
COPY | cp | 文件拷贝 |
Ctl-C | Ctl-C | 中断(信号) |
Ctl-Z | Ctl-D | EOF(文件结束) |
DEL | rm | 删除文件 |
DELTREE | rm -rf | 递归删除目录 |
DIR | ls -l | 列出目录内容 |
ERASE | rm | 删除文件 |
EXIT | exit | 退出当前进程 |
FC | comm, cmp | 文件比较 |
FIND | grep | 在文件中查找字符串 |
MD | mkdir | 新建目录 |
MKDIR | mkdir | 新建目录 |
MORE | more | 分页显示文本文件 |
MOVE | mv | 移动文件 |
PATH | $PATH | 可执行文件的路径 |
REN | mv | 重命名(移动) |
RENAME | mv | 重命名(移动) |
RD | rmdir | 删除目录 |
RMDIR | rmdir | 删除目录 |
SORT | sort | 排序文件 |
TIME | date | 显示系统时间 |
TYPE | cat | 将文件输出到stdout |
XCOPY | cp | (扩展的)文件拷贝 |
# Windows第三方工具
- 扫描任何32位或64位Windows模块(exe,dll,ocx,sys等)的函数:http://www.dependencywalker.com (opens new window)
- DLL导出查看器:http://www.nirsoft.net/utils/dll_export_viewer.html (opens new window)
- RegDllView-查看系统上已注册的dll/ ocx/exe文件,从资源管理器注册dll文件:
- Windows 10的system32目录中的所有DLL文件信息:http://windows10dll.nirsoft.net (opens new window)
- https://github.com/jas502n/IDA_Pro_7.2 (opens new window)
- 下载– NTCore:https://ntcore.com/?page_id=345 (opens new window)
- 小型命令行实用程序:http://www.ltr-data.se/opencode.html/#CmdUtils (opens new window)
- wget-网络请求工具 https://eternallybored.org/misc/wget (opens new window)
- curl-网络请求工具 https://github.com/curl/curl (opens new window)
- jq-解析json工具 https://github.com/stedolan/jq (opens new window)
- 转换位图图像 https://github.com/ImageMagick (opens new window)
- https://github.com/ritchielawrence/cmdow (opens new window)
← Python笔记 ShellScript →