本文主要介绍了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五年积累的技巧
下面总结了一些Linux使用五年的经验与技巧。 首先,对于bash命令行,$符号有着特定的含义,它能够帮助用户更好地处理命令行参数。$0代表当前执行的脚本名称,$*代表所有传递给脚本的参数,将它们作为一个单独的字符...
#### 七、Linux下高并发系统内核优化 - **内核参数调优**: - 调整内核参数以适应高并发场景。 - 如调整文件描述符数量、TCP连接数等。 - **内存管理优化**: - 通过优化内存分配策略提升系统响应能力。 - 如减少...
- **发展历史**:Linux内核自1991年由Linus Torvalds发布以来,经历了快速的发展和完善。最初的版本基于Minix系统,但很快就超越了它,形成了自己独特的架构和技术栈。 - **开源特性**:Linux内核是开放源代码项目...
- **缅怀已逝的十八年(2007~2009)**:此阶段讲述了Linux面对来自微软的竞争,以及Android操作系统中Linux内核的应用。 **2. 内核配置与编译** - **KERNEL地图:KCONFIG与MAKEFILE**:讲解了如何利用`KCONFIG`和...
作者凭借五年嵌入式领域的工作经验,在某外企研发中心任职,这套教程凝聚了他的实战心得,对学习者来说具有很高的参考价值。 第一步:了解嵌入式系统与Linux 嵌入式系统是指集成在设备中的专用计算机系统,它通常...
Linus Torvalds 在1991年发布了第一个版本,自此之后,Linux逐渐成为服务器、移动设备、嵌入式系统等领域的首选操作系统。 - **Shell的角色与重要性**:Shell 是用户与Linux系统之间沟通的桥梁,负责解释用户的命令...
### Linux安装教程及基础知识...通过学习这些内容,你可以更好地理解和掌握 Linux 操作系统的使用技巧。随着经验的积累,你还可以进一步探索更高级的功能和技术,不断提升自己的技术水平。希望这份指南对你有所帮助!
该书由Prentice Hall出版社出版,出版日期为2008年3月27日,共有744页。该书的ISBN编号为0-13-239655-6(ISBN-10)与978-0-13-239655-4(ISBN-13)。该书在Linux社区中获得了高度评价,被认为是迄今为止最全面、最...
2. **早期发展**:从1991年到1998年,Linux经历了从无人问津到逐渐受到关注的过程,这一时期的技术积累为后来的大规模应用奠定了基础。 3. **快速发展期**:1999年至2002年,随着互联网的普及,Linux以其开放性和...
- **操作系统掌握**:熟练使用Windows20xx和Linux操作系统。 - **编程能力**: - 掌握VB、DELPHI等编程语言。 - 能够运用这些语言进行软件开发。 - **网页设计与制作**: - 熟练使用网页三剑客(Dreamweaver、...
### 2022年系统测试工程师个人简历 #### 知识点一:系统测试工程师的职业定位 **系统测试工程师**是IT行业中负责确保软件、硬件或整个系统的质量与稳定性的关键角色。这类工程师通常具备良好的逻辑思维能力、问题...
- **研究与工程经验**:具备五年以上的处理器与片上系统(SoC)架构的研究及工程实践经验。 - **性能建模与基准测试**:擅长对处理器性能进行建模以及通过基准测试评估其性能。 - **跨层级分析**:重点在于对处理器...
在2011年的国际开发者论坛(IDF)上,MeeGo作为一个新兴的操作系统受到了广泛的关注。IDF2011-MeeGo主题日活动旨在为开发者和相关从业人员提供一个交流与学习的平台,深入了解MeeGo操作系统的特点及其在移动设备领域...
- **Qt在嵌入式开发中的应用**: 嵌入式Linux系统中常用Qt开发用户界面。 ### 七、单片机相关 - **单片机定义**: 单片机是一种集成了中央处理器、存储器、输入/输出接口等部件的微型计算机系统。 - **常用单片机...
Qt支持多种操作系统,包括但不限于Windows、Linux、Unix系列等。 - **历史里程碑**:自1992年开始设计,到1995年发布首个商业版本,再到后续多个版本的更新迭代,Qt在图形用户界面领域内始终保持着领先的地位。 - ...