linux常用命令及java技术资源

ubuntu常用linux命令及java技术资源:
一 Linux
软链接:ln -s source_dir dist_image_file
硬链接:ln source  distination_image_file
挂载(文件,设备):sudo mount --bind source_file distination_dir
缷载: sudo umout dist
打包:
tar czpvf test.tar *
tar czpvf test.tgz test/
tar -xvf test.tgz

给当前用户添加目录权限:
sudo chown -R $(whoami) /usr/local

查看cpu信息:     cat /proc/cpuinfo
查看linux版本:   cat /proc/version
查看cpu使用数据:  cat /proc/stat
查看内存数据:     cat /proc/meminfo
查看网络数据:     cat /proc/net/dev
查看进程在内存使用:cat /proc/进程号/status
查看某个目录大小:du -sh
杳看所有目录大小:du -smh *
查看磁盘使用情况:df -h
查看机器名:hostname

批量查找并删除文件:find -mtime +30 -name "service_log#P*" -exec rm -f {} \;

统计文件多少行:  wc -l
显示文件前面几行:head -5 文件名
显示文件后面几行:tail -5 文件名
排序文件的所有行:sort 文件名

在文件中查找是否存在该字符串的文件:find . -type f |xargs grep "字符串"
查找字符000.com在文件中第几行:
方法一:sed -n '/000.com/{=;q;}' filename
方法二:grep -n "000.com"  filename

find . -type f |xargs grep "HADOOP_HOME"          查询hadoop的环境变量
date '+%s'  shell获取当前时间秒数


查看字符串在文件中匹配的整个行:grep -i "字符串" 文件名
查看字符串在文件中匹配的次数:  grep -c "字符串" 文件名

匹配行的前后5行:grep -5 'parttern' inputfile
匹配行的前后5行:grep -C 5 'parttern' inputfile
匹配行的后5行:grep -A 5 'parttern' inputfile
匹配行的前5行:grep -B 5 'parttern' inputfile

vi编辑:
shift + G   结尾
:/          跳到文件头
/字符串      从前向后查字符串,按n下一个
?字符串      从后向前查字符串

修改用户登录原稿:
  用cd到自己目录,输入vi .bashrc,最后一行加入export EDITOR=vim,保存退出,crtrl+D退出,重进系统,输入source .bashrc立即生效。

获取域名内容:
wget www.baidu.com
curl www.baidu.com

ssh命令:
ssh -p端口 [email protected]

chown修改属性给其它组用户使用
chown -R 账号:组  目录
例如:sudo chown root:root -R zy_data/


scp命令:
将本地目录conf传到远程:
scp -r conf [email protected]:/home/test
将远程test.jar文件传到本地当前目录:
scp -P端口 [email protected]:/home/test.jar .

svn命令:
svn co svn://[email protected]/opt/svnroot/A/trunk
svn up svn://[email protected]/opt/svnroot/A/trunk

启动mysql:
/etc/init.d/mysql start

使用nohup将一个进程放入后台:
nohup java -Xms512m -Xmx512m -classpath ./:/home/zy/workspace/test1.jar:/home/zy/test2.jar com.Test > /home/zy/test.log &

将一个进程放入hadoop平台运行:
HADOOP_CLASSPATH=./:/opt/test1.jar:/opt/test2.jar /opt/cloudera/hadoop/bin/hadoop com.Test >> /opt/log/test.log

查看tomcat并发连接:
netstat -na | grep ESTAB | grep 8080 | wc -l

导出或导入mysql数据时的命令:
mysqldump -h172.0.8.1 -uroot -p123456 -P5606 test_db table > /home/zy/backup_table1.sql
mysqldump -h172.0.8.1 -uroot -p123456 test_db < backup_table1.sql
mysql -uroot -p123456 -h172.0.8.1  -P5606 -Dtest_db -e"select id from table1" > /home/zy/test.txt

二 Database
查看mysql连接:
show processlist;
kill query 进程号
show variables;

三 Hadoop
1 hadoop datanode起不来错误解决方法
查看日志:ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in ....
解决方法:移除 datanode 的所有資料
节点1: rm -rf /$HDFS/user/hadoop/data
节点2: rm -rf /$HDFS/user/hadoop/data
节点3: rm -rf /$HDFS/user/hadoop/data
bin/hadoop namenode -format
bin/start-all.sh
即可

离开安全模式方法:
bin/hadoop dfsadmin -safemode leave
bin/hadoop namenode -format
hadoop fs -rmr /hypertable

2 杀掉jobid及hadoop命令
/opt/cloudera/hadoop/bin/hadoop job -list
/opt/cloudera/hadoop/bin/hadoop job -kill jobId

/opt/cloudera/hadoop/bin/hadoop fs -mkdir /test
/opt/cloudera/hadoop/bin/hadoop fs -mv /test1  /test
/opt/cloudera/hadoop/bin/hadoop fs -rmr /test

3 hadoop dfs出现警告时,丢失的块如果重启后不能恢复可用以下命令删除。
一定需要将你的secondnamenode及namenode分开在不同两台机器运行,增加namenode的容错性。以便在集群崩溃时可以从secondnamenode恢复数据.
1) 从secondnamenode恢复
使用命令: hadoop namenode -importCheckpoin
2) 强制退出safemode
hadoop dfsadmin -safemode leave
3) hadoop fsck --delete 

四 java技术资源:
开源论坛:apache.org,sourceforge.net,open-open.com,oschina.net
开源框架:Mina,Netty,sphinx,yEd Graph Editor,openproj,planner project management,SendEmail-v1.56,hadoop,nutch,web harvest,solr,htmlparser,jsoup,jericho,nekohtml,redmine,tika
编辑工具:sublime text

猜你喜欢

转载自zhangyi0618.iteye.com/blog/1591532