使用Linux五年积累的一些经验技巧

yipeiwu_com6年前PHP代码库
1. bash中的$相关参数
复制代码 代码如下:

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

2. bash技巧,由变量的内容来组合为另一个变量的变量名
EXAMPLE:
复制代码 代码如下:

A_B_C_D="something" 
t1="B" 
t2="_D" 
eval echo \$A_${t1}_C${t2}; 

3.  Ubuntu(12.04, 12.10)下,ThinkPad X220指点杆设置,分别设置灵敏度和速度
复制代码 代码如下:

echo -n 225 > /sys/devices/platform/i8042/serio1/serio2/sensitivity 
echo -n 115 > /sys/devices/platform/i8042/serio1/serio2/speed 

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

dd if=/dev/hda of=bootsector.img bs=512 count=1 

恢复
复制代码 代码如下:

dd if=bootsector.img of=/dev/hda 

上面两步只是恢复了主引导扇区,很可能还需要把/boot里面的内容全都恢复才能正常启动,所以也可以备份一下/boot下面的文件。
5. bash命令行输入技巧:
使用Ctrl+R来搜索以前用过的命令
使用Ctrl+W删除当前单次
使用Ctrl+U删除当前行
6. xargs很强大,用 -l{} 可以指定参数的位置:
EXAMPLE
复制代码 代码如下:

cat hosts | xargs -I{} ssh root@{} hostname 

7. 写安全的bash脚本:
set -e,当有错误发生时,脚本会退出
set -u,当bash发现有没有初始化的变量时就退出
更多可参考:《写出健壮的Bash脚本》
8. tar打包指定列表中列出的文件:
复制代码 代码如下:

cat yourlist.lst 
/etc/fstab 
/home/admin/bin/somefile.sh 
/home/mysql/somefile 
... 
tar cvzf xxx.tar.gz -T yourlist.lst 

9. 指定一个DNS服务器查询域名记录
复制代码 代码如下:

dig @8.8.8.8 www.google.com 

10. sort命令最需要注意的参数是-k和-s:
复制代码 代码如下:

-s, --stable 
    stabilize sort by disabling last-resort comparison 
stable表示最终的顺序依赖于原来的顺序。 

EXAMPLE
复制代码 代码如下:

$ cat a.txt  




$ sort -f a.txt  




$ sort -f -s a.txt  





例子中,-f表示不区分大小写,-s表示顺序依赖于原来文件的顺序
复制代码 代码如下:

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

所以只以第二列来排序应该写:
复制代码 代码如下:

sort -k1,1 

相关文章

PHP登陆后跳转到登陆前页面实现思路及代码

最近手上一个小项目让我接触到PHP编程,简单的登陆功能已经OK。可是在实际使用的时候发现一个问题:用户A发送一个链接给用户B,B打开时页面提示登陆,可是登陆成功后,却跳转到了首页,而并不...

php读取目录及子目录下所有文件名的方法

本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下: 一般来说php中读取目录下的文件名的方式确实不少,最简单的是scandir,具体代码如下...

PHP延迟静态绑定的深入讲解

前言 所谓延迟静态绑定,顾名思义,静态调用时::符号左侧的部分的的绑定是延迟,也就是说不再被解析为定义当前方法所在的类,而是在实际运行时计算的。本文主要介绍了关于PHP延迟静态绑定的相关...

php的webservice的wsdl的XML无法显示问题的解决方法

php的webservice的因为wsdl有中文所以xml无法显示 可以用Nopepad++  转码即可  以UTF-8无BOM编码...

php中通过正则表达式下载内容中的远程图片的函数代码

这段程序其实是属于“小偷程序”的重要部分。 这一段程序只是下载远程图片的那一段而已,程序写的比较简单,大多部分都做了注释。 if (preg_match_all("/http://[...