1. uniq 去重
[root@kvm ~]# cat 1.txt
10
20
30
40
30
30
50
70
70
70
80
[root@kvm ~]# cat 1.txt | uniq
10
20
30
40
30
50
70
80
[root@kvm ~]#
[root@kvm ~]# cat 1.txt | uniq -c
1 10
1 20
1 30
1 40
2 30
1 50
3 70
1 80
2. sort 排序
[root@kvm ~]# cat 1.txt
cc
aa
bb
ff
dd
ab
cd
[root@kvm ~]# cat 1.txt | sort
aa
ab
bb
cc
cd
dd
ff
[root@kvm ~]# cat 1.txt | sort -u
aa
ab
bb
cc
cd
dd
ff
3. 查看进程详细信息 ps
# 常用搭配 ps -aux
[root@kvm ~]# ps -aux | more
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 170328 14192 ? Ss 16:08 0:02 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
root 2 0.0 0.0 0 0 ? S 16:08 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 16:08 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 16:08 0:00 [rcu_par_gp]
root 5 0.0 0.0 0 0 ? I< 16:08 0:00 [slub_flushwq]
root 6 0.0 0.0 0 0 ? I< 16:08 0:00 [netns]
# 常用搭配 ps -ef
[root@kvm ~]# ps -ef | more
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 16:08 ? 00:00:02 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
root 2 0 0 16:08 ? 00:00:00 [kthreadd]
root 3 2 0 16:08 ? 00:00:00 [rcu_gp]
root 4 2 0 16:08 ? 00:00:00 [rcu_par_gp]
root 5 2 0 16:08 ? 00:00:00 [slub_flushwq]
root 6 2 0 16:08 ? 00:00:00 [netns]
# 启动后台进程与杀后台进程
[root@kvm ckh]# ls
tmp.log tmp.sh
[root@kvm ckh]# cat tmp.sh
# !/bin/bash
for i in {1..999};do
sleep 1
echo $i >>tmp.log
done
[root@kvm ckh]# bash tmp.sh & # 启动一个后台脚本 => 后台进程
[1] 94838
[root@kvm ckh]# ps -aux | grep tmp # 查进程
root 111 0.0 0.0 0 0 ? S 16:08 0:00 [kdevtmpfs]
root 94838 0.0 0.0 7520 3928 pts/0 S 21:32 0:00 bash tmp.sh
root 95533 0.0 0.0 6408 2172 pts/1 S+ 21:33 0:00 grep --color=auto tmp
[root@kvm ckh]#
[root@kvm ckh]# kill -9 94838 # 杀进程
[root@kvm ckh]#
[root@kvm ckh]# ps -aux | grep tmp
root 111 0.0 0.0 0 0 ? S 16:08 0:00 [kdevtmpfs]
root 95658 0.0 0.0 6408 2172 pts/1 S+ 21:33 0:00 grep --color=auto tmp
[root@kvm ckh]# # 会有提示
[1]+ Killed bash tmp.sh
4. 随机字符串
# 方法1
[root@kvm ckh]# tr -dc '_A-Za-z0-9' </dev/urandom | head -c10;echo
g1nRuvklHn
[root@kvm ckh]#
[root@kvm ckh]# tr -dc '@*%$_A-Za-z0-9' </dev/urandom | head -c10;echo
Y*7v64AXgm
[root@kvm ckh]# tr -dc '@*%$_A-Za-z0-9' </dev/urandom | head -c10;echo
cBxF% jddth
[root@kvm ckh]# tr -dc '@*%$_A-Za-z0-9' </dev/urandom | head -c10;echo
5eV_yFM2MH
# 求字符串长度,遍历字符串,也可以根据字符串下标随意指定长度生成字符串
[root@kvm ckh]# key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
[root@kvm ckh]# num=${#key}
[root@kvm ckh]# echo $num
62
[root@kvm ckh]# index=$[RANDOM%num]
[root@kvm ckh]#
[root@kvm ckh]# echo $index
52
[root@kvm ckh]# index=$[RANDOM%num]
[root@kvm ckh]# echo $index
9
[root@kvm ckh]#
[root@kvm ckh]# echo ${key:$index:1}
9
[root@kvm ckh]# echo ${key:$index:2}
9a
[root@kvm ckh]# echo ${key:$index:3}
9ab
[root@kvm ckh]#
[root@kvm ckh]# for i in `seq $((${#key} - 1))`
> do
> echo ${key:$i:1}
> done
1
2
...
Y
Z
# 方法2
[root@kvm ckh]# uuidgen
b5f491f7-84c4-409f-9ff0-2b5f8dd54491
[root@kvm ckh]#
[root@kvm ckh]# uuidgen
71c89471-e803-49ad-bdfe-339e4769abb2
[root@kvm ckh]# str=`uuidgen`
[root@kvm ckh]#
[root@kvm ckh]# echo $str
0f823d45-3cde-4f68-90ea-ebba8c3d899e
5. cut 分隔符
# 方法1
[root@kvm ckh]# cat /etc/passwd | grep halt
halt:x:7:0:halt:/sbin:/sbin/halt
[root@kvm ckh]# cat /etc/passwd | grep halt | cut -d: -f3
7
[root@kvm ckh]# cat /etc/passwd | grep halt | cut -d: -f4
0
[root@kvm ckh]# cat /etc/passwd | grep halt | cut -d: -f5
halt
# 方法2
[root@kvm ckh]# echo "11a22a33" | cut -da -f2
22
[root@kvm ckh]# echo "11a22a33" | cut -d"a" -f2
22
6. 关机与重启
# 重启
[root@stream9 ~]# reboot
# 关机
[root@stream9 ~]# poweroff
[root@stream9 ~]# Connection to 10.10.10.199 closed by remote host.
Connection to 10.10.10.199 closed.
[root@kvm ckh]#
[root@kvm ckh]# virsh list --all
Id Name State
-----------------------
- vm2 shut off
7.判断用户输入
# !/bin/bash
read -p "请输入一个字符:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "字母" ;;
[0-9])
echo "数字" ;;
*)
echo "空格、功能键或其他控制字符"
esac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律