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