打开控制台
  ctrl+alt+F1~F6(在vmware下,由于ctrl+alt为鼠标解锁键,需要按shift+ctrl+alt+F1~F6)
返回图形界面
  alt+F7
快速logout
  图形界面ctrl+Alt+Backspace
  控制台  Ctrl+d
回到当前用户的主目录(home)
  cd  (默认情况下cd会采用目录~)
  cd ~ (~代表当前用户的主目录,可灵活应用,如 mv ~/webpage.html ., 移动住目录的webpage.html刀当前目录)
  cd $HOME
后退一层目录
  cd ..
回到上次的工作目录
  cd -
一次创建多层次目录
  mkdir -p dir1/dir2/dir3
一行包含多个命令
  用封号分隔开:  mkdir 1; mkdir 2
删除空目录
  rmdir
删除非空目录
  rmdir -r
删除非空目录并取消确认
  rmdir -rf
包含子目录列出文件
  ls -R
包含以.开头的隐含文件
  ls -a
只列出目录
 ls   -d   */
统计目录数
 ls   -d   */ |wc -l
改变文件的拥有者
  chown new_owner filename
改变文件的组拥有者
  chgrp new_group filename, 新组必须是当前发命令的用户所在的组之一
改变文件的操作权限
  chmod 777 filename
  chmod <a|u|g|o> <+|-=> <rwx(权限字符串)> filename
  r=4,  w=2, x=1, 文件权限的八进制计数法,通常称为文件的模式
新文件默认权限
  可执行文件 755  rwx r-x r-x
  一般文件   644  rw- r-- r--
权限屏蔽字
  umask <八进制权限屏蔽字>, umask是不要的权限的集合
  redhat 默认 022
  对可执行文件 .not. <八进制权限屏蔽字>
  对非可执行文件 666.and. .not <八进制权限屏蔽字>
修改控制台的分辨率
  1、vi /boot/grub/menu.lst;
  2、find the line like this:
       kernel /boot/vmlinuz-2.6.8-2-686 root=/dev/hda1 ro
  3、add "vga= ***" after "hda1","***"can be replaced by the number like the following table:
  ##################################################################
  color 640x480 800x600 1024x768 1280x1024
  256   769     771     773      775
  32000 784     787     790      793
  65000 785     788     791      794
  16.4M 786     789     792      795
常见目录
        /bin:存储用户常用指令
        /boot:存储核心、模块映像等启动用文件
        /dev:存储设备文件
        /etc:存储系统服务的配置目录与文件。像注册表
        /home:用户主目录
        /lib:存放库文件,像核心模块,驱动
        /lost+found:存储fsck用的孤儿文件或丢失文件。
        /mnt:系统加载文件系统时常用挂载点
        /opt:第三方工具使用的安装目录
        /proc:虚拟文件系统,包含系统信息等资料
        /root:root用户的主目录
        /sbin:存储系统管理用指令
        /tmp:临时文件暂存点
        /usr:存放于用户直接相关的文件与目录
        /var:存储在系统运行中可能会更改的数据
查询文件并过滤权限错误信息
  find / -name filename -xdev 2>/dev/null
  这里的2>dev/null 是把permission denied 错误信息过滤到空输出/dev/null
  -xdev是不要搜索其他文件系统,如软驱等
查找文件并执行命令
  find /etc -size +200K -exec cp {} /tmp/big \; 2>dev/null
  这里 -exec执行命令, {}代表find返回的结果, 命令以;结束,由于;对bash来说是命令分隔符,所以加逃逸符号\
more及|
  more是翻屏暂停命令, |是管道符
  space翻一屏, enter一行
  q,ctrl-c退出
less
  less是more增强版,支持page-up,page-down,home,end
  q退出
  less -N 带行号显示
diff与cmp
  diff以行为单位比较文本,把有差异的行显示出来
  cmp以字符为单位比较文本, -l可显示出不同的内容
“Tab”键
  1. 只需输入文件或目录名的前几个字符, 然后按TAB键,如无相重的,完整的文件名立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字. 
 
 2. 在命令行下,只需输入例如"m",再连续按两次TAB键,系统将列出所有以"m"开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用.例如输入"ftp",将查到ftp,ftpcount,ftpwho,ftpshut等本不熟悉的命令.                                                          
鼠标拷贝与粘贴
  Linux系统安装后,每次启动到字符界面时都会自动运行一个叫“gpm”的程序,该程序运行后就可以用鼠标来拷贝与粘贴了。具体做法是按住鼠标左键拖动使要拷贝的地方突出显示,这时突出显示的区域已经被拷贝,再按鼠标左键拷贝的内容就会被粘贴在光标所在位置了。如果我们在Xwindow下运行Linux系统,拷贝与粘贴的操作与在Windows 9x系统下一样。
提示符
  root用户为#, 其他用户为$
删除用户 
  userdel -r username
  -r 参数表示删除用户的工作目录 
查看用户资料 
  finger username
查看环境变量
  set
  env
查看某个环境变量
  echo $xxxx
调试Shell文件
  在shell文件中加入set -v, 后面的命令执行前会在屏幕上先显示出来; set -x 后面的命令会在进行定位参量替换后显示出来。
杀掉进程
  kill pid
  无条件杀掉进程 kill -9 pid
  结束所有后台进程 kill 0
命令运行不受父进程(如 shell)状态影响
  nohup <命令>
后台执行命令
  <命令> &
指定优先级运行命令 
  nice <优先级> <命令>
定时运行
  at <时间>
  命令
  ctrl+d
  或 
  at <时间> -f <shell 文件>
查看定时的任务
  at -l
  atq
删除定时的任务
  at -r <任务号>
系统负载轻时运行
  batch 
周期性运行命令
  编辑/usr/spool/cron/crontabs/crontab
查看内部命令的帮助
  help cd
> 把输出重定向并覆盖
>>把输出从定向并追加
查找命令的位置
  which mv
XWindows下开虚拟终端
 右键单击桌面-->Open terminal
echo--把键盘输入重定向到标准输出
tail 显示文件的最后几行
  tail -n 20, filenam 显示最后20行
  tail -f filename 显示默认的最后10行,并保持文件打开状态,多用于监视不断更新的系统日志
确定用户的成员身份信息
  id username
转换用户身份
  su username
  su - username 使用新用户的shell来转换身份
sudo
  sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现
转换主要组
  newgrp (或sg)
查看当前登录的所有用户
  users
查看自己所属的所有组
  groups
增加用户
  useradd, adduser
 
增加组
  groupadd
修改用户命令
  usermod ,可以通过usermod 来修改登录名、用户的家目录等等
chmod, chgrp, chown都有 -R来实现目录递归
硬连接
  ln source target, 2个dentry 指向同一个inode再指向data
软(符号)连接
  ln -s source target, 2个dentry指向2个inode, 连接的data指向源的文件名,OS使用时由data解析出源文件名并使用。
Linux不允许同一目录下文件和子目录同名
gzip
  -c 输出重定向到标准输出
  -d 解压
  -r 对目录进行递归,将里面的文件进行
分别压缩
  -1..9 压缩级别, 9的压缩率最高
tar
  -c 创建归档文件
  -x 释放归档文件
  -t --list 列出归档文件内容
  -C 进入某目录
  -P 不剥离起始路径的/
  -v 列出正在处理的文件
  -z 使用gzip压缩/解压
  -j --bzip2 使用bzip2压缩/解压
  *注*由于tar的第一个选项必须有,因此可以不使用连字符'-',例如:
  tar tf /tmp/mytar.tgz
图形化的归档管理程序
  file-roller  
防火墙设置
  lokkit --disabled --enabled
Esc+. 和 Alt+.
  粘贴上一个命令行命令的参数到当前位置, 例如:
  mkdir bin
  chmod 700 alt+.
  cd ESC+.
():用于生成一个子shell来执行括弧中的命令,然后退出子shell,例如:
  (cd /etc/sysconfig;ls)相当于
  bash
  cd /etc/sysconfig;ls
  exit
bash的只读变量
  ?         最新执行的命令的退出状态
  -          当前启用中的shell选项标记
  $          当前shell的进程id
  !          最新后台命令的进程id
  _          前一个命令的最后标记
  PPID       shell父进程的id
  SHELLOPTS  被毛好隔开的当前启用中的shel选项列表,和set -o命令结果一样
  UID        当前用户的id
bash预赋值的变量
  BASH_VERSION  当前bash的版本
  HOSTNAME      当前机器的dns主机名
  OLDPWD        上一次工作目录
  PWD           当前工作目录
  RANDOM        介于0到32767的随机数
  SECONDS       自shell启动以来的秒数
bash shell转义
  \  避免下个字符被shell转义
  "..." 双引号,避免$,!,`(反引号)外的字符被转义
  '...' 单引号,避免所有字符被转义
"."  "." 点, 单独作为一个字出现时是 source的同义词, 非单独出现时表示当前目录
sysctl -p     Load in sysctl settings from the file specified or /etc/sysctl.conf if none given.
超级终端terminal的快捷键
  Ctrl-Shift-t // 新建一个terminal TAB
  Ctrl-Shift-w // 关闭TAB窗口
  Ctrl-PgUp/PgDn // TAB切换
  Alt-"N"  // N->1,2,3,4,5... TAB之间的切换
  Ctrl-Shift-c/v // 在Terminal中复制、粘贴
配置启动的服务
  setup-->service(文本图形界面)、ntsysv(文本图形界面)、chkconfig xxxx on|off、Applications-->System Settings-->Server Settings-->Services
查询某安装包是否安装
  rpm -qa | grep xxxxx
启动或停止某服务
service xxxx start|stop
SCP的使用
  设有两机,均为局域网,两机可相互通信无问题,中间无防火墙。两机IP分别为:A:192.168.1.240 B:192.168.1.102。假设A,B机的SSH都允许root登录,假设要把 A上的 /root/abc.zip 传到 B机并放到/abc目录,可以在A机上用命令
    scp  /root/abc.zip  root@192.168.1.102:/abc/
  若SSH端口不是默认的22,比如,是端口1234 则加-P参数:
    scp  -P 1234 /root/abc.zip  root@192.168.1.102:/abc/
  也可以在B机上用命令:
    scp  root@192.168.1.240:/root/abc.zip  /abc/ 
SHH登录
  ssh -l RemoteLoginName RemoteHostName
  ssh -l root 192.168.1.1
SFTP
  ssh加密的ftp:
    sftp username@hostname
set the keyboard character repeat rate
xset r off
xset r on
And to change the time/delay:
xset r rate [X] [Y]
Where [X] is the number of milliseconds you'd like the system to wait before the key repeats, and [Y] is the number of times per second you'd like it to repeat once it's repeating.
不采用拷贝整个父目录的方式,拷贝当前目录的所有文件和目录
for f in `ls -A`; do cp $f DEST_DIR; done
 
DEST_DIR是目标目录
 
更好的方法是:
 #ls -A cpio -p /tmp/aa 
					
执行力=流程+计划+组织
把理想变成计划,
把计划变成步骤,
把步骤变成行动,
把行动变成成果。
好語說盡人必易之。規矩行盡人必繁之。福若受盡緣必孤。勢若使盡禍必至。