CentOS 7 命令手册
CentOS 7 命令手册
夜雨柠檬本片记录了 Linux 方面的简单介绍和常用命令,使用的是 CentOS。
一、Linux 介绍
1.1 Linux 和 GNU/Linux
1.2 Linux 和 Windows 对比(网上粘的)
- 授权:Linux是免费的系统,系统的源码也是开放的,用户可以对其进行编辑修改;Windows是需要收费的系统,即便是购买之后其系统源码也是受到版权保护,用户不能够对其进行修改
- 软件:在软件的丰富程度方面,如果您经常使用消费级的软件以及游戏等,显然在这方面Windows的支持更好,尤其是对于游戏玩家,Windows支持的游戏更多;当然Linux可以通过Wine来实现,Windows的EXE软件运行在Linux系统上的目的,但显然体验不如原生的软件
- 安全性:由于普及率方面等原因,Windows在各种恶意软件和病毒的数量方面显然是比Linux要多,目前由于普及率较少,Linux在这方面的数量更少
- 易用性:由于开源的特性,Linux拥有不同的发行版本,使用的UI虽然大同小异但使用起来也是会存在着不同;在这一点上,显然Windows使用起来更为方便;不过由于在系统资源占用上更少,可以对系统进行深度的定制,因此在运行的硬件适用性上,显然Linux有着更大的优势
- 稳定性:很多服务器选择使用Linux,除了其开源的特性和模块化的内核设计外,还有就是在稳定性方面有着更好的表现
二、CentOS 和 虚拟机
2.1 CentOS 下载
centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 (aliyun.com)
2.2 虚拟机下载
VMWare:Workstation Pro 收费,自行查找资源下载。
VirtualBox:Oracle VM VirtualBox - Downloads | Oracle Technology Network | Oracle 中国
2.3 VMWare 配置虚拟机
VMware 需要开启 CPU 虚拟化
。
创建虚拟机步骤:
- 创建虚拟机,自定义配置
- CPU 内核数 <= 资源管理器中的逻辑处理器个数
- 内存和硬盘按自己所需分配
- 其它默认
- CD/DVD 使用已下载好的 ISO 映像文件
手动分区:
- 引导分区 /boot 500 MiB
- 交换分区 swap 4 GiB
- 其它 / 15GiB
- 文件系统:xfs
三、终端
3.1 [root@redis001 ~]# 说明
- root:当前用户
- redis001:当前主机
- ~:当前目录
- #:root 用户命令提示符号,其他用户为 $
四、文件系统
4.1 文件目录
五、VIM 编辑器
5.1 VIM 三种编辑模式
5.2 命令模式
常用命令:
命令 | 作用 |
---|---|
i | 切换到输入模式,以输入字符 |
x | 删除当前光标所在处的字符 |
X | 删除当前光标前一个字符 |
: | 切换到底线命令模式,以在最底一行输入命令 |
gg | 跳转到文件开头 |
G | 跳转到文件末尾 |
dd | 删除光标所在一整行数据,且临时存储到缓存区 |
yy | 复制整行文本到临时缓存区 |
p | 将指定缓存区内容放在光标位置之下;整行文本放在行下面,若是非整行文本则放在光标后面 |
P | 将指定缓冲区的内容放到当前光标的位置之上;整行文本放在行下面,若是非整行文本则放在光标后面 |
u | 撤销最近的修改,针对所有修改 |
U | 撤销对当前行上做的所有修改 |
r | 替换光标位置上的一个字符,但不会进入 insert 模式,先按 r 再按要替换成的字符,也可以 2r 把光标后面两个都替换掉 |
R | 替换从光标位置开始的字符,同时改变 vim 到文本输入模式 |
. | 重复上一次的修改 – 注意该命令是英文符号点 |
>> | 向右移动本行一段距离 |
<< | 向左移动本行一段距离 |
翻页命令:
命令 | 作用 |
---|---|
Ctrl + d | 将光标向下翻半屏,通常每次翻屏12行 |
Ctrl + u | 将光标向上翻半屏,通常每次翻屏12行 |
Ctrl + f | 将光标向下翻满屏,通常每次翻屏24行 |
Ctrl + b | 将光标向上翻满屏,通常每次翻屏24行 |
5.3 编辑模式
命令 | 作用 |
---|---|
i | 在光标的左侧输入文本,光标右侧文本向右移动 |
I | 在光标所在行的行首输入文本,相当于在行首执行了 i 命令 |
a | 在光标的右侧输入文本 |
A | 在光标所在行的尾部进行输入文本,相当于在光标行尾执行a命令 |
o | 在光标所在行的下一行增添新的一行,光标停留在新行的行首 |
O | 在光标所在行的上一行增添新的一行,光标停留在新行的行首 |
5.4 末行模式
命令 | 作用 |
---|---|
:q | 退出 vim 编辑器 |
- | - |
:q! | 不保存文件,直接退出 vim 编辑器 |
:w | 只保存文件,但不退出 vim 编辑器 |
:wq | 保存文件且退出 vim 编辑器 |
ZZ | 保存文件且退出 vim 编辑器 |
:start,endd | 从第 start 行开始到 end 行进行删除操作 最后一个 d 表示删除,如 :3,4d |
:%d | 清空文件内容(跳到行首 dG 执行也可删除) |
:! command | 暂时离开vim编辑器去到指令模式下执行 command 命令显示结果,如 :!ls |
:/string | 从文件首部开始查找到尾部;按 n 键可以跳到下一个,N 上一个,另外按 / 键后,按上下键可以找到以前查找的记录,同样的也有记录 |
:?string | 同上,从当前光标向文件首部查找 |
:%s/word1/word2/g | 从文件首到尾替换每一行的 word1为 word2 |
:set nu | 显示行号 也可以输入 set number |
:set nonu | 取消行号 |
:set ai/noai | 开启/关闭自动缩进 |
5.5 VIM 键盘图
六、网络配置
6.1 网络连接测试
命令 | 作用 |
---|---|
ifconfig | 查看 ip 地址 |
6.2 修改静态 IP
1 | vim /etc/sysconfig/network-scripts/ifcfg-ens33 |
6.3 配置主机名
查看主机名
1 | hostname |
配置主机名
方法一:修改配置文件,重启服务器
1 | vim /etc/hostname |
方法二:使用 hostnamectl
命令
1 | hostnamectl set-hostname redis100 |
IP 通讯录 hosts
1 | vim /etc/hosts |
七、远程登陆
7.1 SSH 工具
安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。
- Windows ssh
- Xshell
7.2 FTP 工具
文件传输协议(File Transfer Protocol,FTP)是用于在[网络]上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
- Windows scp
- Xftp
- FileZilla
八、系统管理
在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。
每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
8.1 服务管理
systemctl (CentOS 7 版本)
基本语法:
1 | systemctl start | stop | restart |status 服务名 |
查看服务:
1 | ls /usr/lib/systemd/system -al |
查看网络管理服务(NetworkManager)的状态:
1 | systemctl status NetworkManager |
查看 NetworkManager 服务:
1 | ls /usr/lib/systemd/system -la | grep 'networkmanager.service' -i |
8.2 系统运行级别
启动图形设置系统
setup
七个运行级别概述
- 0 shutdown.target 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关的
- 1 emergency.target 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录
- 2 rescure.target 多用户模式,没有NFS和网络支持
- 3 multi-user.target 完整的多用户文本模式,有NFS和网络,登陆后进入控制台命令行模式
- 4 无 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置
- 5 graphical.target 图形化模式,登陆后进入图形GUI模式,X Window系统
- 6 无 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启
查看默认运行级别
systemctl get-default
设置默认运行级别
systemctl set-default TARGET.target
进入不同运行级别的方式
1 | init 0 #关机 |
8.3 配置服务开机启动和关闭防火墙
查看自启动列表
systemctl list-unit-files
关闭防火墙
systemctl disable firewalld.service
8.4 关机重启
一分钟之后关机
shutdown
取消关机
shutdown -c
立刻关机
shutdown nown
几分钟之后关机
shutdown minutes
定时关机
shutdown hours:minutes
将数据由内存同步到磁盘
sync
停机,关闭系统,但不断电
halt
关机,断电
poweroff
重启
reboot
九、常用命令
9.1 shell 介绍和帮助命令
内置命令和外部命令
- Shell内置命令
【1】定义:Linux系统为了提高系统运行效率,将经常使用的轻量的命令在系统启动时一并加载到内存中供Shell随时调用,这部分命令称为内部命令,如 cd、exit、echo等
【2】特点:
内置命令构建在Shell程序中,运行时不必创建多余的进程,要比外部命令执行快得多。
内部命令写在bashy源码里面,并不单独以磁盘文件的形式存在于磁盘上。
2. Shell外部命令
【1】定义:外部命令是linux系统中独立的外部可执行程序,如ls等
【2】特点:
外部命令的实体并不包含在shell中,但是其命令执行过程是由shell程序控制的。
在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存。
当外部命令被调用时,首先 Shell 会创建子进程,然后在子进程当中运行该程序。
帮助外部命令
man 命令
查看内置命令
man -f 命令
查看命令类型
type 命令
查看内置命令
help 命令
查看外部命令
命令 --help
常用快捷键
快捷键 | 功能 |
---|---|
ctrl + c | 停止进程 |
ctrl + l | 清屏,等同于 clear;彻底清屏是:reset |
table | 提示(可以防止敲错) |
9.2 目录操作命令
pwd 命令
pwd: print working directory 打印工作目录
- 基本语法
pwd (功能描述:显示当前工作目录的绝对路径)
cd 命令
cd: change directory 切换目录
- 基本语法
cd 参数
- 参数说明
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~ 或者 cd | 回到家目录 |
cd - | 回到上一次所在目录 |
cd .. | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径,而非实际路径 |
mkdir
mkdir:make directory
- 基本语法
mkdir [option] 创建目录
- 选项说明
选项 | 说明 |
---|---|
-p | 创建多层目录 |
rmdir
rmdir:remove directory 删除目录
- 基本语法
rmdir [option] 删除目录
9.3 文件操作命令
touch 命令
touch:创建空文件
- 基本语法
touch 文件名称
cp 命令
cp:复制文件或目录
- 基本语法
cp [选项] source dest
功能描述:复制 source 文件到 dest
- 选项说明
选项 | 说明 |
---|---|
-r | 递归复制整个文件夹 |
- 经验技巧
强制覆盖不提示的方法:\cp(原生方法)
rm
rm:删除文件或目录
- 基本语法
rm [选项] deleteFile
功能描述:递归删除目录中的所有内容
- 选项说明
选项 | 说明 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除命令,而不提示确认 |
-v | 显示指令的详细执行过程 |
mv
mv:移动文件或目录,重命名
- 基本语法
【1】mv oldNameFile newNameFile
功能描述:重命名
【2】mv xiaohu/house ./
功能描述:移动文件
cat
cat:查看文件内容
- 基本语法
cat [option] 要查看的文件
- 选项说明
选项 | 说明 |
---|---|
-n | 显示所有行的行号,包括空行 |
more
more:文件内容的分屏查看器
- 基本语法
more 要查看的文件
- 操作说明
操作 | 功能说明 |
---|---|
空白键 | 向下翻一页 |
Enter | 向下翻一行 |
q | 立刻离开该文件,不再显示 |
Ctrl + F | 向下滚动一屏 |
Ctrl + B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less
less:分屏显示文件内容
- 基本语法
less 要查看的文件
- 操作说明
扩展了 more 的功能,之前的也可以使用
操作 | 功能说明 |
---|---|
空白键 | 向下翻一页 |
pagedown | 向下翻一页 |
pageup | 向上翻一页 |
/字串 | 向下搜索字串的功能:n:向下查找,N:向上查找 |
?字串 | 向上搜索字串的功能:n:向上查找,N:向下查找 |
Shift + g | 末尾 |
g | 末尾 |
9.4 其它命令
echo
echo:输出内容到控制台
- 基本语法
echo [option] [输出内容]
- 选项说明
选项 | 说明 |
---|---|
-e | 支持反斜杠控制的转义字符 |
> >>
> 输出重定向,>> 追加
- 基本语法
【1】ls -l > 文件
功能描述:将 ls 查看信息写入到文件中
【2】ls -l >> 文件
功能描述:将 ls 查看信息追加到文件中
【3】cat 文件1 > 文件2
功能描述:将文件1的内容覆盖到文件2
【4】echo “内容” >> 文件
功能描述:将内容追加到文件中
head
head:显示文件头部内容
- 基本语法
head 文件
功能描述:查看文件头10行内容
head -n 5 文件
功能描述:查看文件头5行内容,5可以是任意行数
- 选项说明
选项 | 说明 |
---|---|
-n 行数 | 查看文件头部 n 行内容 |
tail
tail:输出文件尾部内容
- 基本语法
tail 文件
功能描述:查看文件尾部10行内容
tail -n 5 文件
功能描述:查看文件尾部5行内容,5可以是任意行数
tail -f 文件
功能描述:实时追踪该文档的所有更新
- 选项说明
选项 | 说明 |
---|---|
-n 行数 | 指定显示尾部 n 行内容 |
-f | 显示文件最新追加的内容,监视文件变化 |
ln
ln:软链接,软链接也称为符号链接,类似于 Windows 里的快捷方式,有自己的数据块,主要存放了链接其它文件的路径。
- 基本语法
ln -s [原文件或目录][软链接名]
功能描述:给源文件创建一个软链接
- 经验技巧
删除软链接:rm -rf 软链接名,而不是 rm -rf 软链接名/
如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉
查询:通过 ll 就可以查看,列表属性第 1 位是 1,尾部会有位置指向。
history
history:查看已经执行过的历史命令
- 基本语法
history
功能描述:查看已经执行过的历史命令
- 选项说明
选项 | 说明 |
---|---|
-c | 清除历史 |
十、时间日期类
date
date:显示日期
- 基本用法
date
功能描述:显示当前日期
- 选项说明
选项 | 说明 |
---|---|
+%Y-%m-%d %H:%M:%S | 格式化输出年月日时分秒 |
+%Y-%m-%d %H:%M:%S | 格式化输出年月日时分秒 |
+%s | 秒时间戳 |
-d ‘1 days ago’ | 前一日 |
-s 字符串时间 | 设置系统时间 |
ntpdate
ntpdate:同步时钟
- 基本语法
ntpdate 服务器地址
功能描述:同步时钟
cal
cal:查看日历
- 基本语法
cal [选项]
功能描述:查看日历,不加选项显示本月日历
- 选项说明
选项 | 说明 |
---|---|
-3 | 显示3个月的日历 |
-m | 从周一开始显示日历 |
年份 | 显示那一年 |
-y | 显示本年 |
十一、用户权限类
10.1 用户管理命令
useradd 添加新用户
- 基本语法
useradd 用户名
功能描述:添加新用户
useradd -g 组名 用户名
功能描述:添加新用户到某组
useradd -d /hmoe/文件夹别名 用户名
功能描述:更改主目录下用户的文件夹名称
passwd 密码 修改密码
- 基本语法
passwd 密码
功能描述:修改密码
id 用户名 查看用户
- 基本语法
id 用户名
功能描述:查询用户名是否存在
cat /etc/passwd 查看创建了哪些用户
- 基本语法
cat /etc/passwd
功能描述:查看创建了哪些用户
- 说明
mlemontx:x:1000:1000:mlemontx:/home/mlemontx:/bin/bash
mlemontx
: 用户名,表示用户的登录名。x
: 密码字段,通常在/etc/shadow
文件中进行保存,而不是/etc/passwd
文件。这里的x
表示密码已经被加密并保存在其他地方。1000
: 用户ID (UID),是一个用于标识用户的数字。在Linux中,每个用户都有一个唯一的UID。1000
: 组ID (GID),是指用户所属的主要用户组的组ID。mlemontx
: 用户全名或注释字段,通常是用户的真实姓名或其他描述信息。/home/mlemontx
: 用户的主目录路径,这是用户登录后默认的工作目录。/bin/bash
: 用户的登录Shell,表示用户登录后将使用的命令行解释器(shell)。在这个示例中,使用的是Bash shell。
通常情况下,/etc/passwd
文件包含了系统中所有用户的信息,但是密码字段通常不直接在该文件中保存,而是在/etc/shadow
文件中。这种方式提高了密码的安全性,因为/etc/shadow
文件只允许root用户访问。
su 用户名 切换用户
- 基本语法
su 用户名
功能描述:切换用户
who am i 查询当前用户信息
- 基本语法
who am i
功能描述:最外层登录用户的详细信息
whoami
功能描述:当前登录用户的用户名
sudo 命令 普通用户临时拥有 root 权限
- 基本语法
vim /etc/sudoers
将目标用户添加进去 wq!
sudo ls
功能描述:给目标用户 root 权限
userdel 用户名 删除用户
- 基本语法
userdel 用户名
功能描述:删除用户
userdel -r 用户名
功能描述:删除用户及其主目录
groupadd 组名 创建用户组
- 基本语法
groupadd 组名
功能描述:创建用户组
cat /etc/group
功能描述:查看用户组配置
usermod 修改用户
- 基本语法
usermod -g 用户组名
功能描述:将用户加到用户组
groupmod 修改组名
- 基本语法
groupmod -n 新用户组名 原用户组名
功能描述:重命名用户组
groupdel 删除用户组
- 基本语法
groupdel 用户组
功能描述:删除该用户组
10.2 文件属性和权限
ll
- 基本语法
ll
功能描述:通常,ll
实际上是 ls -l
的简写,其中 ls
是列出目录内容的命令,而 -l
是长格式(详细列表)的选项。ls -l
将显示文件和目录的详细信息,如文件权限、所有者、大小、修改日期等。
ls -al
功能描述:显示文件和目录,包括隐藏文件和目录。
- 示例
drwxr-xr-x. 2 root root 6 7月 10 14:22 公共
drwxr-xr-x.
:文件类型和权限字段。这个字段表示该项是一个目录(d
),并且有一系列的权限标志,分为三组(所有者、组、其他用户)每组三个字符,分别表示读(r
)、写(w
)和执行(x
)权限。2
:连接数。这个字段表示目录的硬链接数。在 Unix 系统中,每个文件或目录都有一个链接数,即指向该文件或目录的硬链接数量。在 centOS 中,如果是文件代表硬链接数,如果是文件夹代表子目录的个数。root
:所有者。这个字段表示目录的所有者用户名。root
:所属组。这个字段表示目录所属的组名。6
:文件或目录的大小(以字节为单位)。对于目录,这通常是目录中的项目数量,因为目录本身没有固定的大小。7月 10 14:22
:修改日期和时间。这个字段显示了最后一次修改文件或目录的时间,其中7月
表示月份,10
表示日期,14:22
表示时间。公共
:文件或目录的名称。这个字段是文件或目录的名称。
除了 d
表示目录之外,还有一些其他可能的文件类型标志,它们用来表示不同类型的文件。在类Unix系统中,文件类型标志通常是单个字符,显示在文件权限的第一个位置。以下是一些常见的文件类型标志:
-
:普通文件。没有特殊标志,表示它是一个普通的文件。l
:符号链接(软链接)。这是一个指向另一个文件的链接。c
:字符设备文件。这是用于与字符设备通信的特殊文件,如终端。b
:块设备文件。这是用于与块设备通信的特殊文件,如硬盘。p
:命名管道。也称为FIFO(先进先出)管道,用于进程之间的通信。s
:套接字(socket)。用于进程间的网络通信。
这些文件类型标志与权限标志结合在一起,形成文件的权限字符串。例如,drwxr-xr-x
表示一个目录,而 -rw-r--r--
表示一个普通文件。
对于文件而言:
- r:代表可以读取,查看
- w:可以修改,但不代表可以删除,删除的前提是对文件目录有写权限
- x:可以被系统执行
对于目录而言:
- r:可以读取目录内容
- w:目录内创建、修改、重命名目录
- x:可以进入该目录
10.3 更改文件权限
chmod
- 基本语法
chmod {ugoa}{+-=}{rwx} 文件或目录
chmod 42 文件或目录
功能描述:改变权限
chmod -R 777 目录
功能描述:将该目录下所有文件都放开rwx权限
- 说明
u:所有者,g:所有组,o:其它人,a:所有人(u、g、o的总和)
r = 4,w = 2,x = 1 rwx = 4 + 2 + 1 = 7
chown
- 基本语法
chown [选项] [最终用户] [文件或目录]
功能描述:改变文件或目录的所有者
- 选项说明
选项 | 说明 |
---|---|
-R | 递归操作 |
chgrp
- 基本语法
chgrp [最终用户组] [文件或目录]
功能描述:改变文件或目录的所属组
十二、搜索查找类
12.1 查找定位文件
find
- 基本语法
find [搜索范围] [选项]
。功能描述:查找文件或目录
- 选项说明
选项 | 说明 |
---|---|
-name <查询方式> | 按照指定的文件名查找模式查找文件 |
-usr <用户名> | 查找属于指定用户名所有文件 |
-size <文件大小> | 按照指定的文件大小查找文件,单位为:b —— 块(512字节),c —— 字节,w —— 字(2字节),k —— 千字节,M —— 兆字节,G —— 吉字节 |
locate
- 基本语法
locate 搜索文件
功能描述:快速定位文件路径
说明:locate 指令利用事前建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
which
- 基本语法
which 命令
功能描述:某个命令在系统中的可执行文件的位置
where is
- 基本语法
where is 命令
功能描述:主要用于查找标准二进制、源代码和帮助文档文件的位置
12.2 内容过滤查找和管道操作
grep
- 基本语法
grep [选项] 查找内容 源文件
功能描述:管道符 ‘|’,表示将前一个命令的处理结果输出传递给后面的命令处理
- 选项说明
选项 | 说明 |
---|---|
-n | 显示匹配行及行号 |
wc 文件
- 基本语法
wc 文件名
功能描述:用于统计文件中行数、字数和字符数的命令
- 示例
wc filename
命令会输出文件的行数、字数和字符数,以及文件的名称。例如:
10 50 300 filename
上述输出的含义是:
- 文件有 10 行。
- 文件中共有 50 个单词。
- 文件中共有 300 个字符。
十三、压缩解压类
gzip/gunzip
- 基本语法
gzip 文件
功能描述:压缩文件,只能将文件压缩为 *.gz 文件
gunzip 文件.gz
功能描述:解压缩文件命令
- 经验技巧
- 只能压缩文件不能压缩目录
- 不保留原来的文件
- 同时多个文件会产生多个压缩包
zip/unzip
- 基本语法
zip [选项] xxx.zip 将要压缩的内容
功能描述:压缩文件或目录的命令
unzip [选项] xxx.zip
功能描述:解压缩文件
- 选项说明
zip 选项 | 说明 |
---|---|
-r | 压缩目录 |
unzip 选项 | 说明 |
---|---|
-d <目录> | 指定解压缩后文件存放的目录 |
tar
- 基本语法
tar [选项] xxx.tar.gz 将要打包进去的内容
功能描述:打包目录,压缩后的文件格式 .tar.gz
- 选项说明
选项 | 说明 |
---|---|
-c | 产生 .tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包 .tar 文件 |
-C | 解压到指定目录 |
十四、磁盘管理类
14.1 查看目录占用空间大小
du
- 基本语法
du 目录/文件
功能描述:显示目录下每个子目录的磁盘使用情况
- 选项说明
选项 | 说明 |
---|---|
-h | 以人较易读懂的GBytes,MBytes,KBytes等格式自行显示 |
-a | 不仅查看子目录大小,还要包括文件 |
-c | 显示所有的文件和子目录大小后,显示总和 |
-s | 只显示总和 |
–max-depth=n | 指定统计子目录的深度为第 n 层 |
14.2 查看磁盘使用情况
df
- 基本语法
df [选项]
功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
选项说明
选项 | 说明 |
---|---|
-h | 以人较易读懂的GBytes,MBytes,KBytes等格式自行显示 |
free
- 基本语法
free [选项]
功能描述:查看内存占用情况
选项说明
选项 | 说明 |
---|---|
-h | 以人较易读懂的GBytes,MBytes,KBytes等格式自行显示 |
14.3 查看磁盘挂载情况
lsblk
- 基本语法
lsblk
功能描述:查看设备挂载情况
- 选项说明
选项 | 说明 |
---|---|
-f | 查看详细的设备挂载情况,显示文件系统信息 |
14.4 挂载和卸载
mount/umount
- 基本语法
mount [-t vfstype] [-o options] device dir
功能描述:挂在设备
umount 设备文件名或挂载点
功能描述:卸载设备
- 参数说明
参数 | 功能 |
---|---|
-t vfstype | 指定文件系统的类型,通常不必指定。mount 通常会选择正确的类型,常用类型有:光盘或光盘镜像:ios9660、DOS fat16 文件系统:mdsods、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) |
14.5 磁盘分区
mkfs
- 基本语法
mkfs -t xfs /dev/sdb1
功能描述:格式化分区
fdisk
- 基本语法
fdisk -l
功能描述:查看磁盘分区情况
fdisk 硬盘设备名
功能描述:对新增硬盘进行分区操作
- 选项说明
选项 | 说明 |
---|---|
-l | 显示所有硬盘的分区列表 |
- 经验技巧
该命令必须在 root 用户下使用
- 功能说明
Linux 分区:
- Device:分区序列
- Boot:引导
- Start:从X磁柱开始
- End:到Y磁柱结束
- Blocks:容量
- Id:分区类型ID
- System:分区类型
分区操作按键说明:
- m:显示命令列表
- p:显示当前磁盘分区
- n:新增分区
- w:写入分区信息并退出
- q:不保存分区信息直接退出
十五、进程管理类
15.1 查看进程
ps
- 基本语法
ps aux | grep xxx
功能描述:查看系统中所有进程
ps -ef | grep xxx
功能描述:可以查看子进程之间的关系
- 选项说明
选项 | 说明 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
- 功能说明
ps aux 显示信息说明:
- USER:该进程是由哪个用户产生的
- PID:进程的 ID 号
- %CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源;
- %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
- VSZ:该进程占用虚拟内存的大小,单位 KB;
- RSS:该进程占用实际物理内存的大小,单位 KB;
- TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,
- tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
- STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示 START:该进程的启动时间、<:高优先级、N:低优先级
- 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;
15.2 终止进程
kill
- 基本语法
kill [选项] 进程号
功能描述:通过进程号杀死进程
killall 进程名称
功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
- 选项说明
选项 | 说明 |
---|---|
-9 | 表示强迫进程立即停止 |
15.3 查看进程树
pstree
- 基本语法
pstree [选项]
功能描述:查看进程树
- 选项说明
选项 | 说明 |
---|---|
-p | 显示进程的 PID |
-u | 显示进程的所有用户 |
15.4 实时监控进程
top
- 基本语法
top [选项]
功能描述:实时监控系统进程状态
- 选项说明
选项 | 说明 |
---|---|
-d 秒数 | 指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当中可以执行的命令 |
-i | 使 top 不显示任何闲置或者僵死进程 |
-p | 通过指定监控进程 ID 来仅仅监控某个进程的状态 |
- 操作说明
操作 | 说明 |
---|---|
P | 以 CPU 使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以 PID 排序 |
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 | 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了 628MB 内存,所以只有 53MB 的空闲内存了 |
65800k buffers | 作为缓冲的内存数量 |
第五行为交换分区(swap)信息
内容 | 说明 |
---|---|
Swap: 524280k total | 交换分区(虚拟内存)的总大小 |
0k used | 已经使用的交互分区的大小 |
524280k free | 空闲交换分区的大小 |
409280k cached | 作为缓存的交互分区的大小 |
15.5 网络状态和端口监控
netstat
- 基本语法
netstat -anp | grep 进程号
功能描述:查看该进程网络信息
netstat –nlp | grep 端口号
功能描述:查看网络端口号占用情况
- 选项说明
选项 | 说明 |
---|---|
-a | 显示所有正在监听(listen)和未监听的套接字(socket) |
-n | 拒绝显示别名,能显示数字的全部转化成数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |
十六、系统定时任务
crontab
- 基本语法
crontab [选项]
功能描述:定时任务设置
- 选项说明
选项 | 说明 |
---|---|
-e | 编辑 crontab 定时任务 |
-l | 查询 crontab 任务 |
-r | 删除当前用户所有的 crontab 任务 |
十七、软件包管理
17.1 RPM
17.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包
17.1.2 RPM 查询命令(rpm -qa)
- 基本语法
rpm -qa
功能描述:查询所安装的所有 rpm软件包
- 经验技巧
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包
17.1.3 RPM 卸载命令(rpm -e)
- 基本语法
rpm -e RPM软件包
rpm -e –nodeps 软件包
- 选项说明
选项 | 说明 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了 |
17.1.4 RPM 安装命令(rpm -ivh)
- 基本语法
rpm -ivh RPM 包全名
- 选项说明
选项 | 说明 |
---|---|
-i | install,安装 |
-v | –verbose,显示详细信息 |
-h | –hash,进度条 |
–nodeps | 安装前不检查依赖 |
17.2 YUM
17.2.1 YUM 概述
YUM(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS
中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包
并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次
次下载、安装。YUM 类似于我们 java 开发中的 maven 工具,可以从镜像网站上下载应用程序,并直接安装。
17.2.2 YUM 的常用命令
- 基本语法
yum [选项] [参数]
- 选项说明
选项 | 说明 |
---|---|
-y | 对所有提问都回答“yes” |
- 参数说明
参数 | 说明 |
---|---|
install | 安装 rpm软件包 |
update | 更新 rpm软件包 |
check-update | 删除指定的 rpm 软件包 |
list | 显示软件包信息 |
clean | 清理 yum 过期的缓存 |
deplist | 显示 yum 软件包的所有依赖关系 |
17.2.3 修改络 网络 YUM 源
默认的系统 YUM 源,需要连接国外 apache 网站,网速比较慢,可以修改关联的网络 YUM 源为国内镜像的网站,比如网易 163,aliyun 等
1 )安装 wget, wget 用来从指定的 URL 下载文件
[root@hadoop101 ~] yum install wget
2 )在/etc/yum.repos.d/目录下,备份默认的 repos 文件,、
[root@hadoop101 yum.repos.d] pwd
/etc/yum.repos.d
[root@hadoop101 yum.repos.d] cp CentOS-Base.repo CentOS-Base.repo.backup
3 )下载网易 163 或者是 aliyun 的 repos 文件,任选其一
[root@hadoop101 yum.repos.d] wget
http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@hadoop101 yum.repos.d] wget
http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163
4 )使用下载好的 repos文件替换默认的 repos文件
例如:用 CentOS7-Base-163.repo 替换 CentOS-Base.repo
[root@hadoop101 yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo
5) )清理旧缓存数据,缓存新数据
[root@hadoop101 yum.repos.d]#yum clean all
[root@hadoop101 yum.repos.d]#yum makecache
yum makecache就是把服务器的包信息下载到本地电脑缓存起来
6) )测试
[root@hadoop101 yum.repos.d]# yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox