Linux

  linux下安装apache-tomcat-6.0.26.tar.gz
1. 命令
unzip pdi-ce-4.2.1-stable.zip
gzip -d apache-tomcat-6.0.26.tar.gz
tar xvf apache-tomcat-6.0.26.tar
2.设置jdk
vi /etc/profile
在文件最下增加
# java home
JAVA_HOME=/root/jdk1.6.0_19
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export JAVA_HOME CLASSPATH PATH
然后保存 esc ZZ
3.source /etc/profile 命令使设置生效
4.echo $JAVA_HOME 可以看到输出
5../bin/startup.sh tomcat就起动了

shell脚本
1.参数传递与获取
  if [ $# -ne 2 ];then
        echo "Usage: $0 <dir>(./cn) <input> (./habit_cn.log)"
        exit
  fi
  dir=${1%/}
  input=$2

远程拷贝命令
scp conf/* datanode-1:/home/hadoop/java/hadoop-0.20.2/conf/

ubuntu切换root用户命令
sudo -s
sudo nautilus 是打开root权限的图形界面

改变ubuntu的ip地址为固定地址
1.打开网络连接
2.编辑eth0
3.ipv4设置,
4.添加ip地址,掩码,与host
5.重启系统
 
  ubuntu 系统中host的修改
1.sudo gedit /etc/hosts
2.添加 ip地址与域名的映射,然后保存
3.sudo /etc/init.d/networking restart 重新启动网卡
 
  查看当前目录的文件大小
1.sudo du -sch 查看当前目录下的大小。
2.sudo su -ch 查看当前目录下的子目录的大小
3.sudo df 查看硬盘的信息
 
  用户管理
1.useradd hadoop 添加一个hadoop用户
2.passwd hadoop 改变hadoop用户的密码
3.chown -r hadoop /disk3 改变/disk3 目录的所有者为 hadoop,
4.usermod -G wheel hadoop 将hadoop加入到wheel(一般为root)组
5.su root 转换为root用户,或者是su -
6.sudo vi /etc/profile 以root权限执行 vi /etc/profile命令
7.finger hadoop可以查看hadoop用户或者hadoop组下的用户的详细信息.
8.cat /etc/shadow 可以查看所有的用户的列表.
 
  linux中的grep 正则表达式
1. grep -E '/mx2/inst/[0-9a-f]{12}/' * | grep -Ec 'pn=[^0-9a-zA-Z]{1}' 为使用linux的grep方法来查找pn后最少有一个值,且那个字符不在0-9a-Z范围内
2. -E 表明表达式是正则的,表达式的语法与java一致
3. -v 表达结果不包含表达式的内容 -v 'pn='表示求结果中没有字符pn=的结果
 
 
 
  Ubuntu 环境下无法连接本机的ssh端口
sudo apt-get install openssh-server
Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。
然后确认sshserver是否启动了:
ps -e |grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:
sudo /etc/init.d/ssh resar

ssh连接:ssh [email protected]
-------------------------------------------------
1. 首先在服务器上安装ssh的服务器端。
$ sudo aptitude install openssh-server

2. 启动ssh-server。
$ /etc/init.d/ssh restart

3. 确认ssh-server已经正常工作。
$ netstat -tlp
tcp6 0 0 *:ssh *:* LISTEN -
看到上面这一行输出说明ssh-server已经在运行了。

4. 在客户端通过ssh登录服务器。假设服务器的IP地址是192.168.0.103,登录的用户名是hyx。
$ ssh -l hyx 192.168.0.103
接下来会提示输入密码,然后就能成功登录到服务器上了
 
  在MV Ware虚拟机上以桥接的方式给虚拟机分配ip地址,使得其它主机可以通过局域网访问该虚拟机
1. VM Ware 的 NEtwork Adapter 选项中选择 Bridged 和 Replicate physical network connection state
2. 给虚拟机手动分配一个局域网ip地址,例如192.168.1.166
3. 在其它主机上通过ping 192.168.1.166 能拼通就可以了.

  linux 下调试shell脚本的命令
bash -x *.sh
 
  linux下两台服务器之间拷贝数据
1.接收端:
nc -l 1234 > test.txt
2.发送端:
nc 192.168.0.161 1234 < test.txt

  liunx下查看tcp 连接状态
1. netstat -ant | grep ':80' | awk '{count[$6]++} END {for (name in count) print name,count[name]}'
2. netstat -ant | grep -c ":80"

  linux 下同步时间
1. ntpdate 60.28.0.10

  linux 下硬盘容量管理
1. df -h 查看目录所在的硬盘信息
2. ln -s /data/disk3/ ./ 将/data/disk3/ 目录创建一个软链接在当前目录下,这样当前目录的disk3指向/data/disk3/

  linux shell脚本中应该注意的:
1. 在windows 下编辑shell脚本时,默认的换行可能不是unix类型,会抛syntax error near unexpected token异常,将文件换行格式转化为UNIX格式.就可以了.
2. shell中与其它命令的交互,
hive <<  !exithive
  $LOAD_STR
  exit;
!exithive 其中!exithive一定要顶格写,之前不能有空格.不然报syntax error: unexpected end of file.

  linux crontab
1. 39 */1 * * * hadoop 每小时第39分,以hadoop用户运行
2. tail -f /var/log/cron 查看crontab的运行日志
3. crontab中设置的shell文件执行的命令查找范围是crontab中的PATH=..,所以在shell中执行时有可能命令找不到,在crontab的PATH中加入运行的命令就可以了.

  nohup 2011.04.12
1. nohup ./funambol_test.sh > funambol.log &
2. tail -f -n 300 funambol.log
3. # vim /etc/security/limits.conf
  *                soft    nofile          4096
  *                hard    nofile          4096
  # exit
  # ulimit -a

2011.04.13

1. 删除文件 find ./ -name '\.svn' -exec rm -rf {} \;

2011.04.14

1. 查看占用磁盘空间 du -sh
2. truncate file # :> filename
3. yum list | grep pcre
4. yum install -y modulename
2011.04.27
1.因为防火墙的原因,使得resin启动后不能访问.
/etc/init.d/iptables stop

2011.07.22
1. 查看linux下的java进程及线程
ps -eLf | grep java
2. telnet
telnet 192.168.0.150 9093
ctrl+] 退出输入,quit关闭.

2011.08.11
1.创建连接文件 ln -s /data/disk3/ /disk3
2.修改linux打开文件数限制
修改最大打开连接数
vim /etc/security/limits.conf
*                soft    nofile          4096
*                hard    nofile          4096

退出后用 ulimit -a查看状态

2011.08.31
1. cat /etc/group 查看所有组的信息,及那些用户属于这个组.cat /etc/group | grep cloud
2. usermod -G {grouplist} {username} 将user归属到grop 组里,如果用户当前所在的组没有在grouplist列表中,那么用户将不会在当前组.
3. cloud:x:504:duming,likailiang,cloud 说明用户duming,cloud在cloud组里.

2011.11.11
1.jps -l 可以查看java进程main 类及进程id.

2011.11.17
1. 停止9090端口接收外来的数据,
iptables -A INPUT -p tcp --dport 9090 -j DROP
2. 开启端口
iptables -D INPUT 1

2011.12.06
1. 解压 war jar -xvf game.war
2. rpm -ivh jdk-7u1-linux-x64.rpm

2012.01.11
1. linux 下svn
  svn co svn://source.pentaho.org/svnroot/pentaho-commons/apache-hive/trunk trunk

2012.02.29
  ipconfig/flushdns
  nslookup -d3 **.***.maxthon.cn **ns1.maxthon.cn

2012.05.25
  1. maven 打包
  mvn -DskipTests=true package
2012.07.05
  1. 查看文件行记录数:
    wc -l sp3_en.2012070*.192.168.0.14*.txt
2012.10.26 date格式
  1. date -d"1 day ago" +%Y%m%d
     20121025
2013.03.29 目录下文件太多时, 直接用rm -rf 提示Argument list too long时,
  1. find ./ -name '201301*' | xargs rm -rf

你可能感兴趣的:(hadoop,linux,正则表达式,ubuntu,ssh)