首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

玩Linux5年积累的技巧

2013-03-19 
玩Linux五年积累的技巧1. bash中的$相关参数?Shell代码?$0?-?表示当前文件名??$*?-?以空格分离所有参数,形

玩Linux五年积累的技巧

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. eval?echo?\$A_${t1}_C${t2};??



3.? Ubuntu(12.04, 12.10)下,ThinkPad X220指点杆设置,分别设置灵敏度和速度?

Shell代码?
  1. echo?-n?225?>?/sys/devices/platform/i8042/serio1/serio2/sensitivity??
  2. echo?-n?115?>?/sys/devices/platform/i8042/serio1/serio2/speed??



4. 备份主引导扇区(bootsector)?
如果启动文件随坏,可以通过恢复主引导扇区来视图修复:?
备份?

Shell代码?
  1. dd?if=/dev/hda?of=bootsector.img?bs=512?count=1??


恢复?

Shell代码?
  1. dd?if=bootsector.img?of=/dev/hda??


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

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

6. xargs很强大,用 -l{} 可以指定参数的位置:?
EXAMPLE?

Shell代码?
  1. cat?hosts?|?xargs?-I{}?ssh?root@{}?hostname??



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

8. tar打包指定列表中列出的文件:?

Shell代码?
  1. cat?yourlist.lst??
  2. /etc/fstab??
  3. /home/admin/bin/somefile.sh??
  4. /home/mysql/somefile??
  5. ...??
  6. ??
  7. tar?cvzf?xxx.tar.gz?-T?yourlist.lst??



9. 指定一个DNS服务器查询域名记录?

Shell代码?
  1. dig?@8.8.8.8?www.google.com??



10. sort命令最需要注意的参数是-k和-s:?

Shell代码?
  1. -s,?--stable??
  2. ??????????????stabilize?sort?by?disabling?last-resort?comparison??
  3. stable表示最终的顺序依赖于原来的顺序。??


EXAMPLE?

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


例子中,-f表示不区分大小写,-s表示顺序依赖于原来文件的顺序?

Shell代码?
  1. -k,?--key=POS1[,POS2]??
  2. ??????????????start?a?key?at?POS1?(origin?1),?end?it?at?POS2?(default?end?of?line).??


所以只以第二列来排序应该写:?

Shell代码?
  1. sort?-k1,1??
1 楼 songbin0201 前天   确实积累了不少小技巧 2 楼 cathong 前天   这种文章推荐下还可以,非技术的就别推荐了。 3 楼 jiakechong 昨天   linux命令用的时候只会baidu

热点排行