本文主要介绍了Linux系统方面的一些技巧。
作者 JH Gao<gaopenghigh@gmail.com>
从最开始接触Linux到现在已经有5年了,和所有人一样,少不了折腾。折腾后偶尔我会把方法记录下来,现在简单总结一下。
所以的命令功能通过man都能找到具体用法,我只把自己觉得常用的列举出来。
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
a
A
B
b
$ sort -f a.txt
a
A
b
B
$ sort -f -s a.txt
a
A
B
b
例子中,-f表示不区分大小写,-s表示顺序依赖于原来文件的顺序
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line).
所以只以第二列来排序应该写:
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/
分享到:
相关推荐
玩Linux五年积累的技巧
安装Oracle专用Linux操作系统 安装过程中,可以省去很多不必要的坑 OracleLinux-R6-U5-Server-x86_64-dvd.[V41362-01].iso
arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.part2.rar
大学期间学习linux下的shell编程--考勤系统 带详细实验报告
基于LINUX系统下c语言-----学生管理系统common.h文件.rar
ARM Linux交叉编译工具链,arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
bt5 kali-linux-2017.3-vm-i386 32位系统,vmware安装。32位系统
linux技巧----linux的学习技巧--UbuntuSkills
jdk-8u241-linux-arm64-vfp-hflt.tar.gz 64位的ArmLinux系统java jdk
Linux VNC-Server-6.2.0-Linux-x64.rpm下载,64位版本
qt-creator-linux-x86-opensource-1.3.0
相比于一些大部头的linux内核的书籍,这份ppt算是浓缩的精华。...总共317张ppt,将linux内核中进程管理、内存管理、文件系统、中断、定时器、系统调用、设备驱动 这些部分由浅入深清晰的呈现出来,容易抓住脉络。
linux网络操作系统(08-3-11).ppt linux网络操作系统(08-3-11).ppt linux网络操作系统(08-3-11).ppt
Qt Creator for Linux 32位,qt-creator-linux-x86-opensource-2.5.2.bin,官方网站的opensource开源免费版本,适合需要进行32位 Linux平台Qt开发的朋友。
Linux高级技巧集,Linux 教程 -------------------------------------------------------------------------------- File Name 第一课 什么是Linux 第二课 为什么使用Linux 第三课 Linux纵览 第四课 ...
linux下安装汉化软件-Linux系统-Linux系统中文
获取Linux系统监控信息必备的文件 libsigar-amd64-linux.so和libsigar-x86-linux.so
最新版linux jdk-8u333-linux-x64.tar.gz最新版linux jdk-8u333-linux-x64.tar.gz最新版linux jdk-8u333-linux-x64.tar.gz
Linux操作系统应用kj3-3.ppt
rtlinux内核补丁,实时Linux-3.2-pre3的源代码-the source code of rtinux-3.2-pre3