Ubuntu学习笔记 - Day2

news/2024/11/5 11:27:36 标签: ubuntu, 学习, 笔记, linux

文章目录

  • 学习目标:
  • 学习内容:
  • 学习笔记
    • 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

界面修改

在这里插入图片描述


http://www.niftyadmin.cn/n/5739411.html

相关文章

1.2 图像处理基本操作

在本实战中,我们将学习如何使用OpenCV进行基本的图像处理操作。首先,我们将通过cv2.imread()函数读取图像,并使用cv2.imshow()在窗口中显示它。接着,我们将探索如何通过cv2.imwrite()保存图像,并设置不同的参数以控制图…

随机生成100组N个数并对比,C++,python,matlab,pair,std::piecewise_construct

随机生成100组N个数,数的范围是1到35,并检查是否包含目标数组的数字 python版本 import numpy as np def count_groups_containing_obj(N, obj):# 随机生成100组N个数,数的范围是1到35groups np.random.randint(1, 36, size(1000, N))#pri…

Linux高阶——1103—修改屏蔽字信号到达及处理流程时序竞态问题

目录 1、练习:修改屏蔽字,实现人为阻塞信号 1、定义两个信号集类型set和oset 2、将信号集初始化 3、设置set集合中的signo对应的位置 4、判断某一位的位码是0还是1 5、替换 总代码 2、信号失效的方法 3、高级信号 4、查看未决信号集 总代码 5、…

练习LabVIEW第三十八题

学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第三十八题: 创建一个VI,实现对按钮状态的指示和按钮“按下”持续时间简单计算功能,按…

C#属性 Property

属性Property不是变量。 它们是由名为访问器方法来实现的一种方法。 实例属性表示的是实例的某个数据,通过这个数据反映实例当前的状态 静态属性表示的是类型的某个数据,通过这个数据反映类型当前的状态 意义: 防止恶意赋值(通过属性间接访问…

微服务day01

MybatisPlus Mp入门 基本步骤 引入MybatisPlus依赖&#xff0c;代替Mybatis依赖 <dependency> <groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </…

命令kill

kill命令用于终止进程 kill [options] <PID> options 选项 kill -9 要强制终止进程 默认情况下&#xff0c;kill 命令发送的是终止信号&#xff08;SIGTERM&#xff0c;信号编号 15&#xff09;&#xff0c;大多数进程在接收到这个信号后会正常结束。 如果进程没有响应…

arm64-v8a 和 armeabi-v7a 有啥区别?

ARM64-v8a 和 ARMEABI-v7a 是 Android 平台上两种不同的 ARM 架构&#xff0c;用于支持应用程序的运行。它们之间有几个关键的区别&#xff1a; 1. 架构类型 ARM64-v8a&#xff1a;代表的是 64 位的 ARM 架构&#xff08;ARMv8-A&#xff09;。它能够处理更大范围的地址空间和…