2016-07-29
授课内容:
文件管理
索引节点
硬链接和软链接
重定向和管道
用户管理
索引节点
一个节点(索引节点)是在一个表项,包含有关文件的信息(元数据),包括:
文件类型,权限,UID,GID
链接数(指向这个文件名路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
inode table
ls -i
cp -f :等于是删除原文件再重新建立文件,元数据发生改变
inode号码是在一个独立分区内唯一,不同分区的文件inode号可能一样
硬链接:
ln file File
链接数=文件名字数量
多个链接文件的空间大小只占一份
硬链接不能跨分区创建
目录不能创建硬链接
删除文件只是删除文件名字(inode),里面的内容不会立刻删除,只是标记该块空间空闲可以存放其他内容(即删除了文件理论上还可以还原)
软链接:(快捷方式,和原始文件不同inode,原文件删除,软链接就失效)
ln -s 原始文件的绝对路径或相对路径(相对于软连接)路径 路径
软链接可以跨分区创建
软链接也是一个文件,文件大小就是指引的文件名字大小
可以对目录进行
inode空间一开始就已经分配好了大小,不能扩容,一个inode表会占用文件系统磁盘空间的1%
标准输入输出
Linux给程序提供三种I/O设备
标准输入(STDIN)-0默认接受来自键盘的输入
标准输出(STDOUT)-1默认输出到终端窗口
标准错误(STDERR)-2默认输出到终端窗口
重定向就是改变默认的输入输出
>>:追加内容
>:覆盖内容
2>:错误输出重定向
2>>:错误输出追加重定向
&>:标准输出和标准错误输出,传统写法:> file 2>&1
():合并多个程序的标准输出
(COM;COM) > / :多个命令重定向
(date;cal)> a.txt
标准输入命令:cat、tr
tr ‘’‘’ < /etc/issue > f1
tr
-d ‘’:删除‘’的字节后输出
-C :取补集
-s :重复的以一个输出
tr不更改原始文件内容,只是改变了输出的显示方式
管道只能接受标准输出(成功),不能接受错误输出,可利用2>&1 或|& 实现错误输出
2>&1
set:只在当前shell有效
-c:禁止重定向覆盖
+c:恢复
用户管理
管理员:root, 0
普通用户:1-65535
系统用户:1-499(CENTOS6), 1-999
对守护进程获取资源进行权限分配
登录用户:500(CENTOS6)+, 1000+
交互式登录
管理员组:root, 0
普通组:
系统组:1-499, 1-999
普通组:500+, 1000+
id USER:查看USER的用户信息
用户和组的配置文件
/etc/passwd
root:x:0:0:nihaoma,,2222:/root:/bin/bash
用户名:密码:UID:GID:注释:家目录:默认shell
/etc/group
fedora:x:4007:mandriva
组名:密码:GID:组里的用户
/etc/shadow
bin:*:16659:0:99999:7:::
用户名:密码(一般用sha512加密):最近更改密码日期:密码再过多少天可以被更改:密码有效期::密码需要重新变更的天数:密码过期多少天被锁定:密码失效日期:保留
/etc/gshadow
root:::
组名:组密码(默认为空):组员列表:以该组为附加组的用户列表
其中前两个是保存用户的账号和组信息,后两个是保存账号和组的密码信息
chfn:修改注释信息
-p :phoneNUM
-f :fullname
-h:homeNUM
finger USER:查看用户的描述信息
getent passwd USER:查看USER的passwd信息
getent shadow USER :查看USER的shadow信息
vipw=vi /etc/passwd
vifr=vi /etc/gshadow
pwck
grpck
shadow的密码位置有!表示禁止登陆
usermod
-U:解锁,减少一个!
-L:锁
/etc/skel:用户配置模板,每新建一个用户,里的配合文件都从这里拷贝过去
cat /etc/default/useradd :默认新建用户的参数配置文件
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
作业:
1、每天上课总结笔记
2、软硬链接区别
本质区别:硬链接是一个文件,软链接是多个文件
1、目录没有硬链接,可有软连接
2、硬链接只能在本分区内创建,软连接可以跨分区
3、硬链接的删除不影响其他的链接文件,软链接的原始文件一旦删除,软链接就失效
3、预习
4、pdf练习
5、file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和
[root@Centos7 ~]# echo "1 2 3 4 5 6 7 8 9 10" > file1 | cat file1 |tr ‘ ‘ ‘+‘ |bc
55
6、处理字符串“xt.,l 1 jr#!$mn2 c*/fe3 uz4”,只保留其中的数字和空格
[root@Centos7 ~]# echo "xt.,l 1 jr#bcmn2 c*/fe3 uz4" | tr -d -c ‘[:alnum:]\n‘
xtl1jrbcmn2cfe3uz4
7、将PATH变量每个目录显示在独立的一行
[root@Centos7 ~]# echo $PATH|tr ‘:‘ ‘\n‘
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/root/bin
8、删除指定文件的空行
[root@Centos7 ~]# cat 11111
adsadsa
dsadsa
sasas
asd2313
12
[root@Centos7 ~]# tr -s ‘\n‘ <11111
adsadsa
dsadsa
sasas
asd2313
12
9、将文件中每个单词(字母)显示在独立的一行,并无空行
[root@Centos7 ~]# cat 11111
hello nihaoma chifanlema tianqibucuo
[root@Centos7 ~]# cat 11111| tr ‘ ‘ ‘\n‘ | tr -s ‘\n‘
hello
nihaoma
chifanlema
tianqibucuo
10、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
[root@Centos7 ~]# useradd -s /bin/csh -G bin,root -c "Gentoo Distribution" gentoo
[root@Centos7 ~]# getent passwd gentoo
gentoo:x:4007:4008:Gentoo Distribution:/home/gentoo:/bin/csh
11、创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,natasha,harry,sarah密码都是centos
1122 2016-07-30 14:21:18 groupadd admins
1123 2016-07-30 14:21:37 useradd natasha -G admins
1124 2016-07-30 14:21:50 useradd harry -G admins
1125 2016-07-30 14:22:25 useradd sarah -s /sbin/nologin
1135 2016-07-30 14:24:56 echo ecntos|passwd --stdin natasha
1135 2016-07-30 14:24:56 echo ecntos|passwd --stdin harry
1135 2016-07-30 14:24:56 echo ecntos|passwd --stdin sarah
本文出自 “6638225” 博客,转载请与作者联系!
原文地址:http://6638225.blog.51cto.com/6628225/1832367