硬件资源都是由内核来管理的。
第二章
study-area.org
linux.vbird.org
主引导记录MBR(Master Boot Record):
它存放着硬盘最重要的信息和分区相关的信息,其大小为512字节。
由于其大小有限所以它只能记录四个分区的信息.分区种类为:主分区和扩展分区主分区
只有主分区才能引导操作系统,也就是可设为活动分区,逻辑分区不能设为活动分区,不能引导OS。
一个硬盘至少要有一个主分区,最多有四个主分区。当有多个主分区时 系统只用活动的主分区来引导系统。
Linux中用hda1~hda4来表示主分区或扩展分区
扩展分区和逻辑分区
扩展分区由若干个逻辑分区租成。一个硬盘可以没有扩展分区或只有一个扩展分区。
Linux逻辑分区从hda5开始http://hi.baidu.com/tanyongxin/blog/item/1294d8fc33cebd8ab801a0f0.html
查看后台进程 ps -auxman手册配置文件 /etc/manpath.config
在Shell中如果命令太长,可以用"来使命令连续到下一行
第六章 Linux的文件属性与目录配置
所有用户的信息都记录在 /etc/passwd, 密码记录在 /etc/shadow,用户组名称记录在/etc/group
Ext3与Ext2文件系统区别:
Ext3文件系统加入了日志功能,在写入数据前会先将“在哪,要开始写入”这个信息记录在日志中,
然后才开始写入数据,在写入数据后会将“完成写入动作”的信息记录在日志,这样做有利于提高数据的可恢复性和完整性。
一但发生磁盘问题,可以立刻找到错误的位置,而无需扫描整个磁盘。
/etc/init.d 存放所有服务的默认启动脚本
第七章 文件和目录管理
cd ~Account 进入某用户的家目录
cp 会将链接所指向的文件拷贝过来,而非链接文件本身。只有在指定-d参数时才会仅拷贝链接文件
nl 显示文件内容及行号 nl -b a -n rz filename
文件的特殊权限的:sgt 分别由421表示 如chmod 1755 dir 设置该目录使其具有stick bit
SUID仅针对二进制文件,在Shell中该位无效,因为在shell中只是将二进制可执行程序调进来执行而已
SUID做先级高于SGID 若设置了SUID则GID会自动变成SGID
stick bit(t) 只对当前目录有效对子目录无效.如/tmp的属性为drwxrwxrwt 在带有t位的目录有只有root和文件或目录所有者才能对其删除操作,
即使目录或文件有w属性其它用户也无法进行删除操作。
http://blog.mcuol.com/User/AT91RM9200/Article/9621_1.htm
SGID的风险比SUID小得多,所以出于系统安全的考虑,应该尽量用SGID代替SUID的程序,如果可能的话。
有效用户ID , eid
eid:当前以谁的身份来运行该进程,内核是通过eid来检查进程的权限的。当对可执行程序设置了SGID后,
无论是谁在运行该进程,该进程的eid都是该文件的拥有者而非当前运行该程序的用户
find / -iname *su* -perm -4000 -exec ls -l {} \;
第八章 Linux 磁盘与文件系统管理
分区
MBR记录着整个硬盘的分区信息。所以如果MBR坏了就无法读取硬盘的分区信息,从而无法读取硬盘中的数据。
一个分区中只可有一个文件系统。硬盘的最小存储单位是扇区,其大小一般是512字节。
一个分区在ext2下会被格式化成inode表区域,和块区域两个部分。
块
而数据所存储的最小单位是逻辑块,它是文件系统在格式化时指定的数据最小存储单位,其大小是扇区的2的n次的倍数。一个文件可由多个块组成,但一个块内最多只可存储一个文件,根据硬盘的用途适当的调整块的大小可以提高文件的读取效率及空间使用率。针对大文件,块值大一些可以提高文件的读取速度,针对小文件会降低空间使用率。针对小文件,块值小一些可以提高空间使用率,针对大文件会增加读取次数,导致大文件读取速度变慢。如BBS 因为小文件较大则可把块大小设成1K 从而提高空间使用率。
若硬盘中主要是存储大文件则可把块调的相应大一点,这样可以提高文件的读取效率。但若有小文件存在则会浪费硬盘的空间。
超级块每个分区都是一个文件系统,它是由若干个块组成的,每个文件系统最开始位置的那个块称作超级块,sudo dumpe2fs -h /dev/sda8 | grep -i "inode size"它记录了当前分区的所有块的信息,如有多少块是空的,有空少块满的等。相当于当前分区的记录表。
inode
在ext2中每个文件的内容分成两部分还存储,一部分是文件的属性,一部分是文件的内容。
块:用于储存文件的内容。inode:用于存储文件的属性,其大小为128字节。
inode除了记录文件的属性外,同时还需具备指针功能,即指向文件的内容所放的块之中。
查看inode大小 sudo dumpe2fs -h /dev/sda8 | grep -i "inode size"
inode本身并不记录文件名,面是记录文件的属性,文件名则记录目录所属的块区域
显示inode值 ls -i
inode与块的关系一个inode只可用来描述一个文件的属性,而一个文件存储在至少一个块中。所以inode的数量<=块的数量,若inode数量>块数量 那么多余的inode会造成浪费
“脏”数据 dirty文件加载到内存中后,修改文件的内容只会修改内存的数据,这些被修改的内存数据被称之为“脏”数据,但为了保持内存中的数据与硬盘中数据的一致性,“脏”数据会在适当的时候写到硬盘中。
查看目前已启用的文件系统:
cat /proc/fielsystems
df -h 目录名 查看目录所在分区使用情况 df -h .
du -sh 目录名 查看指定目录的大小,如:显示根目录下所有目录的大小 du -sh /*
硬链接与软链接区别
http://hi.baidu.com/rubyonrailsjie/blog/item/f6a579e84d0c3e37b80e2da8.html
一个文件只对应一个inode,一个inode可以对应多个文件名,因在磁盘上同一文件可以通过不同的路径访问。
软链接会新建一个文件,该文件让数据的读取指向原文件的内容。它等于Windows的快捷方式。原文件删除后,软链接无效
硬链接不会新建文件,它只是在当前目录下新建一个目录项。它不会占用inode和磁盘空间。原文件删除后,硬链接仍可用。
硬链接限制:不能跨文件系统(分区),不能链接目录。
在删除一个文件时只有当它的引用计数为0时,这个文件的内容才会从硬盘上删除掉。硬盘链增加原文件的引用计数,而软件链接不会。
所以在删除原文件,只是把原文件的引用计数减1,而不会真正删除文件的内容,所以硬链接仍然有效。
简而言之:
创建硬连接,相当于复制了这个指针,因此两个指针指向同一个地址。也就是说两个文件名指向完全相同的一个文件。
创建软连接,相当于创建了一个指向指针的指针,因此当被指对象删除时就失效mount
mount 显示所有已加载分区
mount -a 按照/etc/fstab 中的内容顺序加载分区
mount --bind 将某目录载入互另一个目录。 mount --bind /mnt/windows/Backup /home/backup
dump
Linux中可以用dump命令来备份系统,它会针对/etc/fstab 中dump设置的值来进行相应操作
0 不备份 1 备份 2 要做备份但重要性比1小
第九章 文个的压缩与打包
gzip/zcat
gzip 压缩文件 zcat显示压缩文件的内容
gzip myfile 会把myfile变成myfile.gz 同时删除myfile
gzip -c myfile 把myfile被压缩后的内容输出到屏幕上。 gzip -c myfile > myfile.gz 压缩myfile同时保留原文件。
zcat myfile.gz 显示myfile未压缩前的内容
bzip2/bzcat
压缩比最好的命令 但只能对一个文件进行压缩和解压缩,要压缩多个文件需先将要压缩的多个文件用tar打包,然后再压缩
用法同gzip
tar
仅将多个文件打包成一个文件而不压给缩 除非加-z 或 -j 参数
tar -cvf mfile.tar /tmp/myfile* 仅打包不压缩 tar -czvf mfile.tar.gz /tmp/myfile* 打包后压缩
cd /tmp; tar -cvf - /etc | tar -xvf - 这个命令等于 cp -r /etc /tmp
tar -N '2009/02/01'-cvzf newback.tar.gz 只备份文件日期大于2009/02/01的文件
-P 使用绝对路径备份文件,在恢复时文件会恢复到原来的绝对路径,覆盖原路径的文件。 慎用此参数。dd
dd命令主要用于备份。tar主要用来备份关键数据,dd用于备份分区或整个磁盘。
dd if=/dev/sda of=/tmp/mbr.back bs=512 count=1 备份MBR
dd if=/dev/sda1 of=/tmp/sda1.back 备份整个/dev/sda1分区
cpio
cpio是备份利器。它可以备份任何类型的文件,包括/dev中的任何文件。
但它经常要配合其他程序一起使用,如find
find /etc -type f | cpio -o > /tmp/etc.cpio

浙公网安备 33010602011771号