linux系统常见问题解决办法

[系统]01. 客户端登陆linux服务器超时断开的解决方法
[系统] 02. linux设置环境变量
[系统]03. 查看系统信息的命令
[系统]04. 查看LINUX操作系统位数
[系统] 05. 同步服务器时间
[系统]06. 判断oracle是服务器端还是客户端
[系统]07. 获得某进程对应程序的完整路径
[系统]08. SecureCRT登陆linux系统,出现乱码
[系统]09. 产生CORE文件
[系统]10. Linux中top的含义

[应用]01. vi 列编辑

[脚本]01. expr用法注意
[脚本]02. 用DATE获得前几天/后几天的日期
[脚本]03. 用awk计算时间间隔
[脚本]04. 从日志中提取日期、时间、用户名(awk、grep用法)

[数据库]01.TNS-12541: TNS:no listener

#################################################################
【详细】
[系统]01. 客户端登陆linux服务器超时断开的解决方法

cat /etc/profile
TMOUT=1500#该数值就是超时秒数,修改即可

[系统] 02. linux设置环境变量
添加程序执行路径:
#cd ~ //进入当前用户主目录下
#vi .bash_profile
#

[系统]03. 查看系统信息的命令

[系统]04. 查看LINUX操作系统位数
      32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节。linux系统中可用"getconf WORD_BIT"和"getconf LONG_BIT"获得word和long的位数。64位系统中应该分别得到32和64。

[系统] 05. 同步服务器时间
/usr/sbin/ntpdate 210.72.145.44;/sbin/hwclock -w
注:210.72.145.44 国家授时中心

[系统]06. 判断oracle是服务器端还是客户端
1.找一下$ORACLEHOME下的init*.ora,然后看看里面的设置
2.(慎用) Oracle server有redo、control 文件。
执行命令:find / -name "redo*[1-9]*.*" -print
   或    find / -name "control*[1-9]*.*" -print
3.如果数据库正在运行着,ps -ef |grep smon 有结果,那么就是服务器端;
如果数据库没有运行,那么cat /var/opt/oracle/oratab,看看有没有定义实例,有就是服务器端
以上方法均不太可靠,综合起来用,结果也不一定准,囧。

[系统]07. 获得某进程对应程序的完整路径
ps -ef |grep yourproc   #获得进程的PID,假如是
27571
ll /proc/27571/         #结果中的exe -> /usr/sbin/sshd,即是路径

[系统]08. SecureCRT登陆linux系统,出现乱码
在Session Options里设置
Terminal--Appearance
linux系统常见问题解决办法

或者Terminal--Emulation
linux系统常见问题解决办法

两个位置都有多个选项,自己尝试不同的配置,看哪种合适。

[系统]09. 产生CORE文件
修改/etc/profile
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
#允许产生不限制大小core文件
#ulimit -S -c unlimited > /dev/null 2>1
具体参考: 如何让系统默认产生core文件
ps: 一个小方法来测试产生core文件,直接输入指令: kill -s SIGSEGV $$

[应用]vi 列编辑
-->定位光标位置  -->  ctrl+v进入visual-block模式  -->  j、k移动光标选择列编辑行
-->shift+i  -->  输入列编辑文本  -->  Esc

[脚本]expr用法注意
17.5.2数值测试
      expr也可以返回其本身的退出状态,不幸的是返回值与系统最后退出命令刚好相反,成功返回1,任何其他值为无效或错误。下面的例子测试两个字符串是否相等,这里字符串为“hello”和“hello”。
$ VALUE=hello
$ expr $VALUE = "hello"
1
$echo $?
0
expr返回1,这表明成功。然后检验其最后退出状态,返回0表示测试成功,“hello”确实等于“hello”。

[脚本]用DATE获得前几天/后几天的日期
date -d yesterday                #昨天
date -d yesterday +%Y%m%d #昨天
date -d '3 days ago'          #3天前
date -d tomorrow                  #明天
date -d '3 days'                  #3天后

[脚本]用awk计算时间间隔

[脚本]从日志中提取日期、时间、用户名(awk、grep用法)
     log_2011-04-25.log:2011-04-25 15:15:01 INFO username[iamauser] ip[1136424304] type=[2]
[root@hehe]$ awk -F"[: ]" '{printf"%s %s:%s:%s\n",$2,$3,$4,$5}'
解释:以冒号、空格为域分隔符,使用printf格式化输出第2、3、4、5个域
补充:上面那种格式带“log_2011-04-25.log:”,是因为使用grep出的结果存在于多个文件中,grep -H,总是显示文件名,grep -h,不显示文件名。使用grep -h后得到结果
      2011-04-25 15:15:01 INFO username[lmy5861426] ip[1136424304] type=[2]
[root@hehe]$ awk -F[][ ] '{printf"%s %s %s",$1,$2,$5}'

[数据库]01.TNS-12541: TNS:no listener
      可能性① 将tnsnames.ora中的"服务器名"改为IP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值