date 显示当前日期和时间

    who 显示当前登录系统的所有用户标识(同时显示终端名称、登陆时间等)

    passwd 改变口令

    last 查看所有用户登录记录

    last [用户标识] 查看某个用户的登录记录

    exit 退出当前登录的身份,返回上一个登录身份

    su [用户标识] 临时以另一个用户身份(用户标识默认为 root)登录(不改变环境)

    su - [用户标识] 临时以另一个用户身份登录(同时改变环境)

    sudo 临时以超级用户身份登录

    less 每次一屏地显示内容

    sudo init 修改运行级别

    sudo reboot 重启

    sudo shutdown now 立即关机

    dmesg 显示系统启动信息

    infocmp 显示当前正在使用的终端信息

    echo $TERM 显示当前正在使用的终端类型

    printenv 显示当前 shell 所有环境变量

    stty -a 显示系统键盘的映射

    stty 只显示默认值已经被改变的键盘映射

    stty kill ^U 将 kill 信号映射到 <ctrl+u> 键盘组合键

    which 查看某个命令是否可用

    date -u 显示 UTC 时间

    cal 显示当前月份日历

    cal 2019 显示 2019 年全部月份日历

    cal 1 2019 显示 2019 年 1 月份的日历

    cal -j 12 2019 显示 2019 年 12 月份的日历(不显示日期,而是显示这一天是这一年的第几天。技巧:如果 12 月的最后一天为改年该第 366 天,则可判断该年为闰年,否则为平年)

    calendar foo.txt 根据文件 foo.txt 创建提醒任务

    uptime 显示系统连续运行多长时间的相关信息

    hostname 查看计算机名称

    uname 查看操作系统的名称

    uname -a 查看操作系统的详细信息

    whoami 显示当前用户的标识

    users 仅仅显示当前登陆系统的所有用户标识

    w 查看系统上用户更多信息

    w [用户标识] 查看该用户正在做什么

    lock 临时锁住终端(默认 15 分钟)

    lock -5 临时锁住终端 5 分钟

    leave 1015 在 10 点 15 分提醒我离开

    leave +15 15 分钟后提醒我离开

    bc 启动计算器

    man [命令名称] 查看命令的文档资料

    whatis [命令名称] 查看命令简介

    apropos manual 查找某些命令,它们的文档资料包括关键词 manual(不区分大小写)

    info [命令名称] 显示命令的 info 文件

    date;cal 同时执行 date 和 cal 两个命令

    env或printenv 显示所有环境变量

    set 显示所有 shell 变量(局部变量)

    set -o [shell变量] 关闭 shell 变量

    set +o [shell变量] 打开 shell 变量

    export DEMO=value 将变量 DEMO 导出到环境变量

    type [命令名称] 查看命令是不是 shell 内置命令

    export PATH="$PATH:$HOME/bin" 将搜索路径的值修改为旧值加上 $HOME/bin

    echo "my name is ${USER}" 在字符串中使用变量

    echo "The time and date are `date`. 在字符串中嵌入 date 命令

    export PS1="\A:\$" 修改 shell 提示,$ 符号前面新增时间

    fc -l 查看使用过的命令列表

    fc -s 20 重新执行编号为 20 的命令(如果不指定编号,默认为上一个命令)

    fc -s stringA=stringB 20 重新执行编号为 20 的命令,并且把之前的字符串 stringA 改为字符串 stringB

    export HISTORY=50 指定历史列表最多存放 50 条命令

    alias 显示所有的别名

    alias dt=date 将 date 命令映射到到别名 dt

    alias dt 显示别名 dt 代表的含义

    unalias dt 删除别名 dt

    unalias -a 删除所有别名

    \ls 运行实际命令 ls 本身,而不是别名

    more data.txt 每次 8 一屏地显示 data.txt 中的数据,按空格键会显示下一屏数据。

    > out.txt 将数据写入到文件 out.txt 中,如果文件不存在则创建,如果文件中有内容则覆盖内容。

    >> out.txt 将数据追加到文件 out.txt 的尾部。

    set -o noclobber 防止文件内容被意外地覆盖。执行此命令后,如果标准输出所指定的文件已存在,屏幕会提示错误。如果你确实希望覆盖,用 >| 代替 >

    sort 1> output.txt 2> error.txt 将标准输出写入 output.txt 文件,标准错误写入 error.txt 文件。

    sort &> output.txtsort >& output.txt 将标准输出和标准错误都写入 output.txt 文件

    sort > /dev/null 不想看标准输出,将标准输出抛弃

    sort 2> /dev/null 不想看标准错误,将标准错误抛弃

    sort 2> /dev/null 不想看标准错误,将标准错误抛弃

    Ybz061.png

    cat name1 name2 | tee backup | sort 将 cat 的输出保存在 backup 文件,同事 cat 的输出经过管道线传送给 sort 命令。如果 backup 文件不存在则创建。如果 backup 内已经有内容,内容会被覆盖,使用 tee -a 可以避免覆盖,而是追加。

    command1 && command2 命令 1 成功执行才去执行命令 2

    command1 || command2 命令 1 执行失败才去执行命令 2

    cat > file 快速地创建一个小文件,然后从键盘写入内容。

    cat 常用命令选项 - n (number,数字) 在每行前面加一个行号 - b (blank,空白) 和 - n 选项一起使用,不要对空白行编号 - s (squeeze,挤压) 将连续多个空白行替换为一个空白行

    split file 将文件 file 分割成 xaa、xab、xac 等文件,每个文件的最大行数为 1000。

    rev file 将文件 file 中各行中字符的顺序反转

    head -n 15 file 显示文件 file 前 15 行(如果没有 - n 15 参数,默认显示 10 行)

    tail -n 15 file 显示文件 file 最后 15 行(如果没有 - n 15 参数,默认显示 10 行)

    colrm 1 5 file 删除 file 中指定的数据列(1 到 5 列)

    colrm 5 file 删除 file 中第 5 列(包括)到最后一列的所有数据列

    假设文件 a 内容为 1 a 文件 b 内容为 1 b comm a b 输出为 1 a b

    第一列表示 a 为第一个文件独有的数据,第二列表示 b 为第二个文件独有的数据,第三列表示两个文件共有的数据。 comm 命令比较的文本必须是有序文本。参数 - n(n 为 1、2、3)表示屏蔽第 n 列的输出。

    cut -c 1,5 file 截取文件第 1 列和第 5 列数据

    cut -c 1-5 file 截取文件第 1 到 5 列数据

    cut -f 1 -d ',' file 使用指定的分隔字符 ',',将文件 file 的每一行切割成字符串数组,取数组中的第一项。

    paste -d ',' a b 使用指定的分隔字符 ',',将文件 a 和 b 的每一行连接起来。

    nl -v 5 -i 10 file 为文件 file 临时插入(不改变源文件 file)行号,起始号码为 5,增量为 10。

    wc file 对 file 进行单词统计,通常输出三个数字。从第一个数开始分别代表行数 line、单词数 word 以及字符数 char。

    wc -l file 只统计行数

    未完待续