目录
一、Linux系统简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分;其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。同时这也是Linux与Windows的区别。
Linux的另一个特点是完全免费,但这种说法更的是指的Linux内核,而市面上使用的Linux发行版本是由不同厂商拿到Linux内核后进行二次开发的版本,并不是全部的发行版本都是免费的。
Linux主要的发行版本有:
其中redhat(红帽子)就不是免费的,而CentOS就是一个完全免费的Linux发行版本。ubuntu更多的应用在嵌入式Linux领域,CentOS广泛应用在服务器领域。
对于新手学习,可以选择一个免费的Linux发行版本,不管是哪种发行版本,它使用的Linux内核都是一样的,只要学会了Linux的内核,市面上任何发行版本,都可以很快上手使用!
三、Linux常用命令
1、目录文件处理命令
ls 显示目录文件
-a 显示所有文件,包括隐藏文件(隐藏文件前面带有“.”) -l 详细信息显示 -d 查看目录属性 -ld 以详细信息显示的方式查看目录属性
mkdir 创建新目录
-p 递归创建 mkdir默认只能在已经存在的目录中创建新目录,而加上-p选项 递归创建目录,就可以实现在每一级都自动创建目录,知道自己要创建的最终那一级目录。
cd 切换目录
切换到自己想在的目录, 其中 . 代表当前目录 .. 代表上一级目录 ~ 代表root的家目录
rmdir 删除空目录
pwd 显示当前目录
cp 复制目录文件
cp [选项] [原文件或目录] [目标目录]
-r 复制目录 -p 保留文件属性 -rp 复制目录的同时保留目录属性
mv 剪切文件/给文件改名
mv [原文件或目录] [目标目录]
将原文件还剪切到原目录就是改名
touch 创建空文件
cat 显示文件内容
-n 显示行号
tac 显示文件内容
与cat显示的内容是相反的,cat是正序,tat就是倒序
more 分页显示文件内容(只能向下翻页)
空格 / f 翻页 Enter 换行 q或Q 退出
less 分页显示文件内容(可上下翻页)
less显示的内容还可使用 /关键词 的方式在文件中搜索关键词,并使用 n 切换下一个
head 显示文件前面几行
-n [数字] 指定显示的行数 不指定的话默认会显示10行内容
tail 显示文件后面几行
-n [数字] 指定显示的行数 -f 动态显示文件末尾内容 不指定的话默认会显示10行内容
-n [数字] 指定显示的行数 不指定的话默认会显示10行内容
ln 生成链接文件
ln [选项] [原文件] [目标文件] -s 生成软链接 不加选项生成硬链接
软连接文件就相当于windows中的快捷方式,硬连接文件相当于对原文件的拷贝+同步更新
硬链接通过i节点识别,硬链接与原文件共用一个i节点
硬链接不能跨分区,不能针对目录使用
2、权限管理命令
三、文件系统管理
1、分区与文件系统
分区类型
主分区:最多只能分四个
扩展分区:只能有一个,也算作主分区的一种 ,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
逻辑分区:逻辑分区是在扩展分区中划分的, 如果是IDE硬盘,Linux最多支持59个逻辑分区 ,如果是SCSI硬盘Linux最多支持11个逻辑分区
每个分区都要有自己的设备文件名/分区号,1、2、3、4这四个分区号只能给主分区或扩展分区使用,而不能给逻辑分区使用。其中sda6中的sd代表SATA硬盘接口,hd代表IDE硬盘接口,abcd代表第几块硬盘,1234代表主分区,5678代表逻辑分区。
分区的设备文件名 | |
主分区1 | /dev/sda1 |
主分区2 | /dev/sda2 |
主分区3 | /dev/sda3 |
扩展分区 | /dev/sda4 |
逻辑分区1 | /dev/sda5 |
逻辑分区2 | /dev/sda6 |
逻辑分区3 | /dev/sda7 |
文件系统
- ext2:是ext文件系统的升级版本,Red Hat Linux7.2版本以前的系统默认都是ext2 文件系统。1993年发布,最大支持16TB的分区和最大2TB的文件(1TB=1024GB=1024*1024KB)
- ext3: ext3文件系统是ext2文件系统的升 级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性 。支持最大16TB的分区和最大2TB的文件
- ext4:它是ext3文件系统的升级版。ext4 在性能 、伸缩性和可靠性方面进行了大量改进。它的变化可以说是翻天覆地的,比如向下兼容 EXT3、最大1EB文件系统和16TB文件、无限数 量子目录、Extents连续数据块概念、多块分配 、延迟分配、持久预分配、快速FSCK、日志校 验、无日志模式、在线碎片整理、inode增强、 默认启用barrier等。是CentOS 6.3的默认文件系统(1EB=1024PB=1024*1024TB)
2、文件系统常用命令
- df [选项] [挂载点] 文件系统查看命令
- -a 显示所有的文件系统信息,包括特殊文件系统,如 /proc、/sysfs
- -h 使用习惯单位显示容量,如KB,MB或GB等
- -T 显示文件系统类型
- -m 以MB为单位显示容量
- -k 以KB为单位显示容量。默认就是以KB为单位
- du [选项] [目录或文件名] 统计目录或文件大小
- -a 显示每个子文件的磁盘占用量。默认只统计 子目录的磁盘占用量
- -h 使用习惯单位显示磁盘占用量,如KB,MB 或GB等
- -s 统计总占用量,而不列出子目录和子文件的 占用量
一般不用du统计文件大小,可以直接使用ls -l看到文件有多大,但ls -l 不能统计目录的大小,显示的只是目录下文件名占用了多少空间。
du命令与df命令的区别
(1)df命令是从文件系统考虑的,不光要考虑 文件占用的空间,还要统计被命令或程序占用的空间最常见的就是文件已经删除 ,但是程序并没有释放空间)
(2)du命令是面向文件的,只会计算文件或目录占用的空间。
- fsck [选项] [分区设备文件名] 文件修复命令
- -a: 不用显示用户提示,自动修复文件系统
- -y:自动修复。和-a作用一致,不过有些文件系统只支持-y
- dumpe2fs [分区设备文件名] 显示磁盘状态