ubuntu脚本常用命令
配置主机名
文件设置主机名
# vim /etc/hostname 【配置主机名文件】
命令修改主机名
# hostnamectl hostname U1.timinglee.org
网卡命令nmcli
查看网卡
# ip a s ens160
# nmcli device show ens160 【查看指定网卡】
# nmcli device status 【查看网卡状态】
# nmcli device status | awk '/--/{print $1}' 【查看未开启的】
打印字符
打印连续数字
# seq 1 3 【连续打印数字1-3】
# seq -f "%03g" 1 3 【指定打印格式,生成三位数】
# seq -f "%03g" "1" "3"
# seq 1 2 10 【设定打印步长,一次2步】
反向打印
# seq 1 5 > test
# tac test
printf字符打印
# printf "hello world" 【不换行打印字符】
# printf “hello world\n" 【换行打印字符】
# printf "hello\tworld\n" 【换行+间隔打印字符】
# printf "3%%\n" 【打印3%】
# printf "%.0f\n" "3.1415926" 【打印整数】
# printf "%.1f \n" "3.1415926" 【打印浮点数】
echo 字符打印
# echo "hello world" 【换行打印字符】
# echo -n "hello world" 【不换行打印】
# echo -e "hello\tworld" 【解析转义字符】
sort命令
作用:用于对内容进行排序,默认排序行首第一个字符
# vim lee
# vim lee1
-n ##纯数字排序
# sort -n lee 【从小到大排序】
-r ##倒叙
# sort -rn lee 【从大到小排序】
-u ##去掉重复
# sort -un lee 【去掉重复排序】
-o ##输出到指定文件
# sort -un lee1 -o lee 【lee1按最左边数,去掉重复从小到大输出到lee】
-t ##指定分隔符
-k ##指定排序的列
# sort -n -t ":" -k 2 lee1 【指定分隔符 ":" 并指定其的第2列从小到大排序】
uniq命令
作用:对于命令输出的字符冗余部分进行处理
-c #合并重复并统计重复个数
# sort -n lee | uniq -c
-d #显示重复的行的数
# sort -n lee | uniq -d
-u #显示唯一的行的数
# sort -n lee | uniq -u
cut命令
作用:用户对字符的截取
格式:cut 参数 (分隔符 或 数字) 文件
-d ##指定分隔符
| cut -d : 【指定" : "为分隔符】
-f ##指定显示的列
| cut -f 1 【第1列】
【5(第五列)| 3,5 (3和5列)|3-5 (3到5列)|5- (第五列以后)|-5 (到第五列) 】
-c ##指定截取的字符(数字用法同 -f)
xargs命令
xargs 命令作用是将标准输入数据转换成命令行参数,能够处理管道或者标准输入并将其转换成特定命令的命令参数
xargs作用命令
/script # seq 1 5 | xargs touch
多行输入单行输出
# vim lee
# xargs < lee 【将文件内容单行输出】
指定每行输出个数
# xargs -n 5 < lee 【每行输出5个数】
指定分隔符
用字符代替接收值
# ls * | xargs -Iaa cp aa aa.bak 【将搜索字符用aa代替,并且将aa备份成aa.bak文件】
-I:用于指定替换字符串,将输入数据中的特定字符串替换为命令行参数。
-n:用于指定每次执行命令的参数个数。
-t:用于打印执行的命令。
-p:用于提示用户确认是否执行命令。
# ls * | xargs -pIaa cp aa aa.bak 【选择提示运行】
-r:当标准输入为空时,不执行命令。
# echo | xargs -r cp aa aa.bak 运行结果: