一、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中。
who | tr -s [:lower:] [:upper:] > /tmp/who.out
[root@centos7 ~]#who | tr -s [:lower:] [:upper:] > /tmp/who.out
[root@centos7 ~]#cat /tmp/who.out
ROT :0 2019-11-02 01:54 (:0)
ROT PTS/0 2019-11-03 15:10 (192.168.30.133)
ROT PTS/1 2019-11-02 15:27 (192.168.30.1)
ROT PTS/2 2019-11-03 15:11 (192.168.1.102)
二、计算1+2+3+……+99+100的总和。
方法一:
echo {1..100} | tr -s ' ' + | bc
[root@centos7 ~]#echo {1..100} | tr -s ' ' + | bc
5050
方法二:
seq -s + 100 | bc
[root@centos7 ~]#seq -s + 100 | bc
5050
三、常用的用户以及文件管理命令有哪些,并演示命令以及用法。
1. 用户管理
adduser
创建用户
authconfig --passalgo= --update
修改用户密码的加密算法
--passalgo=md5
--passalgo=sha1
--passalgo=sha224
--passalgo=sha256
--passalgo=sha384
--passalgo=sha512
chage
交互式修改指定用户的密码的设置
chage -d 0
指定用户密码立即过期chage -l
查看指定用户的密码策略chage -E
设置用户密码过期时间chage -I
设置用户密码宽限期chage -m
设置用户密码最短有效期chage -M
设置用户密码最长有效期chage -W
提前多少天告警
chpasswd
批量修改用户密码
echo PASSWORD.TXT | chpasswd
根据用户密码列表文件批量修改用户密码
chsh -s SHELL USERNAME
修改指定用户的shell类型
chvt [1~6]
切换虚拟终端界面
echo $USER
查看用户名
echo PASSWORD | passwd --stdin USERNAME
通过标准输出接受用户密码
groupadd
创建用户组
groupadd
创建用户组
groupadd -g
指定GIDgroupadd -r
创建系统组
groupdel
删除组
groupmems
更改、查看组成员
groupmems -g
指定组groupmems -a
指定用户加入组groupmems -d
从组中删除用户groupmems -p
从组中清楚所有成员groupmems -l
显示组成员列表
groupmod
修改组属性
groupmod -n
修改组名groupmod -g
修改组id
groups
查看用户所属组列表
gpasswd
修改、增加用户组口令
gpasswd -a USERNAME
将指定用户添加到指定组中gpasswd -d USERNAME
从指定组中移除指定用户gpasswd -A USERNAME1,USERNAME2,……
设置有管理权限的用户列表
id
判断用户是否存在,查看用户id、组id、组列表、安全上下文
id -u
只显示用户idid -g
只显示用户主组idid -G
只显示用户附加组idid -n
需要配合-u(只显示用户名)、-g(只显示用户主组名)、-G(只显示用户附加组名)使用
last
显示用户最近登录信息
newgrp
临时切换用户主组
newusers FILE
根据用户列表文件批量创建用户
passwd
修改用户密码
passwd -e
强制用户下次登录修改密码passwd -l
锁定指定用户passwd -d
删除指定用户密码passwd -u
解锁指定用户passwd -f
强制操作passwd -n
指定最短使用期限passwd -x
指定最大使用期限passwd -i
设置用户宽限期passwd -w
提前多少天开始告警passwd --stdin
通过标准输出接受用户密码
tty
查看当前所在虚拟终端
useradd
创建用户
useradd -N
创建用户时不创建同名主组,该用户默认加入组ID为100(/etc/default/useradd所指定)的users组useradd -u
创建用户并手工指定用户UID时不检查UID的唯一性useradd -uo
创建用户时手工指定UIDuseradd -g
创建用户时手工指定用户主组(组名、GID)useradd -c
创建用户时手工指定用户的注释信息useradd -d
创建用户时手工指定用户家目录路径(必须不存在)useradd -s
创建用户时手工指定用户的shell类型useradd -r
创建系统用户(不创建家目录和邮箱)useradd -m
创建系统用户时创建家目录useradd -M
创建普通用户时不创建家目录useradd -G
创建用户时指定附加组(必须存在)useradd -D
显示/etc/default/useradd内容( 新用户默认设置)useradd -D -b
修改/etc/default/useradd中所设置的默认shell类型useradd -D -s
修改/etc/default/useradd中所设置的默认家目录useradd -D -g
修改/etc/default/useradd中所设置的默认主组
userdel
删除用户
userdel -r
删除用户并删除其家目录及邮箱目录userdel -f
强制删除
usermod
用户属性修改
usermod -L
用户加锁,/etc/shadow密码栏增加!,无法登录系统,但可以通过进行用户切换usermod -U
CentOS5用户解锁,/etc/shadow密码栏删除!,需要输入两次才能真正解锁,CentOS6和CentOS7无法解锁usermod -u
修改用户UIDusermod -g
修改用户主组usermod -G
修改用户附加组usermod -aG
追加用户附加组usermod -G ""
引号内为空,取消用户所有附加组usermod -s
修改用户shell类型usermod -s
修改用户描述信息usermod -s
修改用户shell类型usermod -dm
自动创建用户新家目录并移动原家目录数据usermod -l NEWNAME OLDNAME
修改用户名usermod -e YYYY-mm-dd
指定用户账号过期时间usermod -f
指定用户账号宽限期,/etc/shadow倒数第三栏
w
显示当前所以的登录会话及所做的操作
who
查看当前所有的登录会话信息
whoami
显示当前用户名
who am i
显示当前用户的登录会话信息
su
切换用户,不完全切换,也称非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su -
登录式切换,完全切换,会读取目标用户的配置文件,切换至家目录,默认切换为root管理员su - root -c 'CMD'
使用root管理员身份执行指定命令(用单引号括起来)
2. 文件管理
>
创建空文件、覆盖文件内容、标准输出重定向
>>
创建空文件(更为安全的做法)、标准输出追加重定向
basename
去掉路径,只取文件名
cd
默认切换到用户家目录
cd /
切换到根目录cd ~
切换到家目录,也可以指定其他用户家目录cd .
切换到当前目录cd ..
切换到父目录cd -
切换到系统所记录上次所在的目录
chattr
设定文件特定属性
chattr +/-i
不能删除、改名、更改(包括管理员)chattr +/-a
只能追加内容(包括管理员)chattr +/-A
不修改读时间<