常用操作和命令
Tab:命令或文件名补全;
Ctrl+C:中断程序;
Ctrl+D:结束键盘输入;
ls:(-a全部文件)、(-d只列出目录)、(-l长数据串行输出);
mkdir:(-p递归创建)、(-m配置权限);
rmkdir:(-p递归删除)
touch:更新文件时间或者建立新文件;
–help:指令用法和选项介绍;
man:显示指令具体信息;
info:将文档分成一个个页面,每个页面可跳转;
doc:/usr/share/doc,存放软件一整套说明文件;
who:查看在线用户;
sync:将内存中的文件同步到磁盘,关机前使用;
shutdown:(-k警告信息不关机)、(-r关闭系统服务后重启)、(-h关闭系统服务后立即关机)、(-c取消shutdown命令)
PATH:环境变量,声明可执行文件的路径,多个用:分隔符;
sudo:一般用户使用root可执行的命令,只有再/etc/sudoers配置的用户才可用;
RPM:redhat package manager,软件包管理工具;
YUM:基于RPM,具有依赖管理和软件升级功能;
VIM:指令模式,编辑模式,指令列模式;
磁盘
磁盘接口
IDE:磁盘接口,并口线抗干扰性差,已逐渐被SATA取代;
SATA:串口ATA,支持热插拔;
SCSI:小型机系统接口;
SAS:采取序列式技术以获得更高传输速度;
磁盘文件名
Linux每个硬件都被当成一个文件,包括磁盘
IDE磁盘:/dev/hd[a-d]
SATA/SCSI/SAS磁盘:/dev/sd[a-p]
后面的序号与系统检测到磁盘的顺序有关,有插入的插槽位置无关;
分区
分区表
MBR:限制较多,第一个扇区最重要,里面有开机记录和分区表,开机记录446bytes,分区表64bytes;分区表最多能存4个分区,主分区和扩展分区,扩展分区只有一个,扩展区可分出更多分区(逻辑分区);分区也是一个文件,命名方式:磁盘文件名+编号,/dev/sda1;逻辑分区从5开始。
GPT:
文件系统
分区与文件系统
对分区进行格式化是为了再分区建立文件系统,一个分区通常只能格式化为一个文件系统,但是磁盘阵列等技术可以将一个分区格式化为多个文件系统。
组成
inode:一个文件一个,记录文件属性,同时记录文件内容所在的block编号;
block:记录文件的内容,文件太大的话,占用多个block;
superblock:记录文件系统的整体信息,包括inode和block总量、使用量、剩余量,以及文件系统的格式和相关信息等;
block bitmap:记录block是否被使用的位域;
文件读取
Ext2文件系统:当要读取一个文件内容时,先在inode中查找文件内容所在的所有block,然后把所有内容读出来;
FAT文件系统:没有inode,每个block中存着下一个block编号;
磁盘碎片
文件内容所在block过于分散,导致磁盘头移动距离过大降低读写性能;
block:在Ext2文件系统,block大小1K,2K,4K三种,一个block只能被一个文件使用;
inode:权限,拥有者与群组,容量,建立修改时间,最近读取时间,文件特性旗标,文件真正内容指向;大小固定128bytes,每个文件仅占用1个;
目录
一个目1个Inode,至少1个block,block记录目录下文件的inode和文件名;inode本身不记录文件名,文件名记录在目录,因此文件增删改操作与目录的w权限有关;
日志
修复文件系统
挂载
挂载利用目录作为文件系统进入点,即进入目录之后就可以读取文件系统的数据
目录配置
/:根目录
/usr:系统默认软件都会安装到这个目录
/var:存放系统或程序运行过程中的数据文件
文件
文件属性
ls: drwxr-xr-x 3 root root 17 May 6 00:14 .config
dr…x:文件类型(d目录、-文件、l链接文件)和权限,文件拥有者、群组、其他人;
3:链接数;
root:文件拥有者;
root:所属群组;
17:文件大小;
May..:14:最后修改时间;
config:文件名
获取文件内容
cat:取出文件内容
tac:cat的反向操作,从最后一行打印
more:可以一页一页查看文件内容,适合大文件查看;
less:和more类似,多了向前翻页功能
head:取得文件前几行;
tail:取得文件后几行
od:以字符或者十六进制显示二进制文件;
指令与文件搜索
witch:指令搜索
whereis:文件搜索,速度快,因为只搜索几个特定目录;
locate:文件搜索,可用关键字或正则搜索,使用/var/lib/mlocate/数据库进行搜索,存在内存中,每日一更;(-r正则表达式)
find:文件搜索,可以使用文件属性和权限搜索