硕彦博创学习笔记(C语言班-李飞授)11_29日记

硕彦博创学习笔记(C语言班-李飞授)11_29日记

上午

1、Shell命令:
1用户:
1、超级管理员:root
2、切换用户:su 用户名
3、增加用户:useradd/adduser 用户名 注:在root权限
4、修改用户密码:passwd 用户名
5、删除用户:userdel -r 用户名
6、修改用户:usermod
7、用户对某文件的权限操作的分类: 创建者、群组、其他人
拥有者/创建者:创建该文件的人(u) user who own
群组:具有同一类的操作权限的人(g) group
其他人:(o) others
1、文件的类型: 文件夹d 普通文件- 字符设备c 块设备b 链接l 网络设备s 管道p
2、三组用户的权限 拥有者/群组/其他人

创建完成后这些用户的信息会被保存到 /etc/passwd中,可以在此目录下查看所有的用户信息:
查询的用户信息
在这里插入图片描述
注释:s1 - 用户名, x - 密码 ,513 - 用户ID,513 - 群组ID,两个冒号之间的是注释此处没有。
/home/s1 - 保存的路径,/bin/bash - 命令的解释器。
/etc下保存着许多文件夹信息,包括用户的信息,用户的密码,还有群组的信息。
密码保存在/etc/shadow文件夹中,只有ROOT用户有权限查阅此文件夹
群组的信息保存在/etc/group文件夹中。
查询群组的信息

权限:

某文件对某用户的一种操作许可 :
权限:可读r(4) 可写w(2) 执行:x(1)
查看权限: ls -l 文件(LINUX系统中每一个文件都有创建者,权限是相对文件而言而不是相对用户而言,你无法查看一个用户有哪些权限(root拥有所有权限),但是你可以知道任何一个文件的权限在三种用户中的分布)
查看1129中demo.txt的文件的权限分布
注释:最下一行中第一个字符 - 代表为普通文件。d代表是文件夹(directory)
rw代表可读可写;w代表可写;r代表可读;
依照顺序依次是创建者可读可写,群组可写,其他人只可读。
1代表 文件链接数or子目录数
(对于普通文件代表连接数,对于目录文件代表子目录数)
第一个Johnny代表创建人,第二个Johnny代表群组是Johnny,
30 代表文件大小
余下的为最后修改时间和文件名

修改权限

修改一个文件的权限归属:
修改文件的权限只有root用户和文件的创建者才可以修改文件权限;
修改的指令为:chmod 用户 +/- 权限 文件名
也可以是一次制定完成,例如 chmod 774 demo.txt
代表demo.txt的权限分布是创建者可读可写可执行,群组可读可写可执行,其他可读。
修改用户/用户组的指令为:chown id1:id2  /home/file1
	注释:id代表你要修改的file1的创建者, id2代表你要修改file2的群组(id1、id2必须都已存在)。file1是home文件夹下的用户空间(既是你要修改的用户)。ps:经测试,亦可直接为用户名和群组名。但不清楚是否会冲突
	
	![](https://img-blog.csdnimg.cn/20181129194841465.png)
	如将用户s6(512)插入到manager(8888)中:
	指令:chown 512:8888  /home/s6

添加一个用户到该组:

usermod -G 将该用户添加到该用户组
usermod -G 8083 s1 #将s1用户添加到8083(目标组的ID)的用户组
注:usermod -G 8083 LF #将LF添加8083的用户组,但是LF之前所在组被迫退出
usermod -a -G 8083 LF #将LF添加8083的用户组,之前的会保留

下午:

一些常用的文件编辑指令
统计文本的信息:wc
wc [OPTION]… [FILE]… 从file中统计
wc [OPTION]… --files0-from=F files0从屏幕上
行数:-l
长度:-c
单词:-w
例:在这里插入图片描述
默认下会按顺序打印显示出行数(3)、单词数(4)、长度(30)
输入输出流:
输入:从电脑外界输入信息到电脑
标准输入:从键盘输入
文件输入流:从文件中读取信息到电脑中
输出:从电脑中输出信息到外界中
标准输出:从电脑显示到屏幕上
文件输出流:从电脑中将信息输出到文件中
标准设备:键盘 显示器 错误输出
过滤匹配: grep
1、 grep [OPTIONS] PATTERN [FILE…] 输出文件中匹配行
-i 忽略大小写
eg: grep hello demo.txt
在这里插入图片描述

	2、输出匹配屏幕的输出行()		

管道符: command1 | command2 注:command2的命令读取command1的屏幕输出
eg: 将ls -l的输出匹配是否包含home,有则输出
ls -l / | grep -i home
在这里插入图片描述
管道可以连续使用
在这里插入图片描述
在这里插入图片描述
利用两个管道获取行数!

猜你喜欢

转载自blog.csdn.net/weixin_43670872/article/details/84639085
今日推荐