Linux 基础用法

一、Linux 命令行的辅助操作

$ 反斜杠 “\” :强制换行
$ 快捷键 Ctrl+u: 清空至行首
$ 快捷键 Ctrl+k: 清空至行尾
$ 快捷键 Ctrl+L或clear: 清屏
$ 快捷键 Ctrl+c: 取消本次命令编辑
$ 快捷键 Ctrl+d: 相当于输入exit,退出
$ 快捷键 Ctrl+a: 行首
$ 快捷键 Ctrl+e: 行尾

二、Linux文件类型

-:普通文件
d: 目录文件
b:块设备文件
c: 字符设备文件
l: 符号连接文件
p: 命令管道文件
s: 套接字文件

三、Linux基础命令(1)

$ ls: 查看当前目录的文件及目录
    -l=ll 长格式
    -t 按照时间排序
    -h 做单位转换
    -a 显示隐藏文件
    -A与-a参数类似,显示目录下除了“.”与“.. "以外的其他所有文件
    -ld 显示且录自身属性
    -R 递归显示
    -S 以文件大小排序
    -l 以列表形式只输出文件及目录
$ du: 统计当前路径下所有文件或目录的大小
    -S 统计当前目求下文件的总大小
    -h 以大小单位方式显示
$ touch: 创建文件(最主要的功能是更新文件的时间戳)
    -c 不创建任何文件,更新所有属性时间,
    -a 更新文件最近一次访问时间
    -m 更新文件最近一次修改时间
$ stat: 显示文件的详细信息(显示文件最近一次访问,修改,改变时间)
$ mkdir :创建目录
    -P 创建多级目录
    -V 显示创建过程
$ cp: 复制
例:cp 源 目标
    -r 递归复制(可以复制目录)
    -f 强行复制
    -p 复制过来,保存文件原有属性(只有管理员有此权限) 
    -P 复制链接文件
    -a 归档复制,保持文件及且录、连接文件原有的所有属性(用于备份
    -v 显示复制过程
$ rm:删除文件
    -f 强制不提示删除
    -r 递归删除
$ mv: 移动/重命名文件
    -f 强制移动
    -v 显示过程
$ which: 来查看一个可执行命令的具体路径
# 对于linux来讲,路径分隔符/
# 绝对路径:从顶层/(根)开始的路径
# 相对路径:从非/ (根)开始的路径

四、Linux系统中的目录

/bin: 所有用户可执行的程序
/sbin: 管理员可执行的程序
    /usr/bin
    /usr/sbin
/boot: 存储系统引导文件;内核、ramfs文件、bootloader (grub)
/dey: 设备文件存放目录
/etc: 配置文件的存放目录
    /etc/sysconfig 系统网络配置目录
    /etc/init.d 系统服务脚本
/home: 普通用户,默认在/home.下有一个与其名称同名目录,作为用户的家目录
/root: 管理员的家目录
/lib, /lib64: 库文件
/media: 专用挂载位置,通常用来挂载便携式设备
/mnt: 专用挂载位置,挂载额外存储设备
/opt: 备用目录,但通常用来安装第三方软件
/proc: 伪文件系统,系统内核参数的映射
    /proc/loadavg:负载
/sys: 伪文件系统,系统级别的用于配置外围设备的参数
/srv: 为服务提供数据存放位置
/tmp: 存放临时文件系统
/usr: 默认软件,用户工具和应用程序,共享,只读
/usr/local: 默认的软件安装目录c盘
/usr/include: 头文件
/usr/src: 源码安装目录
/var: 频繁发生变化的文件
/var/log: 日志文件存放目录
    /var/log/messages
    /var/log/secure 系统用户登录日志
        authentication failure登录 失败
/var/lib 变化的状态信息
/var/lock 锁文件
/var/run 有些进程在运行时产生的数据
/var/cache 缓存

五、Linux基础命令(2)

$ gzip: .gz(仅用于文件)
    gzip文件名: 压缩(压缩完成后会删除原文件)
        -d 解压缩
    gunzip:
    gunzip压缩名: 解压完成后会删除原文件
    zcat压缩包名: 不解压查看压缩包里面内容
$ bzip2: .bz2(仅用于文件)
比gzip有着更大压缩比的压缩工具,使用格式近似
    bzip2 要压缩的文件名
    -d 解压缩
    bunzip2 压缩包名:用与解压缩
    -k 压缩时保留原文件
     bzcat 不解压查看压缩包里面内容
$ zip: 既归档又压缩的工具(用于压缩文件或目录及目录下文件)
自动压缩目录下的所有文件: zip name.zip a/*
    zip压缩后的名.zip: 要压缩的目录或文件(压缩后不删除原文件)
    unzip压缩包名.zip: 解压缩
zcat 压缩包名: 不解压查看压缩包里面内容
$ XZ: .xz(仅用于文件,使用时需要用yum安装XZ压缩工具包)
XZ /路径/文件
    -d 解压缩
    -k 压缩时保留原文件
    unxz:用与解压缩
    xzcat: 不解压查看压缩包里面内容
$ tar 参数 归档后的名称(必须为.tar) 要归档的文件或目录。
    -f 文件名.tar:操作的归档文件
    -p 打包解包时保留文件及目录的权限
    -v 显示过程
    -cf 创建归档文件{tar -cf压缩包名.tar目录或文件}
    -tf 查看归档文件内容
    -rf 添加文件到已经压缩的tar文件{tar tf backup.tar /root/a.txt}
    -xf 展开归档{tar -xf压缩包名.tar}(可以跟-zxf、-jxf、 Jxf)
        #解压出来部分文件
    -C 释放的目的地{tar xf a.tar -C /user/}
    -tpf 不展开归档,直接查看归档了哪些文件(可以跟-ztf、-jtf)
    --xattrs 归档时,保留文件的扩展属性信息
    # -zcpf 归档并调用gzip压缩或zip压缩(归档压缩.tar.gz或.tar.z或.tar.zip)
    tar -zcf name.tar.gz naem或tar -zcf name.tar.z name
    -zxpf: 调用gzip/zip解压缩并展开归档,-z选项可省略
    # -jcpf 归档并调用bzip2压缩(归档压缩.tar.bz2或.tar.bz)
    tar -jcf name.tar.bzip2 name或tar -jcf name.tar.bz name
    -jxpf 调用bzip2解压缩并展开归档.tar.bz2或.tar.bz
    # -Jcpf 归档并调用XZ压缩{tar Jcf xx.tar.xz文件名/目录}
    -Jxpf 解压.tat.xz 的压缩包(用于红帽6版本)
# 如果对文件压缩时出现tar:从成员名中删除开头的"/” 报错,但依然成功压缩造成该问题的原因是因为使用相对路径和绝对路径引起的,另外还有一种解决方法是使用相对路径     -P可以解决这个错误
$ rar x 压缩文件
# 下载链接:https://www.rarlab.com/download.htm

六、Linux vim 编辑器的使用

$ vim 是 vi 编辑器增强版: 文本编辑器
# 三种模式: 末行、输入、编辑
# 末行 -→ 命令:  ESC
# 命令 -→ 末行:  :键 #英文:
# 命令 -→ 输入: i
# 输入 -→ 命令: Esc
$ - 移动到光标所在行的上一行行首
$ i 在当前光标所在字符的前面,转为输入模式
$ I 在当前光标所在行的行首,转换为输入模式
$ a 在当前光标所在字符的后面,转为输入模式
$ A 在当前光标所在行的行尾,转换为输入模式
$ o 在当前光标所在行的下方,新建一行,并转为输入模式
$ O 在当前光标所在行的上方新建一行,并转为输入模式
$ R 替换光标处的单个字符
# 在末行模式可以执行的命令:
    :nd :n 表示数字,d表示删除,结合起来为删除第n行
    :n,2nd 表示删除第n行2n行中间的所有行{格式..$d}
    :X 加密或取消加密
    :!ls/root 可以查看root目录下的内容
    :q/q! 退出 #!表示强制退出的意思
    :wq/x/wq! 保存退出
    :e! 撤销所有操作
# 查找 存在PATTERN的字符
/PATTERN :从首部向文件尾部查找
?PATTERN :从尾部向文件首部查找
    n:从上向下查找下一个
    N:从下向.上查找下一个
# 查找并替换
在末行模式下使用s命令
    单行替换: s/要替换的内容/替换后的内容/g
    全文替换: %s/要替换的内容/替换后的内容/g
# 显示或取消显示行号
:set number
:set nu
:set nonu
# 在编辑模式可以执行的命令:
# 行内跳转
shift+i、0、^、home:行首
shift+a、$、end: 行尾
# 行间跳转
G: 最后一行
nG: 跳转至第n行
1G、gg 跳转至第一行
dG: 删除当前到行尾的所有行
d1G: 删除当前到行首的所有行
# 翻屏
Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
#删除单个字符
    x :删除光标所在处的单个字符(向后删除)
    #x :删除光标所在处及向后的共#个字符
# 删除命令:d
    dd :删除当前光标所在行
# 粘贴命令p
# 复制命令y(用法同d命令)
    yy:复制一整行内容
# 替换: R(替换单个字符)
R: 进入替换模式,输入的字符替换光标后的字符按Esc键退出替换模式
# 撤消编辑操作u
    u撤消前一次的编辑操作
    连续u命令可撤消此前的n次编辑操作
#编辑文件内容后,在编辑模式下可直接保存退出ZZ
vim +n: 打开文件并定位在文件第n行{格式:vim +2文件名}
vim +: 打开文件,定位至最后一行{格式:vim +文件名}

七、Linux基础命令(3)

$ reset: 重新初始化屏幕
$ tty: 显示当前终端对应终端设备文件
$ uname -r/-a: 查看linux内核版本号
$ cat /etc/redhat-release: 查看系统版本
    Linux版本号: X.YY.ZZ
    X:主版本号、YY:次版本号、ZZ:末版本号,YY:奇数-开发版,增加新功能,偶数稳定版,修改错误
$ hostname/uname -n: 查看主机名
$ file 文件名: 查看文件的类型
$ cd: 切换目录 cd ../: 退到上级目录、cd-: 返回上次所在目录
$ pwd: 查看当前所在路径
$ cal: 显示日历:cal年、cal月年
$ bc: 计算器
$ exit: 退出当前登录
$ watch: 周期性地执行指定命令,并以全屏方式显示结果
    -n  #'命令'
$ cat /proc/meminfo # 查看系统内存信息
$ cat /proc/cpuinfo # 查看cpu信息
$ history: 查看命令历史
    -c 清空历史命令
$ echo :打印输入的字符
$ tree :查看目录树
$ shutdown -r now
#重启
$ shutdown -h now
#关机
关机: init 0、halt、 poweroff
重启: init 6、reboot

八、Linux基础命令(4)

# 重建数据库
rpm --rebuilddb :重建数据库,一定会重新建立
rpm --initdb :初始化数据库,没有才建立,有就不用建立
# rpm选项/路径/rpm软件包名
-i 安装软件包
-h 以#显示进度,每个#表示2%
-v 显示详细过程
-e 软件包名 #卸载软件包
--nodeps 忽略依赖关系(如果有依赖关系软件装上去也运行不了)
--force 强行安装,可以实现重装或降级
# 升级(注意不要升级内核) 
rpm -Uvh /路径/新rpm软件包名: 如果 装有老版本的,则升级;否则安装
rpm -Fvh /路径/新rpm软件包名: 如果装有老版本的,则升级:否则退出
# 查询已安装的rpm包
-qa 查询已经安装的所有包
-qi 查询指定包的说明信息
-ql 查询指定包安装后生成的文件列表
-qc 查询指定包安装的配置文件
-qd 查询指定包安装的帮助文件
-qf /路径/文件名 查询文件所属的软件包
# 查询尚未安装的rpm包
rpm -qpi /路径/rpm软件包名: 其说明信息
rpm -qpl /路径/rpm软件包名: 安装以后会生成的文件
#事例:
rpm -ivh /media/Packages/lynx-2.8.8-0.3.dev15.el7.x86_ 64.rpm
# 安装有依赖关系的多个软件时,被依赖的软件包需要先安装,可同时指定多个.rpm包文件进行安装
# 卸载有依赖关系的多个软件时,依赖其他程序的软件包需要先卸载,可同时指定多个软件名进行卸载

九、Linux yum

# 挂载光盘镜像
mount /dev/sr0 /media/
mount: /dev/sr0写保护,将以只读方式挂载
#把其他yum源移动到一个目录中不让系统加载使用
cd /etc/yum.repos.d/
mkdir a
mv * a
#构建新的本地yum源
vim yum.repo

[base]
name= base
baseurl=file:///media
enabled= 1
gpgcheck=0
# 清除本地yum源缓存
yum clean all
# 构建本地yum缓存
yum makecache

十、Linux基础命令(5)

# 用户帐号
    管理员用户(UID=0)
    普通用户
    程序用户
# UID: UID (用户标识号)
id 用户名:可以查看用户UID
# 用户账号文件(用户名称、宿主目录、登录Shell等基本信息) /etc/passwd
# 系统中的用户及密码文件/etc/shadow
第一字段: 用户名
第二字段: 密文密码
第三字段: 从1970年1月1日到现在经过的天数
第四字段: 密码最小修改期限
第五字段: 密码过期时间(99999 表示永久)
第六字段: 密码过期前警告时间
第七字段: 当密码过期多少天后被禁用
第八字段: 密码过期时间(从1970年1年1日开始计算)
useradd=adduser: 创建用户
$ useradd 选项 用户名
选项
-U: 创建用户时指定用户UID
-e: 创建用户时指定失效时间,年月日
-d: 创建用户时指定家目录名
-g: 创建用户时指定用户基本组名
-G: 创建用户时指定附加组名
-M: 创建用户时不创建主目录
-s: 指定使用shell
# .bash_ logout :每次退出时要执行的文件
# .bash_ profile :每次登陆时要执行的文件
# .bashrc :每次进入新bash环境时要执行的文件
$ passwd 选项 用户名 # 设置/更改用户口令passwd
选项
-d: 删除用户密码
-l: 锁定用户
-S: 查看帐号的密码状态否被锁定
-u: 解锁用户
-x: 密码最长有效时间(天)
-n: 密码最短有效时间(天)
-W: 密码过期前警告时间(天)
-i: 密码过期后多少天被禁用(天)
$ usermod 选项 用户名 # 修改用户账号的属性usermod
选项
-I: 更改用户的用户名{usermod -I 新用户名 用户名}
-L: 锁定用户账号
-U: 解锁用户账号
-s: 更改shell环境
$ userdel 选项 用户名 # 删除用户账号userdel
    -r 连同账户家目录一起删除
$ finger: 查询用户帐号的详细信息
用法
    finger 用户名
users、w、who、 whoami: 查询已登录到主机的用户信息
# 用户组类别                                                                                                                             管理员组                                                                                                                           基本组(私有组)                                                                                                                     附加组(共有组)
GID : GID (组标识号)
# 组账号文件
    /etc/group: 保存组帐号基本信息
    /etc/gshadow: 保存组帐号的密码信息
$ groupadd: 创建组
    -g 指定GID
$ gpasswd: 添加删除组成员
    -a 用户名 组名:把某个用户添加到指定组
    -d 用户名 组名:把某个用户从指定组中删除
$ groupdel :删除组
    groupdel 组名
$ groups: 查询用户所属的组
    groups 用户名
# 文件权限归属管理
文件权限
    读权限r=4: 允许查看文件内容、显示目录列表
    写权限w=2: 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
    可执行x=1: 允许运行程序、切换目录
归属(所有权)
    属主: 拥有该文件或目录的用户帐号
    属组: 拥有该文件或目录的组帐号
# 设置文件和目录的权限
chmod 777文件/目录
或者
chmod u+/-/=[rwx] 文件/目录
    -R递归修改指定目录及其下所有文件的权限
    u 代表属主
    g 代表属组
    o 代表其他
# 设置文件和目录的归属
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主: 属组文件或目录
    -R:递归修改指定目录下所有文件、子目录的归属
#权限掩码umask 作用:控制新建的文件或者目录的权限 默认权限去除umask的权限就为新建的文件或者目录的权限 满权限-umask=创建文件的权限
umask的查看
    umask
设置umaskumask 020

十一、Linux基础命令(6)

$ cut -d 分隔符 -f 打印的列 文件名
# sort排序
$ sort 参数 文件
    -n 按照数值大小排序
    -r 逆向排序
    -t 指定字段排序分隔符(默认空格)
    -k 以哪个区间进行排序(-t和-k一起使用)
    -u 排序后相同的行显示一次
$ uniq
    -d 只显示重复的行
    -D 显示重复行所有字符
    -c 显示重复的行说明重复的次数
    -u 仅显示不重复的行
$ date: 显示系统时间
    +%F、+%Y-%m-%d: 年月日
    +%T、+%H:%M:%S: 时分秒
    %Y 四位年份
    %m 月
    %d 日
    %H 时
    %M 分
    %S 秒
    -s "年月日 时:分:秒"
$ ln 参数 源文件 目标文件
    -s: 创建软连接
    -V: 显示创建过程
# 硬链接:
    1、只能对文件创建,不能应用于目录
    2、不能跨文件系统
    3、创建硬链接会增加文件被链接的次数
    4、删除连接源文件后硬链接文件还在
#软链接(符号链接):ln -sv 源文件 绝对路径 目标文件绝对路径
    1、可应用于目录,文件
    2、可以跨文件系统
    3、不会增加被链接文件的链接次数
    4、删除连接源文件后软链接的文件不在
    5、其大小为指定的路径所包含的字符个数
$ find 查找路径 查找条件 文件名
查找条件:
    -name'文件名': 对文件名作精确匹配
    find /etc -name 文件名
    -user 用户名: 根据属主查找
    -group 组名: 根据属组查找
        find /root -user root
    -uid UID: 根据UID查找
    -gid GID: 根据GID查找
        find /root -uid 500
    -type: 根据文件属性查找
    find /etc -type d
        f 普通文件
        d 目录
        c 字符设备
        b 块设备
        l 连接文件
        p 管道设备
        s 套接字设备
    -size [+表示大于,-表示小于,不带+-号表示等于]常用单位:k、M、G
    find /etc - -size 10k
    组合条件:
    -a -and: 与,满足两个条件
    -o -or: 或多个条件满足一个
    find /tmp -user root -a -type d
$ grep "关键字" 文件名 # 过滤一个文件中的关键字
I/O重定向:
    <: 重定向输出
    >: 重定向覆盖写入
    >>: 追加输入重定向
    <<: 追加输出重定向
    1>: 正确重定向echo "www" 1>1.txt 2>2.txt # 表示将正确的信息输入到1.txt文件中,将错误的信息输入到2.txt文件中
    1>>: 表示正确追加写入
    2>: 重定向错误覆盖输出
    2>>: 错误追加
    &>: 标准重定向,将正确及错误反馈信息输入至一个文件
    &>>: 将正确及错误的信息追加到一个文件中
    命令||命令: 表示前一个命令执行不成功,后面的命令才执行
    命令&&命令: 表示前一个命令执行成功后面的命令才执行
    命令;命令: 表示无论前一个命令执行是否成功,都执行后面的命令
    |: 管道,将前一个命令的输出作为下一个命令的输入

十二、Linux基础命令(7)

$ mount: 挂载文件系统,ISO镜像
    mount 查看当前的挂载
    mount [-t 类型] 存储设备 挂载点目录
    mount -o -loop ISO镜像文件 挂载点目录
    mount -a 挂载/etc/fstab中已记录的所有挂载
$ umount: 卸载已挂载的文件系统
    umount 存储设备位置
    umount 挂载点目录
    umount -a 卸载所有/etc/fstab已记录的挂载 # 如果卸载不掉,用下列命令 umount -lf 挂载点
$ df:查看文件系统分区情况及block←
df 参数 文件
    -h显示磁盘空间大小
    -i显示磁盘inode使用情况
    -T查看磁盘格式

十三、Linux RAID

# Raid 0: 一块硬盘或者以上就可做raid0
优势: 数据读取写入最快,最大优势提高硬盘容量,比如3快80G的硬盘做raid0可用总容量为240G,速度是一样
缺点: 无冗余能力,一块硬盘损坏,数据全无
# Raid 1: 至少2快硬盘可做raid1
优势: 镜像,数据安全强,2快硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行
缺点: 性能提示不明显,做raid1之后硬盘使用率为50%
# Raid 5: 至少需要3块硬盘raid5
优势: 以上优势,raid5兼顾。任意N-1快硬盘都有完整的数据。
缺点: 只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,raid5 IO/CPU性能狂跌,此时性能烂到无以复加
# Raid 6: 至少需要4块硬盘做raid6
优势: raid6是再raid5的基础上为了加强数据保护而设计的。可允许损坏2块硬盘
可用容量: C=(N-2)×D C=可用容量 N=磁盘数量 D=单个磁盘容量
比如4块1T硬盘做raid6可用容量是:(4-2)×1000GB=2000GB=2T
缺点: 性能提升方面不明显
# Raid10: 至少需要4快硬盘。raid10是2块硬盘组成raid1,2组raid1组成raid0,所以必须需要4块硬盘
优势: 兼顾安全性和速度。基础4盘的情况下,raid10允许对柜盘2块故障,随着硬盘数量的提示,容错量也会相对应提升。这是raid5无法做到的
缺点: 对盘的数量要求稍高,磁盘使用率为一半

十四、Linux 网络服务

$ ifconfig 命令信息:
    ens32: flags=标志位<UP ,BROADCAST,RUNNING,MULTICAST> mtu 最大传输单元
    inet4 IPv4地址 netmask 子网掩码 broadcast 广播地址
    inet6 IPv6地址 prefixlen msc长度 scopeid 0x20<link>
    ether mac地址 txqueuelen传输缓冲区大小 (Ethernet)
    RX packets 接收数据包 bytes 大小(单位统计)
    RX errors 错误 dropped 丢弃 overruns 过载 frame 帧数
    TX packets 发送数据包 bytes 大小(单位统计)
    TX errors 错误 dropped丢弃 overruns 过载 carrier 载波 collisions 冲撞
$ netstat 打印网络连接信息
    -r 查看路由表
    -n 不执行DNS反向查找,直接显示数字形式的IP地址
    -a 显示当前主机所有活动的网络连接信息
    -t 显示TCP协议相关信息
    -u 显示UDP协议相关信息
    -p 显示进程号和进程名称信息
    -l 查看监听状态
$ ping 测试网络连通性
常用选项
    -c 指定发送数据包个数
    -i 当ping通时,指定间隔多少秒发送下一个数据包
    -W 当ping不通时,发送的每个数据包的超时时间S
    -s 指定数据包大小
# 配置临时 IP
ifconfig 网卡名 IP 地址
ifconfig ens32 IP
ifconfig ens32 IP/24
ifconfig ens32 IP netmask 255.255.255.0
# 临时修改网卡状态
ifconfig ens32 down
ifconfig ens32 up
# 重新加载网络配置文件
systemctl restart network
ifdown ens32;ifup ens32
# 修改新主机名(临时生效)
hostname name
# 修改永久主机名
hostnamectl set-hostname name
vim /etc/hostname
name

十五、Linux基础命令(8)

# ps统计查看进程信息
选项: 
    a:所有与终端有关的进程
    u:启动此进程的用户
    x:所有与终端无关的进程
    -e:显示系统内的所有进程信息
    -l:使用长格式显示进程信息
    -f:使用完整的格式显示进程信息
ps:只显示当前用户会话中打开的进程
ps aux:以简单列表的形式显示出进程信息
显示信息的每列解释:
# 用户|PID号|占CPU百分百|占内存百分比|虚拟内存|常驻内存|运行终端|运行状态|启动时间|占CPU的时长|此进程的运行命令(带中括号的为内核线程)
进程状态
    D:不可中断的睡眠
    R:运行或就绪
    S:可中断的睡眠
    T:停止
    Z:僵死
    <:高优先级进程
    N:低优先级进程
    +:前台进程组中的进程
    l:多线程进程
    s:会话进程首进程
ps -elf :以长格式显示系统中的进程信息,并且包含更丰富的内容
查看某个进程的详细信息:ps aux|grep “进程名称”    或者ps -elf|grep “进程名称”
# top动态查看进程统计信息
top命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下三秒刷新一次,默认以CPU占用率排序。
选项:
    -d:指定刷新的时间间隔,单位秒
    -b:以批量处理模式操作,一般与-n同时使用
    -n:指定循环显示的次数
    -u:指定用户名
    -p:指定进程号
常用交互命令
    P:根据CPU使用百分百大小进行排序(默认进入时即为此排序)
    M:根据驻留内存大小进行排序
    T:根据累积时间进行排序
    k:终止一个进程
    q:退出程序
当CPU占用率过高时,不应再直接执行top命令查看,可以将信息存入一个文件内查看,以免CPU占用率过高导致崩溃。例:top -b -n1 > /topinfo.txt
    cat /topinfo.txt
查看进程信息
pgrep:根据特定条件查询PID信息
    -l:显示进程名
    -U:指定特定用户
    -t:指定终端
pstree:以树形结构列出进程信息
    -a:显示完整信息
    -u:列出对应用户名
    -p:列出对应PID号
$ kill、killall命令:
    kill:用于终止指定PID号的进程
    killall:用于终止指定名称的所有进程
    -9:用于强制终止
$ pkill:根据特定条件终止相应的进程
    -U:根据进程所属的用户名终止相应进程
    -t:根据进程所在的终端终止相应进程

十六、Linux tmux

# Tmux ("Terminal Multiplexer"的简称), 是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色,tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题,防止断网或者误操作导致正在运行的进程中断
$ tmux       # 运行tmux
$ tmux ls #    查看已创建的会话
$ tmux attach -t 1 # 进入一个已知会话
$ tmux deatch # 暂时离开当前会话
$ tmux kill-session -t 1 # 删除序号为1的会话
# 分屏操作
ctrl + b 放开后 shift + 5(%) # 左右分屏
ctrl + b 放开后 shift + "       # 上下分屏
ctrl + b 放开后 ↑↓←→         # 分屏后用来切换屏幕
ctrl + ↑↓←→                 # 调整窗口大小
ctrl + b 放开后 s            # 切换tmux终端
作者:admin  创建时间:2023-03-16 10:04
最后编辑:admin  更新时间:2024-09-05 11:17