1. 常用命令
- 查看系统信息
cat /proc/version
uname -a
cat /etc/issue
top#查看CPU和内存使用情况
free#仅查看内存使用情况 - 进程相关
ps -ef | grep java
ps -aux | grep java#显示所有java的进程
kill -9 pid#-9表示强制退出 - 创建ssh密钥
ssh-keygen -t rsa - find命令
find [path] -name [name]#在path路径下查找名字为name的文件 - source命令
source filename [arguments]#使刚修改的初始化文件立即生效,而不必注销并重新登录 - which命令
which [-as] program ...#在环境变量$PATH设置的目录里查找符合条件的文件 - wget命令
wget ftp://host/src/ [--user username] [--password yourpassword]#获取ftp站点的文件夹
2. 系统服务管理
chkconfig --list #查看服务在每个级别上的运行状态
chkconfig --level 345 vsftpd off #将vsftpd服务在345这个级别关闭
/etc/init.d 这个目录存放着系统中各种服务(sshd, samba, ftpd, mysql, apache2, networking…)的脚本文件。这些脚本至少提供了start/stop命令, 通过/etc/init.d/sshd start|stop|restart可以对这些服务进行相应的操作.Reference
service sshd start与/etc/init.d/sshd start具有完全相同的效果, service SCRIPT会调用/etc/init.d/SCRIPT的脚本。
service -s|--status-all runs all init scripts locateds in /etc/init.d/, in alphabetic order, with the status command.
2.1. ftp配置与管理
which vsftpd #查看是否安装了vsftpd
/etc/vsftpd/vsftpd.conf #配置文件目录
local_enable=YES #取消该行注解, 启用本地用户登录
write_enable=YES #取消该行注解, 允许用户上传文件; 若未启用, 在上传文件时会出现: ERROR 550: permission denied
/etc/init.d/vsftpd status|start|stop|restart #服务状态/开启/停止/重启
service vsftpd status|start|stop|restart #服务状态/开启/停止/重启
2.2. VNC配置与管理
- VNC基本命令
vncserver :1#启动端口为1的vnc服务
vncserver -kill :1#关闭端口1的vnc服务(kill后面有空格)
vncpasswd#修改当前用户的vnc登录密码 - 修改VNC默认设置
sudo chmod 755 /etc/X11/xinit/xinitrc#使文件/etc/X11/xinit/xinitrc成为可执行文件vim ~.vnc/xstartup#修改vnc的配置文件, 修改后如下#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title “$VNCDESKTOP Desktop” &
#x-window-manager &
2.3. MySQL配置与管理
OSX Mysql Sever command
mysql.server start
mysql.server stop
参考资料: MySQL 远程连接配置的正确实现
mysql> CREATE USER user_name IDENTIFIED BY "your_password"; #创建用户
mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'your paaaword'; #用户授权
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO test1@"%" IDENTIFIED BY "your_password"; #用户授权
mysqladmin -u root password 'new-password' #修改用户密码
mysql> SET PASSWORD FOR username@"%" = PASSWORD('password'); #修改用户密码
mysql> GRANT USAGE ON *.* TO username@"%" IDENTIFIED BY 'password'; #修改用户密码
2.4. Ubuntu安装Oracle JDK
http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
2.5. JDK和tomcat安装配置
- 下载jdk和tomcat
- 安装jdk
rpm -ivh jdk-[version].rpm - 配置环境变量
vim /etc/profile#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_25
CLASSPATH=.:$JAVA_HOME/lib
PATH=.:$PATH:$JAVA_HOME/bin
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME
source /etc/profile
2.6. 防火墙管理
/etc/sysconfig/iptables #配置文件目录
/etc/init.d/iptables status|start|stop|restart
service iptables status|start|stop|restart
iptables -L #查看规则是否生效
2.7. 设置系统启动模式
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" #图形界面
GRUB_CMDLINE_LINUX_DEFAULT="text" #文本界面
sudo update-grub #修改后执行更新, 否则重启仍是原模式
3. Shell脚本编程
3.1. Awk编程笔记
- 读取文件的指定行的指定字段
awk 'NR==n {print $k}' path/filename
n,k正整数,分别表示记录的行号和字段号。若要用变量表示行号,则需要用单引号将变量引起来
awk 'NR==5,NR=8 {print $0}' path/filename
打印第5行和第8行的记录
awk 'NR%10==5 {print $0}' path/filename
打印行号除以10后余数为5的行的记录 - 将awk命令的输出传递给其它变量
text=${awk '{print $0}' path/filename}
3.2. Sed编程笔记
参考资料
4. Bash
4.1 bash_profile VS. bashrc
http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
4.2 color setting of bash
http://it.toolbox.com/blogs/lim/how-to-fix-colors-on-mac-osx-terminal-37214
5. SSH
http://blog.csdn.net/wangjunjun2008/article/details/20037101 ssh 无密码登录
authorized_keys chmod 700 .ssh chmod 600 authorized_keys
6. VPN
http://www.vpser.net/manage/linode-vps-pptp-vpn-howto.html http://blog.atime.me/note/pptpd.html