Linux 基础
Linux 基础
一、虚拟机
1.1 虚拟机的三种网络链接:
连接方式 | 能否连接本机 | 能否连接局域网 | 能否连接公网 |
---|---|---|---|
桥接 | Y | Y | Y |
NAT | Y | N | Y |
仅主机 | Y | N | N |
二、系统分区
2.1 磁盘分区
- 磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分。磁片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。
- 两种分区表形式
- MBR分区表(主引导记录 目前常用,即将被淘汰):最大支持2.1TB硬盘,最多支持4个分区
- GPT分区表(全局唯一标示分区表):支持9.4ZB硬盘(1ZB=1024PB,1PB=1024EB,1EB=1024TB)。理论上支持的分区数没有限制,但windows限制128个主分区。
- 分区类型
- 主分区:
- 一个硬盘最多只能有4个
- 编号为1-4
- 扩展分区:
- 最多只能有1个
- 主分区加扩展分区最多有4个
- 不能写入数据,只能包含逻辑分区,可以包含11个逻辑分区
- 逻辑分区:
- 编号从5开始
- 主分区:
2.2 格式化(为了写入文件系统)
- 定义:格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统,在磁盘的特点区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理等磁盘空间,格式化时会把文件清空。
- ext4文件系统原理:会把一块分区分为Inode和许多等大小的block,block用来存放数据,Inode为索引节点。
2.2.1 block
- 在linux中,block默认为4KB(也可选择2KB,1KB),系统存放时尽量连续存放,但不一定是连续的(连续存储,读取速度更快)。block是最小的存储单位,当一个block没存满时,不能存放另一个文件。
2.2.2 Inode
- 一般为128KB-256B,存放文件Inode id+时间+权限。Inode也可能被写满,所以不能无限制存放空文件。
- 根目录的 Inode 固定为 2
2.3 硬件设备文件名(给每个分区定义设备文件名)
硬件 | 设备文件名[字母表示第几块硬盘] |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
光驱 | /dev/cdrom或/dev/sr0 |
软盘 | /dev/fd[0-1] |
打印机(25针) | /dev/lp[0-2] |
打印机(USB) | /dev/usb/lp[0-15] |
鼠标 | /dev/mouse |
- /dev/hda1(IDE硬盘接口 家用已淘汰,光驱在用)
- 第一块IDE硬盘的第一个主分区
- /dev/sda1(SCSI硬盘接口 服务器已淘汰、SATA硬盘接口 服务器家用 目前使用、USB接口)
- 第一块SATA硬盘的第一个主分区
- /dev/sdb5
- 第二块SATA硬盘的第一个逻辑分区
2.4 挂载(给每个分区分配挂载点)
挂载点(用户访问硬盘的接口,使用已存在的空目录作为挂载点,包括新建目录也可以作为挂载点,/bin、/lib、/etc除外,这三个目录必须在根目录下)
必须分区(没有这两个分区无法安装)
- /(根分区)
- swap分区(交换分区 内核使用,普通用户无法使用)
- 如果真实内存小于4GB,swap位内存的两倍
- 如果真实内存大于4GB,swap和内存一致
推荐分区(实际上也必须,否则根目录满了之后无法启动系统)
- /boot(启动分区)
常用分区
- /home(用于文件服务器)
- /www(用于Web服务器)
文件系统结构
三、Linux 与 Windows 的主要区别
3.1 Linux 严格区分大小写
- Linux严格区分大小写,Windows不区分,包括文件名、目录名、命令(命令没有大写)、命令选项、配置文件设置选项等。
3.2 Linux 一切皆文件
- Linux 中所有内容都是以文件的形式保存和管理的,硬件设备也是文件。Windows 是通过设备管理器来管理硬件的,Linux 的设备文件保存在/dev/目录中,硬盘文件是/dev/sd[a-p],光盘文件是/dev/hdc等
3.3 Linux 不靠扩展名区分文件类型
Windows 依赖扩展名区分文件类型,如*.txt是文本文件、*.exe是执行文件、*.ini是配置文件、*.mp4是电影文件等。Linux 不靠扩展名区分文件类型,而是通过权限位标识来确定文件类型,Linux 下的可执行文件是普通文件被赋予了可执行权限。
Linux 下的文件类型:
文件属性 文件类型 - 常规文件,即file d 目录文件 b block device 即块设备文件,如硬盘;支持以block为单位进行随机访问 c character device 即字符设备文件,如键盘支持以character为单位进行线性访问 l symbolic link 即符号链接文件,又称软链接文件 p pipe 即命名管道文件 s socket 即套接字文件,用于实现两个进程进行通信 Linux 中有一些特殊文件还是要求写“扩展名”的,这并不是 Linux 靠扩展名来识别文件,而是为了帮助管理员区分不同的文件类型。常见的需要写扩展名的文件有以下几种:
压缩包
Linux 下常见的压缩文件名有 *.gz、*.bz2、*.zip、*.tar.gz、*.tar.bz2、*.tgz等。在 Linux 中,不同的压缩包解压命令不同,写明扩展名可以帮助程序员判断压缩包的格式。(在 Linux 中,没有写扩展名也是可以解压缩的)
二进制软件包
CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用 *.rpm 扩展名结尾。
程序文件
Shell 脚步一般用 *.sh 扩展名结尾,c语言文件用 *.c 扩展名结尾
网页文件
网页一般用 *.html *.php 等结尾,不过这是网页服务器等要求,而不是 Linux 的要求
3.4 Linux 中所有的存储设备都必须挂载之后才能使用
- Linux 中所有的存储设备都有自己的设备文件名,这些设备文件必须在挂载之后才能使用,包括硬盘、U 盘和光盘(在 Linux 中硬盘自动挂载,U 盘和光盘需要手动挂载,在 Linux 中设置自动挂载设备,如果开机时没有该设备,则会启动失败。在 Windows 中 U 盘和光盘也会自动挂载,卸载设备都需要手动卸载)。挂载其实是给这些存储设备分配盘符,Windows 中的盘符永英文字母表示,Linux 中的盘符则是一个已经建立的空目录。把设备文件(如/dev/sdb)和挂载点(已经建立的空目录)连接的过程叫挂载。
四、Linux 注意事项
4.1 远程服务器关机及重启时的注意事项
- 远程服务器不能关机,只能重启。服务器如果在远程,一旦关机只能求助托管机房的管理人员帮忙开机
4.1.1 远程服务器在重启前,要中止正在执行的服务
- 计算机的硬盘在高速存储时断电或重启,非常容易造成硬盘损坏。在重启前先中止
服务,甚至可以考虑暂时断开对外提供服务的网络。
4.1.2 重启命令的选用
- Linux 可以识别的重启命令有很多条,建议使用 shutdown -r now 命令重启。这条命令在重启时会正常保存和中止服务器中正在运行的程序,是安全重启命令。最好在重启前执行几次 sync 命令,这条命令是数据同步命令,可以让暂时保存在内存中的数据同步到硬盘上。
4.2 不要在服务器访问高峰运行高负载命令
- 在服务器访问高峰如果使用一些对服务器压力较大的命令(如复制大量的数据、压缩或解压大文件、大范围的硬盘搜索等),则有可能会造成服务器响应缓慢甚至死机。
- 一般认为 17:00 -- 24:00 算作访问高峰期(不同服务器高峰期不同),一般建议在 04:00 -- 05:00 执行高负载命令(使用系统的计划任务让操作系统自动在指定时间段执行)。
4.3 远程配置防火墙时不要把自己提出服务器
防火墙配置完全靠手工命令完成,配置规则和配置命令相对复杂,容易发生错误。
如何避免:
在服务器本地配置防火墙
在本地测试完善后再上传,降低发生故障的概率(虽然在本地测试好后再上传,但是传到远程服务器时仍有可能发生问题)
先在服务器上写一个系统定时任务,让服务器每5分钟清空一下防火墙规则,等测试没问题之后再删除这个定时任务
4.4 指定合理的密码规范并定期更新
- 设置密码时要遵守三原则:
- 复杂性
- 8位字符以上
- 大写字母、小写字母、数字、符号至少要有三种
- 不能是现有的英文单词
- 不能和个人用户信息有关
- 易记忆性
- 时效性:每180天更新一次密码
- 复杂性
4.5 合理分配权限
- 服务器管理有一个最简单的原则:给予用户最小的权限
4.6 定期备份重要数据和日志
- 备份的基本原则:不要把鸡蛋放在同一个篮子里