linux私房菜笔记
下面是我的总结
计算机概述
CPU
为一个具有特定功能的芯片里面含有指令集,运行要参考CPU的指令集。
指令集有两个
- 精简单指令集:就是运行简单的程序,时间短,性能差
- 复杂指令集:运行复杂,运行时间长,
CPU分为两个单元
- 算术逻辑单元
- 控制单元
电脑为什么叫X86
,应为是CPU的代号,比如80286,又出来了新版本,80386等
电脑按用途分类
- 超级计算机(Supercomputer ):就是运行最快的电脑,国家使用
- 大型计算机(Mainframe Computer ):这个都是大企业用
- 迷你电脑(Minicomputer ):用于科研
- 工作站(Workstation),用于特定的环境使用
- 微电脑(Microcomputer ):个的笔记本和台式就是这个,
电脑的运算单位
容量单位
1位=8字节
速度单位
CPU电脑是用的GHZ或者MHZ,hz就是每秒的处理次数
1GHZ=1000MHZ
个人电脑架构和相关配件
北桥:负责连接运行速度较快的CPU,显卡,内存等部件
南桥:负责运行较慢的,比如USB,网卡等部件
现在内存控制器集成到CPU里面后就CPU和内存是直接交流的
内存
多通道设计
一个内存是64位,我们插上两个内存条就可以开双通道那就是128位
硬盘和存储设备
- 上面的一个小块块叫做扇区(sector)
- 那同一个同心圆的扇区组合成的圆就是所谓的磁道(trac)
- 在一个硬盘上有很多的磁片,在所有盘片上面的同一个磁道可以组合成所谓的柱面 (cylinder )
主板
CMOS用于记录主板上的重要参数,包括系统时间,CPU电压与频率,个个设备的I/O地址与IRQ等,保存的是要电的所以主板上要有一个电池
BIOS他启动计算机,会加载CMOS。BIOS也可以修改CMOS
主机计划和硬盘分区
硬盘阵列(RAID)利用硬件技术叫,个的硬盘合成一个大硬盘
硬件设备在linux的文件名
linux下机会所以的硬件文件都在/dev/
文件里面
SATA(机械硬盘)接口在Linux的/dev/sd[a-d]
文件里面,[a-d]就是其中的任意一个
SATA和USB都是用的SCSI模块来驱动的所以他的文件都是一样的
设备 | 设备在Linux内的文件名 |
---|---|
SCSI/SATA/USB硬盘机 | /dev/sd[a-p] |
USB 闪存盘 | /dev/vd[a-p] (用于虚拟机内) |
打印机 | /dev/lp[0-2] (25针打印机) /dev/usb/lp[0-15] (USB 接口) |
鼠标 | /dev/input/mouse[0-15] (通用) /dev/psaux (PS/2界面) /dev/mouse (当前鼠标) |
CDROM/DVDROM | /dev/scd[0-1] (通用) /dev/sr[0-1] (通用,CentOS 较常见) /dev/cdrom (当前 CDROM |
磁带机 | /dev/ht0 (IDE 界面) /dev/st0 (SATA/SCSI 界面) /dev/tape (当前磁带) |
IDE硬盘机 | /dev/hd[a-d] (旧式系统才有) |
虚拟机用的是virtio所在的文件在/dev/vd[a-p]
硬盘分区
MBR
早期的linux都是兼容windows的MBR来引导的,都是放到第一个扇区里面,早期的扇区都是512字节
他这个512字节的存放这两个内容
主引导记录:MBR安装启动引导程序地方,有446字节
分区表:他有64字节他只能存4组记录区,每一个记录启始和结束主面号
有的人可以分区分很多,这个是用的扩展分区,扩展分区可以记录更多的分区
- 主要分区与扩展分区最多只能分4个
- 扩展分区只能有1个
- 逻辑分区是扩展分区记录的
- 扩展分区是不能格式化的
- 逻辑分区的限制在于操作系统linux能分64个逻辑分区
GPT
上面的MBR分区是有限制的
系统不能抓取到2.2tb以上的硬盘容量
然后就出来了GPT的硬盘
MBR只有一个512字节的第一个分区来记录,而GPT用的是34个LBA来记录的
MBR如果删除这个512字节的分区记录,就会导致全部死光光,MBR有34个之外,整个硬盘的最后34个也拿来备份
电脑启动BIOS和Boot secto和UIFI
BIOS
- BIOS:他会启动第一个可以启动的设备
- MBR:第一个可以启动的设备的一个扇区内的主引导记录块,内含启动引导代码
- 启动引导程序:他可以读取内核文件来执行
- 内核文件:开始启动系统
Boot sector
Boot sector是什么
比如我的kali启动的时候他可以选择kali和win系统启动,
可以安装在MBR之外, 还可以安装在每个分区的开机扇区(boot sector)
- 提供菜单:使用者可以选择不同的开机项目,这也是多重开机的重要功能!
- 载入核心文件:直接指向可开机的程序区段来开始操作系统;
- 转交其他loader:将开机管理功能转交给其他loader负责
linux 硬盘分区的选择
linux的目录结构,他的目录结构都是树的形式来的
他的分区计划
linux的基本操作
安装linux
制作启动U盘,可以用dd
命令来写入U盘
1 | dd if=系统镜像 of=U盘路径 |
图形化和命令行之间切换
- [Ctrl] + [Alt] + [F2] ~ [F6] :文本界面登陆 tty2 ~ tty6 终端机;
- [Ctrl] + [Alt] + [F1] :图形接口桌面。
基本命令
命令的格式
这linux里面是大小写敏感的,比如cd和CD是不一样的
linux的命令格式
1 | ~ >> 1 2 3 4 |
- 1:命令
- 2:选项
- 3:参数
- 4:参数
比如:
终端日常命令和快捷键
日常命令
显示日期时间命令
datew
这个命令是现实当前系统的时间
直接运行的结果
我们还可以添加%Y/%m/%d
修改显示格式
或者只显示时间%H:%M
- 显示日期命令
cal

我们想查看指定的那年可以直接输入那年就可以了比如`cal 2021`

我们也可以直接输入几月比如`cal 3 2021`

终端计算器
bc
命令
快捷键
在终端Shift+PagePU
向前翻Shift+PageDown
向后翻
在线帮助命令
--help
工具在开发的时候都会添加这个帮助参数他的比如我们想查看
ls
的帮助
可以用–help来查看1
ls --help
man命令可以查看更详细的使用说明
info命令这个命令和man命令差不多就是他不是直接输出一大堆
有点软件,不只会告诉你他的使用还会告诉你他的原理他的说明文件在
/usr/share/doc
目录里面
简单的文本编辑器
nano
他的快捷键
[ctrl]-G
:取得线上说明( help),很有用的![ctrl]-X
:离开naon 软件,若有修改过文件会提示是否需要储存喔![ctrl]-O
:储存盘案,若你有权限的话就能够储存盘案了;[ctrl]-R
:从其他文件读入数据,可以将某个文件的内容贴在本文件中;[ctrl]-W
:搜寻字串,这个也是很有帮助的指令喔![ctrl]-C
:说明目前光标所在处的行数与列数等信息;[ctrl]-_
:可以直接输入行号,让光标快速移动到该行;[alt]-Y
:校正语法功能打开或关闭(按一下开、再按一下关)[alt]-M
:可以支持鼠标来移动光标的功能
正确关机方法
如果强制关机会导致系统的服务突然中断
计算机都是从硬盘写入到内存在到CPU,数据常常会从内存写回到硬盘这样就会导致系统变慢,
而在linux为了给系统提速好,默认有的已经加载到内存里面的数据不会直接写入到硬盘,他会在内存里面停留一会,如果你重写那么系统性能就会变快
如果万一关机就会导致数据更新不正常
我们可以用sync
命令来叫内存的数据写回硬盘里面
目前的常用的关键命令都会用sync
正确的关机命令
shutdown
关机默认30秒后关机,加上now
就会立即关机重启命令
reboot
,halt
,poweroff
用户和用户组
用户管理的文件夹
- 普通用户和root相关信息都记录在
/etc/passwd
- 个人秘密都记录在
/etc/shadow
- 用户组都记录在
/etc/group·
文件权限设置
文件属性查看
命令ls -al
a
参数是查看隐藏文件的
``l`是查看他的详细信息
属性分析
输出内容分析
1 | drwxr-xr-x 5 zss zss 4096 3月 19 20:08 视频 |
第一个
drwxr-xr-x
r
是可读w
是可写x
是可执行他分四段
这个是文件类型权限
第一个:
d
这个d
就是文件夹的意思如果是-
他就是普通的文件,l
则是链接文件,第二个: 文件拥有者的权限
第三个: 用户的所属组第四个: 其他用户的权限
第二个
5
这个5是多少个文件名链接到此节点
第三个
zss
这个是这个文件的拥有者的用户第四个
zss
这个文件所属的用户组第五个
4096
这个是文件的大小默认单位是Bytes
第六个
3月 19 20:08
创建的日期或修改的日期,可以加上--full-time
查看年月日第七个
视频
文件的名字
chgrp修改文件的用户组
格式
1 | chgrp -R 用户组名 文件名字 # -R就是连同目录下的全部文件都修改 |
测试
我就修改那个bbb
文件夹,修改长users
用户组
代码
1 | chgrp -R users bbb |
chown修改文件的拥有者
格式
1 | chown -R 账号名称 文件名字 |
测试
我就修改上面那个圈住的
命令
1 | chown -R root:root bbb |
chmod修改文件的权限
这个命令他有两个参数,一个是字符串一个是数字、
linux权限就有-rwxrwxrwx
这九个他有三组,分别是[user(用户) group(组) others(其他)]
数字修改权限
下面这个就是权限的对应表
1 | r:4 |
例如当权限为: -rwxrwx---
分数则是
1 | owner = rwx = 4+2+1 = 7 |
命令是
1 | chmod 770 文件名 |
符号类型修改权限
格式
可以看见下面有一个a
,这个a
就是代表ugo
全部
咧我叫用户,组和其他都修改成只读
命令
1 | chmod ugo=r 文件名 |
或者直接用一个a
代表全部
1 | chmod a=r 文件名 |
结果是一样的
权限的其他作用
linux目录
目录配置的依据FHS
linux版本多如果目录定义的都不同那不就乱了,然后就有了FHS是一种标准,就是定义什么样的文件放什么样的数据
- 可分享:就是可以分享给其他主机用的
- 不可分享:就是设备的配置文件,应为每个电脑硬件都不一样