背景:作为一名技术人员,我们在开发过程中经常会接触到服务器(通俗解释为:发布服务的机器)

java世界里大部分服务器为linux服务,下面介绍下linux操作系统中开发人员常用的linux知识。

1.查询日志命令

1. 通常查找出错误日志 cat logs/error.log | grep 'nick' , 这时候我们还有个需求就是输出当前这个日志的前后几行:

cat catalina.out | grep -C 5 '订单支付' 显示file文件里匹配foo字串那行以及上下5行
cat catalina.out | grep -B 5 '取消订单' 显示"取消订单"及前5行 
cat catalina.out | grep -A 5 'buyInfo' 显示foo及后5行

2.find命令

find -name april* 在当前目录下查找以april开始的文件
find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中
find -name ap* -o -name may* 查找以ap或may开头的文件
find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件
find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件
find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件
find /home -mtime -2 在/home下查最近两天内改动过的文件
find /home -atime -1 查1天之内被存取过的文件
find /home -mmin +60 在/home下查60分钟前改动过的文件
find /home -amin +30 查最近30分钟前被存取过的文件
find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录
find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录
find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录
find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录

3.rm删除命令

复制代码
rm -rf /usr/local/java/hello.java

详解:
 -d或--directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。
 -f或--force  强制删除文件或目录。
 -i或--interactive  删除既有文件或目录之前先询问用户。
 -r或-R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
 -v或--verbose  显示指令执行过程。
复制代码

4.tar命令

复制代码
目录打包,元目录为/usr/local/james/
tar -C /usr/local/ -czvf /usr/local/james.tar james/*

tar -C /usr/local/src/ -czvf /usr/local/src/jamessrc.tar james/*

解压成目录
tar zxvf /home/dmsmagazine/james.tar -C /usr/local

tar zxvf /home/dmsmagazine/jamessrc.tar -C /usr/local/src
复制代码

5.cp复制命令

cp -R /usr/local/tomcat/online ../backup/online20130109

6.scp远程复制

复制代码
#ssh-keygen -t rsa
结果如下

QUOTE:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):#回车
Enter passphrase (empty for no passphrase):#回车
Enter same passphrase again:#回车
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost
Generating RSA keys:
Key generation complete.

会在用户目录/home/username/.ssh/产生两个文件,id_rsa,id_rsa.pub

把linux100主机上的id_rsa.pub文件拷贝到linux200主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys

设置文件和目录权限:
 
设置authorized_keys权限
 $ chmod 600 authorized_keys 
设置.ssh目录权限
 $ chmod 700 -R .ssh

要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效


这样在linux100主机上使用scp命令复制文件到linux200上将不提示输入密码了,直接复制了

--------------------------------------------------------------------------------------------
如果两台主机(A、B)同时要拷贝文件到同一台主机(C)上
先按上述方法操作一台主机(A)
然后再将另一台主机(B)的id_rsa.pub不要改名,拷贝到主机(C)上
再执行以下命令,将主机(B)的id_rsa.pub添加到authorized_keys中
cat id_rsa.pub >> authorized_keys

6.上传下载

linux中上传下载可以使用winSCP工具,也可以使用rz,sz工具

安装
yum -y install lrzsz 

rz 上传
sz 下载

 

posted on 2013-01-06 15:29  程序那些事  阅读(265)  评论(0编辑  收藏  举报
http://www.cnblogs.com/weiguo21/p/5191887.html