基本命令

1. 帮助---help
    ls --help
    help pwd
2. 清屏---clear
3. 打印当前路径---pwd
4. 改变路径---cd
    cd /        -- 根目录
    cd ..       -- 上级目录
    cd .        -- 当前目录
    cd ~        -- 用户主目录
    cd /etc     -- 移动到指定目录

5. 显示内容---ls
    ls          -- 显示目录下的内容
    ls -a       -- 显示全部的内容包括隐藏文件
    ls -l       -- 详细形式显示文件(读写权限,用户,时间等)
        d rwx r-x r-x 4 user nobody 1024 Feb 22 0920 a.txt
        1  2   3   4  5  6     7      8       9        10
        1:文件类型;目录("d");普通文件("-");链接文件("|")
        2:文件拥有者对该文件的访问权限:r:度 w:写 x:执行 -:无相应权限
        3:同组者对该文件的访问权限
        4:其他人对该文件的访问权限
        5:文件的硬链接数(参见"ln"命令)
        6:文件的拥有者
        7:文件的属组
        8:文件大小(单位:byte)
        9:文件的最后一次修改时间
        10:文件名
      r 读权限
      w 写权限,对目录来说,可生成文件与子目录或删除文件与子目录
      x 执行权限,对目录来说,可查找该目录下内容
      - 没有权限
            如 -rw-r--r--
             拥有者 同组人 其它人
            其中拥有者-生成文件时登录的人,权限最高,u表示
            同组人-系统管理员分配的同组的一个或几个人,g表示
            其它人-除拥有者,同组人外的人,o表示
            所有人-包括拥有者、同组人及其它人,a表示
6. 修改权限---chomod
    <1> 符号模式,总结起来符号模式可以总结为下面的这个表达式:
    chmod u/g/o/a=/+/-r/w/x filename
    其中,中间的这部分的字母代表
    u ---所有者
    g ---同组用户
    o ---其他用户
    a ---所有用户
    + ---增加权限
    - ---减去权限
    = ---最终权限
    r ---读取权限
    w ---写入权限
    x ---执行权限

    例如 chmod g+w a.txt
         chomod +x a.out -- 给予a.out可执行权限

    <2> 在绝对模式下:
    相对应的文件或者目录的权限有三位数字表示从左向右,
    第一位是代表所有者的
    第二位是代表同组其它用户的权限,
    第三位是其它用户的权限。
    而每个数字都是1,2,4三位数字组成的和,可以是0,1,2,3,4,5,6,7
    1  --- 执行权限
    2  --- 写入权限
    4  --- 读取权限
    例如
        chmod 664 a.txt


7. 文件创建命令---touch
    命令:touch filename 
    touch a.txt
    touch a.txt  -- 文件已存在会修改时间
8. 创建目录命令---mkdir
    mkdir dir_test
    mkdir dir_test  -- 无法创建 目录已存在
    mkdir -p dir_test/dir01/dir02  -- 如果需要一次建立多层目录,需要使用-p选项

9. 拷贝命令---cp
    cp a.txt dir_test/
    cp -rf dir_test dir_test02
10. 删除命令---rm和rmdir
    rm a.txt
    rm -rf dir_test02
    mkdir dir_test03    -- 删除目录
    rmdir dir_test03    -- 删除空目录

11. 移动命令---mv
    mv a.txt b.txt
    mv dir_test02 dir_test03

12. 文件查看命令--- cat more head tail
    cat a.txt
    more a.txt --- 分屏查看内容,回车查看下一行,空格看下一屏,q退出
    head -5 a.txt --查看文件的开头5行
    tail -5 a.txt --查看文件的最后5行
13. 

12.显示文本或字符串变量echo
    echo hello
    echo "hello world!" > myfile  -- 输出到文件
13. 查看文本内容---cat
    cat a.txt
14. 压缩命令---tar
    tar zcf dir_test03.tar dir_test03
    tar zxvf dir_test03.tar

15. 系统时间命令---date
    date -- 查看时间
    sudo date -s "2016-08-12 13:30:30"  -- 修改系统时间

16. 内容查找命令---grep

16. whereis


17. locate
    locate


16. find
    mkdir -p test/file
    touch test/file hellocpp.txt
    find test/ -name hellocpp.txt -- 在test目录下查找全名为hellocpp.txt文件
    find test/ -name "*cpp*" -- 查找文件名中含有字符串cpp的文件
    find test/ -name "hello*" -- 查找文件名中开头是字符串hello的文件

    find test/ -amin -10 -- 查找在test中最后10分钟访问的文件 
    find test/ -mmin -5  -- 查找在test中最后5分钟修改过的文件
    也可使用混合查找方式查找文件
    此命令更多内容请百度

   whereis和locate都是通过数据库找出,whereis数据库大概一周更新一次
    locate大概一天更新一次,find是在硬盘遍历查找,效率低,建议使用whereis和locate查找不到时使用find查找

17. whereis


16. 测算命令(程序)的执行时间---time
    time ./a.out
    time ps aux
    在程序或命令运行结束后,最后输出了三个时间,分别是
    user:用户cpu时间,命令在用户态中执行的时间总和
    system:系统cpu时间,命令在核心态中执行的时间总和
    real:实际时间,从命令行开始执行到运行终止的消逝时间

        cpu时间 = 用户cpu时间+系统cpu时间
        实际时间 > cpu时间

17. 后台运行命令---nohup
    nohup ./a.out > myout.file2>&1 & -- 后台执行 打印输出到myout.file文件
    nohup ./a.out > myout.file2>&1 & -- 后台执行 打印输出到myout.file文件并在屏幕上显示


18. telnet

19. 端口命令---netstat
    netstat -apn  -- 查看所有的进程和端口使用情况
    netstat -apn | grep skynet   -- 查看skynet进程使用端口情况
    netstat -apn | grep 2016  -- 查看使用2016端口的情况

21.
    lsof -i:2016 --查看端口属于哪个程序 

20. 查看进程---ps
    ps -A  --列出所有进程
    ps -w  --显示加宽可以显示较多的资讯
    ps -au --显示较详细的资讯
    ps -aux --显示所有包含其他使用者的行程

    ps -aux | grep pid
    ps -aux | grep skynet

21. 杀掉指定进程---kill
    也可以用来发送信号
    kill pid -- 默认6级杀死进程,发送SIGTERM信号给进程
    kill -9 pid  -- pid进程id 强制杀掉进程

其它
    ps
    killall
    grep

22. 切换用户---su
    whoami   --- 查看当前用户名
    su root
    whoami
    exit
23. 修改密码---passwd
    passwd

22. 创建连接---ln
    touch a.txt;echo hello > a.txt
    cat a.txt
    ln a.txt b.txt  -- 创建硬链接
    ln -s a.txt c.txt  -- 创建软连接
    硬链接本质上是磁盘上文件数据的另一个访问路径
    软连接里面只保存了目标文件的位置
    删掉目标a.txt时,不影响硬链接b.txt,但软连接失去了访问磁盘数据的通路
    rm a.txt
    cat b.txt
    cat c.txt -- 提示没有那个文件或目录