设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

玩Linux五年积累的技巧(3) -- 系统(下)

2013-4-1 11:34| 发布者: 红黑魂| 查看: 919| 评论: 0|原作者: gaopenghigh|来自: CSDN博客

摘要: 本文主要介绍了Linux系统方面的一些技巧。作者 JH Gaogaopenghigh@gmail.com从最开始接触Linux到现在已经有5年了,和所有人一样,少不了折腾。折腾后偶尔我会把方法记录下来,现在简单总结一下。所以的命令功能通过m ...
本文主要介绍了Linux系统方面的一些技巧。 
作者 JH Gao<gaopenghigh@gmail.com> 
从最开始接触Linux到现在已经有5年了,和所有人一样,少不了折腾。折腾后偶尔我会把方法记录下来,现在简单总结一下。 
所以的命令功能通过man都能找到具体用法,我只把自己觉得常用的列举出来。 

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  

更多关于sort的技巧,可以参考《Sort Files Like A Master With The Linux Sort Command (Bash)》 



参考资料: 
http://www.quora.com/Linux/What-are-some-time-saving-tips-that-every-Linux-user-should-know 
http://article.yeeyan.org/view/58906/257928 
http://www.skorks.com/2010/05/sort-files-like-a-master-with-the-linux-sort-command-bash/

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部