当前位置: 首页 > news >正文

Ubuntu学习笔记 - Day2

文章目录

  • 学习目标:
  • 学习内容:
  • 学习笔记:
    • Linux系统启动过程
      • 内核引导
      • 运行init
      • 运行级别
      • 系统初始化
      • 建立终端
      • 用户登录系统
    • Ubuntu关机
      • 关机流程
      • 相关命令
    • Linux系统目录结构
      • 查看目录
      • 目录结构
    • 文件基本属性
      • 读写权限
      • 命令
    • 下载文件的方法
      • 安装wget工具
      • 下载文件
    • 安装软件方法
      • 安装命令
      • 重新安装命令
    • Ubuntu桌面系统
      • 桌面预览
      • 系统设置
    • 修改用户密码
      • 命令行修改
      • 界面修改

学习目标:

  • 一周掌握 Linux基本使用技巧

学习内容:

  • Linux系统启动过程
  • Ubuntu关机
  • 系统目录结构
  • 文件基本属性
  • 下载文件方法
  • 安装软件方法
  • Ubuntu桌面系统
  • 修改用户密码

学习笔记:

Linux系统启动过程

内核引导

当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件之后,首先读入/boot目录下的内和文件。

运行init

init进程是系统所有进程的起点,可以比拟为系统中所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init程序首先需要读取配置文件/etc/inittab

运行级别

许多程序需要开机自启动。在Windows叫“服务Service”,在Linux叫“守护进程daemon“。init进程的一大任务,就是去运行这些开机启动的程序。不同场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面时则不需要。Linux允许为不同场合,分配不同的开机启动程序,这就叫做“运行级别”。启动时,根据运行级别,确定要运行那些程序。

系统初始化

在init的配置文件中有一行:si::syinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rd.sysinit,而rc.sysinit是一个bash shell脚本,主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。

建立终端

启动getty进程(用于管理终端设备的守护进程),设置终端访问。

用户登录系统

登录方式:命令行登录、ssh登录、图形界面登录。

AI告诉我Linux内核启动的大致流程

  1. 引导阶段:BIOS 加电自检,读取 MBR(主引导记录),加载 GRUB(GRand Unified Bootloader)。
  2. GRUB 菜单:显示操作系统列表,加载并显示GRUB配置。
  3. 加载内核:选择Linux内核映像,读取内存中的内核。
  4. 内核启动:内核检测系统硬件,加载必要的驱动程序。
  5. 启动初始化进程:内核启动init进程,该进程PID为1。
  6. 系统初始化:init通过读取inittab文件确定系统运行级别,执行相应的脚本。
  7. 用户空间初始化:启动系统服务,如udevd,syslogd等。
  8. 设置终端:启动getty进程,设置终端访问。
  9. 用户登录:用户输入用户名和密码登录系统。
  10. 用户界面:用户进入命令行界面或图形界面进行操作。

Ubuntu关机

关机流程

sync > shutdown > reboot > halt

相关命令

  1. sync 将数据由内存同步到硬盘中。
  2. shutdown 关机命令
  3. reboot 重启命令,等同于下面
  4. shutdown -r now -r 重启的意思,即关机并立马重启,等同于reboot。
  5. halt 关闭系统,等同于 shutdown -h now 立马关机poweroff
  6. shutdown -h 20:30 今天晚上8点关机 shutdown -h +10 十分钟之后关机

Linux系统目录结构

查看目录

ls /
ls 

目录结构

/bin    banary的缩写,经常用的命令
/boot   系统启动的核心文件。
/dev    linux访问外部设备的方式,存放外部设备的文件。
/etc    系统管理所需要的配置文件和子目录。
/home   用户的主目录。
/lib    存放系统安装的一些共享库。
/media  识别设备,比如u盘光驱等。
/opt    额外的软件安装目录。
/root   超级权限的用户。
/usr    用户应用程序文件
/var    不断扩充的文件目录,比如日志等。

文件基本属性

读写权限

文件类型属主权限属组权限其他用户权限
01 2 34 5 67 8 9
dr w xr - xr - x
目录文件读 写 执行读 - 执行读 - 执行

命令

查看属性命令:ls -l
在这里插入图片描述
修改文件属性:chmod 777 test.txt
在这里插入图片描述

下载文件的方法

安装wget工具

apt-get update
apt-get install wget

下载文件

wget xxx.txt(一般是某个网址)
实质是发起一个http请求

在这里插入图片描述

200 OK 代表请求已连接。

安装软件方法

安装命令

apt-get -h ##帮助
apt-get -V ##查看版本
apt-get remove ##移除安装包
apt-get autoremove ##自动移除安装包(所依赖的一些安装包)
apt-get clean ##清理在本地库中检索到的包
sudo apt-get install nginx

不是root目录时,前面加sudo表示用root用户安装软件

ps -ef|grep nginx ##查找nginx装在那里了

重新安装命令

sudo apt-get install --reinstall curl

Ubuntu桌面系统

桌面预览

在这里插入图片描述

系统设置

在这里插入图片描述

修改用户密码

命令行修改

passwd username

界面修改

在这里插入图片描述

相关文章:

Ubuntu学习笔记 - Day2

文章目录 学习目标:学习内容:学习笔记:Linux系统启动过程内核引导运行init运行级别系统初始化建立终端用户登录系统 Ubuntu关机关机流程相关命令 Linux系统目录结构查看目录目录结构 文件基本属性读写权限命令 下载文件的方法安装wget工具下载…...

c++基础12比较/逻辑运算符

比较/逻辑运算符 布尔比较运算符逻辑运算符位运算符&#xff08;也用于逻辑运算&#xff09;1<a<10怎么表达T140399判断是否为两位数代码 布尔 在C中&#xff0c;布尔类型是一种基本数据类型&#xff0c;用于表示逻辑值&#xff0c;即真&#xff08;true&#xff09;或假…...

mac-ubuntu虚拟机(扩容-共享-vmtools)

一、磁盘扩容 使用GParted工具对Linux磁盘空间进行扩展 https://blog.csdn.net/Time_Waxk/article/details/105675468 经过上面的方式后还不够&#xff0c;需要再进行下面的操作 lvextend 用于扩展逻辑卷的大小&#xff0c;-l 选项允许指定大小。resize2fs 用于调整文件系统的…...

数学建模学习(135):使用Python基于WSM、WPM、WASPAS的多准则决策分析

1. 算法介绍 多标准决策分析(Multi-Criteria Decision Analysis, MCDA)是帮助决策者在复杂环境下做出合理选择的重要工具。WSM(加权和法)、WPM(加权乘积法)、WASPAS(加权和乘积评估法)是 MCDA 中的三种常用算法。它们广泛应用于工程、经济、供应链管理等多个领域,用于…...

VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)

以最简单的以原子的跑马灯为例&#xff1a; 1、点击CtrlShiftP&#xff0c;输入setting&#xff0c;然后回车 2、输入Browse 3、点击下面C_Cpp > Default > Browse:Path里面添加你的工程路径 然后就可以愉快地跳转定义啦~ 希望对你有帮助&#xff0c;如果还不可以的话&a…...

设备管理网关(golang版本)

硬件设备&#xff1a;移远EC200A-CN LTE Cat 4 无线通信模块 操作系统&#xff1a;openwrt 技术选型&#xff1a;layui golang sqlite websocket 工程结构 界面展示 区域管理 设备管理 运行监控 系统参数 资源文件 版本信息...

Armv8的安全启动

目录 1. Trust Firmware 2. TF-A启动流程 3. TF-M启动流程 3.1 BL1 3.2 BL2 4.小结 在之前汽车信息安全 -- 再谈车规MCU的安全启动文章里&#xff0c;我们详细描述了TC3xx 、RH850、NXPS32K3的安全启动流程&#xff0c;而在车控类ECU中&#xff0c;我们也基本按照这个流程…...

冒泡排序、选择排序、计数排序、插入排序、快速排序、堆排序、归并排序JAVA实现

常见排序算法实现 冒泡排序、选择排序、计数排序、插入排序、快速排序、堆排序、归并排序JAVA实现 文章目录 常见排序算法实现冒泡排序选择排序计数排序插入排序快速排序堆排序归并排序 冒泡排序 冒泡排序算法&#xff0c;对给定的整数数组进行升序排序。冒泡排序是一种简单…...

SQL CASE表达式与窗口函数

CASE 表达式是一种通用的条件表达式&#xff0c;类似于其他编程语言中的if/else语句。 窗口函数类似于group by&#xff0c;但是不会改变记录行数&#xff0c;能扫描所有行&#xff0c;能对每一行执行聚合计算或其他复杂计算&#xff0c;并把结果填到每一行中。 1 CASE 表达式…...

基于SpringBoot的植物园管理小程序【附源码】

基于SpringBoot的植物园管理小程序 效果如下&#xff1a; 系统登录页面 管理员主页面 商品订单管理页面 植物园信息管理页面 小程序主页面 小程序登录页面 植物信息查询推荐页面 研究背景 随着互联网技术的快速发展和移动设备的普及&#xff0c;线上管理已经成为各行各业提高…...

asp.net网站项目如何设置定时器,定时获取数据

在 Global.asax.cs 文件中编写代码来初始化和启动定时器。Global.asax.cs 文件定义了应用程序全局事件&#xff0c;比如应用程序的启动和结束。在这里&#xff0c;我们将在应用程序启动时初始化和启动定时器。 using System; using System.Timers;public class Global : Syste…...

单元/集成测试解决方案

在项目开发的前期针对软件单元/模块功能开展单元/集成测试&#xff0c;可以尽早地发现软件Bug&#xff0c;避免将Bug带入系统测试阶段&#xff0c;有效地降低HIL测试的测试周期&#xff0c;也能有效降低开发成本。单元/集成测试旨在证明被测软件实现其单元/架构设计规范、证明被…...

高效作业跟踪:SpringBoot作业管理系统

1 绪论 1.1 研究背景 现在大家正处于互联网加的时代&#xff0c;这个时代它就是一个信息内容无比丰富&#xff0c;信息处理与管理变得越加高效的网络化的时代&#xff0c;这个时代让大家的生活不仅变得更加地便利化&#xff0c;也让时间变得更加地宝贵化&#xff0c;因为每天的…...

keepalived + nginx 实现网站高可用性(HA)

keepalive 一、keepalive简介二、实现步骤1. 环境准备2. 安装 Keepalived3. 配置 Keepalived 双机主备集群架构4. 配置 Nginx5. 启动Keepalived6. 测试高可用性7. 配置keepalived 双主热备集群架构 三、虚拟ip 一、keepalive简介 目前互联网主流的实现WEB网站及数据库服务高可用…...

有哪些编辑器,怎样选择编辑器

1. Visual Studio Code (VSCode) 特点&#xff1a; 轻量级且强大&#xff1a;启动速度快&#xff0c;占用资源少&#xff0c;但功能强大。跨平台&#xff1a;支持 Windows、macOS 和 Linux。丰富的扩展生态&#xff1a;拥有庞大的扩展市场&#xff0c;可以安装各种插件来扩展功…...

软件系统开发

目录 软件开发方法 软件开发生命周期 软件开发模型 敏捷方法 敏捷型方法两个特点 敏捷方法的核心思想三点 4个核心价值观 主要敏捷方法 RUP RUP的核心特点&#xff1a; RUP软件开发生命周期 9个核心工作流 RUP裁剪 软件系统工具 软件开发工具 需求分析工具 设计…...

浅谈RPC的实现原理与RPC实战

浅谈RPC的实现原理与RPC实战 什么是RPC?RPC框架基本原理gRPC框架介绍Http/2ProtoBuf gRPC实战一、创建项目二、导入依赖三、编写proto文件编写服务端编写客户端 什么是RPC? RPC(Remote Procedore Call)&#xff0c;及远程过程调用&#xff0c;是一种在分布式系统中用于进程间…...

算法|牛客网华为机试31-40C++

牛客网华为机试 上篇&#xff1a;算法|牛客网华为机试21-30C 文章目录 HJ31 单词倒排HJ32 密码截取HJ33 整数与IP地址间的转换HJ34 图片整理HJ35 蛇形矩阵HJ36 字符串加密HJ37 统计每个月兔子的总数HJ38 求小球落地5次后所经历的路程和第5次反弹的高度HJ39 判断两个IP是否属于同…...

Mysql 大表limit查询优化原理

优化前( 查询耗时 114.1s) explain select * from link_exec_task limit 80000, 10 # 查询耗时 114.1s优化后( 查询耗时 0.121s) explain select * from link_exec_task a INNER JOIN (select id from link_exec_task limit 80000, 10) b on a.id b.id #0.121s原理&…...

封装axios、环境变量、api解耦、解决跨域、全局组件注入

官网&#xff1a;Axios中文文档 | Axios中文网 安装&#xff1a;npm install axios axios封装&#xff1a; // 1. 引入axios import axios from "axios"; import storage from /utils/storage // 2. 创建axios实例 const instance axios.create({baseURL: proces…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...