135./etc/issue 文件。
(1)
/etc/issue 文件储存的信息会在登录的界面显示出来,修改了之后,有什么显示什么。
137.date 的用法。
(1)修改日期时间。
date mmddHHMMYYYY
(2)修改时间。
date -s HH:MM:SS
(3)如果想要知道 2010-5-2是星期几。
date -d 20150502 (并不会改变真正的时间)
141.Linux文件属性中的你不知道的。
(1)
第二列表示有多少文件名链接到此节点(i-node)。
每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是用文件名来记录的,这个属性就是记录了,有多少不同的文件名链接到相同的一个i-node号码,
(2)有的时候,Linux系统会将距离现在较久远的文件的时间显示 “2016” ,就是时间不会具体。
解决: 使用命令, ls -l --full-time
143.Linux系统中中英文的转化。
(1)代表中文的是 LANG=”zh_CN.UTF-8”
代表英文的是 LANG=”en_US.UTF-8”
(2)在终端机中,就是以init 3 的级别开机的时候,是不支持中文的,所有中文的东西都会是乱码。
144.关于目录的权限问题。
(1)当目录的权限为 drwxr-xr-- 的时候,这时其他用户对这个目录来说只有ls 的权限,没有进入查看的权限,必须要同时有r x 才能进入目录查看。
150.Linux系统的文件种类。
(1)普通文件:分为纯文本文件、二进制文件、数据格式文件。
在ls -l 的时候,第一列中的第一个符号是“-”的,可以分为以下几种形式。
1.纯文本文件(ASCII):这个Linux系统中最常见的文件格式,用cat可以直接查看里面的内容,
2.二进制文件:我们的系统仅可以识别二进制文件,你的Linux中可执行的文件就是这种格式的,举个例子,就是命令的执行文件,ls、cat 放在/etc/init.d/下的文件。
3.数据格式文件:有些程序在运行的时候回读取一些特定格式的文件,那些特定格式的文件被称为数据文件。/var/log/wtmp(Linux自用户登录的时候,都会将登录的数据记录在里面)就是这种文件,这种文件可以通过last来查看。
last /var/log/wtmp
(2)套接字文件
既然被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过这个socket来进行数据的通信了,其第一个属性为【s】 ,通常在/var/run这个目录中可以看到这种文件类型了。
除了网络上的连接外,其实Linux系统上面的进程是可以接收不同进程所发送的信息,那就是Linux上面的(socket file(套接字文件)),socket file 可以沟通两个进程之间的信息,因此进程可以取得对方传送过来的数据。netstat 可查看---------527页
152.Linux目录配置标准:FHS
分类:
(1)不变的
有些数据是不会经常变动的,跟随着distribution而不变动,例如函数库、文件说明文件、系统管理员所管理的服务配置文件。
(2)可变动的
经常改变的数据,例如登录文件、新闻组等。
(3)可分享的
可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够
分享给其他用户挂载使用的目录。
(4)不可分享的
自己机器上的设备文件或者是与程序有关的socket文件等,由于仅与自身机器有关,所以当然就不适合分享给其他主机了。
例子:/etc/ 、/boot是不可分享的、不变的。
(5)FHS其实只是对三个目录下面应该放置什么目录而已,分别是:
1. / ,root,根目录,与开机系统有关。
2. /usr ,于软件安装,执行有关。
3. /var ,于系统运行过程有关。
153./目录所在分区的限制。
(1)根目录建议不要放到非常大的分区内,因为越大的分区你会放入越多的数据,如此一来根目录所在的分区就会有较多的发生错误的机会。
154.分区时不要把一些目录和根放到不同的分区。
(1)因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成之后才会被持续进行挂载的行为。所以说一下的目录不可以和/放到不同的分区内。
/etc/ : 配置文件
/bin/: 重要执行文件
/dev:所需要的设备文件
/lib : 执行文件所需要的函数库,与内核所需要的模块。
/sbin; 重要的系统执行文件
154./bin 和 /usr/bin的不同之处。
(1)/usr/bin:绝大部分用户可使用的命令都放在这里。
(2)与/bin的区别,在开机的时候/bin下的执行程序会被用到,而/usr/bin下的执行程序不会被用到。
157./sbin和 /bin下的执行文件的不同。
(1)/sbin 下有开机或单用户模式时还能操作的系统命令。
(2)/bin 下有一般用户可用,启动时会用到的命令。
164.pwd -p 的意义。
(1)pwd -p :会显示真正的工作目录,而不是显示链接文件的目录。
例子:# pwd
/var/mail
# pwd -p
/var/spool/mail
/var/mail 是 /var/spool/mail 的链接文件。
165.关于PATH路径。
(1)普通用户的PATH路径和root的路径是不同的。
166.普通用户不能执行PATH路径中没有的命令的问题。
(1)由于普通用户的PATH路径和root是不同的,所以有一些命令是普通用户在命令行上不能使用的,例如/sbin下的命令,ifconfig。
解决:既然不能直接在命令行中使用命令,那可以使用命令的绝对路径来使用。
/sbin/ifconfig -a
166.何添加PATH路径。
(1)将/root 加入到PATH路径中。
PATH=”$PATH”:/root
169.cd 的一些常用的参数。
(1)-a :相当于-pdr的意思。
-d: 如果源文件是链接文件,那么复制文件的链接属性,而不是文件本身。
-p: 连同文件的属性一起复制过去,而不是使用默认的属性。
-r: 用于目录的复制行为。
-u(update): cp -u /root/.bashrc /tmp/bashrc
当/root/.bashrc 比/tmp/bashrc 新的时候才会被复制覆盖过去。常被用于备份的工作中。mv -u 也有相同的意思。
172.在命令的前面 \(反斜杠)的作用。
(1)在命令前的 \ 的作用是能够忽略掉alias的指定参数。
177.tail -f 的作用。
(1)tail -f 能够持续监视一个文件的内容,按ctrl -c退出监视。
179.touch 的一些用法。
(1)-a : 仅修改访问时间,(atime,文件最后一次被访问的时间,cat)
(2)-c : 仅修改系统权限被改变时间(ctime, 文件权限最后一次被改变的时间,chmod),若该文件不存在则不创建文件。
(3)-m : 仅修改文件内容改变的时间(mtime,文件内容最后一次呗修改的时间)
(4)-d : 后面可以接欲修改的日期(ls显示出来的mtime)
# touch -d “2 days ago ” /etc/passwd
(5)-t : 后面可以接欲修改的时间,格式为 YYMMDDhhmm
%touch -t 0709150202 /etc/passwd
181.umask权限的一些东西。
(1)# umask
022
# umask -S
u=rwx,g=rx,o=rx
(2)用户创建一个文件的时候,权限最大为666
(3)用户创建一个目录的时候,权限最大为777
(4)umask 的意义在于减去的权限,但不是数字的相减,而是权限的相减。
例如:umask 等于033
在创建目录的时候, rwxrwxrwx 减去 ----wx-wx 等于rwxr--r--
而不是 777 - 033 = 733 rwx-wx-wx
183.chattr lsattr 文件的隐藏属性。
(1)chattr 的一些用法。
-a: 当设置了a属性之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root能设置这个属性。
-i : 这个可就厉害了,它可以让文件 , 不能被删除、改名,不能设置连接文件,不能写入或者添加数据。
(2)lsattr 查看文件的隐藏属性,它的参数的意义和ls的意义差不多。
185.SUID、SGID、SBIT的使用范围和意义。
(1)SUID仅可以使用在二进制程序上,不能够使用在shell脚本上。因为shell脚本最终还是引用的二进制文件,是否有SUID还得看原有的二进制文件是否有SUID。
(2)SGID可以使用在二进制文件和目录上,
如果用在目录上,如果用户在此目录下具有w权限(可以新建文件),那么该用户在此目录下新建的文件的基本组和目录的基本组相同。
还有一个效果就是,其他的用户other在这个目录中,拥有该目录基本组的权限。
(3)SBIT仅可以使用在目录上。
(4)在ls -l /etc/passwd 显示出来的文件的属性中,有时会有rwSrwxr-x这个是因为这个文件的所属用户没有对这个文件的x执行权限。也就是说这个SUID是没有任何意义的,因为文件的所有者都没有执行的权限,普通用户会拥有所有者的权限,也不能执行这个文件。
187.file 命令的意义。
(1)file 文件名: 可以简单地先判断这个文件的格式为何。
188.which 命令的意义。
(1)which 命令 : 可以找到命令的完整文件名。
which -a 命令: 找出所有由PATH目录中可以找到的命令均列出,而不只列出第一个 找到的命令。
(2)当使用root 执行 which ifconfig 的时候就会出结果。
但是使用普通用户执行 which ifconfig 的时候不会出现结果。
这个是因为which 是根据PATH路径去找的命令的完整名称,但是普通的用户并不包括/sbin所以普通用户是不能找到/sbin/ifconfig的。这个时候普通用户可以使用whereis
188.whereis 的意义。
(1)whereis 文件或目录名。
whereis ifconfig
这个普通用户也是可以使用的,因为whereis 是以数据库的文件为准的。
190.find 的一些特殊用法。
(1)find / -mtime 0
查找之前的24小时之内有改变内容的文件。
(2)-perm mode : 查找文件权限“刚好等于”mode的文件,这个mode为类似chmod的属性值,举例来说,rws-wx-r-x 的属性值为4735
-perm -mode : 查找必须包含mode的文件属性的文件,举例来说,我们要查找rwxr--r--即0744的文件,使用 -perm -0744 rwsr-xr-x的文件也会被列出来,也就是4755因为 后者已经包含前者了。
-perm +mode : 查找文件权限“包含任一mode的权限”的文件,举例来说,我们查找 ,rwxr-xr-x即 -perm +755 的时候,rw------的文件也会出现,因为它有rw-------它有rw的属性存在。
(3)-exec : 可以让find查找到的结果能够作为命令的参数进行使用。
# find / -perm +7000 -exec ls -l {} (注意这里是有空格的,没有空格会报错)\;
查找有特殊权限的文件,SUID、SGID、SBIT。
-exec 不支持别名的使用。
(4)-newer : find /etc -newer /etc/passwd
找出/etc/ 中,比/etc/passwd的mtime新的文件或者目录。
197.最小的物理存储单位。
(1)扇区为最小的物理存储单位,每个扇区为512Bytes 。
198.文件系统存储要使用到的一些工具。
(1)super block : 记录此文件系统的整体信息,包括inode /block的总量、使用量、剩余量、以及文件系统的格式与相关信息。
(2)inode: 记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码。
(3)block : 实际记录文件的内容,若文件太大时,会占用多个block。
200.block 的使用限制。
(1)原则上,block的大小与数量在格式化完成之后就不可以再被改变了,除非重新格式化。
(2)每个block内最多只能够放置一个文件的属性。
(3)如果文件的大小大于block的大小,则一个文件会占用多个block。
(4)如果文件的大小小于block的大小,block剩余的空间就不可以被使用了。
203.查看superblock的信息。
(1)dumpe2fs 设备名
查找出来的内容,上半部分是superblock 的内容,下半部分是每个blockgroup 的内容。
204.当我们新建一个目录时,文件系统有哪些操作。
(1)当我们在Linux的文件系统中新建一个目录时,文件系统会分配一个inode与至少一块block给该目录,其中,inode记录该目录的相关权限和属性,并可记录分配到的那块block号码,而block则是记录在这个目录下的文件名与该文件名占用的inode号码数据。
205.关于inode和block。
(1)inode本省并不记录文件名,文件名的记录是在目录的block中。所以目录内文件的删除和新建才会和目录是否有w权限有关,
206.解决文件数据离散的问题。
(1)将整个文件系统内的数据全部复制出来,将该文件系统重新格式化,再将数据复制回去即可解决这个问题。
206.当新建一个目录或者文件时,我们的文件系统会有哪些行为呢。
(1)先确定用户对于欲添加文件和目录是否具有w与x的权限,若有的话才能添加。
(2)根据inode bitmap 找到没有使用的inode号码,并将新文件的权限/属性写入。
(3)根据block bitmap 找到没有使用中的block 号码,并将实际的数据写入block中,且更新inode的block指向数据。
(4)将刚才写入的inode与block数据同步更新inode bitmap 和block bitmap 并更新superblock的内容。
如果在上述的四个步骤中断电等特殊的情况,系统将在下次开机时根据日志文件系统的记录记性修复。