大型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