开学了也要继续学习✊
chown:change owner 改变文件属主(只有管理员可以使用此命令)
# chown USERNAME file,...(file如果是目录将只改变目录属性,不改变目录内文件属性)
-R recursive 修改目录及其内部文件的属主
--reference=/path/to/somefile file,... 将文件信息修改成和参考文件一样(属主属组同时改)
# chown USERNAME:GRPNAME file,... = #chown USERNAME.GRPNAME file,... 同时改属主和属组,支持-R
# chown :GRPNAME file,... 改属组
chgrp:change group 同chown用法一样,并也是管理员权限
# chgrp GRPNAME file,...
-R
-reference=/path/to/somefile file,...
chmod:change mode 修改文件的权限
修改三类用户的权限:
chmod MODE(权限的八进制形式,如果给出数字少于三位默认在前面补0) file,...
-R(意义同上)
--reference=/pah/to/somefile file,... 也支持 -R
修改某类用户或某些类用户权限:用户类别:u,g,o,a
chmod 用户类别(可组合)=MODE(按rwx格式,某位不写表示无该权限,甚至可以空格表示---;不支持单位数字) (可用 , 并列 )file,...
修改某类用户的某位或某些位权限:
chmod 用户类别+(添加)|(或)-(减去)MODE(某种或某些权限)(可用 , 并列) file,...
如:chmod u-x file,...(去掉属主的执行权限)(a的时候a可以省略)
umask:遮罩码
创建文件默认权限:666-umask(文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1)
创建目录默认权限:777-umask(最低为0,不是负数)
站在用户登录的角度来说,SHELL的类型:
登录式shell:正常通过某终端登录
su - USERNAME
su -l USERNAME
非登录式shell:su USERNAME(有-表示完全切换,无-可理解为半切换)
图形终端下打开命令窗口
自动执行的shell脚本
bash的配置文件:
全局配置 /etc/profile,/etc/profile.d/*.sh,/etc/bashrc(对所有用户生效)
个人配置 ~/.bash_profile,~/.bashrc(只对当前用户生效,作用范围越小越最终生效)
profile类的文件:设定环境变量
运行命令或脚本
bashrc类的文件:设定本地变量
定义命令别名
登录式shell如何读取配置文件?
/etc/profile -->/etc/profile.d/*.sh -->~/.bash_profile -->~/.bashrc -->/etc/bashrc
非登录式shell如何读取配置文件?(不读取用户的环境配置文件)
~/.bashrc -->/etc/bashrc -->/etc/profile.d/*.sh
举例.设置个人用户alias命令,是在~/.bashrc中编辑添加该命令。并且由于读取设置是发生在登录那一刻,因此这个命令在当前shell中依然无效,在下一次登录的shell中才会生效。