系统初级安装和常用命令

第一章 系统初级安装和常用命令
1.1 Linux文件系统和目录结构
1.1.1 Linux文件系统
Linux支持多种的文件系统种类,除了linux通常使用的ext系列,也可以支持windows下的vfat和ntfs格式,当然包括类似nfs、xfs等各种网络存储格式。这里我们首先介绍一下CentOS系统通常会用到的ext,ext2,ext3,ext4,swap格式。

一 ext
ext是第一个专门为Linux的文件系统类型,叫做扩展文件系统。它在 1992 年 4 月 完成的。它为Linux的发展取得了重要作用。但是在性能和兼容性上存在许多缺陷。现在已经很少使用了。

二 ext2
ext2是为解决ext文件系统的缺陷而设计的可扩展的高性能的文件系统。ext2是Linux 文件系统类型中使用最多的格式。并且在速度和CPU利用率上较突出,是 GNU/Linux系统中标准的文件系统,其特点为存取文件的性能极好。
Ext2 可以支持 256 字节的长文件名,其单一文件大小与文件系统本身的容量上限与文件系统本身的簇大小有关,在一般常见的Intel x86兼容处理器的系统中,簇最大为 4KB, 则单一文件大小上限为2048GB,而文件系统的容量上限为 6384GB。
ext2的缺点:ext2的设计者主要考虑的是文件系统性能方面的问题。ext2在写入文件内容的同时并没有同时写入文件的meta-data (和文件有关的信息,例如:权限、所有者以及创建和访问时间)。换句话说,Linux先写入文件的内容,然后等到有空的时候才写入文件的 meta-data。这样若出现写入文件内容之后,在写入文件的meta-data之前系统突然断电,就可能造成在文件系统就会处于不一致的状态。在一个有大量文件操作的系统中出现这种情况会导致很严重的后果。

三 ext3
ext3是由开放资源社区开发的日志文件系统。ext3 被设计成是ext2的升级版本,尽可能地方便用户从ext2fs向ext3fs迁移。ext3在ext2的基础上加入了记录元数据的日志功能, 努力保持向前和向后的兼容性。Ext3目前所支持最大16TB文件系统和最大 2TB文件(x86_64机器,32位机器和ext2一样,ext2时代还没有出现64位机器)。
ext3 是一种日志式文件系统。日志式文件系统的优越性在于:由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸下,以便将快取层的资料写回磁盘中。因此每当系统要关机时,必须将其所有的文件系统全部卸下后才能进行关机。如果在文件系统尚未卸下前就关机(如停电)时,下次重开机后会造成文件系统的资料不一致,故这时必须做文件系统的重整工作,将不一致与错误的地方修复。然而,重整的工作是相当耗时的,特别是容量大的文件系统,而且也不能百分之百保证所有的资料都不会流失。
ext3的缺点:其最大的缺点是没有现代文件系统所具有的能提高文件数据处理速度和解压的高性能。

四 ext4
Ext4是一种针对ext3系统的扩展日志式文件系统,是专门为 Linux 开发的原始的扩展文件系统(ext 或 extfs)的第四版。 Linux kernel 自2.6.28开始正式支持新的文件系统 Ext4。 Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构,而不仅仅像 Ext3 对 Ext2 那样,只是增加了一个日志功能而已。Ext4 可以提供更佳的性能和可靠性,还有更为丰富的功能。相对于Ext3,特点如下:
  1. 与Ext3兼容。执行若干条命令,就能从Ext3在线迁移到Ext4,而无须重新格式化磁盘或重新安装系统。原有 Ext3 数据结构照样保留,Ext4作用于新数据,当然,整个文件系统因此也就获得了 Ext4 所支持的更大容量。
  2. 更大的文件系统和更大的文件。Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的文件。
  3. 无限数量的子目录。 Ext3 目前只支持 32,000个子目录,而Ext4支持无限数量的子目录。
  4. Extents。 Ext3 采用间接块映射,当操作大文件时,效率极其低下。比如一个 100MB 大小的文件,在Ext3中要建立25,600个数据块(每个数据块大小为 4KB)的映射表。而 Ext4 引入了现代文件系统中流行的extents概念,每个extent为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的 25,600个数据块中”,提高了不少效率。
  5. 多块分配。当写入数据到 Ext3 文件系统中时,Ext3的数据块分配器每次只能分配一个 4KB 的块,写一个100MB文件就要调用25,600次数据块分配器,而Ext4的多块分配器“multiblock allocator”(mballoc)支持一次调用分配多个数据块。
  6. 延迟分配。Ext3 的数据块分配策略是尽快分配,而 Ext4 和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在 cache 中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
  7. 快速 fsck。 以前执行 fsck 第一步就会很慢,因为它要检查所有的 inode,现在 Ext4 给每个组的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系统就可以跳过它们而只去检查那些在用的 inode 了。
  8. 日志校验。 日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。Ext4 的日志校验功能可以很方便地判断日志数据是否损坏,而且它将 Ext3 的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。
  9. “无日志”(No Journaling)模式。 日志总归有一些开销,Ext4 允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
  10. 在线碎片整理。 尽管延迟分配、多块分配和 extents 能有效减少文件系统碎片,但碎片还是不可避免会产生。Ext4 支持在线碎片整理,并将提供 e4defrag 工具进行个别文件或整个文件系统的碎片整理。
  11. inode 相关特性。 Ext4 支持更大的 inode,较之 Ext3 默认的 inode 大小 128 字节,Ext4 为了在 inode 中容纳更多的扩展属性(如纳秒时间戳或 inode 版本),默认 inode 大小为 256 字节。Ext4 还支持快速扩展属性(fast extended attributes)和 inode 保留(inodes reservation)。
  12. 持久预分配(Persistent preallocation)。 P2P 软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。 Ext4 在文件系统层面实现了持久预分配并提供相应的 API(libc 中的 posix_fallocate()),比应用软件自己实现更有效率。
  13. 默认启用 barrier。磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写 commit 记录,若 commit 记录写入在先,而日志有可能损坏,那么就会影响数据完整性。Ext4 默认启用 barrier,只有当 barrier 之前的数据全部写入磁盘,才能写 barrier 之后的数据。(可通过 “mount -o barrier=0” 命令禁用该特性。)

五XFS
Ext4 作为传统的文件系统确实非常成熟稳定,但是随着存储需求的越来越大,Ext4 渐渐适应不了了。比如说现在虽然Ext4 目录索引采用了Hash Index Tree, 但是依然限制高度为2.
Ext4的单个目录文件超过200W个,性能下降的就比较厉害了。由于历史磁盘结构原因Ext4 的inode 个数限制(32位数)最多只能有大概40多亿文件。而且Ext4的单个文件大小最大只能支持到16T(4K block size) 的话,这些至少对于目前来说已经是瓶颈了…而XFS使用64位管理空间,文件系统规模可以达到EB级别,可以说未来几年XFS彻底取代Ext4是早晚的事情!

六 swap
Swap分区:swap分区是linux特有的,在硬盘上单独划分出来一块空间用来存放内存和硬盘之间的交换数据,以提高机器的效率。相当于windows的虚拟内存,但是效率要比虚拟内存好得多。Swap分区可以不设立,但是建议划分。在内存小于2G时,swap分区建议使用两倍内存大小;内存大于2G,小于4G,swap分区建议使用内存大小;内存大于4G,swap分区建议使用内存一半大小。但是不同的应用有不同的需求,可以根据使用情况逐步添加或者减小swap分区。
1.1.2 linux目录结构
/

bin boot dev etc home lib media mnt opt proc root sbin tmp usr var

目录 描述
/ 根目录
/bin 做为基础系统所需要的最基础的命令就是放在这里。比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。
/boot Linux的内核及引导系统程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;启动装载文件存放位置,如kernels,initrd,grub。一般是一个独立的分区。
/dev 一些必要的设备,声卡、磁盘等。还有如 /dev/null. /dev/console /dev/zero /dev/full 等。
/etc 系统的配置文件存放地. 一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;
/etc/opt:/opt对应的配置文件
/etc/X11:Xwindows系统配置文件
/etc/xml:XML配置文件
……
/home 用户工作目录,和个人配置文件,如个人环境变量等,所有的账号分配一个工作目录。一般是一个独立的分区。
/lib 库文件存放地。bin和sbin需要的库文件。类似windows的DLL。
/media 可拆卸的媒介挂载点,如CD-ROMs、移动硬盘、U盘,系统默认会挂载到这里来。
/mnt 临时挂载文件系统。这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。
/opt 可选的应用程序包。
/proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。
/root Root用户的工作目录
/sbin 和bin类似,是一些可执行文件,不过不是所有用户都需要的,一般是系统管理所需要使用得到的。
/tmp 系统的临时文件,一般系统重启不会被保存。
/usr 包含了系统用户工具和程序。
/usr/bin:非必须的普通用户可执行命令
/usr/include:标准头文件
/usr/lib:/usr/bin/ 和 /usr/sbin/的库文件
/usr/sbin:非必须的可执行文件
/usr/src:内核源码
/usr/local:用户编译安装的软件的默认路径
/srv 该目录存放一些服务启动之后需要提取的数据
1.1.3 磁盘分区、文件系统和目录的关系
以红色代表swap文件系统、以蓝色单表ext2文件系统、以绿色代表ext3文件系统。
以下为两块磁盘,在使用之前划分为不同的分区(分区大小不同),每个分区格式化为不同的文件系统。

                         图3.1

最后将这八块分区分别挂载到不同的目录下。箭头表示挂载。

                         图3.2

如图3.2所示,当硬盘挂载到某个目录上时,该目录及其下的子目录都使用该分区,除非旗下的子目录挂载了别的分区。换句话说,每个目录都使用挂载在自身的分区,如果没有分区挂载在自身,就使用上级目录所使用的分区。
根据linux分区和目录结构的联系特点,需要在安装初期规划好分配情况,才能保证数据安全和性能。这部分在附录中有详细介绍。
1.2 系统初级安装
过程见附件一。
1.3 常用命令(一)
人和系统交互的指令集合,构成了shell。Shell面向于用户,内嵌于操作系统,用户通过shell命令指挥操作系统,进而利用硬件资源完成一系列任务。
Shell分为很多种类,常见的有csh、ksh和bash。
CentOS默认使用bash。
所谓的常用命令,其实就是bash中使用率较高的一组命令。
1.3.1 显示文件目录列表命令 ls
格式:ls [-option]
参数:
-l长列表,相当于详细列表
-a列出所有文件,包括隐藏文件
-t按照修改时间排列
–full-time 显示全时间格式
-r 倒序
-s 显示文件及文件夹大小
-h 以人类能够理解的方式显示

1.3.1.1 ls –alh和ls –lh 详解:
[root@localhost opt]# ls -alh
total 12M
drwxr-xr-x 4 root root 4.0K Aug 3 07:16 .
drwxr-xr-x 24 root root 4.0K Aug 8 15:17 …
drwxr-xr-x 10 10292 wheel 4.0K Aug 3 04:29 bind-9.8.0-P4
-rw-r–r-- 1 root root 7.4M Jul 15 2011 bind-9.8.0-P4.tar.gz
drwxr-xr-x 3 root root 4.0K Aug 3 05:15 bind_conf
-rw-r–r-- 1 root root 2.8M Aug 3 06:54 postfix-2.3.3-2.1.el5_2.src.rpm
-rw-r–r-- 1 root root 30K Aug 3 07:14 postfix-2.3.3-vda.patch
-rw-r–r-- 1 root root 1.6M Jan 26 2012 postfixadmin-2.3.5.tar.gz
[root@localhost opt]# ls -lh
total 12M
drwxr-xr-x 10 10292 wheel 4.0K Aug 3 04:29 bind-9.8.0-P4
-rw-r–r-- 1 root root 7.4M Jul 15 2011 bind-9.8.0-P4.tar.gz
drwxr-xr-x 3 root root 4.0K Aug 3 05:15 bind_conf
-rw-r–r-- 1 root root 2.8M Aug 3 06:54 postfix-2.3.3-2.1.el5_2.src.rpm
-rw-r–r-- 1 root root 30K Aug 3 07:14 postfix-2.3.3-vda.patch
-rw-r–r-- 1 root root 1.6M Jan 26 2012 postfixadmin-2.3.5.tar.gz
一、第1行:总计(total)
Total后面的数字是指当前目录下所有文件所占用的空间总和。使用ls –lh可查看,也可使用ls –alh查看

二、第1字段: 文件属性字段
-rw-r–r-- 1 root root 7.4M Jul 15 2011 bind-9.8.0-P4.tar.gz
drwxr-xr-x 3 root root 4.0K Aug 3 05:15 bind_conf
文件属性字段总共有10个字母组成;第一个字符表示文件类型。
-表示该文件是一个普通文件
d表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写。
注意:目录是特殊文件,这个特殊文件存放其他文件或目录的相关信息。
l表示该文件是一个软链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式。
b的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)。
c表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。
p表示该文件为命令管道文件。与shell编程有关的文件。
s表示该文件为sock文件。与shell编程有关的文件。
链接文件分为硬链接或符号链接两种。这里只做简单介绍,具体特性和使用在之后章节中介绍。
硬链接:多个指向同一文件(硬链接不可以对目录)。硬链接文件大小完全相同,如有多个硬链接,所链接的文件只是一个文件大小。
符号链接(软链接):建立一个独立的文件,这个文件会让数据的读取指向它链接的文件内容。类似windows快捷方式。
第1字段后9个字母表示该文件或目录的权限位。
r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute),如果是-,表明没有该权限。
除了rwx三种标示,还有s标示,称为SUID和GUID,这属于权限的高级应用,在后续章节中介绍。例如:rwsrwxrwx或者 rwsrwsrwx。
9个字母中,前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
以-rw-r–r-- 1 root root 7.4M Jul 15 2011 bind-9.8.0-P4.tar.gz 为例。该文件为普通文件,前三个rw-表示该文件对于其所有者,是可读、可写、不可执行;中间三个r—标示该用户所在组队该文件有可读权限;最后三个标示其他用户有可读权限。
详细的权限管理方法和意义在后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值