shell

GUI: Grapgic User Interface
    Windows
    X-Windows--c/s系统
        Gnome,KDE,Xface
CLI: Command Line Interface
    sh
    bash
    csh
    zsh
    ksh
    tcsh
IDE
动态链接库
dll--Dynamic Link Library
so--shared object
login:
    用户名:用户ID
认证机制:Authentication   (密码 指纹 虹膜 密钥)
授权:Authorization
审计:Audition (日志)
prompt 命令提示符:
命令:
magic number:魔数 标示可执行的二进制标志
shebang
#!/bin/bash
选项:
   短选项
   长选项
参数:
目录:文件 ,路径映射
路径:从指定起始点到目的地所经过的位置
list : ls 列出 列表 列出指定路径下的文件
文件系统:filesystem
绝对路径
spacer.gif
相对路径
spacer.gif
目录:working directory current directory
pwd:print working dirctory
ls =ls /root
ls
    -l  显示长属性 长格式   完整信息
        文件类型:
                -:普通文件(f)
                d:目录文件
                b:块设备文件(block)
                c:字符设备文件(chararacter)
                l:符号链接文件(symbolic link file)
                p:命令管道文件(pipe)
                s:套接字文件(socket)
    文件权限:9位 每三位一组 rwx(读写执行) - 没有哪个权限                
    文件硬链接的次数
    文件的属主(owner)
    文件的属组(group)
    文件大小(size) 单位是字节
    时间戳(timestamp)最后一次被 修改的时间
        访问:access
        修改:modify 改变文件的内容
        改变:change,metadata,元数据 比如文件名,一些属性
    -h:做单位转换 默认是b          ls -lh
    -a:显示以.开头的隐藏文件
        .表示当前目录
        ..表示父目录
    -A 显示隐藏文件
    -d 显示目录本身属性  
    -i:index node ,innode 文件索引节点
    -r:逆序显示         默认为按文件名升序显示
    -R:递归显示(recurcive)   默认不递归,不显示子目录 -R会递归显示所有子目录
cd:change directory
    不带任何参数:回到用户的主目录
      家目录 主目录 home directory  
    cd ~USERNAME:进入指定用户的家目录
    cd -:在当前目录和前一次所在的目录之间来回切换
命令类型:
    内置命令:(shell内置)内部 内建
    外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件
type:  显示指定属于哪种类型
                                                                                                                              
环境变量:命名的内存空间
    变量赋值
    path:使用冒号分隔的路径
    O(1) 从hash表中找出任意一个 所花费的时间是一样的
    
printenv 打印环境变量
spacer.gif
hash 缓存的shell命令
spacer.gif
date:显示系统时间        时间管理
spacer.gif
Linux:rtc
    硬件时钟:clock,hwclock
    系统时钟:date
获得命令的使用帮助:
内部命令:
    help COMMAND       help  cd
外部命令:
   COMMAND --HELP    ls --help
命令手册:manual
whatis 一个命令出现在 哪个章节 whatis read
man COMMAND      man ls
man分章节的
1:用户命令
2:系统调用  
3: 库用户 库调用
4:特殊文件(设备文件)     man 4 tty
5: 文件格式                         man 5 password 解释配置文件的语法
6:游戏
7:杂项 (Miscellaneous)
8:管理命令(/sbin,/usr/sbin,/usr/local/sbin)
man 2 read 直接调用第二章节
如果有乱码 export LANG=en
spacer.gif
date [option]可选  [A|B]表示多选一
<>:必选
[]:可选
...:可以出现多次
|:多选一
{}:分组
MAN:
    NAME:命令名称以及功能简要说明
    SYNOPSIS:用法说明,包括可用的
    DESCRIPTION:命令功能的详尽说明,可能包含每一个选项的意义
    OPTIONS:每一个选项的意义
    BUGS:
    EXAMPLES:使用示例
    SEE  ALSO:另外参考
翻屏:
    向后翻一屏:space
    向前翻一屏:b
    向后翻一行:ENTER
    向前翻一行:k
查找:
/KEYWORD:向后
n:下一个
N:前一个
?KEYWORD:向前
q:退出
date +%D 格式
date +"This year is %Y"
%n 分行 新行
data +%F 年月日
hwclock -w 将系统时间改为硬件时间
hwclock -s 将硬件时间改为系统时间
info command 在线文档
文档:/usr/share/doc
google
cal命令:日历命令
cal 2013
cal 12 2013
echo -e "this year is 2014,\nToday is 26"                 -e启用反斜线   
    
会输出两行
this year is 2014,
Today is 26
\v 纵向制表符  \b backspace  \t 横向制表符