作者:老王
Shell公共函数库
Linux系统里有一些公共的Shell函数库可供使用,最重要的是/etc/rc.d/init.d/functions,在/etc/init.d目录下有很多脚本都用到了这个函数库,里面提供了很多有用的方法,比如:killproc()等等。所以编写自己的Shell脚本时可以套用这个函数库:
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fiShell里循环的几种方式for i in `seq 1 10`; do echo $i; donefor ((i=1; i<=10; i++)); do echo $i; done
设置linux系统里打开文件描述符的最大值
通过ulimit -n命令可以查看linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。那么应该在哪里设置呢?
比如说想把linux系统里打开文件描述符的最大值设置为65535, 命令是ulimit -n 65535。需要说明的是这是一个和会话相关的命令,比如说你打开两个命令行终端,分别设置一个不同的值,再查询,会发现彼此不受影响。那么到底应该在哪里设置linux系统里打开文件描述符的最大值呢?一个最常见的错误就是在/etc/rc.local里设置,因为rc.local是在最后才被加载的,所以前面加载的程序,如/etc/init.d里的程序都没有机会使用到这个设置值,只有rc.local文件里ulimit -n 65535声明后面的命令才能使用到这个设置值,因为它们在同一个会话里。
最正确的做法是在/etc/security/limits.conf里设置:
* hard nofile 65535
* soft nofile 65535
这样设置后所有的程序,所有的会话就都能使用到这个设置值了。
找出大文件
磁盘空间被耗尽的时候,免不了要清理一下,比如说/home目录太大,就可以使用下面命令看看到底是谁:
du -s /home/* | sort -nr
根据负载自动重启Apache
#!/bin/sh
APACHE=/usr/local/bin/apachectl
LOG=/var/log/apache.log
if [ `awk -F. '{print $1}' /proc/loadavg` -gt 100 ]; then
echo "Stop Apache at `date`" >> $LOG
$APACHE stop
while [ `ps -ef | grep httpd | grep start | wc -l` -gt 0 ]; do
killall httpd
sleep 1
done
echo "Start Apache at `date`" >> $LOG
$APACHE start
fi 查看服务器型号dmidecode -s system-product-name
我在Dell的PowerEdge 1950服务器上使用上述命令能看到结果,但是在HP的ProLiant DL380 G5服务器上使用system-product-name却无效,什么也找不到,此时只能用dmidecode | more自己慢慢查了。
限制可以使用su命令的用户vi /etc/pam.d/su
# Uncomment the following line to require a user to be in the "wheel" group.
# auth required pam_wheel.so use_uid
取消相应的注释仅让wheel组用户能使用su命令
/usr/sbin/visudo(vi /etc/sudoers)
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
一个是输入密码的,一个是不用输入密码的,选一个取消注释。
剩下的就是把用户加到wheel组,可以先在/etc/group文件里查询wheel的GID,然后修改密码文件:
/usr/sbin/vipw(vi /etc/passwd)
或者直接使用命令:
/usr/sbin/vigr(vi /etc/group)
把用户名加到wheel行的末尾,如果是多个用户名的话用逗号分隔,group文件的详细介绍看man group
但更好的方法是使用gpasswd命令:
gpasswd -a 用户名 wheel
设置好之后可以用groups命令查看一下:
groups 用户名Debian下自动生成最快的sources.list
老版Debian可以使用base-config来设置sources.list,但是在新版中这个软件包已经被取消了,取而代之的是netselect-apt,先安装这个软件包:
aptitude install netselect-apt
cd /etc/apt
netselect-apt stable
这样就能自动生成最快的sources.list文件了。
题外话,aptitude install build-essential,装完系统顺手就装上这个,免得以后麻烦。
CentOS下有一个功能差不多的软件包,可以这样安装:yum install yum-fastestmirror(
参考链接)
万能的“-”参数
横线“-”参数在Linux里有很多奇妙的应用。
RewriteRule . - [F]
在rewrite里,横线"-"表示什么也不做,整句的含义直接按标志位[F]的意思来,也就是禁止。
cd -命令:An argument of - is equivalent to $OLDPWD(man cd)
su -命令:Make the shell a login shell(man su)
在tar命令里,横线“-”还代表着输入,输出:
tar zcvf - /path/to/foo | (cd /path/to/bar; tar zxvf -)
tar zcvf - /path/to/foo | ssh ip "cd /path/to/bar; cat > filename.tgz"gzip -cd foobar.tar.gz | tar xf -使用/dev/zero,/dev/null两个设备分别测试磁盘的读写性能
假设256M的数据,分别按4k, 8k的BlockSize大小进行读写测试:
time dd if=/tmp/testfile of=/dev/null bs=4k(4k读)
time dd if=/tmp/testfile of=/dev/null bs=8k(8k读)
time dd if=/dev/zero of=/tmp/testfile bs=4k count=65536(4k写)time dd if=/dev/zero of=/tmp/testfile bs=8k count=32768(8k写)
可以man zero或者man null看具体介绍。
查看Apache编译的模块
httpd -l (for static modules)
httpd -M (for shared/dynamic modules)
分享到:
相关推荐
Delphi-好记性不如烂笔头-个人笔记.pdf
好记性不如烂笔头,搭建此博客记录工作中遇到的一些问题.zip
精品软件工具--iOS每天学点知识。文章,博客,开源库,Demo,软件,插件,工具...好记性不如烂笔头,最怕有时候看
#常用命令 允许HTTPS连接:443端口 iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ...
一、数据表与简单Java类映射转换- 实际开发之中,往往根据数据表的结构来实现简单Java类。...表的一行记录=类的一个实例化对象; 表的多行记录=对象数组; 原创文章 7获赞 4访问量 242 关注 私信
1、有3个线程,一个线程负责输出A,一个线程输出B,一个线程C,请设计一个代码,向一个文件中循环写入10次AABBCCCAABBCCC 4、红包算法 问题:红包算法,给定一个红包总金额和分红包的人数,输出每个人随机抢到的红包...
Linux查看服务状态,小白必备专用现场运维必备技能。好记性不如烂笔头,前辈整理的笔记。
虚拟机VMware安装Kali Linux【最新超详细】一、下载系统镜像文件二、创建新的虚拟机三、安装Kali Linux四、安装kali虚拟机遇见问题&解决问题1、Kernel panic-not syncing ...好记性不如烂笔头,今天也是努力进步的一
关于linux网络配置的基础知识,做为有时候的参考资料还是不错的。因为好记性不如烂笔头
自定义view 画笔绘制记录一下而已,好记性不如烂笔头
aThinkThings是一个融合日程时间管理、待办事宜,清单列表的Todo...很多人曾有一个记事本,用来记录安排一些想法、简单信息、待办事宜等,所谓好记性不如烂笔头。 进一步的,会关注日程时间、事务管理,和一些特定的
好记性不如"烂笔头" , 烂笔头数据库学习软件,一日体验,千年无憾。 随着软件3.0版本的发布,我们也开通了"烂笔头"官方学习交流社区,大家有任何疑问或者意见都可以到此提出,我们还成立了数据库知识问题解答团队,...
好记性不如烂笔头,有很多时候,别人打电话过来,跟你说了些事,你可能会忘记,那么该工具可以给您提示您上次记录的事情。 1.来去电提示框(悬浮) 2.悬浮框提示最近事件纪要 3.根据电话号码分类记录 4.可设置悬浮...
android 下载文件测试,好记性不如烂笔头
my blog代码从github.io仓库迁出,迁入到这个项目中.新的博客部署在自己的服务器上.老的github.io仓库不再维护,等待删除...
懒人盒子是一个集网址收藏、游戏、在线音乐、记事本、定时提醒于一体的便捷上网软件。懒人必备,上网轻松愉快。...好记性不如烂笔头,把重要的事情记录下来,方便我们过后查询,再也不用为健忘发愁了。
Oracle 中关于时间和日期的函数,好记性不如烂笔头
最近使用Pytorch做多标签分类任务,遇到了一些损失函数的问题,因为经常会忘记(好记性不如烂笔头囧rz),都是现学现用,所以自己写了一些代码探究一下,并在此记录,如果以后还遇到其他损失函数,继续在此补充。...
学习Java三大主流框架Spring、SpringMVC、Mybatis好记性不如烂笔头。
对当前的文档进行简单的记录,就是一个普通的记事本,在开发过程中记录随时的数据,好记性不如烂笔头。