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权限
- 添加harley用户:
useradd harley
- 为harley设置密码:
passwd harley
- 修改配置文件
/etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
harley ALL=(ALL) ALL
- 或者配置采用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
:以人们较易阅读的GBytes
,MBytes
,KBytes
等格式自行显示
# 查看磁盘使用情况
df -h
1.9.2、fdisk 查看分区
# 功能描述:查看磁盘分区详情
fdisk -l
选项说明
-l
:显示所有硬盘的分区列表
经验技巧
该命令必须在root用户下才能使用
功能说明
Device
:分区序列Boot
:引导Start
:从X磁柱开始End
:到Y磁柱结束Blocks
:容量Id
:分区类型IDSystem
:分区类型
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
:用户IDPID
:进程IDPPID
:父进程IDC
: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
:物理内存的总量,单位kb571504k 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。
- 前期文件准备
- 前提条件Linux系统必须可以联网
- 在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击 CentOS6 -> 再点击保存。
- 查看文件(CentOS6-Base-163.repo)保存位置,右键在终端中打开
- 在打开的终端中输入
pwd
,可以查看文件的全路径
- 替换本地 yum 文件
- 把下载的文件移动到
/etc/yum.repos.d
目录下 - 进入到
/etc/yum.repos.d
目录 - 将
CentOS6-Base-163.repo
重命名为CentOS-Base.repo
- 安装命令
- 清理yum过期的缓存:
yum clean all
- 把服务器的包信息下载到本地电脑缓存起来:
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 |
四、其他命令
关机:poweroff
、halt
、init 0
重启:reboot
— 业精于勤荒于嬉,行成于思毁于随 —