背景:作为一名技术人员,我们在开发过程中经常会接触到服务器(通俗解释为:发布服务的机器)
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 下载