`
dfeixtay
  • 浏览: 56062 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux私房菜 手记

阅读更多
wo-17 12-08 dfeixtay ori

读鸟哥的Linux私房菜 笔记

比较乱,算是回忆时的思路吧
前9章

硬盘分柱面,柱面分扇区,分区记录起始扇区和结束扇区

MBR 可以装载4个分区记录,可以4个主,但至多一个拓展分区,只有拓展分区可以划出逻辑分区。

2条IDE数据线,每条线一主一从,硬盘和光驱等共用,用一个少一个

硬盘用hdx,U盘用sdx,由于最多支持4个主或拓展分区,hd1 ~ hd4 是预留的,如果拓展分区hd4分成3个逻辑分区,那么分别是hd5,hd6,hd7,而hd4做保留。

/home放用户数据,/usr放系统,/var放网络相关,/var/run套接字文件,/dev设备和设备文件,可分块设备文件和字符设备文件,/etc设置文件,/bin 与/sbin可执行文件,。

所有安装信息都会记录在/root/install.log 及/root/anaconda-ks.cfg中(fedora系统)

权限设定 拥有者,用户组,其他人。所有系统帐号与一般身份用户,以及root的相关信息,都记录在/etc/passwd文件内,密码记录在/etc/shadow文件中,linux所有的用户组名称都记录在/etc/group内。

rwx文件权限

linux文件名的限制,避免* ? < > ; & ! [ ] | \ ' " ( ) { } 以及- +

/bin ,/usr/bin, /usr/local/bin
/sbin, /usr/sbin, /usr/local/sbin一般放置系统管理员才能使用的命令,一般用户只能查看而不能设置。
/lib ,/usr/lib, /usr/local/bin

/proc目录本身是一个虚拟文件系统,因为它放置的数据的都是在内存中

/tmp让一般用户或者是正在执行的程序临时放置文件的地方。这个目录是任何人都能访问的,所以需要定期清理。

/usr 根据FHS规范第二层内容,主要包含系统的主要程序,图形界面所需要的文件,额外的函数库,本机自行安装的软件,以及共享的目录与文件。有点像Windows操作系统中的Program files和WinNT的结合。

/var 主要放置系统执行过程中经常变化的文件,如缓存cache或者随时更改的登录文件logfile。此外,某些软件执行过程中会写入数据库文件,例如MySQL数据库,也都写入这个目录中。

建议与root不分开的目录 /etc,/sbin,/bin,/dev,/lib
建议与root分开的目录 /home,/usr,/var,/tmp
/etc放置系统设置文件的地方,可以经常备份

文件系统。每种操作系统对硬盘读取的方法不同,这就产生了不同的文件系统。要将文件系统编译到核心,才能被支持。

/lib/modules/xx/kernel/fs下有的文件系统,才能被支持

mkdir -m 777 dd可以在建立文件夹的时候设置权限mode,-p可以创建递归文件夹。如果不指定-mode参数,得到的默认文件权限与umask有关。

rmdir -p 可以删除空目录,且只能删除空目录

环境变量 是一种有用的“变量”,变量在linux中很重要
echo $PATH可以显示PATH变量,$表示后面接的是变量,在执行命令时,系统会按照PATH的设置,去每个PATH定义的路径下搜索执行文件,先搜索到的命令先执行。
执行正确命令的方法,1.直接使用绝对路径,2.把可执行命令所在的目录加到PATH中去

ls命令 ls -l dirName

cp命令 cp -[] src tar
cp -l 建立硬连接 -s 建立符号连接文件,相当于快捷方式 -p 连同文件的属性一起复制,而非默认属性默认属性与umask有关,而mode-0777的第一个叫Gid,Uid什么的 -a 相当于-pdr ;-u 当目标文件与源文件有差异时,目标文件比源文件旧,才复制,通常用于备份
-l 硬链接和-s 符号连接的区别与 i-node有关

rm命令
-i -r -f

mv命令
移动,同时可用于重命名。另外一个命令rename,可以更改大量文件的文件名。

basename和dirname获得文件名和父文件夹名

显示文件内容的命令有:
cat tac
nl
more less
head tail
od

修改文件时间和创建新文件,touch命令
Linux下3个主要的修改时间:
modification time:当文件内容被改变时
status time:更改了属性或者权限
access time:读取文件时就会修改
查看上面3个时间的方法,ls -l --time=mtime,ctime,atime filename
修改上面3个时间的方法,touch -a(access time ) -c(可以修改时间,而不建立文件) -d(接日期,也可以--date=“”) -m(仅修改mtime)
-t(后面接时间,YYMMDDhhmm)
值得注意的是,ctime是无法修改的

命令行分隔符“;”

文件默认权限umask
建立一个新的文件或目录时,它的默认属性由umask决定。umask 或者 umake -S查看
默认的文件属性666 或文件夹属性777 指示被减去的权限值

设置文件隐藏属性 chattr
+-=
ASacdijsu
其中+i代表不可删除,sudo也不可删除;+a代表只能增加数据,不能删除

查看文件隐藏属性 lsattr

文件特殊权限 SUID/ SGID/ Sticky Bit
SUID Set UID:会创建s与t权限,为了让一般用户在执行某些程序的时候暂时具有该程序拥有者的权限。
仅可用在二进制文件(binary file),因为是在执行过程中,针对二进制文件。
不能用在批处理(shell脚本)上,shell本质上调用多个二进制文件来执行,SUID看各个二进制文件的即可
GUID Set GID:如果s的权限是在用户组
文件:不论用户是谁,在执行该程序的时候,它的有效用户组(effective group)将会变成该程序的用户组拥有者
目录:该目录内所建立的文件或目录的用户组,将会是此目录的用户组
不常用
Sticky Bit:
只针对目录有效,不用在文件上
仅有该目录的建立者和root,可以删除自己的目录。
小结:要和x权限结合,有x是前提,否则S或T为大写,表示“空的”。

查看File文件类型 file命令
file /tmp

搜索!
whereis 和 locate用来检查数据库,因此比较快,find扫描硬盘,比较慢
which:根据PATH环境变量所规范的路径,来搜索该文件名。重点是找出执行文件。
whereis:[-bmsu] 完整名称
locate: 部分名称即可
whereis和locate都是在linux的系统文件数据库中搜索,并不是最新的。但是速度快。

find命令
find [PATH] [option] [action]


八,磁盘与文件系统管理
介绍属性和权限是记录在硬盘的哪个地方,了解Linux文件系统(filesystem)是如何记录文件,如何读取文件的。
硬盘组成和inode与连接文件方面的知识

ext2规划出inode与块 来分别存储文件的属性与文件的内容。
块是数据存储的最小单元,它基于扇区,是扇区的2的n次方大小。
inode是记录该文件的相关属性,以及文件内容放置在哪一个块内的信息。兼有记录属性和文件指针公呢功能。

#inode与块的关系,与分区的关系,与容量的关系。。。

ext3文件的访问与日志文件系统的功能

Linux通常采取异步处理(asynchronously)方式,当系统读取了某个我文件,则该文件所在的块数据会加载到内存中,同时标记为dirty。然后同步sync

要知道linux支持的文件系统有哪些,查看/lib/modules/name**/kernel/fs
系统当前已开启的文件系统有 cat /proc/filesystems

磁盘与目录的容量
df命令 -k -m 单位对应
-h自动单位
-H 定义M=1000K,而不是1024K
-T 连同分区的文件系统名称一起列出

du命令
du [-ahskm] nameorpath

连接文件ln
硬连接或实际连接:硬连接只是在某个目录下新增一个该文件的关联数据而已。
只是有两个目录都记录了相关的数据。
特点是安全,不管哪个目录删除了文件,都只是删除了该目录下文件的记录,不删除文件的内容与inode。
于是,建立硬连接后,不会用掉inode与磁盘空间。
限制:不能跨文件系统,不能连接目录。
符号连接或快捷方式:建立一个独立的文件,这个文件会让数据的读取指向它连接的文件内容。
符号连接所建立的文件为一个独立的新文件,所以会占用掉inode与块。
因为硬连接无法连接目录,故使用符号连接对目录进行连接,命令为ln
ln命令:
ln -s符号连接 -f如果目标文件存在,删除后建立

分区:fdisk

格式化:mke2fs

磁盘检查:fsck badblocks

磁盘的载入和卸载
由于载入文件系统需要载入点,所以载入时要先建立载入的目录
mount 将系统所有的已载入的分区数据列出来 df和du也可以查看类似的信息
mount -a所有相关磁盘都挂上来 -t ext3等 -o后面可以接一些载入时,额外加上的参数,比如帐号,密码,读写权限等。-L利用分区的卷标来载入
mount --bind 可以将某个目录载入到其他目录,而不是整块文件系统。

umount卸载设备文件
umount设备号或载入点

启动载入/etc/fstab和/etc/mtab


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics