首页 > 代码库 > Linux非常有用的命令

Linux非常有用的命令

《判断用户是否存在,如不存在则新建》
user=`grep ‘^admin:‘ /etc/passwd`
if [ -z "$user" ];then 
groupadd admin
useradd -d /home/admin -s /bin/bash -g admin admin
echo ‘123456‘ | passwd --stdin admin
echo ‘123456‘ | passwd --stdin root
fi

《增加文件系统空间》
umount /home
e2fsck -f /dev/mapper/VolGroup-lv_home
resize2fs -p /dev/mapper/VolGroup-lv_home 10G
mount /home
lvreduce -L 10G /dev/mapper/VolGroup-lv_home
vgdisplay
lvextend -L +210.5G /dev/mapper/VolGroup-lv_root
resize2fs -p /dev/mapper/VolGroup-lv_root

《VI常用命令》
:50,70 s/^/# 注释50至70行
:0,$d   删除所有内容
:%s/r//g 删除DOS方式的回车^M
:%s/^(.*)n1/1$/ 删除重复行 
 :<<COMMENT   code……    COMMENT  注释段落

查看当前目录下文件大小,从大到小排列
 du -sh * | sort -nr | head

《多IP,网关配置》
/sbin/ifconfig eth0:1 192.168.13.122 netmask 255.255.255.0 up
/sbin/route del default gw 192.168.12.1
/sbin/route add default gw 192.168.12.1

《同步时间》
 /usr/sbin/ntpdate 192.168.12.1;/sbin/hwclock -w

取消You have mail in /var/spool/mail/root提示
echo "unset MAILCHECK" >> /etc/profile

《无密码登录》
ssh-keygen 创建公钥和密钥。 
ssh-copy-id 把本地主机的公钥复制(追加)到远程主机的authorized_keys文件上。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限
需确保/etc/ssh/sshd_config中的配置为:AuthorizedKeysFile      .ssh/authorized_keys
步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
ligh@local-host$ ssh-keygen -t  rsa
步骤2: 用 ssh-copy-id 把公钥复制到远程主机上
ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.0.3
[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上.]
步骤3: 直接登录远程主机
ligh@local-host$ ssh root@192.168.0.3 

《测试磁盘IO》
读性能测试
# time dd  iflag=direct,nonblock  if=/dev/sda2 of=/dev/null bs=8k count=8388608

    因为/dev/sda2是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。

写测试
# time dd oflag=direct,nonblock if=/dev/zero f=/opt/iotest bs=8k count=8388608 
    因为/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。 
读写测试
# time dd iflag=direct,nonblock oflag=direct,nonblock if=/dev/sda2 f=/opt/iotest bs=8k count=8388608  

《mysql安装》
创建mysql的安装目录及数据库存放目录
[root@ rhel5~]#mkdir -p /usr/local/mysql //安装mysql
[root@ rhel5~]#mkdir -p /usr/local/mysql/data //存放数据库
创建mysql用户及用户组
[root@ rhel5~]groupadd mysql
[root@ rhel5~]useradd -r -g mysql mysql
安装mysql
#tar -zxv -f mysql-5.5.10.tar.gz
#cd mysql-5.5.10
#cmake .
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
 -DMYSQL_DATADIR=/usr/local/mysql/data
 -DDEFAULT_CHARSET=utf8
 -DDEFAULT_COLLATION=utf8_general_ci
 -DEXTRA_CHARSETS=all
 -DENABLED_LOCAL_INFILE=1
#make
#make install

《安装配置JDK》
tar zxvf jdk1.6.0_25.tar.gz -C /export/servers/
vi /etc/profile
添加如下:
export JAVA_HOME=/export/servers/jdk1.6.0_25
export JAVA_BIN=/export/servers/jdk1.6.0_25/bin
export PATH=\$PATH:\$JAVA_HOME/bin
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
export JAVA_OPTS="-Djava.library.path=/usr/local/lib -server -Xms1024m -Xmx2048m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dsun.net.client.defaultReadTimeout=60000 -Djmagick.systemclassloader=no -Dnetworkaddress.cache.ttl=300 -Dsun.net.inetaddr.ttl=300"
export JAVA_HOME JAVA_BIN PATH CLASSPATH JAVA_OPTS

《杀所有进程》
ps -ef | grep $1 |grep -v grep |awk ‘{print $2}‘|xargs kill -9

《卸载openjdk》
先查看
rpm -qa | grep java 
卸载:
rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64
rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
强制卸裁:
 rpm -qa | grep 软件名| while read line; do rpm -e --allmatches --nodeps $line; done
软链接:
ln -s /export/servers/jdk1.6.0_25/bin/jar /usr/bin/jar
ln -s /export/servers/jdk1.6.0_25/bin/javac /usr/bin/javac
source /etc/profile
查看:
java -version