2021.1.26 P176 ~ P188
[~]表示当前使用者所在的家目录。[~account]表示account账号的家目录。
[-]表示上一个访问的目录
cd后如果什么也不加,代表[cd ~],回到家目录。
pwd:print working directory
mkdir命令加上[-p]参数可以建立多层目录,例如在根目录下可以建立/test1/test2/test3三层目录。加上[-m]参数可以设置目录权限。
输入ls能执行/bin/ls命令的原因:系统会依照PATH的设置去每个PATH定义的目录下查找文件名为ls的可执行文件。
在终端输入echo $PATH可以打印所有的PATH(由一堆目录构成,用冒号隔开)。
将/root加入PATH当中:输入[PATH="${PATH}:/root"]
不建议将"."加入PATH的查找目录中的原因:如果当前工作目录下有命令名称相同的可执行文件(例如ls),则调用命令时可能会执行本目录下的文件而非/bin下的安全可执行文件,造成隐患。
命令[ll]=[ls -l],表示显示文件详细信息,-a参数表示显示隐藏文件。
basename命令:取得最后的文件名;
dirname命令:取得目录名。
查看文件内容:使用cat(concatenate)从第一行开始查看(-n选项可以打印行号);使用tac从最后一行开始显示;more按页显示;head/tail看前几行/后几行。
more:space:向下翻一页;b:回翻一页。
less:用pageup、pagedown向上、下翻页。
2021.1.27 P188 ~ P198
管道符号【|】的含义:前面命令所输出的信息,通过该管道交给后续的命令继续使用。
使用【od】命令读取二进制文件。
mtime:修改时间:当该文件的【内容数据】变更时,更新此时间。
ctime:状态时间:当该文件的【状态】改变时,更新此时间。
atime:读取时间:当该文件的【内容】被读取时,更新此时间。(例如用cat命令读取后,更新atime)
使多条命令依次执行,需要在命令间添加分号。
普通文件的默认权限:666;目录的默认权限:777(普通文件一般不给x权限),默认权限不变
umask:默认权限需要减掉的权限,可以通过命令【umask 】设置值
之后使用touch、mkdir命令时,创建的文件/目录的权限就是默认权限-umask
举例:(-rw-rw-rw-) - (--------wx) = -rw-rw-r–,原位没有x,而umask中对应位置有x,则最终结果中无x。看作掩码即可。
ext类文件系统的命令:chattr(配置文件隐藏属性)与lsattr(显示文件隐藏属性),关键命令有【chattr +i】,使得文件无法被修改删除(被锁定)、【chattr +a】,使得文件不能修改删除旧数据(只能添加新数据,针对日志文件)。
2021.1.28 P198 ~ P208
SUID程序:即【s】权限,如果一个binary可执行文件的用户拥有s权限,则其执行该文件后暂时获得拥有者用户权限,对指定文件操作修改(例如修改密码,可执行文件为passwd)
SGID程序:与SUID针对拥有者不同,SGID针对用户组,且能用于目录。用户在SGID目录下新建文件的用户组与此目录的用户组相同,如果不是SGID目录,则新建文件的用户组与文件的拥有者相同。
SBIT程序:【t】权限。当用户在目录下建立文件目录时,只有自己和root才有权利删除该文件,无法删除他人的文件。例如,目录的others有t权限,则目录内文件的建立者与root才能删除目录或文件。
观察文件类型:file命令
脚本文件查找:which命令,根据PATH这个环境变量规范的路径查找执行文件的文件名
find命令:在指定目录下查找文件,可指定时间-mtime +n,即修改历史大于n天的文件