目录

1. 设备文件名

2. Linux中磁盘使用步骤

2.1 磁盘的第一个扇区

2.1.1 Boot Sector构成

2.1.2 开机流程与MBR

2.2 分区

2.2.1 分区规定解析

2.2.2 分区设备文件名

2.2.3 必须分区与建议分区

2.3 格式化

2.4 挂载

3. 登陆与注销

3.1 运行等级

3.2 字符界面登陆时显示的内容

3.3 注销命令exit

4. 语系设置

4.1 查看当前语系

4.2 修改当前语系

5. Linux命令执行的2种情况

6. 重要热键

7. 出现command not found的三种原因

8. 关机与重启

8.1 正确的关机步骤

8.2 相关命令

8.2.1 sync

8.2.2 shutdown

8.2.3 reboot / halt / poweroff

9. 帮助命令

9.1 man

9.2 whatis & apropos

9.3 查询命令选项

9.4 查询shell内置命令

10. 忘记root密码如何处理

11. 系统安装日志

12. Linux中执行程序的方式

12.1 在shell交互命令行中运行

12.2 脱离终端运行

12.3 以服务的方式运行


1. 设备文件名

各硬件设备在Linux中的设备文件名如下,

这里需要说明的是两种硬盘的设备文件名确定方式:

① IDE硬盘是根据排线和跳针的连接情况确定

② SATA硬盘是根据内核检测到的顺序来命名,与实际插槽代号无关

补充:由于SATA、USB、SAS等磁盘接口都是使用SCSI模块来驱动的,所以这些接口的磁盘设备文件名都是/dev/sd[a-p]

而SATA或USB接口的磁盘没有一定的顺序,是根据Linux内核检测到磁盘的顺序来命名的

2. Linux中磁盘使用步骤

2.1 磁盘的第一个扇区

2.1.1 Boot Sector构成

Boot Sector(引导扇区)通常指设备的第一个扇区(是整个磁盘的第一个扇区,需要区别于分区引导扇区),在PC上BIOS会读取该扇区,并将控制权转交给Boot Sector上的MBR。

Boot Sector包含3部分内容:

MBR(Master Boot Record,主引导记录),446B,实际为bootloader的一部分

DPT(Disk Partition Table,磁盘分区表), 64B

BRID(Boot Record ID,引导记录标识),2B,且必须是0x55AA

2.1.2 开机流程与MBR

注意:BIOS是根据设置去取得能够开机的硬盘设备,然后在该硬盘的第一个扇区的MBR位置取得引导加载程序。当然,用户可以设置不从硬盘启动,但与此类似。

② bootloader的功能

a. 提供菜单:可供用户选择不同的开机选项

b. 载入内核文件:直接指向可开机的程序区段来开始操作系统

c. 转交其他loader:将引导加载功能交给其他loader负责

转交其他loader的功能用于实现多重引导启动,实现原理是Linux的引导加载程序除了可以安装在MBR,还可以安装在每个分区的引导扇区

需要注意的是,安装多重引导时,应该先安装Windows后安装Linux,因为只有Linux可以选择将grub安装到分区的引导扇区

2.2 分区

2.2.1 分区规定解析

每个表项占用16B,所以DPT最多只能容纳4个分区,因此传统磁盘上引入了扩展分区和逻辑分区的概念。

引入扩展分区的目的就是使用额外的扇区来记录分区信息,因此扩展分区本身不能被格式化与写入数据,只能包含逻辑分区。

Linux中对分区有如下规定:

① 主分区(Primary)最多只有4个(磁盘的限制)

② 扩展分区(Extended)最多只能有1个(操作系统的限制)

③ 主分区 + 扩展分区最多只有4个

④ 逻辑分区数量依操作系统和磁盘类型而定,在Linux中,IDE硬盘最多有59个逻辑分区(5 ~ 63号),SATA硬盘最多11个逻辑分区(5 ~ 15号)

2.2.2 分区设备文件名

① 1 ~ 4号为主分区或扩展分区

② 逻辑分区从5号开始

示例如下,

2.2.3 必须分区与建议分区

① 必须分区

/:根分区

swap分区:交换分区,一般为内存2倍但不超过2G(如果物理内存足够大,不分配swap分区也是可以的)

② 建议分区

/boot:启动分区,200MB。该分区包含了grub、Linux内核镜像、initramfs。/boot分区的关键是将启动扇区所在的分区规范在小于1024个柱面以内

说明:只要设置/boot分区,就会自动被调整为sda1(即分区号为1)。因为硬盘最开始部分有和系统启动相关的信息(e.g. 分区表)

我们最终的分区如下图所示,

2.3 格式化

此处涉及的格式化是高级格式化又称逻辑格式化,他是指根据用户指定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等)在磁盘的特定区域写入特定的数据,在分区中划出一片用于存放文件分配表、目录表等用于文件系统管理的磁盘空间,同时磁盘被划分为统一大小的数据块(block),Linux中根据存放文件的不同分为1KB和4KB(主要是出于存储效率的考虑,之后有介绍)

补充:所谓低级格式化则是将磁盘内容清空,恢复出厂时的状态,划分出柱面的磁道,一般在硬盘出厂和出现坏道时才会进行

说明:注意PC机和嵌入式设备格式化时的区别。PC机格式化时一般都是直接以分区为单位,因此文件系统的大小和分区大小匹配。嵌入式设备中一般是制作文件系统镜像然后烧写到分区中,因此分区大小和文件系统大小可能不匹配。

2.4 挂载

挂载就是利用一个目录作为进入点,将磁盘分区的数据放置在该目录下,进入该目录就可以读取该分区的数据。这也就是根目录/ 必须挂载的原因,不然整个目录系统的“大门”都进不去。

说明1:挂载时使用的是分区设备文件名

说明2:可以给子目录挂载分区(分区在目录下)

虽然/home是/ 的子目录,但可以给其单独挂载硬盘分区。在后续的Linux内核文档中会发现,所谓挂载,就是将一个文件系统的顶层目录与Linux目录树中的一个目录结合起来。

3. 登陆与注销

3.1 运行等级

纯文本界面:run level 3

图形界面:run level 5

说明1:可以修改/etc/inittab确定下次启动时的运行等级

说明2:可以使用runlevel命令查询系统运行级别,

此处的N是指上一个运行级别,由于我们开机就是图形界面,所以显示为N。

说明3:可以使用init命令切换运行等级(e.g. init 3)

说明4:使用init 0也可以关机,但不会关闭正在运行的服务,所以不推荐使用

3.2 字符界面登陆时显示的内容

其中前两行的内容来自/etc/issue文件

第1行:Linux发行版本

第2行:内核版本及主机硬件等级(i686)

注:login之前的localhost为主机名

登陆后显示内容如下:

root@localhost:登陆用户名@主机名

#为root用户提示符,其余为$

3.3 注销命令exit

这是一个bash内建命令,用于注销用户

说明1:离开系统不是关机,Linux本身已经有很多的工作在进行,你的登陆也仅是其中一个“工作”而已

说明2:当使用字符界面登陆时,也可以用logout注销,这也是一个bash内建命令

4. 语系设置

4.1 查看当前语系

其中LANG是一个环境变量

4.2 修改当前语系

① 在shell中临时修改

本质是修改了环境变量LANG的值,由于修改语系为美国英语,此时中文显示将是乱码

② 修改配置文件

配置文件路径:/etc/sysconfig/i18n

5. Linux命令执行的2种情况

① 直接显示结果后回到命令提示符,等待下一条命令的输入,如ls。

② 进入该命令的环境,直到结束该命令才回到命令提示符环境,如tftp和bc

6. 重要热键

① [Tab]键:命令/文件名补全

② [Ctrl] + c:结束当前程序,实际上是发送SIGINT信号给当前进程

③ [Ctrl] + d:表示End of line,即EOF;也可用于离开文字界面(包括图像界面下的模拟终端),作用相当于exit命令

7. 出现command not found的三种原因

① 命令打错

② 软件没安装

③ 这个命令所在路径不在PATH环境变量中

8. 关机与重启

8.1 正确的关机步骤

① 查看系统状态

who:查看哪些用户在线

netstat -a:查看网络连接状态

ps -aux:查看主机进程状态

说明:需要上述步骤是因为Linux是多用户多任务操作系统

② 通知在线用户关机时刻

使用shutdown的特殊功能

③ 使用shutdown或reboot命令关机重启

8.2 相关命令

8.2.1 sync

作用:将数据同步写入磁盘

说明:shutdown / reboot / halt命令均会在关机前调用sync工具

注意:一般账户使用sync只能同步自己的数据,而root用户可以同步系统中所有数据

8.2.2 shutdown

作用:惯用的关机命令,可以正确地保存正在运行的服务的状态

说明:除了在图像界面登陆,只有root用户才有关机权限

常见用法:shutdown [-rhkc] 时间 [警告信息]

-h:关机

-r:重启

-k:并不关机,只是发送警告信息

-c:取消之前的shutdown命令

时间:必须参数,可以指定具体时间,也可以用当前时间作基准指定时间间隔

示例:

shutdown -h now  # 等价于shutdowm -h 0
shutdown -h 20:15
shutdown -h +10 #10 minutes后关机
shutdown -k now 'system will reboot'

8.2.3 reboot / halt / poweroff

poweroff相当于直接断电,不提倡使用

9. 帮助命令

9.1 man

命令名称:man

命令英文原意:mannual

命令所在路径:/usr/bin/man

执行权限:所有用户

功能描述:查看帮助信息(获得完整帮助)

语法:man  [命令或配置文件]

示例:man  ls

man  inittab

说明1:使用man查询配置文件时不加路径名(如/etc/inittab),只要配置文件名即可

说明2:查询配置文件时注意2点,

① 该配置文件的用途

② 该配置文件中条目的格式

说明3:man手册可分册查看(如man 1 passwd和man 5 passwd),各分册含义如下,

1:shell命令(User Commands)

2:系统内核调用(System Calls)

3:C库函数(C Library Functions)

4:设备/特殊文件,使用时直接用设备文件名,不需要路径,如man sd(Devices and Special Files)

5:配置文件,查询时不需要配置文件的绝对路径,只需要配置文件名,比如man inittab

6:游戏

7:惯例与协议,如Linux文件系统、网络协议(如TCP/IP)等(Miscellanea,杂记)

8:系统管理员可用的管理命令,如man init

说明4:man手册数据一般存放在/usr/share/man目录下

9.2 whatis & apropos

如果不需要完整的帮助信息,只是需要简短信息,可以使用whatis和apropos

用法:whatis/apropos  命令名称/配置文件名

两者的差别在于,whatis是匹配完整的文件名,而apropos是匹配字符串。可参见下面是示例,一目了然

注意:whatis和apropos均是查询whatis数据库,使用前需要使用makewhatis来生成该数据库

9.3 查询命令选项

如果只是查询命令选项

命令  --help

9.4 查询shell内置命令

命令名称:help

命令所在路径:shell内置命令

执行权限:所有用户

功能描述:获得shell内置命令的帮助信息

语法:help  命令

补充:help命令还可以查询shell脚本中的if、while等结构性语句用法,可在编写shell脚本时参考

10. 忘记root密码如何处理

关键:进入单用户模式进行修复

步骤:

① 在开机都秒时打断,进入grub模式

② 点击e,修改该命令行

修改kernel所在行,即启动内核时传递的参数,在最后添加single,即启动后进入单用户模式

③ 进入单用户模式使用passwd命令修改root密码即可

注意:此处修改内核参数在下次启动时会恢复原样,因为系统启动时会从/boot/grub/grub.conf中读取启动参数

11. 系统安装日志

/root/install.log:存储了安装在系统中的软件包及其版本信息

/root/install.log.syslog:存储了安装过程中留下的事件记录

/root/anaconda-ks.cfg:以Kickstart配置文件的格式记录安装过程中设置的选项信息

12. Linux中执行程序的方式

12.1 在shell交互命令行中运行

① 这是最常用的程序执行方式

② 这种方式的缺点是一旦当前交互命令行退出,程序就终止运行

12.2 脱离终端运行

关键:使用nohup命令运行程序

① nohup即no hang up,他是的进程忽略SIGHUP信号,当交互式命令行退出时,程序仍能运行

② 由于脱离当前交互命令行,就无法向交互命令行打印,此时需要输出重定向。nohup默认是将stdin重定向至/dev/null,将stdout重定向至$HOME/nohup.out文件

③ nohup本身并不会使得程序在后台运行,需要添加&

示例:

nohup command > out.file 2>&1 &# > out.file:标准输出重定向到out.file文件
# 2 > &1:将标准错误和标准输出合并
# &:后台运行

12.3 以服务的方式运行

借助systemd机制,将程序定义为系统中的一个服务,需要在/lib/systemd/system目录下创建相应的.service文件,在其中定义了如何启动 & 关闭程序

Linux操作系统使用基础02:Linux系统安装与登陆相关推荐

  1. Linux操作系统使用基础05:Linux磁盘与文件系统管理

    目录 1. 文件系统特性 1.1 概述 1.1.1 操作系统相关性 1.1.2 磁盘与文件系统的关系 1.2 文件数据的存放 1.2.1 索引式 1.2.2 链表式 2. Linux的Ext2文件系统 ...

  2. Linux 操作系统编程基础知识

    Linux操作系统 1.Linux 操作系统编程基础知识 1.3 系统调用和库函数 1.3.1 接口 命令接口:以命令形式呈现在用户面前,方便用户直接或间接控制自己的作业. 程序接口:为应用程序使用系 ...

  3. 初识Linux操作系统及常用的Linux命令

    文章目录 每日一句正能量 前言 一.Linux简介 二.Linux常用命令 每日一句正能量   平淡的生活,会带给你最简单的幸福:忙碌的脚步,会带给你最美丽的风景:真诚的祝福,会带给你最由衷的快乐! ...

  4. linux 操作系统笔记基础命令

    文章目录 linux 基础命令 cd 命令详解 ls 命令详解 pwd 命令详解 hostname命令详解 clear命令详解 who.whoami.w 命令 which 命令 cal 命令详解 ld ...

  5. linux操作系统 以下哪个命令,Linux认证考试基础试题及答案

    Linux认证考试基础试题及答案 1.Linux 核心的许可证是什么?( ) a. NDA b. GDP c. GPL d. GNU 答案:C 2.Linux是操作系统,意味着开放性源码是自由可用.( ...

  6. Linux操作系统编程基础

    文章目录 Linux系统开发基础 Linux系统开发概念 进程地址空间 地址空间:内核空间 VS. 用户空间 程序运行:内核态 VS. 用户态 系统调用 虚拟地址VS.物理地址 Linux应用开发环境 ...

  7. Linux操作系统使用基础03:Linux文件权限与目录配置

    目录 1. 用户与用户组简介 1.1 作用 1.2 相关配置文件 1.2.1 用户信息文件:/etc/passwd 1.2.2 影子文件:/etc/shadow 1.2.3 组信息文件:/etc/gr ...

  8. 【Linux操作系统】基础概念和常用指令(一)

    PS:我下面的操作都是基于Linux云服务器和Xshell远程连接来操作的(这里直接跳过安装) 目录 1.操作系统概述(OS)? 2.为什么企业都选择Linux? 3.Linux版本分类 4.Linu ...

  9. 大学linux操作系统,大学信息技术(Linux操作系统及其应用)

    本书是为信息技术基础课程建设编写的教材.全书共13章,分别针对Linux系统应用的三个不同层面进行教学,力求做到由浅入深.循序渐进.第一层面(第0-2章)介绍Linux系统的基础知识.基本概念和基本应 ...

最新文章

  1. 如何修改dedecms专题目录默认名称special
  2. WdatePicker()时间控制方式(转载+原创)
  3. linux ed 命令的用法
  4. 安装和卸载C#写的 windows service
  5. 1185 威佐夫游戏 V2
  6. 9 大技巧拯救你的编程面试!
  7. 151. 反转字符串里的单词
  8. 这是我经历过最惨的转正答辩了
  9. 106572050018总是发彩信?实用办法关闭彩信提醒
  10. Encoder-Decoder 模型架构详解
  11. 通过echarts绘制双十一销量实时统计图表
  12. 6.7.1 机器人系统仿真/URDF、Gazebo与Rviz综合运用/机器人运动控制以及里程计信息显示
  13. 大宗交易数据挖掘(一)
  14. 静态成员函数和非静态成员函数的区别?
  15. Windowbuilder中Swing的数据绑定
  16. Android 9.0 10.0 开机后过滤部分通知声音(屏蔽一些杂乱通知声音)
  17. Spring简化Java开发_java开发如何用spring简化?详细图解
  18. 瑞萨车规级芯片RH850F1x各系列MCU区别
  19. 【协作MIMO+非规则LDPC】协作MIMO系统上,中继协作解码转发策略和编码协作策略,采用非规则LDPC编码
  20. H5调用用户摄像头并实现拍照功能

热门文章

  1. 侧边栏_第四课 侧边栏和过滤器
  2. vbs调用c++dll_COM编程攻略(八 动态调用与IDispatch接口)
  3. 区块链/比特币基础知识
  4. linux 运行springboot 项目 (后台运行,并且打印实时日志)
  5. 发动机冒黑烟_挖掘机冒黑烟,是怎么回事?
  6. linux离线安装mysql8
  7. 第八章 ---- 枚举注解
  8. python selenium语法_Python+Selenium基本语法
  9. boot客户管理系统实训报告_客户太多,客户转化困难?分析报告迟迟出不来,CRM客户管理系统助你一臂之力...
  10. java logfaction_Java8 下 重构log