!guide_close_btn!

每个极客都应该知道的Linux技巧(四)

哈哈嘻嘻 2015-10-14 10:50:43 最新回复:2015-10-14 11:13:21
2028 2 0 0

到底是什么区分开普通的Linux用户和超级极客的呢?很简单:用在学习那些使长时工作转变为一瞬间工作的技巧、诀窍、秘诀和技术上的时间。如果你想提高效率而又不用做这些搜集资料的跑腿活儿,那接下来的内容可以帮助你更潇洒地工作,并且最大限度的利用你的电脑。本文中收集了50多条简单易学的Linux技巧,每天讲解5条,你开始享受这场饕餮盛宴吧!

16:疏通开端口

难度:中等

应用程序:netstat

要获取在Linux服务器上处于监听状态的网络服务器的列表,可使用netstat程序:

  1. root@catlin:~# netstat -lnp 

  2. Active Internet connections (only servers) 

  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 

  4. tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 698/perl 

  5. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 217/httpd 

  6. tcp 0 0 10.42.3.2:53 0.0.0.0:* LISTEN 220/named 

  7. tcp 0 0 10.42.4.6:53 0.0.0.0:* LISTEN 220/named 

  8. tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 220/named 

  9. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 200/sshd 

  10. udp 0 0 0.0.0.0:32768 0.0.0.0:* 220/named 

  11. udp 0 0 10.42.3.2:53 0.0.0.0:* 220/named 

  12. udp 0 0 10.42.4.6:53 0.0.0.0:* 220/named 

  13. udp 0 0 127.0.0.1:53 0.0.0.0:* 220/named 

  14. udp 0 0 0.0.0.0:67 0.0.0.0:* 222/dhcpd 

  15. raw 0 0 0.0.0.0:1 0.0.0.0:* 7 222/dhcpd 

  

如上消息告诉你PID为698的进程是一个绑定在5280端口的Perl进程。如果你不是超级用户,系统将不会显示哪个程序是运行在哪个端口上的。

17:更快的硬件驱动

难度:高级

应用程序:hdparm

也许你已经知道hkparm工具可以用于测试硬盘速度和更改一些设置。它还可以用于优化驱动性能,并且开启一些默认关闭的功能。在我们开始之前,敬告您,改变驱动选项可能会造成数据损坏,所以首先请备份你所有的重要数据。如下命令可以用来测试速度: 

  1. hdparm -Tt /dev/hda 

你将会看到类似于这样的东西: 

  1. /dev/hda: 

  2. Timing buffer-cache reads: 128 MB in1.64 seconds =78.05 MB/sec 

  3. Timing buffered disk reads:64 MB in 18.56 seconds = 3.45MB/sec 

现在我们可以尝试让它提速。找出你的驱动目前设置使用的是哪个选项,然后传递给hdparm这个硬件的名称: 

  1. hdparm /dev/hda 

  2. /dev/hda: 

  3. multcount=16 (on) 

  4. I/O support=0 (default 16-bit) 

  5. unmaskirq=0 (off) 

  6. using_dma=0 (off) 

  7. keepsettings =0 (off) 

  8. readonly =0 (off) 

  9. readahead=8 (on) 

  10. geometry = 40395/16/63, sectors = 40718160start = 0

这相当于一个默认设置。多数的Linux发行版本都会选择一个可以运行在多数硬件上的安全选项。为了获得更快的速度,你可能想要激活dma模式,然后当然要调整I/O支持。多数现代计算机支持模式3,这是一个近乎双倍通量的32位转换模式。你也可以尝试: 

  1. hdparm -c3 -d1/dev/hda 

然后返回这个速度,查看一下不同。检验你的硬件支持哪些模式,然后可以在hdparm的man手册中学习如何设置它们。

18:在你手中的可用时间

难度:高级

应用程序:Perl

对计算来说,浪费的资源就是那些本可以派上更好的用场的资源。不管你还运行了什么别的程序,为什么不尝试运行一个进程,在终端标题栏实时显示当前的平均负载呢?

将这个存为一个脚本并命名为tl,然后把它存到你的~/bin目录下: 

  1. #!/usr/bin/perl -w 

  2. use strict; 

  3. $|++; 

  4. my $host=`/bin/hostname`; 

  5. chomp $host; 

  6. while(1) { 

  7. open(LOAD,"/proc/loadavg") || die "Couldn't open /proc/loadavg: $!\n"; 

  8. my @load=split(/ /,<LOAD>); 

  9. close(LOAD); 

  10. print "$host: $load[0] $load[1] $load[2] at ", scalar(localtime); 

  11. print "07"; 

  12. sleep 2; 

  

如果你想用用load average和你登陆的机器的当前时间,来替换titlebar名字,与西宁tl&即可。它会很恰当的在后台运行,即使你运行一个类似Vim的交互式程序。

19:不使用X完成抓取一次屏幕截图

难度:简单

应用程序:Shell

确实有很多屏幕捕获的工具,但是他们大部分都是基于X的。这导致了一个问题,当你运行一个X应用程序时,将会干扰这个你想要抓取的应用程序——或许是一个游戏或者甚至是一个Linux安装程序。但如果你使用了超棒的ImageMagick(译注:一个开源的图片处理工具集和开发包)导入命令,你就可以通过控制台来对X模块进行抓取。很简单,打开一个虚拟终端(例如Ctrl+Alt+F1)然后输入如下: 

  1. chvt 7; sleep 2; import -display :0.0 -window root sshot1.png; chvt 1; 

chvt命令改变了虚拟终端,而sleep命令给重绘屏幕提供了一个时间。导入命令会在最后的chvt命令把你再次打回到虚拟终端之前,捕获所有的显示并且保存到一个文件中。请确保你把所有的命令都输入在同一行中。

这是甚至在Linux安装程序上也是有效的,很多安装程序都只留下一个控制台而转去后台运行——一个一流的到处运行的屏幕抓取器只需要加载一些它所需要的库到一个floppy(译注:磁盘)/CD上。

20:远程访问你的程序

难度:简单

应用程序:X

如果你想要躺在床上使用你的Linux笔记本从你的Window机器***问你的应用程序,可以使用SSH来实现。首先你需要在/etc/ssh/sshd_config中激活以下设置: 

  1. X11Forwarding yes 

现在我们可以使用如下命令在192.168.0.2上运行GIMP:

 

  1. ssh -X 192.168.0.2 gimp 

  

点评 回复

全部回复

l84049381
l84049381 2015-10-14 10:59:14

谢谢分享 +1

点评 回复

哈哈嘻嘻
哈哈嘻嘻 2015-10-14 11:13:21

回复 2 楼

点评 回复

回复

您需要登录后才可以回帖 登录 | 注册
发表回复

内容安全提示:尊敬的用户您好,为了保障您、社区及第三方的合法权益,请勿发布可能给各方带来法律风险的内容,包括但不限于政治敏感内容,涉黄赌毒内容,泄露、侵犯他人商业秘密的内容,侵犯他人商标、版本、专利等知识产权的内容,侵犯个人隐私的内容等。也请勿向他人共享您的账号及密码,通过您的账号执行的所有操作,将视同您本人的行为,由您本人承担操作后果。详情请参看“用户协议

My Followers

登录参与交流分享

登录

屏蔽
!block_confirm_cont!
温馨提示
!bind_my_phone_cont!