some update

This commit is contained in:
firmianay 2017-11-06 17:44:15 +08:00
parent faf5a5796b
commit 5ca1cdf96a
4 changed files with 99 additions and 1 deletions

View File

@ -1,6 +1,7 @@
# 1.3 Linux 基础 # 1.3 Linux 基础
- [常用基础命令](#常用基础命令) - [常用基础命令](#常用基础命令)
- [Bash 快捷键](#bash-快捷键)
- [根目录结构](#根目录结构) - [根目录结构](#根目录结构)
- [进程管理](#进程管理) - [进程管理](#进程管理)
- [UID 和 GID](#uid-和-gid) - [UID 和 GID](#uid-和-gid)
@ -24,6 +25,8 @@ man [command] 查看Linux中的指令帮助、配置文件帮助和编程
apropos [whatever] 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字 apropos [whatever] 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字
echo [string] 打印一行文本,参数“-e”可激活转义字符
cat [file] 连接文件并打印到标准输出设备上 cat [file] 连接文件并打印到标准输出设备上
less [file] 允许用户向前或向后浏览文字档案的内容 less [file] 允许用户向前或向后浏览文字档案的内容
@ -34,12 +37,90 @@ cp [file1] [file2] 用来将一个或多个源文件或者目录复制到指定
rm [file] 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉 rm [file] 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉
ps 用于报告当前系统的进程状态
top 实时查看系统的整体运行情况
kill 杀死一个进程
nc(netcat) 建立 TCP 和 UDP 连接并监听
su 切换当前用户身份到其他用户身份
touch [file] 创建新的空文件
mkdir [dir] 创建目录
chmod 变更文件或目录的权限
chown 变更某个文件或目录的所有者和所属组
nano / vim / emacs 字符终端的文本编辑器 nano / vim / emacs 字符终端的文本编辑器
exit 退出 shell
``` ```
```text ```text
管道命令符 "|" 将一个命令的标准输出作为另一个命令的标准输入 管道命令符 "|" 将一个命令的标准输出作为另一个命令的标准输入
``` ```
使用变量:
```text
var=value 给变量var赋值value
$var, ${var} 取变量的值
`cmd`, $(cmd) 代换标准输出
'string' 非替换字符串
"string" 可替换字符串
```
```text
$ var="test";
$ echo $var
test
$ echo 'This is a $var';
This is a $var
$ echo "This is a $var";
This is a test
$ echo `date`;
2017年 11月 06日 星期一 14:40:07 CST
$ $(bash)
$ echo $0
/bin/bash
$ $($0)
```
## Bash 快捷键
```text
Up(Down) 上(下)一条指令
Ctrl + c 终止当前进程
Ctrl + c 挂起当前进程使用“fg”可唤醒
Ctrl + d 删除光标处的字符
Ctrl + l 清屏
Ctrl + a 移动到命令行首
Ctrl + e 移动到命令行尾
Ctrl + b 按单词后移(向左)
Ctrl + f 按单词前移(向右)
Ctrl + Shift + c 复制
Ctrl + Shift + v 粘贴
```
更多细节请查看https://ss64.com/bash/syntax-keyboard.html
## 根目录结构 ## 根目录结构
```text ```text

View File

@ -184,7 +184,7 @@ long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);
甚至可以运行一个脚本,如: 甚至可以运行一个脚本,如:
``` ```
run `python2 -c 'print "A"*100` run `python2 -c 'print "A"*100'`
``` ```
#### backtrace -- bt #### backtrace -- bt

View File

@ -1,5 +1,6 @@
# 4.2 Linux 命令行技巧 # 4.2 Linux 命令行技巧
- [通配符](#通配符)
- [重定向输入字符](#重定向输入字符) - [重定向输入字符](#重定向输入字符)
- [从可执行文件中提取 shellcode](#从可执行文件中提取-shellcode) - [从可执行文件中提取 shellcode](#从可执行文件中提取-shellcode)
- [查看进程虚拟地址空间](#查看进程虚拟地址空间) - [查看进程虚拟地址空间](#查看进程虚拟地址空间)
@ -7,6 +8,16 @@
- [nohup 和 &](#nohup-和-) - [nohup 和 &](#nohup-和-)
- [cat -](#cat--) - [cat -](#cat--)
## 通配符
- `*`:匹配任意字符
- `ls test*`
- `?`:匹配任意单个字符
- `ls test?`
- `[...]`:匹配括号内的任意单个字符
- `ls test[123]`
- `[!...]`:匹配除括号内字符以外的单个字符
- `ls test[!123]`
## 重定向输入字符 ## 重定向输入字符
有时候我们需要在 shell 里输入键盘上没有对应的字符,如 `0x1F`,就需要使用重定向输入。下面是一个例子:[源码](../src/Others/4.2_0x1f.c) 有时候我们需要在 shell 里输入键盘上没有对应的字符,如 `0x1F`,就需要使用重定向输入。下面是一个例子:[源码](../src/Others/4.2_0x1f.c)

View File

@ -24,6 +24,12 @@
- [Principles of Program Analysis](http://www.imm.dtu.dk/~hrni/PPA/ppasup2004.html) - [Principles of Program Analysis](http://www.imm.dtu.dk/~hrni/PPA/ppasup2004.html)
- [Static Program Analysis](https://cs.au.dk/~amoeller/spa/) - [Static Program Analysis](https://cs.au.dk/~amoeller/spa/)
- [CS 252r: Advanced Topics in Programming Languages](http://web-static-aws.seas.harvard.edu/courses/cs252/2011sp/) - [CS 252r: Advanced Topics in Programming Languages](http://web-static-aws.seas.harvard.edu/courses/cs252/2011sp/)
- [Advanced Digital Forensics and Data Reverse Engineering](http://www.utdallas.edu/~zxl111930/fall2011.html)
- [CS261: Security in Computer Systems](http://inst.eecs.berkeley.edu/~cs261/fa17/)
- [CS 161 : Computer Security Spring 2015](http://inst.eecs.berkeley.edu/~cs161/sp15/)
- [Secure Software Systems Spring 2017](http://www.ece.cmu.edu/~ece732/gentable.php)
- [CS 576 Secure Systems Fall 2014](https://www.portokalidis.net/cs576_2014.html)
- [CS 577 Cybersecurity Lab Fall 2014](https://www.portokalidis.net/cs577_2014.html)
## 站点 ## 站点