mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2024-12-25 11:41:16 +07:00
61 lines
2.3 KiB
Markdown
61 lines
2.3 KiB
Markdown
# Linux 基础
|
||
|
||
- [常用基础命令](#常用基础命令)
|
||
- [字节序](#字节序)
|
||
- [输入输出](#输入输出)
|
||
|
||
|
||
## 常用基础命令
|
||
```text
|
||
ls 用来显示目标列表
|
||
|
||
cd [path] 用来切换工作目录
|
||
|
||
pwd 以绝对路径的方式显示用户当前工作目录
|
||
|
||
man [command] 查看Linux中的指令帮助、配置文件帮助和编程帮助等信息
|
||
|
||
apropos [whatever] 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字
|
||
|
||
cat [file] 连接文件并打印到标准输出设备上
|
||
|
||
less [file] 允许用户向前或向后浏览文字档案的内容
|
||
|
||
mv [file1] [file2] 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
|
||
|
||
cp [file1] [file2] 用来将一个或多个源文件或者目录复制到指定的目的文件或目录
|
||
|
||
rm [file] 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉
|
||
|
||
nano / vim / emacs 字符终端的文本编辑器
|
||
```
|
||
```text
|
||
管道命令符 "|" 将一个命令的标准输出作为另一个命令的标准输入
|
||
```
|
||
|
||
|
||
## 字节序
|
||
目前计算机中采用两种字节存储机制:大端(Big-endian)和小端(Little-endian)。
|
||
|
||
>MSB (Most Significan Bit/Byte):最重要的位或最重要的字节。
|
||
>
|
||
>LSB (Least Significan Bit/Byte):最不重要的位或最不重要的字节。
|
||
|
||
Big-endian 规定 MSB 在存储时放在低地址,在传输时放在流的开始;LSB 存储时放在高地址,在传输时放在流的末尾。Little-endian 则相反。常见的 Intel 处理器使用 Little-endian,而 PowerPC 系列处理器则使用 Big-endian,另外 TCP/IP 协议和 Java 虚拟机的字节序也是 Big-endian。
|
||
|
||
例如十六进制整数 0x12345678 存入以 1000H 开始的内存中:
|
||
|
||
![](../pic/1.3_byte_order.png)
|
||
|
||
|
||
## 输入输出
|
||
- 使用命令的输出作为可执行文件的输入参数
|
||
- ```$ ./vulnerable 'your_command_here'```
|
||
- ```$ ./vulnerable $(your_command_here)```
|
||
- 使用命令作为输入
|
||
- ```$ your_command_here | ./vulnerable```
|
||
- 将命令行输出写入文件
|
||
- ```$ your_command_here > filename```
|
||
- 使用文件作为输入
|
||
- ```$ ./vulnerable < filename```
|