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

posted @ 2020-03-24 22:12  hare1925  阅读(251)  评论(0编辑  收藏  举报