一般大型J2EE应用都在建构在linux环境下的。开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试。但是最后的发布还是要到linux环境,同时我们对网上web服务器和数据库服务器的应用管理(比如自动脚本发布等),应用监控(web服务是否正常、mysql数据库的使用情况)、系统监控(监控磁盘空间的使用情况等)都要求程序员熟悉必要的linux知识。
当然程序员不必对整个linux系统样样精通。下面根据本人开发的经验,列出程序员基本需要掌握的linux知识。
一、linux的基本命令
1、用户管理
userdel
删除用户帐号
useradd
增加用户账号
su
改变当前用户的ID
2、文件目录管理
ls
浏览目录,查看当前目录下的文件和文件名
chmod
修改文件权限
chown
改变文件所有者
cp
复制文件
cd
改变当前目录
mv
重命名文件或移动文件
rm
删除文件或者目录
pwd
当前目录
scp
远程拷贝
alias
别名
3、其他命令
ln
在文件之间建立链接
tail
输出文件内容后面的部分,一般我们会通过tail -f 实时查看当前程序打印的日志。
type
查看一个命令所在路径
wc
查看行数
grep
在文件内容中查找
find
查找文件
date
查看日期
crontab
制定计划任务,通常用于系统监控。
df
查看磁盘剩余空间,你最好在crontab中写个脚本监控磁盘的空间。超过90%就给相关的人员发email。
ps
查看进程状态
top
查看CPU的使用率
kill
终止进程
killall
java程序员最喜欢用killall -9 java吧
w
查看登录用户和他们正在做什么,也可以看看系统的load。load太高,就该找找原因了。
who
查看当前用户的便当情况
tar
解压或压缩文件
echo
控制台输出
wget
http访问
rpm
rpm包管理
4、重定向、管道
5、标准输出、标准错误
6、使用\屏蔽一个特殊字符的含义
7、正则表达式
二、熟练掌握vim编辑器。
三、liunx环境下shell脚本、perl脚本的编写
为了对网上服务器应用进行管理,通常需要编写一些脚本。
脚本的编写重点掌握下面几点:
1、理解双引号、单引号、反引号的含义。
2、反斜线的使用。
3、shell脚本赋值语句左边的变量名不要加上$,常写perl脚本的常犯此错误。
4、字符串比较长,含有空格的时候,作为一个参数时脚本出错,用双引号把字符串括起来。
5、掌握好awk和sed的用法。
四、基本软件包的安装
apache、resin、mysql
一般的步骤就是:
configure
make
make install