玩Linux这些年积累的技巧

本文深入探讨了bash脚本中的高级特性,包括变量作用、shell命令输入优化、安全编程实践、tar打包技巧、DNS服务器查询、sort命令高级用法、备份与恢复主引导扇区、以及常用bash命令行技巧。涵盖了从脚本编写到系统管理的各个方面,旨在提升bash脚本的实用性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. bash中的$相关参数
Shell代码
  1. $0-表示当前文件名
  2. $*-以空格分离所有参数,形成一个字符串
  3. $@-以空格分离所有参数,形成一个字符串组合。与$*的不同表现在被""引用时,"$*"是一个字符串,而"$@"则包含多个字符串
  4. $#-传递给进程的参数数目
  5. $?-上一条命令的执行结果,没有错误时为0
  6. $$-本条命令的PID


2. bash技巧,由变量的内容来组合为另一个变量的变量名
EXAMPLE:
Shell代码
  1. A_B_C_D="something"
  2. t1="B"
  3. t2="_D"
  4. evalecho\$A_${t1}_C${t2};


3. Ubuntu(12.04, 12.10)下,ThinkPad X220指点杆设置,分别设置灵敏度和速度
Shell代码
  1. echo-n225>/sys/devices/platform/i8042/serio1/serio2/sensitivity
  2. echo-n115>/sys/devices/platform/i8042/serio1/serio2/speed


4. 备份主引导扇区(bootsector)
如果启动文件随坏,可以通过恢复主引导扇区来视图修复:
备份
Shell代码
  1. ddif=/dev/hdaof=bootsector.imgbs=512count=1

恢复
Shell代码
  1. ddif=bootsector.imgof=/dev/hda

上面两步只是恢复了主引导扇区,很可能还需要把/boot里面的内容全都恢复才能正常启动,所以也可以备份一下/boot下面的文件。

5. bash命令行输入技巧:
使用Ctrl+R来搜索以前用过的命令
使用Ctrl+W删除当前单次
使用Ctrl+U删除当前行

6. xargs很强大,用 -l{} 可以指定参数的位置:
EXAMPLE
Shell代码
  1. cathosts|xargs-I{}sshroot@{}hostname


7. 写安全的bash脚本:
set -e,当有错误发生时,脚本会退出
set -u,当bash发现有没有初始化的变量时就退出
更多可参考: 《写出健壮的Bash脚本》

8. tar打包指定列表中列出的文件:
Shell代码
  1. catyourlist.lst
  2. /etc/fstab
  3. /home/admin/bin/somefile.sh
  4. /home/mysql/somefile
  5. ...
  6. tarcvzfxxx.tar.gz-Tyourlist.lst


9. 指定一个DNS服务器查询域名记录
Shell代码
  1. dig@8.8.8.8www.google.com


10. sort命令最需要注意的参数是-k和-s:
Shell代码
  1. -s,--stable
  2. stabilizesortbydisablinglast-resortcomparison
  3. stable表示最终的顺序依赖于原来的顺序。

EXAMPLE
Shell代码
  1. $cata.txt
  2. a
  3. A
  4. B
  5. b
  6. $sort-fa.txt
  7. a
  8. A
  9. b
  10. B
  11. $sort-f-sa.txt
  12. a
  13. A
  14. B
  15. b

例子中,-f表示不区分大小写,-s表示顺序依赖于原来文件的顺序
Shell代码
  1. -k,--key=POS1[,POS2]
  2. startakeyatPOS1(origin1),enditatPOS2(defaultendofline).

所以只以第二列来排序应该写:
Shell代码
  1. sort-k1,1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值