java程序员要学习一些linux知识
java程序员要学习一些linux知识,下面就是您要学的命令:大型J2EE应用都在建构在linux环境下的。开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试。但是最后的发布还是要到linux环境,同时我们对网上web服务器和数据库服务器的应用治理(比如自动脚本发布等),应用监控(web服务是否正常、mysql数据库的使用情况)、系统监控(监控磁盘空间的使用情况等)都要求程序员熟悉必要的linux知识。
当然程序员不必对整个linux系统样样精通。下面列出程序员基本需要把握的linux知识。
一、linux的基本命令
1、用户治理
userdel 删除用户帐号
useradd 增加用户账号
2、文件目录治理
ls -ldh:显示的是目录本身作为一个文件所占据的磁盘空间大小
du -sh:则递归累积了目录里面所包含的所有文件所占据的总的磁盘空间的大小
所以后者具有实际意义,前者一般没啥用
chmod 修改文件权限
chown 改变文件所有者
scp 远程拷贝
alias 别名
3、其他命令
建立链接是ln 不是In ln -s 源文件 目标文件 软链接 ln 源文件 目标文件 硬链接 sz -be 二进制文件sz -a 文本文件type 查看一个命令所在路径
date 查看日期
crontab 制定计划任务,通常用于系统监控。
df 查看磁盘剩余空间,你最好在crontab中写个脚本监控磁盘的空间。超过90%就给相关的人员发email。
killall java程序员最喜欢用killall -9 java吧
tar 解压或压缩文件
echo 控制台输出
linux查看md5 md5sum window 查看md5 certutil -hashfile yourfilename.ext MD5 windows下查看nginx进程:tasklist /fi "imagename eq nginx.exe" who -b(boot) 最近一次系统启动时间二、liunx环境下shell脚本、perl脚本的编写
为了对网上服务器应用进行治理,通常需要编写一些脚本。
脚本的编写重点把握下面几点:
1、理解双引号、单引号、反引号的含义。
2、反斜线的使用。
3、shell脚本赋值语句左边的变量名不要加上$,常写perl脚本的常犯此错误。
4、字符串比较长,含有空格的时候,作为一个参数时脚本出错,用双引号把字符串括起来。
5、把握好awk和sed的用法。
常用监控LINUX的命令
-----------------------
ps -auxwww 参数w表示加宽显示的命令行
vmstat:显示当前的内存使用情况
netstat:显示网络状况,使用参数p可以查看对应的进程号及程序名
netstat -anp 通常使用参数a(显示所有连接情况)和n(不反查域名和服务名)
netstat -an | grep LISTEN 查看服务器侦听情况
netstat -an | grep ESTABLISHED 查看服务器已建立的连接
last:显示登录到服务器的情况以及服务器重启情况
df:显示硬盘空间及使用情况,Linux下可以带参数h,显示结果更人性化。
df -h 硬盘空间按人性化显示
df -k 硬盘空间按KB显示
df -m 硬盘空间按MB显示
w:显示登录到服务器上的用户列表
以下几个命令仅针对Linux
lsof:显示当前打开的文件列表,包括建立的socket连接等。本命令可以用于程序员检查编写的程序打开的文件数
sysctl:显示(或设置)系统内核参数
sysctl -a 显示所有内核参数
sysctl -w 参数名=参数值
ulimit :显示(或设置)用户可以使用的资源限制
输出信息简介
Procs r: 等待运行的进程数
b: 处在非中断睡眠状态的进程数
w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间
Memory
swpd: 虚拟内存使用情况,单位:KB
free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KB
Swap
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒
IO
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒
System
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数
CPU 按 CPU 的总使用百分比来显示
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间
-----------------------