这些基本的、常用的命令,每天用,天天用,用到老。
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
只统计行数
未完待续