这些基本的、常用的命令,每天用,天天用,用到老。
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.txt 或 sort >& output.txt 将标准输出和标准错误都写入 output.txt 文件
sort > /dev/null 不想看标准输出,将标准输出抛弃
sort 2> /dev/null 不想看标准错误,将标准错误抛弃
sort 2> /dev/null 不想看标准错误,将标准错误抛弃

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 只统计行数
未完待续