Linux Shell的提速技巧

Linux Shell的提速技巧,第1张

本文整理自 My 5 Favorite Linux Shell Tricks for SPEEEEEED (and efficiency) 。这里列出的小技巧可以让你在使用shell的时候更加高效~

设想这样一个场景:你输入了 apt-get update ,然后发现需要 sudo 权限才能运行。除了通常的按下向上箭头,然后移动到行首添加 sudo 再运行,你可以输入

按下回车后,shell会生成 sudo apt-get update ,也就是说, !! 被替换为上一条命令内容

翻译过来可以理解为截断命令,并且重新粘贴截断内容。这个 *** 作类似于emacs中的快捷键。我们可以使用 ctrl + K 来截断光标后方的命令内容,然后用 ctrl + Y 来重新粘贴截断的内容。

例如:

注意 ctrl + Y 可以多次粘贴。

而如果想要截断光标之前的内容,可以用 ctrl + U 。(事实上很多emacs的快捷键都可以直接在shell环境下使用)

在开发和调试过程中,我们常常会使用 tail -f 命令来追踪日志的输出。这种方式有一个问题,即我们无法回溯更早的日志内容。因此我推荐之后都使用 less +F 命令来追踪日志内容。这个命令同样是从文件的尾部开始输出,然后在文件内容更新时输出更新内容。在使用这个命令时,可以按下 ctrl + C 组合键,然后用上下箭头就可以遍历整个文件了。之后按下 shift + F 来回到尾部追踪的模式。

ctrl + x + e (按住ctrl,然后先按下x,再按下e),就可以d出一个编辑器来编辑你当前的命令。

设想如下的情形:

我们要对一个host进行多次 *** 作,而每次我们都要重新输入一遍这个host的!这在调试和维护过程中是非常繁琐的。 alt + . 就为我们提供了一个非常便捷的功能!按下这个命令可以粘贴上一条命令的参数。

可以用logger命令发送日志信息到本地的/var/log/message,小设备 可以编译个rsyslog上去 这样发日志比较好弄一些。 系统调用man 2 syslog 库函数看看man 3 syslog

使用tmpfs,我把他消化后用来实现虚拟磁盘来存放squid的缓存文件和php的seesion。速度快不少哦!

默认系统就会加载 /dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。

tmpfs有以下优势:

1。动态文件系统的大小,

2。tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。

3。tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的 *** 作。

好了讲了一些大道理,大家看的烦了吧,还是讲讲我的应用吧:)

首先在/dev/stm建个tmp文件夹,然后与实际/tmp绑定

mkdir /dev/shm/tmp

chmod 1777 /dev/shm/tmp

mount --bind /dev/shm/tmp /tmp

1。squid的缓存目录设置

vi /etc/squid/squid.conf

修改成

cache_dir ufs /tmp 256 16 256

这里的第一个256表示使用256M内存,在该目录下使用的缓冲值为256MB,允许在“/tmp”下创建的第一级子目录数为16,每个第一级子目录下可以创建的第二级子目录数量为256

然后重启一下服务,ok,现在所有的squid缓存文件都保存倒tmpfs文件系统里了,很快哦。

2。对php性能的优化

对于一个访问量大的以apache+php的网站,可能tmp下的临时文件都会很多,比如seesion或者一些缓存文件,那么你可以把它保存到tmpfs文件。

保存seesion的方法很简单了只要修改php.ini就行了,由于我已经把/dev/stm/tmp与/tmp绑定,所以不改写也行,至于php程序产生的缓存文件那只能改自己的php程序了:)

希望我的这个方法,能对你有所启发。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/8621619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存