Linux参考手册
shell awk sed

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安装配置

  1. 下载jdk和tomcat
  2. 安装jdkrpm -ivh jdk-[version].rpm
  3. 配置环境变量
    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编程笔记

  1. 读取文件的指定行的指定字段
    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的行的记录
  2. 将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

Jian Wang /
« 相似度计算共识 JDBC连接池的并发设计 »