2--基本命令
关机
- 命令:
shutdown
shutdown -h now #立即关机
shutdown -r now #立即重启
shutdown -h 22:30 #当天22:30关机,如果是过了这个时间点输入的这条命令,则会在次日这个时间关机
suutdown -h +30 #30分钟后关机
查看系统使用状态(差不多 Windows 下的任务管理器)
- 命令:
top (选项)
功能:显示当前系统 CPU、内存等系统使用情况,它同时提供一个交互的界面让用户可以观察系统进程情况,它可以按照 CPU 使用情况,占用内存大小,运行的时间来对进程排序,是系统管理的一项必不可少的工具。
补充说明:top命令 可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。
-b:以批处理模式操作;
-c:显示完整的治命令;
-d:屏幕刷新间隔时间;
-I:忽略失效过程;
-s:保密模式;
-S:累积模式;
-i<时间>:设置间隔时间;
-u<用户名>:指定用户名;
-p<进程号>:指定进程;
-n<次数>:循环显示的次数。
top交互命令
在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
案例
top - 14:51:23 up 16 days, 17:06, 1 user, load average: 0.33, 0.32, 0.31
Tasks: 247 total, 1 running, 246 sleeping, 0 stopped, 0 zombie
%Cpu0 : 3.7 us, 2.0 sy, 0.0 ni, 92.5 id, 0.3 wa, 0.7 hi, 0.7 si, 0.0 st
top - 14:55:45 up 16 days, 17:10, 1 user, load average: 0.38, 0.53, 0.42
Tasks: 247 total, 1 running, 246 sleeping, 0 stopped, 0 zombie
%Cpu0 : 10.4 us, 3.7 sy, 0.0 ni, 83.9 id, 0.0 wa, 1.0 hi, 1.0 si, 0.0 st
%Cpu1 : 9.7 us, 3.7 sy, 0.0 ni, 84.6 id, 0.3 wa, 0.7 hi, 1.0 si, 0.0 st
%Cpu2 : 9.5 us, 2.7 sy, 0.0 ni, 85.8 id, 0.0 wa, 1.0 hi, 1.0 si, 0.0 st
%Cpu3 : 8.4 us, 3.0 sy, 0.0 ni, 86.5 id, 0.0 wa, 1.0 hi, 1.0 si, 0.0 st
KiB Mem : 7940972 total, 363476 free, 5776084 used, 1801412 buff/cache
KiB Swap: 8161276 total, 6936316 free, 1224960 used. 1139364 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18401 hare 20 656496 264000 187724 S 9.9 3.3 724:48.17 /usr/lib/chromium/chromium --type=gpu-process --field-trial-ha+
11421 hare 20 641032 119172 84716 S 8.9 1.5 0:27.02 /usr/lib/chromium/chromium --type=renderer --field-trial-handl+
解释
top - 09:44:56[当前系统时间],
16 days[系统已经运行了16天],
1 user[个用户当前登录],
load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度]
Tasks: 145 total[总进程数],
2 running[正在运行的进程数],
143 sleeping[睡眠的进程数],
0 stopped[停止的进程数],
0 zombie[冻结进程数],
Cpu(s): 99.8%us[用户空间占用CPU百分比],
0.1%sy[内核空间占用CPU百分比],
0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比],
0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比],
0.0%hi[],
0.0%st[],
Mem: 4147888k total[物理内存总量],
2493092k used[使用的物理内存总量],
1654796k free[空闲内存总量],
158188k buffers[用作内核缓存的内存量]
Swap: 5144568k total[交换区总量],
56k used[使用的交换区总量],
5144512k free[空闲交换区总量],
2013180k cached[缓冲的交换区总量],
查看文件目录(同 DOS 中的 dir 命令)
- 命令:
ls
ls -a #显示隐藏文件
ls -l #显示文件的完整资料
ls -f #显示文件隐含属性
改变当前目录路径
- 命令:
cd
cd #回到自己的家目录
cd ~ #回到自己的家目录
cd / #回到根目录
cd .. #回到上一层目录
cd - #回到刚刚工作的目录
cd 路径 #回到指定路径
建立及删除目录
-
命令:
mkdir、rmdir
-
新建目录命令格式:
mkdir [-p][-m 权限][--parents][--mode = 权限][--help][--version] 目录列表
-m,-mode 权限:给予建立的目录设定权限,缺省则为预设权限
-p,--parents:确定输入的每一层目录都存在,建立所有不存在目录,相当于递归建立
- 删除目录:
rmdir 目录名
A tip:目录必须为空才可以删除。
删除文件或目录
- 命令:
rm 参数 目录或文件名
-f #忽略不存在的文件,并且不给用户任何提示
-i #在删除每个文件时提示用户选择”y"or"n"
-r #递归删除
-v #删除每个文件时输出文件信息
移动文件(或将文件更名)
- 命令:
mv 参数 源目录或文件名 目标目录或文件名
mv 源文件列表(支持通配符) 目标目录
功能:mv 将文件从一个文件名更改到另一个文件名,或者将一批文件从一个目录移动到另外一个目录。
-b #为要移动的文件制作备份
-f #前置覆盖已有的文件
-i #子啊覆盖已有的文件前给出提示让用户选择是否覆盖
-u #在目录文件的时间比原来文件新时不覆盖目录文件
-v #在移动每个文件时输出响应信息
显示磁盘空间使用情况
- 命令:
du
参数可以自己 man 一下
查看硬盘剩余空间
- 命令:
df 参数
-a #显示块(block)为0的文件,系统默认时不显示
-i #用 inode 使用状况来代替 block 使用状况
-k #使用 K 为单位显示 block
-P #使用 POSIX 格式显示
-T #显示每个文件系统的信息
-t #只显示列在 fstype 中的类型的文件系统
-x #只显示不在 fstype 中的类型的文件系统
清屏
- 命令:
clear
可以直接快捷键Ctrl + l
查看命令使用说明
- 命令:
man 命令名(help)
tip:老系统有些shell内置命令不可以用man 查看,不过现在好像没有这个问题,例如:cd 原来就不可以用man 查看
-C config-file #指定 man.config 这个配置文件的位置,缺省为 /usr/lib/man.config (不同distribution可能不同,这个我不清楚)
-M path #指定 man 搜索存放在线帮助的路径。
-P pager #指定用来显示帮助信息的程序,缺省为 /usr/bin/less
-S section-list #选择手册的章节
-k 关键字 #查询包括该关键字的所有 man page
按页显示文件
- 命令:
less
less 命令允许用户向前或向后浏览文件,由于该命令不全部读入文件后才显示,所以在显示大文件时的显示速度比 vi 编辑器快。 less 采用 termcap,所以它支持的终端类型非常广泛。
less 相关使用自行 man 或 info 一下就好啦。
在终端上按页查看文件的过滤器
- 命令:
more
more 的功能没有 less 程序那么强大。而且 less 程序还提供了一个对 more 的模拟,不过一般用户可能更习惯于使用同 DOS 环境下相似的 more。
具体选项 自行 man 或 info 一下。
查看进程状态
- 命令:
ps
- 格式:`ps [-][lujswmaxScewhmu][txx][O[+ | -]k2...]--sortX[+ | -]key[,...]]--help --version[pids]
-l #长列表
-u #用户格式,给出用户名和开始的时间
-j #作业格式,给出 pgid,sid
-s #信号格式
-v #虚拟存储器格式
-m #显示内存信息。
-f #给出树状格式
-a #显示其他用户的进程
-x #显示没有控制台的进程
-c #从 task-struct 中给出进程名
-e #显示环境
-w #宽行输出,不自动换行
-h #无标题
-r #值显示正在运行的程序
-n #用数字来输出 USER 和 WCHAN
txx #只显示受 tty.xx 控制的进程
pids #值显示特定的进程
--help #在标准输出上输出版本帮助信息并退出
--version #在标准输出上输出版本信息并退出
各个栏位的意义解释:
FLAGS #长格式的 F 域
UID #用户的 ID
PID #进程的 ID
PPID #父进程的 ID
PRI #进程优先级
NI #标准 UNIX 的优先级
SIZE #虚拟内存的大小
RSS #驻留空间的大小
WCHAN #进程等待的内核事件
STAT #进程状态:代码如下
R #正在运行
S #睡眠
D #不可打断的睡眠
T #停止或跟踪
Z #死进程
W #进程没有驻留页
N #进程有一负 nice 值
TTY #进程控制台
PAGEIN #主内存页失败的数目(页失效造成页从磁盘或 CACHE 中读取)
TRS #文本驻留大小
SHARE #共享内存
SWAP #交换设备上的 K 字节数
例如:
显示当前进程:ps -c
查看正在执行的程序:ps -aux
设置或删除环境变量
set
显示或设置环境变量
unset
删除环境变量
命令格式:
set 变量名=变数值
unset 变量名
参数:
如果 set 命令中不带参数,将只显示当前的设置。这两个命令是 shell 的内建命令,可man一下(原来不可以,可能不同 distribution 有所不同)
设置延迟时间
命令格式:sleep [--help][--version]number[smhd]
sleep 延迟由 number + smhd 给出的时间
参数说明:
s #秒
m #分钟
h #小时
d #天
例如:sleep 5m
延迟5分钟
将文本文件排序
命令格式:sort [-cmus][-t 间隔符][-o 输出文件名][-T 临时目录][-bdfiMnr][+POS1[-POS2]][-k POS1[,POS2]][文件列表名....]
参数说明:
sort #有三种使用方式:缺省的是将文本文件排序,还可以合并文件。
-c #检查文件是否已经被排序,如果没有,则给出错误信息并退出程序
-m #排序时忽略首行的空白
-b #将文件列表中的文件作为一个组来排序,并合并起来。
注意:使用该参数之前,每个文件必须先各自排序。
-d #按电话本的目录方式排序,忽略除了字母、数字和空白意外的所有字符
-f #将小写字母当做大写字母来排序,例如“y”作为“Y”来排序
-i #忽略 ASCII 字符内码不在范围 040-0176 之间的字符
-M #将每一行开头的三个字母的(如果是月份的英文缩写的话)按月份大小排序
-n #按数字大小而不是字母顺序来排序
-r #反向排序
-o 输出文件名 #将输出重定向到文件中,用以取代缺省的标准输出
-t 间隔符 #用设定的间隔符取代缺省的空格符
+ POS1[-POS2] #用每一行的第 POS1 列到第 POS2 列来排序,如果不给出 POS2 则到行尾
- k POS1[,POS2] #同上
例如,对文件 testfile 排序:
sort testfile
sort -n testfile
显示目前终端所用的 tty
命令:tty
tty 的返回值:
0 #标准输入是一个 tty
1 #标准输入不是一个 tty
2 #给出错误参数
3 #发生写错误
装载或卸载一个文件系统
mount
:装载一个文件系统
umount
:卸载一个文件系统
命令格式:
mount [-l|-h|-V]
mount -a [-fFnrsvw] [-t fstype] [-O optlist]
mount [-fnrsvw] [-o options] device|dir
mount [-fnrsvw] [-t fstype] [-o options] device dir
umount -a [-dflnrv] [-t fstype] [-O option...]
umount [-dflnrv] {directory|device}...
umount -h|-V
参数说明:
-V #输出版权信息
-h #输出帮助信息
-v #校验模式
-a #mount 在文件 /etc/fstab 中的所有文件系统
-F #同 -a 连用,并行 mount 所有的文件系统
-f #同 -v 连用,不作真实 mount 过程,只是检查输出
-n #mount 文件系统后不写入文件 /etc/mtab
-r #将文件系统 mount 为只读模式
-w #将文件系统 mount 为读写模式
-t vfstype #指定文件系统类型
现有可 mount 的系统类型在 /usr/src/linux/fs/filesystems.c 中定义
-v选项 #设定 mount 的一些参数
async #文件系统必须被异步写入
atime #每次访问时间将 i 结点的访问时间更新
auto #自动选择文件系统类型
defaults #使用缺省选项 suid, dev, exec, auto, nouser, async
dev #解释文件系统上的特殊设备文件
exec #允许运行文件系统上的可执行文件
noatime #没此访问时不将 i 结点的方位时间更新
noauto #禁止自动选择文件系统类型
nodev #禁止解释文件系统上的特殊设备文件
noexec #禁止运行文件系统上的可执行文件
nosuid #禁止设定用户 ID 位和设定组位起作用
nouser #禁止非超级用户使用
remount #重新 mount 一个已经 mount 的文件系统
ro #将文件系统 mount 为只读模式
rw #将文件系统 mount 为读写模式
suid #允许设定用户 ID 位和设定组位起作用
sync #文件系统必须被同步写入
user #允许非超级用户使用
不加参数则列出系统目前 mount 的文件系统
文件压缩与解压
可自行 man 或搜索相关使用方法
arj - 用于创建和管理.arj压缩包
bunzip2 - 创一个bz2文件压缩包
bzcat - 解压缩指定的.bz2文件
bzcmp - 比较两个压缩包中的文件
bzdiff - 直接比较两个.bz2压缩包中文件的不同
bzgrep - 使用正则表达式搜索.bz2压缩包中文件
bzip2 - 将文件压缩成bz2格式
bzip2recover - 恢复被破坏的.bz2压缩包中的文件
bzless - 增强.bz2压缩包查看器
bzmore - 查看bzip2压缩过的文本文件的内容
compress - 使用Lempress-Ziv编码压缩数据文件
gunzip - 用来解压缩文件
gzexe - 用来压缩可执行文件
gzip - 用来压缩文件
lha - 压缩或解压缩lzh格式文件
logrotate - 系统日志进行轮转、压缩和删除
pigz - 可以用来解压缩文件,gzip的并行实现升级版
tr - 将字符进行替换压缩和删除
unarj - 解压缩由arj命令创建的压缩包
unzip - 用于解压缩由zip命令压缩的压缩包
xz - POSIX 平台开发具有高压缩率的工具
zcat - 显示压缩包中文件的内容
zfore - 强制为gzip格式的压缩文件添加.gz后缀
zip - 可以用来解压缩文件
zipinfo - 用来列出压缩文件信息
zipsplit - 将较大的zip压缩包分割成各个较小的压缩包
znew - 将.Z压缩包重新转化为gzip命令压缩的.gz压缩包
将文件输出到标准输出
pr
将文本文件转换成适合打印的格式
补充说明
pr命令
: 用来将文本文件转换成适合打印的格式,它可以把较大的文件分割成多个页面进行打印,并为每个页面添加标题。
- 语法
- pr(选项)(参数)
- 选项
- -h<标题>:为页指定标题;
- -l<行数>:指定每页的行数。
- 参数
- 文件:需要转换格式的文件。
显示当前时间日期
date
显示日历
cal
cal -3 #显示3个月的日历(前后各一个月)
cal 2020 #显示 2020 年的日历
登出系统
logout
hare
2020.3.24