linux 调试

来源:互联网 发布:2016全球互联网数据 编辑:程序博客网 时间:2024/05/16 15:36

1.rpm安装出错

rpm安装现有包时,使用命令rpm -ivh xx.rpm

卸载软件 rpm -e xx.rpm

 rpm failed: Thread died in Berkeley DB library 

明明用rpm查看包存在,但删除的时候进程就停住了。后来出现以下错误:rpmdb: Thread/process 10646/3086534416 failed: Thread died in Berkeley DB library

此时需要清理以下rpm的临时文件
# rm -fr /var/lib/rpm/__db.*

2.chkconfig

netstat可用查看目前已经启动的服务,service可以用来立即启动某个服务。chkconfig用来设置服务在开机的时候自动启动。
chkconfig  --list 
chkconfig nfs off/on
ntsysv:类图形界面管理模式来设置开机启动
总结一下功能按钮:
上下键:可以在中间的方框当中,在各个服务之间移动;
空格键:可以用来选择你所需要的服务,[*]表示开起启动;
tab键:可以在方框、OK、Cancel之间移动;
[F1]键:可以显示该服务的说明。

3.telnet

telnet 参考

是一种c/s软件,包括client和server端。

http://wenku.baidu.com/view/72d93ff04693daef5ef73d72.html


4.linux下的path

/home/xxx/postgres9.3/install/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/xxx/bin

5.find

查找文件

find /usr/ -name dos2unix 2>/dev/null (这样会不显示某个文件夹下查找不到的信息)

dos2unix位置在/usr/bin/下。


6.虚拟机

即使使用虚拟机安装linux,在自己的电脑上也可以使用telnet连接到linux上。


7.修改时间

修改linux 时间

更改为2013.10.02

#sudo date -s 10/02/2013

更改为22:52:00

#sudo date -s 22:52:00

将时间写入cmos

#sudo clock -w

8.sudo

用户使用sudo设置

并不是用户直接就可以使用sudo,需要在/etc/sudoers中进行设置

#su root

#vi /etc/sudoers

在## Allow root to run any commands anywhere下添加要使用sudo的用户,假设用户为user1

添加内容为:

user1     ALL=(ALL)       ALL

如果使用户user1使用sudo不需要输入密码

则将上面内容更改为:

user1 ALL = NOPASSWD: ALL


9.文件属性查看

查看文件属性等操作:

ls -l

ls -i

file filename

stat filename

10.grep 查看文件包含字符

linux 下查看文件是否包含某字符串

[wln@localhost ~]$ grep '/home' 01/*
01/recovery.conf:trigger_file = '/home/wln/standby/trigger_activestb'

11. 查看.out文件

objdump  readelf


12. 查看用户进程占用cpu等

#/bin/bashLOAD=$(awk '{print $1}' /proc/loadavg)CPUNUM=$(grep -c processor /proc/cpuinfo)if [ $(echo "$LOAD > $CPUNUM" | bc) = 1 ]; then    RESULT=$(ps -eo pcpu,pmem,user,args | awk '$1 > 0' | sort -nr)    if [ -n "$RESULT" ]; then        echo "$RESULT" > /var/log/ps.$(date +"%Y%m%d%H%M")    fifi
来自:http://blogread.cn/it/article/6251?f=wb


13.shell中case使用

case "$1" in
      start)
            echo "starting"
            ;;
       stop)
            echo  "stopping"
            ;;
          *)
            echo "Usage: $0 {start|stop}"
            exit 1
            ;;
esac
exit 0  


14.echo -n -e

-n 表示输出字符后不换行

[root@localhost wln]# echo -n 'aaaa'
aaaa[root@localhost wln]# 


-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
[root@localhost wln]# echo -e '12\b34' 
134