阿里云Linux学习笔记4

在这里插入图片描述
我在阿里云学习Linux,下面是我的学习笔记:
cat > f1 会把每行输入的内容写入f1,称为单行重定向
cat > f2 << ? 多行重定向(就地文本),?为任意字符(建议用EOF,end of file),当单独输入? 时,系统才会把之前写的所有内容重定向到f2
多行重定向常用于创建文件

管道:
command1 | command2 把第一个命令的输出传给第二个命令,作为第二个命令的输入
command1 | command2 | command3... 是可以这样连续传递的
实现1加到100的第二种方式:

echo {1..100} | tr ' ' + | bc

当前一个命令不是标准输出时:
errorcmd 2>&1 | tr 'a-z' 'A-Z' 或者errorcmd |& tr 'a-z' 'A-Z' (老版本不支持)

tee 重定向到多个文件
command | tee file 让命令结果既可以重定向到file文件里面,又可以打印出来(会覆盖已存在文件)
command | tee -a file 追加内容
因为加上tee时就有了输出,所以可以配合管道,既保存结果,又继续向下执行命令

df 查看分区的使用情况

文件的查找和压缩:
locate 查找文件
安装locate:yum install mlocate
(查找自己的mlocate数据库,且不会实时更新,所以新建的文件,locate数据库找不到,updatedb 更新locate数据库)(locate一般用于搜索相对比较固定的文件,而且不是精确搜索,而是包含搜索)
-i 不区分大小写
-n num 只看前num个

find查找文件:
实时查找,通过遍历指定路径完成查找
特点:查找速度慢、精确查找、实时查找、可能只搜索用户具备读取和执行权限的目录

find [option]…[path][condition][action]

查找路径path默认为当前目录
查找条件condition默认为指定路径下所有文件
处理动作action默认输出到屏幕
-maxdepth num 规定find查找的最大深度
-maxdepth num1 -mindepth num2 规定find查找的最大和最小深度,如果num1=num2=k,则只搜索k那一深度的文件。
-name filename 根据文件名查找
-iname filename 忽略大小写
-inum n 按节点编号查找
-samefile name 查找和name文件相同节点编号的文件
-links n 查找链接数为n的文件
-user username 查看某个用户拥有的文件
-empty 搜索空文件或目录
组合条件:
-a(默认)
-o
-not!

用户,组和权限:
普通用户分为:系统用户(指某些需要以用户登录的程序)和登录用户
组:相当于多个权限相同用户的集合
Windows里面用户名和组名不能同名
Linux里面用户名和组名可以同名
用户编号叫uid,组的编号叫gid
一个用户账户可以加入到多个组里面,拥有多个组的累加权限
安全上下文 context:环境
运行中的程序叫进程,进程能访问的资源权限取决于运行者的身份
组的类别:主要组(用户必须属于一个且仅一个主要组)和附加组(用户除了主要组以外所属的组,可有可无)
在Linux中,当创建一个新用户时,默认会创建一个与之同名的组,并以这个组为它的主要组
id username 查看用户所在组的信息,默认是当前用户
Linux用户和组的主要配置信息:
/etc/passwd:用户及其属性信息(名称、UID、主要组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性

chsh -s shell username 改变某个用户的shell,默认user是当前用户

getent passwd [username...] 默认看所有用户信息,如果加上用户名(可多个)就只看该用户信息

chage username 改变用户shadow文件中的密码策略
-d 设置lastday属性
chage -d0 username 把用户的最后一天修改日期改为0,可以让用户在下一次登录时就立刻改自己的口令

chfn 指定个人信息

/etc/login.defs 定义了加密算法,修改了加密算法只影响新用户或者新改过密码的用户

openssl rand -base64 12 生成随机口令

groupmems 用于把某个用户加入或删除到某个组,root用户可以对其他用户进行组的加入或删除,而普通用户如果想对自己进行组的加入或删除操作,需要输入组口令
groupmems group 查看组成员

gpasswd group 给某个组加组口令(具体查看帮助文档)
-a/-d user group 把用户加入到/删除出某个组里面

newgrp group 临时把某个组作为主要组,exit退出(如果自己不在这个组里面,需要输入组口令)
groups user 查看用户属于哪些组,排在第一个的就是主要组

passwd和group的文件操作:
vipwvi /etc/passwd
vigrvi /etc/group
vi类似于nano,不过vi有语法检查功能
pwckgrpck 用于检查文件是否有问题

用户和组的管理命令:
useradd user 添加用户(默认方式,口令为!!,被禁用状态):
-u num 指定uid为num
-o 创建和前面一个账号uid相同的账号(忽略id的唯一性检查)
-d path 指定家目录,自动创建该目录
-r 创建系统账号,默认情况不会生成家目录
-m 强制创建家目录
-M 强制不建立家目录
-s 指定shell类型
-c 添加描述
-g group 把group作为主要组,不创建同名组作为主要组
-G group 创建用户时把用户加入附加组group(可多个)
-N 创建的新用户直接加到users组作为主要组(由/etc/default/useradd文件决定默认创建用户账户的行为)
-D 查看默认设置文件/etc/default/useradd

不小心删除了某个用户user的home目录,可以新建home目录
mkdir /home/user/,然后复制原有隐藏文件(skel默认只有隐藏文件)过去

 cp -r /etc/skel/.[^.]* /home/user/

实际上,这样很麻烦,skel如果还有非隐藏文件就更麻烦,其实可以直接把skel目录复制过去改名就好了

cp -r /etc/skel/ /home/user/

但是还有更简单的方法,即把当前目录复制过去

cp -r /etc/skel/. /home/user

这样复制以后,还需要把这些文件的权限给改成原来user的
newusers passwd格式文件 批量创建用户
chpasswd 批量改口令(格式:用户名:密码)

usermod
-U 解禁账号
-L 账号加锁(口令前面出现一个!即锁定状态,被禁用!!状态不能解禁(老版本可以,6以前))
-u 改uid
-g 改gid
-G groups user 修改附加组(如果原来有附加组会覆盖,加上-a则不会覆盖)
-G user的主要组 user 相当于把所有附加组删掉或者-G "" user
-l newname user 修改用户登录名uid

userdel -r user 完全删除用户(不加-r会保留用户数据)

su:切换用户(switch user)(exit退出)
su user 非完全切换,切换以后家目录还是root,保留一些原本环境
su - user 完全切换,和重新用该账号登录一样,家目录也是user的家目录(user不写默认切换为root)
普通用户使用su需要输口令
su -user -c command 切换成user执行命令command,执行完再退回来

passwd username:修改用户密码
echo "password" | passwd --stdin user name 使用管道自动改口令
-d 删除用户密码
-l 锁定用户
-u 解锁用户
-e 强制用户下次登录必须改口令

groupadd group 创建组:
-r 创建系统组
-g 指定gid

groupmod group 修改组:
groupdel group 删除组:只能删附加组,不能删被当成主要组的组,也不能删除组里面用户正在登录的组

文件权限:
三类用户:文件所有者、文件所在组成员、路人(other)
三种文件权限:r读(适合文本文件)(可以浏览文件列表)、w写(适合文本文件)、x执行(适合程序文件)(可以访问目录内的文件)(没有权限即显示-)

用ll查看文件:
-rw-r--r-- 即第一个是文件属性,后面每三个分别对应三类用户的三种权限
(查看权限是按顺序查看,如果用户是所在组成员,后面的权限就不看了)

chmod who opt permit file 模式法设置权限:
who:u 所有者 g 所在组 o 路人 a 所有人
opt: + 增加权限 - 去掉权限 = 覆盖权限
permit: r w x
例:chmod o+w f1 ;chmod u=rw f1
(还有一个权限X,指对文件夹修改x权限,不修改文件的x权限,但如果有某个文件已经有x权限,那X还是会给那个文件加上x权限)
Linux支持只能写不能读,即-w-,可以通过>等命令,不打开文件也能写入内容
写文件和删文件不一样,可以写不代表可以删,删文件其实是在目录里面删掉文件的名字,没有这个目录/data的写权限就不能删文件(另外,如果文件目录/data给了写权限,但是文件所属目录没有给执行x权限,也不能删除文件)
chown user file 更改文件所有者
root账号,就是文件没给r和w权限,也可以进行r和w操作,但是如果文件没给x权限,就不可以进行x操作
chgrp group file 更改文件所属组
chown user./:group file 同时更改所有者和所属组
(如果输入chown user./: file,则默认把所有者和所有组同名,但是,chown ./:group file 只会修改所属组)

chmod num file 数字法设置权限:
rwxr-xr-x file 有权限写1,没权限写0
111 101 101 然后对应转换成十进制(755)作为num即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值