Task1 了解Linux
特点
1、开源免费
2、多用户、多任务
3、安全可靠
4、稳定
5、多平台
发展历程
MINIX--教授AndrewS.Tanenbaum 教学用,向学生讲述操作系统内部工作原理。
Linux0.01-学生Linus Torvalds 利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统
常用发行版
1、Debian
2、Ubuntu
3、CentOS
4、Fedora
5、Kali
Kali Linux是Debian的一款衍生版。旨在渗透测试和数字取证
6、Arch
Task2 Linux安装(windows)
安装虚拟机VmWare
安装Ubuntu(20.04)
编辑虚拟机设置 --CD/DVD–使用ISO影响文件,选择下载好的Ubuntu20.04.2.0镜像文件
选择开启此虚拟机,进入系统加载界面
安装软件
sudo apt-get update
#更新本地索引,即更新/var/lib/apt/lists 里边的内容
此处报错提示 无法获得锁/var/lib/apt/lists/lock。锁正由进程1524(packagekitd)持有
sudo kill 1524
sudo apt-get update
sudo apt-get upgrade
# 更新所有软件包
sudo apt-get install xx
# 安装软件
sudo apt-get remove xx
# 卸载包
sudo apt-get remove --purge name
# 卸载并彻底清除
sudo apt-get clean
# 清理下载文件的存档
常用快捷键
Ctrl+Alt+T 打开终端
快捷键 功能
Ctrl+a 光标移动到开始位置
Ctrl+e 光标移动到最末尾
Ctrl+k 删除此处至末尾的所有内容
Ctrl+u 删除此处至开始的所有内容
Ctrl+d 删除当前字符
Ctrl+h 删除当前字符前一个字符
Ctrl+w 删除此处到左边的单词
Ctrl+y 粘贴由Ctrl+u, Ctrl+d, Ctrl+w删除的单词
Ctrl+l 相当于clear,即清屏
Ctrl+r 查找历史命令
Ctrl+b 向回移动光标
Ctrl+f 向前移动光标
Ctrl+Left-Arrow 光标移动到上一个单词的词首
Ctrl+Right-Arrow 光标移动到下一个单词的词尾
Ctrl+d 退出终
Task3 Linux用户和组管理
用户与用户组
用户:
1)普通用户
2)超级用户(系统管理员root)
用户组
1)主用户组(primary group) 信息保存在/etc/passwd 中
2)次用户组(secondary group)信息保存在/etc/group 中。
用户和用户组的关系
1)一对一:一个用户可以存在一个组中,是组中的唯一成员;
2)一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
3)多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
4) 多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。
用户ID与组ID
# 新建用户
sudo useradd boo85
grep boo85 /etc/passwd
# boo85:x:1001:1001::/home/boo85:/bin/sh
# 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
# UID通常是递增的,系统管理员UID为0
1)主目录:用户的起始工作目录,用户登录后有操作权限的访问目录
2)注释性描述:无实际用途。在不同的Linux 系统中,该字段格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。
3)登陆shell:用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
用户与用户组管理命令
1、用户增删修改
#添加用户
useradd 选项 用户名
#删除用户
userdel 选项 用户名
# -r 选项表示在删除用户的同时删除用户的家目录。
#修改用户
usermod 选项 用户名
# 修改用户密码
passwd 选项 用户名
2、用户组管理
# 添加用户组
groupadd 选项 用户组
#删除用户组
groupdel 组名
#不能使用 groupdel 命令随意删除群组。
#此命令仅适用于删除那些 "不是任何用户初始组" 的群组,如果有群组还是某用户的初始群组,则无法使用 groupdel 命令成功删除。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
# 修改用户组属性
group mod 选项 用户组
# 切换用户组
newgrp 目标用户组
# newgrp 指令类似 login 指令,当它是以相同的帐号,另一个群组名称,再次登入系统。#newgrp 命令可以从用户的附加组中选择一个群组,作为用户新的初始组。
#欲使用 newgrp 指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则 newgrp 指令会登入该用户名称的预设群组。
Task4 文件和目录管理
Linux目录
树状结构,以/为起始,也称为根目录,是Linx文件系统的入口
FHS(Filesystem Hierarchy Standard)组织
指定了目录规范,什么文件应该放在什么目录
根据FHS标准Linux目录一般可分卫一下四种交互状态
static:不可变的
variable:可变的
shareable:可分享的
unshareable:不可分享的
“可共享”文件是指可以存储在一台主机上并在其他主机上使用的文件。例如,用户主目录中的文件是可共享的,而设备锁文件不是。
“静态”文件包括二进制文件、库、文档文件和其他未经系统管理员干预不会更改的文件。
“不可变“文件是非静态的文件。
目录详解
ls 查看目录结构
/ -- 根目录
/bin -- 基本用户命令二进制文件目录,包含系统管理员和用户都可以使用的命令
/etc -- 配置文件目录。“配置文件”是用于控制程序操作的本地文件;它必须是静态的,不能是可执行的二进制文件。
/boot --引导文件,包含系统启动过程所需的所有内容,但不包括启动时不需要的配置文件和映射安装程序。
/dev --设备文件,存放 Linux 的外部设备,包括终端设备、USB或连接到系统的任何设备。在 Linux 中访问设备的方式和访问文件的方式是相同的。
/lib --库文件。录包含引导系统和运行根文件系统中的命令所需的共享库映像,即位于/bin和/sbin中的二进制文件。这些文件可以被很多程序共享。
/sbin --系统二进制文件,包含由系统管理员使用的二进制可执行文件。
/proc -- 进程信息文件,包含系统进程的相关信息。是系统内存的映射
/opt --可选择文件,用于安装附加应用程序软件包
/lost+found 通常为空,当系统非法关机后,这里就存放了一些文件。
/srv --服务器数据文件。srv代表服务,包含服务器特定服务相关的数据。
/var --变量文件。这个目录下可以找到内容可能增长的文件。包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp)
/tmp --临时文件,包含系统和用户创建的临时文件。当系统重新启动时,这个目录下的文件都将被删除。
/home --用户目录。所有用户都用home来存储个人文件
/usr --用户程序目录。包含二进制文件、库文件、文档和二级程序的源代码。
/mnt --挂载目录。此目录主要是作为挂载点使用。通常包括系统引导后被挂载的文件系统的挂载点。
/media --可移动媒体设备。用于挂载可移动设备的临时目录。
Linux文件
1、Linux文件类型
1)普通文件:包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data)
2)目录文件:Linux 中的目录也是文件,
3)链接文件:符号链接是指向系统上其他文件的引用,类似windows下的快捷方式。
4)设备文件:Linux 中的硬件设备如硬盘、鼠标等也都被表示为文件,即为设备文件。设备文件一般存放在 /dev/ 目录下
a)块设备文件:存储数据以供系统存取的接口设备,如硬盘或软盘。
b)字符设备文件:即串行端口的接口设备,例如键盘、鼠标
5)管道文件:管道是一种最基本的IPC机制,作用于有血缘关系的进程之间。一般的管道都是单向通信的,无法实现双向通信的功能。
6)套接字文件:提供进程间通信方法的文件,套接字可以实现两端通信。
占用存储空间的类型:文件、目录、符号链接。套接字、设备文件和管道是伪文件,不占用磁盘空间。
2、文件权限
查看文件权限:ls-l
drwxr-xr-x 2 booboo booboo 4096 6月 6 17:38 文件名.pdf
d rwx r-x r- x
第一位:表文件类型,如为-则为普通文件
rwx为固定组合,共三组,如对应位置为-,则表明不具有对应权限
文件:
r-可读
w-可写
x-可执行
目录:
r -查看目录下的文件列表
w-删除和创建目录下的文件
x-可cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容
3、命令集合
1)ls 选项 地址
选项:
-a:列出全部文件,包括隐藏文件( 开头为 . 的文件)
-d:仅列出目录本身,而不是列出目录内的文件数据
-l:长数据串列出,包含文件的属性与权限等数据;
2)cd 相对地址/绝对地址
3)pwd:获得目前所在目录的绝对路径名称
-P :显示确实的路径,而非使用连结(link)路径
4)mkdir 选项 目录名称
创建目录
选项:
-m :直接配置文件权限,不需要看默认权限 (umask) 的脸色
--mode=MODE set file mode (as in chmod), not a=rwx - umask
-p :创建递归目录:将所需要的目录(包含上一级目录)递归创建
--parents no error if existing, make parent directories as needed
5)rmdir 选项 目录名称
删除目录
-p:联通上级空的目录一起删除
6)cp 选项 源文件 目标地址/文件
copy复制
选项:
-a:等同于-pdr
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;*
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行*
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;*
-s:复制成为符号连结档 (symbolic link),即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination
7)rm 选项 文件或目录
删除
选项:
-f:force ,强制删除,忽略不存在的文件,不会出现警告信息
-i:互动模式,在删除前会询问使用者
-r:递归删除
8)mv 源地址/文件 目标地址/文件
移动/重命名
选项:
-f:force ,强制删除,忽略不存在的文件,不会出现警告信息
-i:若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u:若目标文件已经存在,且 source 比较新,才会升级 (update
9)cat 选项 目标文件地址
从第一行开始显示文件内容
选项:
-A:相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b:列出行号,仅针对非空白行做行号显示,空白行不标行号
-n:列印出行号,连同空白行也会有行号
-E:将结尾的断行字节 $ 显示出来;
-T:将 [tab] 按键以 ^I 显示出来;
-v:列出一些看不出来的特殊字符
10)ln
软连接(又称符号链接),可理解为快捷方式,如果删除原文件,则对应的软链接文件也会消失。
硬链接,相当于给源文件取的别名,起始两者是同一文件,件,删除二者中任何一个,另一个都会消失;对其中任何一个进行更改,另一个内容也会随之改变,因为两者本质上是同一个文件,只是名字不同。
ln test.txt test_hardlink
ln -s test.txt test_softlink
Task5 Linux磁盘管理
磁盘
磁盘,早期计算机使用的是软磁盘(Floppy Disk,简称软盘),如今常用磁盘是硬磁盘(Hard disk,简称硬盘)
磁盘的扇区、磁道、柱面
磁道:磁盘的每个盘片被划分为许多同心圆,划分圆的线条叫做磁道。
扇区:硬盘的盘片被磁道划分成多个扇区。硬盘的读写以扇区为基本单位
柱面::每一个盘片同一大小的同心圆可以看成连在一起的柱面,磁盘在分区的时候最小单位是柱面,每一个盘片的上下面都可以读取数据,每一个磁头,不可以跨盘面读取数据
磁盘运行原理:是多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摇摆和磁盘的旋转,磁头就可以在磁盘旋转的过程中就读取到磁盘中存储的各种数据
磁盘管理
Linux磁盘管理通常分成五个步骤,首先是添加硬盘,做RAID或逻辑卷LVM,然后进行分区,对分区进
行格式化,最后挂载到文件系统中。
添加硬盘
1\ 磁盘阵列,RAID (Redundant Arrays of Independent Disks)
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
**RAID模式**
a)RAID0
将数据分散在n个磁盘中,以独立的方式并行读取n个磁盘的数据,理论上,一个由n块磁盘组成的RAID0是单个磁盘性能的n倍。
b)RAID1
将数据分别写到两组磁盘中,分别为工作磁盘和镜像磁盘,相当于做了一次冗余,安全性高,但是成本也高。
c)RAID10
兼备了RAID1和RAID0的优点。
首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。
2)逻辑卷管理,LVM (Logical Volume Manager)
Linux环境下对磁盘分区进行管理的一种机制。。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
分区
1、分区目的
方便管理,文件种类繁多的时候不易造成混乱。
安全,当硬盘出现问题,又或者各类错误操作都可能造成数据损失。如果分区了,则可以减少损失。
2、分区常用命令
fdisk [选项] <磁盘> # 更改分区表
fdisk [选项] -l[<磁盘>] # 列出分区表
选项:
-b:显示扇区计数和大小
-B:创建新标签时不要擦除 bootbits ?
-c:模式,为“dos”或“nondos”(默认)
-L:彩色输出(auto, always 或 never
-l:显示分区并退
-o:输出列
-t:只识别指定的分区表类
-u:显示单位,“cylinders”柱面或“sectors”扇区(默认
-w:擦除签名(auto, always 或 never)
-W:擦除新分区的签名(auto, always 或 never
-C:指定柱面数
-H:指定磁头数
-S:指定每条磁道的扇区数
-h:帮助文档
对某个磁盘分区,如fdisk/dev/sda,则会出现以下菜单进行选择
m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
格式化
1、定义
我们所说的格式化一般是指逻辑格式化,它是指根据用户选定的文件系统,在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个操作。
文件系统指操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。
2、常用命令
mkfs[选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
创建一个Linux文件系统?
选项:
-t:文件系统类型;若不指定,将使用 ext2
-V: 解释正在进行的操作;
-h:帮助文档
-v:展示版本信息
挂载
1、定义
在Linux 系统中一切皆文件,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录,访问此目录就等同于访问设备文件。
2、mount命令
mount [-lhv]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作><挂载点>[<目标>]
命令行输入 mouunt -h 获取帮助文档
mount /dev/usb /mnt/usb
将/dvv/usb挂载到 /mnt/usb