1.把文本第1行读入到内存 模式空间(pattern space),相当于放到流程水线上处理吧
2.把处理好的结果存放到另一个内存空间(hold space)相当于临时的仓库吧
3.输出处理结果,循环处理第2行,覆盖清空(pattern space)、(hold space)至最后一行
由于各种各样的原因,比如用户希望在某个条件下脚本中的某个命令被执行,或者希望模式空间得到保留以便下一次的处理,都有可能使得sed在处理文件的时候不按照正常的流程来进行。这个时候,sed设置了一些高级命令来满足用户的要求。
sed命令:
不管是大写还是小写g、h都是在pattern space、hold space相互拷贝
区别是 小写代表清空原来数据,大写是保留原来数据在后面追加新数据
案例
图解分析过程
P:Pattern Space
H:Hold Space
蓝色:Hold Space中的数据
绿色:Pattern Space中的数据
案例
参考链接:
https://www.cnblogs.com/fhefh/archive/2011/11/22/2259097.html
分类: 电脑/网络 >> *** 作系统/系统故障解析:
增加用户帐号后
新建用户的命令十分简单,在命令行下使用 useradd 命令:
useradd david
该命令做了下面几件事:1)在 /etc/passwd 文件中增添了一个入口;2)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录中的文件拷贝到该目录中去;3)。但是使用了该命令后,新建的用户依然不能登录,因为还没有设置口令,需要再用 passwd 命令为其设置口令后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将 /etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。
useradd 命令中还有许多选项,它们的功能如下表:
选项
说明
-u
手工设置
UID
-g
手工设置
GID
-d
设置新用户的主目录
-G
使用户成为其他组的成员
3.2 理解 /etc/passwd 文件
/etc/passwd 文件是系统的主要文件之一。该文件中包含了所有用户登录名清单;为所有用户指定了主目录;在登录时使用的 shell 程序名称等。该文件还保存了用户口令;给每个用户提供系统识别号。
/etc/passwd 文件是一个纯文本文件,每行采用了相同的格式:
name:password:uid:gid:ment:home:shell
它们的含义如下:
域
说明
name
用户登录名
password
用户口令。此域中的口令是加密的。当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较。如果此域为空,表明该用户登录时不需要口令。
uid
指定用户的
UID。用户登录进系统后,系统通过该值,而不是用户名来识别用户。
gid
GID。如果系统要对相同的一群人赋予相同的权利,则使用该值。
ment
用来保存用户的真实姓名和个人细节。
home
指定用户的主目录的绝对路径。
shell
如果用户登录成功,则要执行的命令的绝对路径放在这一区域中。它可以是任何命令。
3.3 建立新组
与建立新用户帐号十分类似,建立新组的命令是 groupadd:
useradd group-name
可以使用 -g 选项设定新组的 GID。0 到 499 之间的值留给 root、bin、mail 这样的系统帐号,因此最好指定该值大于 499。如果新组名或者 GID 已经存在,则返回错误信息。
3.4 理解 /etc/group 文件
/etc/group 文件文件的格式和 /etc/passwd 文件格式类似,它也是一个纯文本文件,定义了每个组中的用户。每行的格式是:
group_name:passwd:GID:user_list
它们的含义如下:
域
说明
group_name
组名
password
组口令。此域中的口令是加密的。如果此域为空,表明该组不需要口令。
gid
指定
GID。
user_list
该组的所有用户,用户名之间用逗号隔开。
3.5 用户管理
添加新用户后,如果对新用户的种种设置不满意,则可以通过 usermod 命令进行修改。
usermod 命令的一般格式为:
usermod -选项 相关内容 用户名
请参看下表:
命令
说明
usermod –s newshell path username
改变用户登录时使用的
shell。该 shell 应该是列入 /etc/shells 中的 shell。如果指定的 shell 或者程序名没有列入 /etc/shells,该用户将不能登录。注意,普通用户也能使用该命令。
usermod –d new home dic username
改变用户的主目录
usermod –u UID username
修改用户的
UID
usermod –g GID username
修改用户的默认组
usermod –e MM/DD/YY
修改用户帐号的有效期
除了 usermod 命令以外,还有一些修改用户信息的命令,比如修改口令的 passwd,修改个人信息的 chfn 等。
对于组的修改要相对简单一些,类似的使用 groupmod 命令,比如:
groupmod -n new-group current-group:改变组名;
groupmod -g new-GID groupname:改变 GID。
删除一个用户,使用类似的命令:userdel,其格式是:
userdel username
Linux查看剩余可用内存用free-m命令,-m选项表示用MB为单位显示容量(如果是以GB为单位就换成-g选项),显示的结果里面used那一列是已经使用的量,free那一列就是剩余内存大小了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)