grep -i “PermitRootLogin” /etc/ssh/sshd_config 。
-i 忽略大小写
找出文件中的匹配的行,用grep
方法1:ls -l /etc | sort -rnk5 。ls -l显示具体信息,sort排序 -r倒序,-n按照数字排序,-k排序第几列
方法2:ls -lh /etc | sort -rhk5。ls -h把大小按照单位显示,sort -h则按照有单位的大小排序
方法3:ls -S /etc | head 。ls -S 是按照单位大小排序。
ps -ef | grep “crond”
-
yum安装失败了,排查原因
- 软件包名是否拼错了。
- 确认安装的是软件包,而不是软件包里的命令,用yum provides 查看
awk -F ‘:’ ‘{print $1,$3,$NF}’ /etc/passwd | cat -n。-F指定分隔符,NF是最后一行。
用户民 主机名 当前路径 #root用户 $普通用户
如 sort -rnk /etc/passwd
选项是同一个命令不同功能,参数是针对哪一个文件
alias rm = ‘echo 别闹,命令没了’
cp /etc/hosts ~ ~表示家目录
mkdir -p
- ls -lrt是什么意思?按照修改时间倒序排序。-l是显示详细信息,-r是按文件修改时间排序,-t是按文件最后修改时间
rpm -qa | egrep “vim|tree|lrzsz”
sed -n ‘2,5p’ /etc/passwd
awk ‘NR>=2 && NR<=5’ /etc/passwd
head -5 /etc/passwd | tail -4
userdel -r oldboy,-r是删除用户并且删除家目录
-
cp一个目录里的文件需要什么权限,mv,rm,touch呢
cp需要的是看 目录时rx,文件是r。主要是目的目录要有w
mv/rm/touch 目录需要rwx,文件不用权限 -
说说提示no space left on device常见的原因及解决思路
磁盘空间不足
原因:block不足
排查:du -sh /* | sort -hr。du:显示每个目录及文件使用磁盘情况,-s 总结为目录,-h大小有单位
原因:inode不足,大量小文件
思路1:找出系统目录,去重排序
思路2:找出系统中目录占空间最大的ls -ld /tmp block
du -sh test 查看目录所占磁盘空间
ll -hd test 查看目录下面文件名占用的空间
find / -type f -size +100M | xargs ls -hS
-
sed -r中的-r是启用正则表达
-
查找目录下的文件数量
find / -type f | xargs dirname | uniq -c | sort -rh | head
egrep -v ‘^$|#’ /etc/ssh/ssh_config
-
显示指定年月日
date +%F:显示当前日期
date +%w:显示当前星期
date +%Y-%m-%d %H-%M-%S
date -d “20230827” +%F :按照指定日期显示
date -d “+1day” +%F:显示明天的日期 -
统计文件中在device{}中出现oldboy的数量
思路:先用awk ‘\ \,\ \’(从哪到哪)进行过滤,然后再通过grep -o筛选出匹配的全字符,再用wc -l统计
awk ’ / device { / , / } /’ 文件名| grep -o ‘oldboy’ | wc -l -
cat 文件1 文件2 > 文件3
-
批量添加oldboy01~10的用户,并设置固定密码123456(不用while for)
思路:添加一个用户 useradd oldboy01;echo 123456 | passwd --stdin oldboy01
01到10,可以用echo oldboy{01…10},因为这样输出是一行,通过 xargs -n1调成一行一行。再通过sed拼接。然后再bash执行
sed -r 识别正则
| bash 交给bash执行echo oldboy{01..10} | xargs -n1 | sed -r 's#(.*)#useradd \1;echo 123456 | passwd --stdin \1#g' | bash
-
批量用户,但是密码随机。
思路:拼接时随机生成密码,然后再用变量设置密码,再保存起来
变量命名用``括起来echo oldboy{20..30}|xargs -n1|sed -r 's#(.*)#useradd \1;p=`mkpasswd -l 8`;echo $p | passwd --stdin \1;echo \1 $p >> /root/passwdlog.txt#g'|bash