tips about developing and using linux - openthos/openthos GitHub Wiki

  • Tip0 jump DIR quickly

z - jump around

  • Tip1 查看man文件...
nroff -man man/libnet.3 | less 

有时候man文件不在系统目录..这时候就可以用上面的方式来查看非标准的man文件

  • Tip2 以不同的用户身份运行程序...
su - username -c "where/is/command/line" 

有时候需要运行特殊身份的程序...就可以让su来做...

  • Tip3 解压bz文件
tar -jvxf some.bz 

就是把tar的zvxf 改成jvxf

  • Tip4 编辑/etc/inittab后直接生效的方法..

执行init q

  • Tip5 让linux连续执行几个命令,出错停止
command1 && command2 && command3 .... 
  • Tip6 linux中的bg和fg管理

当我们打ctrl+z的时候一个任务就被挂起(就是暂停),同时屏幕上返回一个数字, 这时候可以用 "bg %数字" 来把这个进程放到后台执行...这个很适合在你忘了加 &的时候进行补救...同样 " fg %数字 "就能让这个进程放到前台来执行了... job命令用来查看当前的被bg的进程...

  • Tip7 ctrl+s与ctrl+q ctrl-s 好象是从终端时代遗传过来的东东, 流量控制, 用来暂停向终端发送数据的. ctrl-q 用来恢复恢复

  • Tip8 目录统计教本 保存成total.sh ,然后用total.sh 绝对路径,就会统计路径下目录的大小了

代码:

#!/bin/sh 
du $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s\n",$1/1024,$2}'|sed 's:/.*/\([^/]\{1,\}\)$:\1:g'
  • Tip9 grep不显示本身进程 代码:
ps -aux|grep httpd|grep -v 

grep通过再一次grep -v grep就可以取消显示你所执行的grep本身这个进程,-v参数是不显示所列出的进程名.

  • Tip10 自己用的一个统计httpd的脚本

代码:

#!/bin/sh 
while (true) 
do 
pstree |grep "*\[httpd\]$"|sed 's/.*-\([0-9][0-9]*\)\*\[httpd\]$/\1/' 
sleep 3 
done
  • Tip 11 解压rpm包中的文件

代码:

cat gnome-libs-1.4.1.2.90.22.i386.rpm | rpm2cpio | pax -r-Tip12 

去掉apache的manual目录中的所有.en的后缀名

进入到manual目录 代码:

find ./ -regex .*\.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%s\n",$1,$2,$3,$4,$1,$2,$3}'|sh 
  • Tip 13 linux里如何映射windows里的硬盘
mount -t smbfs -o username=xxx,password=xxx //winxp_ip_or_hostname/sharename /local_path 

fc2中已经不需要-t smbfs这个参数了.

  • Tip 14 linux里如何查看可用的硬盘设备
fdisk -l 
  • Tip 15 linux服务器之间的数据copy

如果是简单的文件copy,建议用rsync

代码:

rsync --size-only --ignore-errors --force -rWpog -e ssh root@源服务器ip:/源服务器上的具体路径 /本地路径 

然后就输入密码,这样就完成了远程到本地的数据copy 当然你也可以用sftp 代码: sftp root@源服务器ip然后就和ftp一样用了。 如果你只是简单的copy一下文件,建议考虑上面两个方法,不用装什么ftp了。

  • Tip 16 一个很简单的取多少天前的日期的方法 代码:
[root@localhost script]# date -d '2 day ago' 
Sun Aug 13 10:01:53 CST 2006 
[root@localhost script]# date -d '3 day ago' 
Sat Aug 12 10:02:31 CST 2006 
[root@localhost script]# date -d '4 day ago' 
Fri Aug 11 10:02:35 CST 2006 
[root@localhost script]# date -d '1 day ago' 
Mon Aug 14 10:02:37 CST 2006 

然后我们就可以定义任意的时间了。很方便,比如 代码:

date -d '2 day ago' +%Y%m%d这样会输出为 20060813

  • tip 17 定期观察一个文件内容 To watch the CPU governor in acDon:
$ watch -n 1 grep MHz /proc/cpuinfo
cpu MHz         : 1281.109 
cpu MHz         : 1199.960 
...
``