找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1965|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 08:17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            1. bash中的$相关参数
[U]复制代码[/U] 代码如下:
$0 - 表示当前文件名  
$* - 以空格分离所有参数,形成一个字符串  
$@ - 以空格分离所有参数,形成一个字符串组合。与$*的不同表现在被""引用时,"$*"是一个字符串,而"$@"则包含多个字符串  
$# - 传递给进程的参数数目  
$? - 上一条命令的执行结果,没有错误时为0  
$$ - 本条命令的PID  
2. bash技巧,由变量的内容来组合为另一个变量的变量名
EXAMPLE:
[U]复制代码[/U] 代码如下:
A_B_C_D="something"  
t1="B"  
t2="_D"  
eval echo \$A_${t1}_C${t2};  
3.  Ubuntu(12.04, 12.10)下,ThinkPad X220指点杆设置,分别设置灵敏度和速度
[U]复制代码[/U] 代码如下:
echo -n 225 > /sys/devices/platform/i8042/serio1/serio2/sensitivity  
echo -n 115 > /sys/devices/platform/i8042/serio1/serio2/speed  
4. 备份主引导扇区(bootsector)
如果启动文件随坏,可以通过恢复主引导扇区来视图修复:
备份
[U]复制代码[/U] 代码如下:
dd if=/dev/hda of=bootsector.
恢复
[U]复制代码[/U] 代码如下:
dd if=bootsector.
上面两步只是恢复了主引导扇区,很可能还需要把/boot里面的内容全都恢复才能正常启动,所以也可以备份一下/boot下面的文件。
5. bash命令行输入技巧:
使用Ctrl+R来搜索以前用过的命令
使用Ctrl+W删除当前单次
使用Ctrl+U删除当前行
6. xargs很强大,用 -l{} 可以指定参数的位置:
EXAMPLE
[U]复制代码[/U] 代码如下:
cat hosts | xargs -I{} ssh root@{} hostname  
7. 写安全的bash脚本:
set -e,当有错误发生时,脚本会退出
set -u,当bash发现有没有初始化的变量时就退出
更多可参考:《写出健壮的Bash脚本》
8. tar打包指定列表中列出的文件:
[U]复制代码[/U] 代码如下:
cat yourlist.lst  
/etc/fstab  
/home/admin/bin/somefile.sh  
/home/mysql/somefile  
...  
tar cvzf xxx.tar.gz -T yourlist.lst  
9. 指定一个DNS服务器查询域名记录
[U]复制代码[/U] 代码如下:
dig @8.8.8.8 www.google.com  
10. sort命令最需要注意的参数是-k和-s:
[U]复制代码[/U] 代码如下:
-s, --stable  
    stabilize sort by disabling last-resort comparison  
stable表示最终的顺序依赖于原来的顺序。  
EXAMPLE
[U]复制代码[/U] 代码如下:
$ cat a.txt   
a  
A  
b  
$ sort -f a.txt   
a  
A  
B  
$ sort -f -s a.txt   
a  
A  
b  
例子中,-f表示不区分大小写,-s表示顺序依赖于原来文件的顺序
[U]复制代码[/U] 代码如下:
-k, --key=POS1[,POS2]  
   start a key at POS1 (origin 1), end it at POS2 (default end of line).  
所以只以第二列来排序应该写:
[U]复制代码[/U] 代码如下:
sort -k1,1  
            
            
        
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端