Linux - 常用命令

一、常用基本命令

1.1、帮助命令

1.1.1、man 获得帮助信息
man [commands]

功能描述:获得帮助信息

显示说明

  • NAME:命令的名称和单行描述
  • SYNOPSIS:怎样使用命令
  • DESCRIPTION:命令功能的深入讨论
  • EXAMPLES:怎样使用命令的例子
  • SEE ALSO:相关主题(通常是手册页)

1.1.2、help 获得shell内置命令的帮助信息
help [commands]

功能描述:获得 shell 内置命令的帮助信息

1.1.3、常用快捷键
快捷键 功能描述
Ctrl + C 停止进程
Ctrl + D 退出登录
Ctrl + L 清屏,彻底清屏是reset
Ctrl + Q 退出
Ctrl + R 通过关键字查找使用过的命令
Tab 自动补全命令/路径
上下方向键 查找上(下)一个执行过的命令
Ctrl + W 删除(剪切)光标前的一个单词
Ctrl + R 反向搜索历史命令,根据输入字符串搜索最近使用的,与该字符串匹配的命令。取消搜索按Esc或者Ctrl + g
Ctrl + U 删除从光标当前位置到行首的所有内容,适用于快速清除一行命令的前半部分
Ctrl + K 删除从光标当前位置到行尾的所有内容,使用场景同上。
Ctrl + A 光标跳转到行首
Ctrl + E 光标跳转到行尾

 

 

 

1.2、文件目录类

1.2.1、pwd 显示当前工作目录的绝对路径
pwd

 

1.2.2、ls 列出目录的内容
ls [选项] [目录或文件]

选项说明:

  • -a:全部的文件,连通隐藏档(📢开头为.的文件)一起列出来
  • -l:长数据串列出,包含文件的属性与权限等等数据;
[root@centos ~]# ls -l
总用量 3886116
-rw-------. 1 root root        986 4月  26 2020 anaconda-ks.cfg
-rw-r--r--  1 root root      26329 12月  7 2021 ccd_stmttxn_000014486401_20211206
-rw-r--r--. 1 root root 3972005888 4月  27 2020 CentOS-6.9-x86_64-bin-DVD1.iso

每行列出的信息依次是:

  • 文件类型与权限
  • 链接数
  • 文件属主
  • 文件数组
  • 文件大小用byte来表示
  • 建立或最近修改的时间
  • 文件或目录名称

1.2.3、cd 切换目录
cd [参数]

参数说明:

  • cd 绝对路径:切换路径
  • cd 相对路径:切换路径
  • cd ~或者cd:回到家目录
  • cd -:回到上一次所在目录
  • cd ..:回到当前目录的上一级目录
  • cd -P:跳转到实际物理路径,而非快捷方式路径

1.2.4、mkdir 创建一个新的目录
mkdir [选项] 要创建的目录

选项说明:

  • -p:创建多层目录

1.2.5、rmdir 删除一个空的目录
rmdir /home/emptyDir

/home/emptyDir为空目录

1.2.6、touch 创建空文件
touch 文件名称

1.2.7、cp 复制文件或目录
cp [选项] source dest

功能描述:复制source文件到dest

选项说明:

  • -r:递归复制整个文件夹

参数说明:

  • source:源文件
  • dest:目标文件

强制覆盖不提示的方法:\cp

1.2.8、rm 移除文件或目录
rm [选项] deleteFile

功能描述:递归删除目录中所有内容

选项说明:

  • -r:递归删除目录中所有内容
  • -f:强制执行删除操作,而不提示用于进行确认
  • -v:显示指令的详细执行过程
# 强制删除某文件
rm -f /home/test/harley.txt
# 递归删除目录test中所有内容
rm -rf /home/test

1.2.9、mv 移动文件与目录或重命名
# 重命名
mv oldFile newFile
# 移动文件:将/tmp目录下的movefile.txt移动到/home目录下
mv /tmp/movefile.txt /home/

1.2.10、cat 查看文件内容
cat [选项] 文件名

一般查看比较小的文件,一屏幕能显示全的。

选项说明:

  • -n:显示所有行的行号,包括空行

1.2.11、more 文件内容分屏查看器

more 指令是一个基于 vi编辑器的文本过滤器,以全屏的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。

more 文件名

操作说明:

  • 空格键(Space):代表向下翻一页
  • Enter:代表向下翻一行
  • q:代表立刻离开more,不再显示该文件内容
  • Ctrl+F:向下滚动一屏
  • Ctrl+B:返回上一屏
  • =:输出当前行的行号
  • :f:输出文件名和当前行的行号

1.2.12、less 分屏显示文件内容

less 指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载的内容,对于显示大型文件具有较高的效率。

less 文件名

操作说明:

  • 空白键(Space):向下翻动一页
  • PageDown:向下翻动一页
  • PageUp:向上翻动一页
  • /字串:向下搜寻【字串】的功能。n向下查找,N向上查找
  • ?字串:向上搜寻【字串】的功能。n向上查找,N向下查找
  • q:离开less程序

1.2.13、echo 输出内容到控制台
echo [选项] [输出内容]

选项:

  • -e:支持反斜线控制的字符转换
    • \\:输出\本身
    • \n:输出换行符
    • \t:制表符,也就是Tab

1.2.14、显示文件头部内容

head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

# 查看文件前10行内容
head 文件
# 查看文件前5行内容
head -n 5 文件

选项说明:

  • -n <行数>:指定显示头部多少行内容

1.2.15、tail 输出文件尾部内容

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。

# 查看文件后10行内容
tail 文件
# 查看阿文件后5行内容,5可以是任意行数
tail -n 5 文件
# 实时跟踪该文档的所有更新
tail -f 文件

选项说明:

  • -n <行数>:输出文件尾部n行内容
  • -f:显示文件最新追加的内容,监视文件变化

1.2.16、> 覆盖 和 >> 追加
# 功能描述:列表的内容写入文件 a.txt 中 (覆盖写)
ll >文件
# 功能描述:列表的内容追加到文件 aa.txt 的末尾
ll >>文件
# 功能描述:将文件1的内容覆盖到文件2
cat 文件1 > 文件2
# 功能描述:输出内容追加到文件中
echo "内容" >> 文件

1.2.17、ln 软链接

软链接也称为符号链接,类似于 Windows 里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。

# 功能描述:给源文件创建一个软链接
ln -s [源文件或目录] [软链接名]
  • 删除软链接:rm -rf 软链接名,而不是rm -rf 软链接名/
  • 查询:通过ll就可以查看,列表属性第一位是l,尾部会有位置指向
[root@centos ~]# ll /usr/
总用量 108
lrwxrwxrwx.   1 root root    10 4月  26 2020 tmp -> ../var/tmp
  • 修改软链接
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

/etc/localtime为软链接,指向真实文件/usr/share/zoneinfo/Asia/Shanghai

1.2.18、history 查看已经执行过的命令
# 功能描述: 查看已经执行过的历史命令
history
# ---------------------------------------
    8   vim kafka-server-start.sh
    9  vim /usr/lib/kafka/bin/kafka-server-start.sh
   10  cd /usr/lib
   11  ls
   12  cd hadoop

!10即可执行cd /usr/lib命令,切换到 /usr/lib目录

1.3、时间日期类

date [OPTION] [+FORMAT]

选项说明:

  • -d:显示指定的 "时间字符串" 表示的时间,而非当前时间
  • -s <日期时间>:设置系统日期时间

参数说明:

  • <+日期时间格式>:指定显示时使用的日期时间格式

1.3.1、date 显示当前时间

# 功能描述: 显示当前时间
date
# 功能描述: 显示当前年份
date +%Y
# 功能描述: 显示当前月份
date +%m
# 功能描述: 显示当前是哪一天
date +%d
# 功能描述: 显示年月日时分秒
date "+%Y-%m-%d %H:%M:%S"

1.3.2、date 显示非当前时间
# 功能描述: 显示前一天时间
date -d '1 days ago'
# 功能描述: 显示明天时间
date -d '-1 days ago'

1.3.3、date 设置系统时间
# 设置系统时间
date -s 字符串时间
# 举个例子
date -s "2022-12-28 14:20:00"

1.3.4、cal 查看日历
# 功能描述: 不加选项,显示本月日历
cal [选项]

选项说明:

  • 年份:显示这一年的日历

 

1.3.5、ntpdate 校时

ntpdate命令是用来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准 NTP 时钟过滤器和选择算法来选择最好的样本。另外,必须有 root 权限才能在主机上运行这个命令。

参考:https://www.cnblogs.com/liushui-sky/p/9203657.html

参考:https://blog.csdn.net/qq_37960324/article/details/85044376

参考:http://lnmp.ailinux.net/ntpdate

[root@centos ~]# service ntpd status
ntpd (pid  28258) 正在运行...
[root@centos ~]# service ntpd stop
关闭 ntpd:                                                [确定]
[root@centos ~]#
[root@centos ~]#
[root@centos ~]# ntpdate ntp.ntsc.ac.cn
28 Dec 14:28:20 ntpdate[20346]: step time server 114.118.7.163 offset 34973883.915309 sec
[root@centos ~]# date
2022年 12月 28日 星期三 14:29:43 CST
[root@centos ~]#
[root@centos ~]#
[root@centos ~]# service ntpd restart
关闭 ntpd:                                                [失败]
正在启动 ntpd:                                            [确定]
[root@centos ~]# service ntpd status
ntpd (pid  26098) 正在运行...
[root@centos ~]#

常见的NTP校时服务器地址 —— 公网(外网)NTP服务器

中国科学院国家授时中心NTP授时服务器地址:ntp.ntsc.ac.cn

腾讯云公网NTP服务器

  • ntp.tencent.com
  • ntp1.tencent.com
  • ntp2.tencent.com
  • ntp3.tencent.com
  • ntp4.tencent.com
  • ntp5.tencent.com

阿里云NTP服务器:ntp.aliyun.com

教育网内的授时服务器:

  • time.edu.cn
  • s2c.time.edu.cn
  • s2f.time.edu.cn
  • s2k.time.edu.cn

1.4、用户管理命令

1.4.1、useradd 添加新用户
# 功能描述: 添加新用户
useradd 用户名
# 功能描述: 添加新用户到某个组
useradd -g 组名 用户名

1.4.2、passwd 设置用户密码
# 功能描述: 设置用户密码
passwd 用户名

举个🌰

[root@centos ~]# passwd harley
更改用户 harley 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@centos ~]#

1.4.3、id 查看用户是否存在
id 用户名
[root@centos ~]# id harley
uid=502(harley) gid=502(harley) 组=502(harley)

查看创建了哪些用户:cat /etc/passwd

1.4.4、su 切换用户
# 功能描述: 切换用户,只能获得用户的执行权限,不能获得环境变量
su 用户名称
# 功能描述: 切换到用户并获得该用户的环境变量及执行权限
su - 用户名称

1.4.5、userdel 删除用户
# 功能描述: 删除用户但保存用户主目录
userdel 用户名
# 功能描述: 用户和用户主目录都删除
userdel -r 用户名

选项说明:

  • -r:删除用户的同时,删除与用户相关的所有文件。

1.4.6、who 查看登录用户信息
# 功能描述: 显示自身用户名称
whoami
# 功能描述: 显示登录用户的用户名
who am i

1.4.7、sudo 设置普通用户具有root权限
  1. 添加harley用户:useradd harley
  2. 为harley设置密码:passwd harley
  3. 修改配置文件/etc/sudoers
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
harley  ALL=(ALL)       ALL
  1. 或者配置采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
harley  ALL=(ALL)       NOPASSWD:ALL

修改完毕后,可以使用 harley 登录,然后用命令 sudo可获得root权限进行操作。

1.4.8、usermod 修改用户
usermod -g 用户组 用户名

选项说明:

  • -g:修改用户的初始登录组,给定的组必须存在

1.5、用户组管理命令

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

1.5.1、groupadd 新增组
groupadd 组名

1.5.2、groupdel 删除组
groupdel 组名

1.5.3、groupmod 修改组
groupmod -n 新组名 老组名

选项说明:

  • -n <新组名>:指定工作组的新组名

查看创建了哪些组:cat /etc/group

1.6、文件权限类

1.6.1、文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

字符含义

如果没有权限,就会出现 -。从左至右用0-9这些数字来表示:

0首位表示类型,代表这个文件是目录d、文件-或链接文件l等等。

1~3确定属主(该文件的所有者)拥有该文件的权限。User

4~6确定属组(文件所有者的同组用户)拥有该文件的权限。Group

7~9确定其他用户拥有该文件的权限。Other

权限含义

  • 作用到文件:
    • r代表可读read:可以读取、查看
    • w代表可写write:可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
    • x代表可执行execute:可以被系统执行
  • 作用到目录:
    • r代表可读read:可以读取,ls 查看目录内容
    • w代表可写write:可以修改,目录内创建+删除+重命名目录
    • x代表可执行execute:可以进入该目录

1.6.2、chmod 改变权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

r=4、w=2、x=1

# test.txt 权限如下
-rw-r--r--  1 root root          0 11月  9 2021 test.txt
# 修改文件使其所属主具有执行权限 [-rwxr--r--]
chmod u+x test.txt
# 修改文件使其所属组用户具有执行权限 [-rwxr-xr--]
chmod g+x test.txt
# 修改文件所属主用户执行权限,并是使其他用户具有执行权限 [-rw-r-xr-x]
chmod u-x,o+x test.txt
# 设置文件所有者、所属组、其他用户都具有可读可写可执行的权限 [-rwxrwxrwx]
chmod 777 test.txt
# 修改整个文件夹里面所有文件的所有者、所属组、其他用户都具有可读可写可执行权限.
chmod -R 777 /home/harley

1.6.3、chown 改变所有者
# 功能描述:改变文件或者目录的所有者
chown [选项] [最终用户] [文件或目录]

选项说明

  • -R:递归操作

# 修改文件所有者
chown hive test.txt
# 递归修改文件所有者和所有组
chown -R hive:hive /source/data

1.6.4、chgrp 改变所属组
# 功能描述:改变文件或目录的所属组
chgrp [最终用户组] [文件或目录]

1.7、搜索查找类

1.7.1、find 查找文件或者目录

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

find [搜索范围] [选项]

选项说明

  • -name <查询方式>:按照指定的文件名查找模式查找文件
  • -user <用户名>:查找属于指定用户名所有文件
  • -size <文件大小>:按照指定的文件大小查找文件
# 按文件名:根据名称查找/目录下的 filename.txt文件
find / -name "*.txt"
# 按拥有者:查找/opt目录下,文件所有者为harley的文件
find /opt -user harley
# 按文件大小:在/home目录查找大于200M的文件 (+n大于,-n小于,n等于)
find /home -size +204800

1.7.2、grep 过滤查找及"|"管道符

管道符,"|",表示将前一个命令的处理结果输出传递给后面的命令处理。

grep 选项 查找内容 源文件

选项说明

  • -c:打印与模式匹配的行数
  • -h:显示匹配的行,但不现实文件名
  • -i:忽略字符大小写的差别
  • -l:只显示文件名列表
  • -n:显示匹配的行及其行号
  • -v:显示不包含匹配文本的所有行
  • -e exp:指定字符串作为查找文件内容的样式
  • -f file:指定规则文件,其内容有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
  • -E:将样式为延伸的正则表达式来使用。
  • -w:显示全匹配整个单词;
  • -o:只打印匹配行的匹配部分、每个匹配部分都在单独的输出行上;
  • -A n:打印搜索行和结果后的n行;
  • -B n:打印搜索行和结果前的n行;
  • -C n:打印搜索行及其前后的n行;
# 查找test在第几行
ls | grep -n test

 

 

 

1.7.3、which 查找命令

查找命令在哪个目录下

# 基本语法
which 命令
# 案例实操
which ll

1.8、压缩和解压类

1.8.1、gzip/gunzip 压缩
# 功能描述:压缩文件,只能将文件压缩为 *.gz 文件
gzip 文件
# 功能描述:解压缩文件命令
gunzip 文件.gz

经验技巧

  • 只能压缩文件,不能压缩目录
  • 不保留原来的文件

1.8.2、zip/unzip 压缩
# 功能描述:压缩文件和目录的命令
zip [选项] xxx.zip 将要压缩的内容
# 功能描述:解压缩文件
unzip [选项] xxx.zip

选项说明

  • -r:压缩目录
  • -d <目录>:指定解压后文件的存放目录

经验技巧

zip 压缩命令在 window/linux 都通用,可以压缩目录且保留源文件。

# 压缩1.txt和2.txt,压缩后的名称为mypackage.zip
touch createUser.sh
zip createUser.zip createUser.sh

# 解压 mypackage.zip
unzip createUser.zip

# 解压mypackage.zip到指定目录-d
unzip createUser.zip -d /opt

1.8.3、tar 打包
# 功能描述:打包目录,压缩后的文件格式 .tar.gz
tar [选项] xxx.tar.gz 将要打包进去的内容

选项说明:

  • -z:打包同时压缩
  • -c:产生.tar打包文件
  • -v:显示详细信息
  • -f:指定压缩后的文件名
  • -x:解压.tar文件
# 压缩多个文件
tar -zcvf file.tar.gz file1.txt file2.txt
# 压缩目录
tar -zcvf testdirs.tar.gz testdirs/
# 解压到当前目录
tar -zxvf testdirs.tar.gz
# 解压到指定目录
tar -zxvf testdits.tar.gz -c /opt

1.9、磁盘分区类

1.9.1、df 查看磁盘空间使用情况
# 功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
df 选项

选项说明:

  • -h:以人们较易阅读的GBytesMBytesKBytes等格式自行显示
# 查看磁盘使用情况
df -h

1.9.2、fdisk 查看分区
# 功能描述:查看磁盘分区详情
fdisk -l

选项说明

  • -l:显示所有硬盘的分区列表

经验技巧

该命令必须在root用户下才能使用

功能说明

  • Device:分区序列
  • Boot:引导
  • Start:从X磁柱开始
  • End:到Y磁柱结束
  • Blocks:容量
  • Id:分区类型ID
  • System:分区类型

1.9.3、mount/umount 挂载/卸载

对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做"挂载"的处理方法,它整个文件系统包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。

# 功能描述:挂载设备
mount [-f vfstype] [-o options] device dir
# 功能描述:卸载设备
umount 设备文件名或挂载点

参数说明

  • -t vfstype:指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。常见类型有:
    • 光盘或光盘镜像:iso9660
    • DOS fat16文件系统:msdos
    • Windows 9x fat32 文件系统:vfat
    • Windows NT ntfs 文件系统:ntfs
    • Mount Windows 文件网络共享:smbfs
    • UNIX(LINUX) 文件网络共享:nfs
  • -o options:主要用来描述设备或档案的挂接方式。常用的参数有:
    • loop:用来把一个文件当成硬盘分区挂接上系统
    • ro:采用只读方式挂接设备
    • rw:采用读写方式挂接设备
    • iocharset:指定访问文件系统所用字符集
  • device:要挂接(mount)的设备
  • dir:设备在系统上的挂接点(mount point)
# 挂载光盘镜像文件
mkdir /mnt/cdrom/
mkdir -t iso9660 /dev/cdrom /mnt/cdrom/

# 卸载光盘镜像文件
umount /mnt/cdrom

设置开机自动挂载:vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Apr 26 23:41:40 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=5a8fc680-ccab-4725-b8a2-7c561fe11fd5 /                  ext4    defaults        1 1
UUID=59ba2358-d9ce-4158-90b5-645a04e3bb95 /boot              ext4    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sdb  /mnt/disk1  ext4  defaults 0 0
/dev/sdc  /mnt/disk2  ext4 defaults 0 0

ramfs                   /mnt/ramdisk/ngmr       ramfs   mode=777,size=4g         0 0

1.10、进程线程类

1.10.1、ps 查看当前系统进程状态
# 功能描述:查看系统中所有进程
ps aux|grep xxx
# 功能描述:可以查看子父进程之间的关系
ps -ef|grep xxx

选项说明

  • -a:选择所有进程
  • -u:显示所有用户的所有进程
  • -x:显示没有终端的进程

功能说明

  • ps aux 显示信息说明
    • USER:该进程是由哪个用户产生的
    • PID:进程的ID号
    • %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
    • %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
    • VSZ:该进程占用虚拟内存的大小,单位 KB
    • RSS:该进程占用实际物理内存的带下,单位KB
    • TTY:该进程是在哪个终端中进行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
    • STAT:进程状态。常见的状态有:R运行、S睡眠、T停止状态、s包含子进程、+位于后台
    • START:该进程的启动时间
    • TIME:该进程占用CPU的运算时间,注意不是系统时间
    • COMMAND:产生此进程的命令名
  • ps -ef 显示信息说明
    • UID:用户ID
    • PID:进程ID
    • PPID:父进程ID
    • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
    • STIME:进程启动的时间
    • TTY:完整的终端名称
    • TIME:CPU时间
    • CMD:启动进程所用的命令和参数

经验技巧

如果想查看进程的 CPU占用率和内存占用率,可以使用aux

如果想查看进程的父进程ID可以使用ef

1.10.2、kill 终止进程
# 功能描述:通过进程号杀死进程
kill [选项] 进程号

# 功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
killall 进程名称

选项说明

  • -9:表示强制停止进程

1.10.3、pstree 查看进程树
pstree [选项]

选项说明

  • -p:显示进程的PID
  • -u:显示进程的所属用户

1.10.4、top 查看系统健康状态
top [选项]

选项说明

  • -d [秒数]:指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令。
  • -i:使top不显示任何闲置或者僵死进程。
  • -p:通过指定监控进程ID来仅仅监控某个进程的状态。

操作说明

  • P:以CPU使用率排序,默认就是此项
  • M:以内存的使用率排序
  • q:退出 top

查看结果字段解释

  • 第一行信息为任务队列信息
    • 12:26:46:系统当前时间
    • up 1 day, 13:32:系统的运行时间,本机已经运行1天13小时32分钟
    • 2 users:当前登录了两个用户
    • load average: 0.00,0.00,0.00:系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。
  • 第二行为进程信息
    • Tasks:95 total:系统中的进程总数
    • 1 running:正在运行的进程数
    • 94 sleeping:睡眠的进程
    • 0 stopped:正在停止的进程
    • 0 zombie:僵尸进程。如果不是0,需要手工检查僵尸进程。
  • 第三行为CPU信息
    • Cpu(s): 0.1%us:用户模式占用的CPU百分比
    • 0.1%sy:系统模式占用的CPU百分比
    • 0.0%ni:改变过优先级的用户进程占用的CPU百分比
    • 99.7%id:空闲CPU的CPU百分比
    • 0.1%wa:等待输入/输出的进程的占用CPU百分比
    • 0.0%hi:硬中断请求服务占用的CPU百分比
    • 0.1%si:软中断请求服务占用的CPU百分比
    • 0.0%st:st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。
  • 第四行为物理内存信息
    • Mem: 625344k total:物理内存的总量,单位kb
    • 571504k used:已经使用的物理内存数量
    • 53840k free:空闲的物理内存数量
    • 65800k buffers:作为缓冲的内存数量
  • 第五行为交换分区(swap)信息
    • Swap: 524280k total:交换分区(虚拟内存)的总大小
    • 0k used:已经使用的交互分区的大小
    • 524280k free:空闲交换分区的大小
    • 409280k cached:作为缓存的交互分区的大小

1.10.5、netstat 显示网络统计信息和端口
# 功能描述:查看该进程网络信息
netstat -anp|grep 进程号
# 功能描述:查看网络端口号占用情况
netstat -nlp|grep 端口号

选项说明

  • -n:拒绝显示别名,能显示数字的全部转化成数字
  • -l:仅列出有在 listen(监听)的服务状态
  • -p:表示显示哪个进程在调用

1.11、crond 系统定时任务

1.11.1、crond 服务管理
service crond restart

1.11.2、crontab 定时任务设置

crontab [选项]

选项说明

  • -e:编辑 crontab 定时任务
  • -l:查询 crontab 任务
  • -r:删除当前用户所有的 crontab 任务

二、软件包管理

2.1、RPM

2.1.1、RPM 概述

RPM(RedHat Package Manager),RedHat 软件包管理工具,类似 Windows 里面的 setup.exe 是Linux这系列操作系统里面的打包安装工具,它虽然是 RedHat 的标志,但理念是通用的。

RPM 包的名称格式

Apache-1.3.23-11.i386.rpm

  • "Apache" 软件名称
  • "1.3.23-11" 软件的版本号,主版本和此版本
  • "i386" 是软件所运行的硬件平台,Intel 32位微处理器的统称
  • "rpm" 文件扩展名,代表 RPM包。

2.1.2、RPM 查询命令(rpm -qa)

# 功能描述:查询所安装的所有rpm软件包
rpm -qa

由于软件包比较多,一般都会采取过滤。rpm -qa|grep rpm软件包

 

2.1.3、RPM 卸载命令(rpm -e)
rpm -e RPM软件包
rpm -e --nodeps 软件包

选项说明

  • -e:卸载软件包
  • --nodeps:卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。

 

2.1.4、RPM 安装命令(rpm -ivh)
rpm -ivh RPM包全名

选项说明

  • -i:-i = install,安装
  • -v:-v = verbose,显示详细信息
  • -h:-h = hash,进度条
  • --nodeps:不检测依赖进度
  • --force:强制
  • --ignorearch:忽略架构
rpm -ivh xxx.rpm --nodeps
rpm -ivh xxx.rpm --nodeps --force
rpm -ivh xxx.rpm --nodeps --force --ignorearch

 

2.1.5、更新rpm包
rpm -Uvh xxx

选项说明:

  • -U或者--upgrade:这个选项指示rpm去升级指定的软件包。如果软件包已经安装在系统中,该命令会将其替换为新版本;如果软件包未安装,rpm则不会执行任何操作。
  • -v--verbose:代表详细模式,会让rpm在执行过程中输出更多的信息,便于用户了解操作的详细步骤。
  • -h--hash:在传输过程中显示进度条,通常以#字符的形式展现,让用户可以直观地看到安装或者升级的进度。

 

 

 

2.2、YUM 仓库配置

2.2.1、YUM 概述

YUM(全称为 Yellow dog Updater,Modified)是一个在 Fedora 和 RedHat 以及 CentOS中的Shell前端软件包管理器。基于 RPM包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

2.2.2、YUM 的常用命令
yum [选项] [参数]

选项说明

  • -y:对所有提问都回答 "yes"
  • -h:帮助
  • -q:不显示安装过程

参数说明

  • install:安装rpm软件包
  • update:更新rpm软件包
  • check-update:检查是否有可用的更新 rpm 软件包
  • remove:删除指定的rpm软件包
  • list:显示软件包信息
  • clean:清理yum过期的缓存
  • deplist:显示yum软件包的所有依赖关系
  • provides:显示某文件或某命令相关的文件或软件包

# 1. 列出所有已安装的软件
yum list installed
# 2. 使用 yum 查找软件包
yum search [pkg_name]
# 3. 列出所有可安装的软件包
yum list
# 4. 列出所有可更新的软件包
yum list updates
# 5. 列出所有已安装的软件包
yum list installed

2.2.3、修改网络 YUM 源

默认的系统 YUM 源,需要连接国外 apache 网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163。

  1. 前期文件准备
    1. 前提条件Linux系统必须可以联网
    2. 在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击 CentOS6 -> 再点击保存。
    3. 查看文件(CentOS6-Base-163.repo)保存位置,右键在终端中打开
    4. 在打开的终端中输入 pwd,可以查看文件的全路径
  1. 替换本地 yum 文件
    1. 把下载的文件移动到 /etc/yum.repos.d目录下
    2. 进入到/etc/yum.repos.d目录
    3. CentOS6-Base-163.repo重命名为CentOS-Base.repo
  1. 安装命令
    1. 清理yum过期的缓存:yum clean all
    2. 把服务器的包信息下载到本地电脑缓存起来:yum makecache

 

三、常用命令和所在工具包的关系

一般来说,如果遇到执行一个命令,出现-bash: xxx command not found的情况,可以使用如下命令查看是哪个工具包提供的命令

yum provides [command]

以下是整理的常用命令所在的工具包

工具包 提供的命令
net-tools ifconfig、arp、hostname、iplink、ipmaddr、iptunnel、mii-tool、nameif、netstat、plipconfig、rarp、route、slattach
lrzsz sz、rz

 

四、其他命令

关机:poweroffhaltinit 0

重启:reboot

 

 

— 业精于勤荒于嬉,行成于思毁于随 —

 

posted @ 2023-04-06 17:19  HOUHUILIN  阅读(38)  评论(0编辑  收藏  举报