硬链接inode
1.inode table索引节点表
2.每个文件有一个独立的编号指向数据,在分区中inode
编号是唯一的
3.一个节点号对应多个文件的名字
4.硬链接不能根据目录来创建
5.用ll -i可以查看inode编号
6.命令:
ln 链接源文件 链接文件名
7.每个硬链接都不是依附关系
软链接
相当于文件的快捷方式,软链接的文件数据内容记录的是源文件的路径
1.一个符号链接指向另一个文件
命令:
ln -s 链接源文件 链接文件名
注意:链接源文件的路径是相对于链接文件名的,可以写相对路径也可以写绝对路径,写相对路径时一定是相对于链接文件的
标准I/O
linux的三种i/o
1.标准输入 stdin 0
2.标准输出 stdout 1
3.标准错误 stderr 2
I/O重定向
>,>>,&>
>表示覆盖重定向
>>表示追加重定向
&>将标准输出和错误输出共同重定向
将多条命令一起重定向用()将多条命令扩起来
例1:
ls > /tmp/ls.log
例2
ls >> /tmp/ls.log
例3
(pwd;ls) > /tmp/all.log
<:表示从哪个文件读取
例1
cat < /tmp/ls.log
也可以将输入输出重定向组合使用
例2
cat < /tmp/ls.log > /tmp/ls2.log
运用实例:mail
给其他用户发送mail
命令:mail -s 邮件标题 用户
连续输入 用<<自定义字母 一般用EOF表示
例:
mail -s hello user << EOF
a
b
c
EOF————以哪个自定义字母开头就要以哪个自定义字母结束
管道符 |
将前一个命令的输出当做后面命令的输入
tr命令:用于替换某个字符,包括数字,特殊字符和字母
tr ‘要替换的字符‘ ‘替换后的字符‘
-d: 删除某个字符
-c: 字符的补集(除了那些字符之外)
可以与管道|配合使用
例1:
ls | tr ‘a-z‘ ‘A-Z‘
将小写字母转换成大写字母,通配符也适用
例2:
ls | tr -d ‘abc‘
删除abc的全部字符
例3:
ls | tr -c ‘abc‘
除了abc字符外的字符全部删除
tee:
双重输出
例1:
ls | tee /tmp/f1
将ls命令即输出到/tmp/f1又输出到屏幕上
注意:重定向后的文件对于源文件没有什么修改,只是将输出的内容重定向
扩展:
/dev/null:将文件重定向到这个文件中,将不会有任何输出
例:
echo 12345 | passwd --stdin user > /dev/null
修改密码的过程需要隐藏,重定向到/dev/null后将不会有任何提示
用户:
用户分类
1. 系统用户 centos6 uid 0-499
centos7 uid 0-999
守护进程权限
2. 登陆用户centos6 uid 500+
centos7 uid 1000+
3. 管理员: root uid 0
安全上下文:
以发起者的权限运行程序
组:
分类:
1. 主组:只有一个,与用户名相同
2. 附加组; 可以有多个附加组
在/etc/group下最后一个域记录附加组信息
附加组继承了组内的权限
主要配置文件:
/etc/passwd
用户名:密码(存放于shadow文件中):属主:属组:描述信息:家目录:shell
/etc/shadow
用户名:密码:最近一次修改时间:最短修改时间:最长修改时间:警告时间:宽限时间:失效时间:保留
/etc/group
组名:密码:组id:用户列表
/etc/gshadow
组名:密码:组管理员的账号:组成员
如果没有组管理员,那么root行使权限
扩展1:更改用户shell
chsh:
chsh -s /bin/csh user
扩展2:切换组newgrp
newgrp 组名
切换时需要输入组的密码
组更改口令:
gpasswd + 组名
或者getent gshadow 组名
文件的操作:
vipw = vi /etc/passwd
vigr = vi /etc/group
用于修改文件
pwck:用于检查用户文件格式
grpck: 用于检查组文件格式
命令:
useradd:添加用户
-u:指定uid
-o:配合-u使用同一uid不同用户,实际用户权限一样
-g:指定gid主组 useradd -g 组名 用户名
-G:指定附加组
-d:指定家目录路径
-m:新建家目录
-M:不创建家目录
-s:指定shell类型
-r:创建系统用户
-N:不创建主组,自动属于users组
创建用户的过程,实际上就是把/etc/skel文件为默认模板进行修改创建
useradd -D可以修改默认模板
原文地址:http://landanhero.blog.51cto.com/788351/1832948