linux zx命令_linux常用命令小结

查询操作系统类型

cat /etc/issue

cat /etc/redhat-release

查询操作系统内核版本

cat /proc/version

查询服务器信息

uname -a

查询服务器name

hostname

查看文本行数、字数、字节数

wc(ls -l|wc)

输出信息中只显示某一行

awk

ls -l|awd '{print $2}'

替换文本中的字符串

sed  -e 's/newstring/oldstring/g' < oldfile > newfile

ssh racpub1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

显示某目录占用磁盘大小

du -sh /oracle

过虑掉重复word

sort -u

查询历史命令

history

查询用户操作历史记录

#! /bin/ksh

for user in 'cat /etc/passwd|cut -d ':' -f1'

do

echo *************

cat -$user/.sh_history

echo *************

done

修改shell,直接写shell名称

ksh

bash

umask的实际权限应该等于777减去显示的权限,例如umask 002 ,实际是777-002=775

列出当前cpu消耗时间最多的10个进程

ps -ef|sort +6|tail

ps auxgw|sort +2|tail

杀掉难处理的进程

kill -9 pid

cat /dev/null > /dev/ttyname kill -9 pid

建立ssh关系的操作系统间文件copy

scp -P 7522 zzx1.dmp oracle9i@192.168.8.159:/home1/oracle9i/

查看oracle监听的端口

lsnrctl

stat

find常用命令

find /home1/oracle9i -name cman*

find / -name access_log 2>/dev/null

这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后,遇到错误的信息就直接输送到stderrstream 2 中,access_log 2就是表明系统将把错误信息输送到stderrstream 2中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,不会再显示了

find / -amin -10 # 查找在系统中最后10分钟访问的文件

find / -atime -2 # 查找在系统中最后48小时访问的文件

find / -empty # 查找在系统中为空的文件或者文件夹

find / -group cat # 查找在系统中属于 groupcat的文件

find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

find / -mtime -1 #查找在系统中最后24小时里修改过的文件

find / -nouser #查找在系统中属于作废用户的文件

find / -user fred #查找在系统中属于FRED这个用户的文件

find结果的处理方法:

find /data/backup -mtime +5 | xargs rm -rf

rm -rf `find /data/backup/ -mtime +5`

find /data/backupp -mtime+5 -exec rm -rf "{}" ";"

find /data/backupp -mtime+5 -exec rm -rf  {} \;

find /data/backupp -mtime+5 -maxdepth 1 -exec cp {} /home/zzx \; //-maxdepth表示目录的最大深度,1表示当前目录

find /etc -name aaa -exec CMD1 {}\; -exec CMD2 {}\; //一次查找后针对返回结果执行多条命令

以上命令基本等效。其中

"{}" <= result

";" <= end of command

find -exec 是每次匹配成功就执行rm 一次。假如有500个匹配项,shell就要fork 500次去执行rm。

xargs在命令行长度允许的情况下会累积到一定程度去rm几十个文件,这样就能减少rm执行的次数。在匹配项较多的情况下,性能相对较好好。

ftp启动、停止命令

/sbin/service vsftpd start|stop|restart

ftp参数设置:

/etc/vsftpd/vsftpd.conf

ftp修改端口:

/etc/vsftpd/vsftpd.conf中增加listen_port=2121

查看ftp服务是否启动:

ps auxgw|grep ftp

设定系统时间

若以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[CC]YY][.ss],其 MM 为月份,DD 为日,hh 为时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数

[root@wdb_test oracle]# date 113012002004

Tue Nov 30 12:00:00 CST 2004

和时钟服务器校正时间

rdate -s ip  --直接校正

rdate  -p ip  --打印服务器时间

linux下启动telnet服务过程

root登陆

vi /etc/xinetd.d/telnet

将disable=yes加#注释掉

/etc/rc.d/init.d/xinetd restart

默认是不能以root登陆的,如果要一定以root登陆,修改

/etc/pam.d/login文件

将auth       required    pam_securetty.so加#注释掉

查看本机监听的端口

可以使用命令:netstat -lnp来察看系统当前监听的端口。其中l选项表示显示正在被监听(listen)的端口;n选项表示直接显示端口数字而不是通过察看/etc/service来转换为端口名;p选项表示列出监听的程序。

查看操作系统安全日志

dmseg查看系统故障

more /var/log/secure*查看所有安全日志

强制用户登陆时修改口令

chage -d 0 username(linux)

passwd -f username(solaris)

强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示

chage -d 0 -m 0 -M 90 -W 15 htang(linux)

passwd -f -n 0 -x 90 -w 15 htang(solaris)

查看某个用户的密码设置情况

chage -l username

修改密码配置文件

vi /etc/login.defs

ntsysv 查看启动的服务

启动某个服务

/etc/init.d/network restart

service network restart

在/etc/resolv.conf中加入域名服务器进行域名解析

例如:nameserver 202.106.196.115

vi特殊指令

:$跳到文档最后一行

ctrl + f 向后翻页

ctrl + b 向前翻页

H 跳到当前文档第一行

M 跳到当前文档中间行

L 跳到当前文档最后行

vncserver启动桌面选项(gnome和kde)

P32>cat xstartup

#!/bin/sh

#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

#xsetroot -solid grey

#vncconfig -iconic &

#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

#twm &

#startkde &(如果使用kde就去掉注释)

gnome-session

在整个文件或某几行中在行首或行尾加一些字符串

vi file

:3,$s/^/some string /

在文件的第一行至最后一行的行首前插入some string

:%s/$/ some string/g 在整个文件每一行的行尾添加 some string

:%s/string1/string2/g 在整个文件中替换string1成string2

:3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2

Note: s为substitute,%表示所有行,g表示global

扫描192.168.5中启动服务器的ip

nmap -sP 192.168.5.0/24

增加ip

ifconfig eth0 192.168.0.12 netmask 255.255.255.0

同时修改/etc/sysconfig/network-scripts下的etho文档,修改例子:

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.160.12

NETMASK=255.255.255.0

GATEWAY=192.168.160.1

solaris下修改ip:

1.ifconfig iprb1 plumb

2.ifconfig iprb1 192.168.165.15 netmask 255.255.255.0 up

3./etc/hostname.iprb1 -->192.168.165.15

增加路由:

161的机器想要访问160的机器,需要增加路由:

linux:route add -net 192.168.160.0 netmask 255.255.255.0 gw 192.168.161.1

solaris:route add net 192.168.160.0 192.168.161.1

kill某个用户的全部进程

pkill -9 -u username

kill掉所有的oralce应用session

ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|kill -9

删除数量比较多的文件

ls | xargs -n 20 rm -fr

ls当然是输出所有的文件名(用空格分割)

xargs就是将ls的输出,每20个为一组(以空格为分隔符),作为rm -rf的参数

也就是说将所有文件名20个为一组,由rm -rf删除,这样就不会超过命令行的长度了

Soure RPM的簡易安裝步驟:

1.先取得Source RPM, 通常Source RPM的檔案會有個src.rpm來辨別, ex:freetds-0.62.1-1.src.rpm

2.rpm -i xxx-xxx.src.rpm ex: rpm -i freetds-0.62.1-1.src.rpm

3.cd /usr/src/redhat/SPECS

4.可以看到xxx.spec ex: freetds.spec

5.進階User可以去編輯它, 初輯User就可以不用理, 直接rpmbuild -bb xxx.spec ex: rpmbuild -bb freetds.spec

6.cd /usr/src/redhat/RPMS 此為產生好的rpm最後放置的地方

7.cd i386 通常一般package都會放在i386

8.將所產生的rpm安裝 rpm -i xxx-xxx.rpm, ex: rpm -i freetds-0.62.1-1.i386.rpm

其實大多時候我們都不需要自己Build Source RPM, 因為大都有現成for各個平台的RPM, 但有時現成RPM的東西可能不合你用, 像我會去Build freetds是因為現成的freetds的RPM只有freetds, freetds-devel, 沒有freetds-unixodbc, 所以就直接抓Source RPM, 而且freetds的Source RPM還貼心的幫我設好, 我也不用改就可以直接build了.

取本月最后一天

cal|xargs|awk '{print $NF}'

取上月最后一天

get_lastday_of_lastmonth()

{

yy=`date +%Y`

mm=`date +%m-1|bc`

if [ $mm -lt 1 ]

then

mm=12

yy=`expr $yy - 1`

fi

aaa=`cal $mm $yy`

dd=`echo $aaa|awk '{print $NF}'`

echo $yy$mm$dd

}

看某月日历(2006年3月)

cal 3 2006

得到上级目录名和当前目录名

cmd:dirname /home/oravip/thm

res:/home/oravip

cmd:basename /home/oravip/thm

res:thm

将字符串逆转(字符串必须在文件中)

rev filename

字符串截断方法:

##截断最后一个匹配的字符串之前的所有字符

#截断第一个匹配的字符串之前的所有字符

$ MYVAR=foodforthought.jpg

$ echo ${MYVAR##*fo}

rthought.jpg

$ echo ${MYVAR#*fo}

odforthought.jpg

##倒数,截断最后一个匹配的字符串之前的所有字符

#倒数,截断第一个匹配的字符串之前的所有字符

$ MYFOO="chickensoup.tar.gz"

$ echo ${MYFOO%%.*}

chickensoup

$ echo ${MYFOO%.*}

chickensoup.tar

##截断任意长字符串

$ EXCLAIM=cowabunga

$ echo ${EXCLAIM:0:3}

cow

$ echo ${EXCLAIM:3:7}

abunga

nfs服务配置过程

Server端:

1./etc/exports格式:

例:共享/share目录给192.168.0.x的用户

/share                192.168.0.0/24 (rw)

2.启动portmap服务:

service portmap start[restart]

3.启动NFS服务:

service nfs start[restart]

Client端

1.启动portmap服务:

service portmap start[restart]

2.挂载服务器端的共享目录(假设服务器端192.168.0.1):

mount -t nfs 192.168.0.1:/share  /mnt/localshare

mount -t nfs -o nolock 192.168.1.80:/share_xd_d /nas_xd_d

linux下发送mail的命令:

监控端口字符流命令,可以用来查看数据是否加密

/usr/sbin/tcpdump -l -i eth0 -w - src or dst port 23 | strings

显示文件中包含指定字符串本身和它的后n行

cat file|grep “指定字符串” -A n

显示文件中包含指定字符串本身和它的前n行

cat file|grep “指定字符串” -B n

显示文件中包含指定字符串本身和它的前后n行

cat file|grep “指定字符串” -C n

----显示匹配行下向下第几行的数据

grep -2 '^foxmile$' test.txt | tail -1

----mysql连接数高的应急办法

前提是mysql还能登录进去,如果一直是所有连接占满了,就不能用本方法了。

检查空闲时间相对长的连接

mysql -e 'show processlist'|awk '{print $6" "$1" "$2" "$3" "$4" "$5}' | sort -n

生成杀掉空闲时间相对较长连接脚本,本例杀掉最长的100个

mysql -e 'show processlist'|awk '{print $6" "$1" "$2" "$3" "$4" "$5}'|grep Sleep | sort -n | tail -100 | awk '{print "kill "$2";"}' > kill_long_sleep.sql

mysql < kill_long_sleep.sql

当然,别忘了与负责应用的同学协商。

删除乱码文件方法:

ll -i 得到i节点

find ./ -inum 12345 -print -exec rm {} -rf \;

日期转换为邮戳

date -d '1970-01-01 CST '1222142410' seconds' +"%Y-%m-%d %T"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值