命令 | 释义 | 语法格式 |
---|---|---|
ls | list,用于显示目录中文件及其属性信息 | ls [参数名] [文件名] |
cd | change directory,用于更改当前所处的工作目录,路径可以是绝对路径,也可以是相对路径,若省略不写则会跳转至当前使用者的家目录 | cd [参数名] [目录名] |
pwd | print working directory,用于显示当前工作目录的路径,即显示所在位置的绝对路径 | pwd [参数] |
cp | copy,用于复制文件或目录。cp命令能够将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作 | cp [参数] 源文件名 目标文件名 |
mkdir | make directories,用来创建目录文件,注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件 | mkdir [参数] 目录名 |
mv | move,用于对文件进行剪切和重命名操作 | mv [参数] 源文件名 目标文件名 |
tar | 用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件 | tar 参数 压缩包名 [文件或目录名] |
ll | 显示指定文件或目录的详细属性信息,“ls -l --color=auto”的别名 | ll [参数] [文件名] |
file | 识别文件类型,也可以用来辨别一些内容的编码格式 | file [参数] [文件名] |
find | 根据给定的命令和条件查找相关文件或目录,参数灵活(支持正则表达式) | find [路径] [选项] [文件名/模式] |
rm | remove,删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件 | rm [参数] [文件名] |
touch | 创建空文件或修改时间戳 | touch [参数] [文件名] |
mount | 将文件系统挂载到目录,文件系统指的是被格式化的硬盘或分区设备。 | mount [参数] [设备名] [目录名] |
ln | link,链接,为某个文件在另外一个位置建立同步的链接 | ln [参数] [原文件名] [目标文件名] |
grep | global search regular expression and print out the line,用于全面搜索的正则表达式,并将结果输出 | grep [参数] [文件名] |
命令 | 作用 |
---|---|
man Command | 具体参数和使用方法(格式例:man ls) |
whatis Command | 命令的简要说明 |
info Command | 详细介绍 |
help Command | Linux内置命令 |
poweroff | 关机 |
shutdown -h now | 关机 |
halt -p | 关机 |
reboot | 重启 |
操作 | 作用 |
---|---|
Tab键 | 补全命令和提示(自动提示) |
方向键 | 上一条命令:↑ ;下一条命令:↓ |
Ctrl + r | 搜索历史命令,回车执行 |
!cd: | 重复执行最近一次的历史cd命令 |
Ctrl + Insert | 复制 |
Shift + Insert | 粘贴 |
Alt + Insert | 复制并粘贴 |
Ctrl + 左右键 | 光标在单词间跳转 |
Ctrl + A | 光标移动至行首 |
Ctrl + E | 光标移动至行尾 |
Ctrl + U | 清除光标至行首(兼具剪切功能) |
Ctrl + K | 清除光标至行尾(兼具剪切功能) |
clear(或Ctrl+L) | 清屏 |
Ctrl + F | 退出前进一屏(Forward) |
Ctrl + B | 退出后退一屏(Back) |
Ctrl + Y | 粘贴Ctrl+U或ctrl+K剪切的内容 |
Ctrl + W | 删除光标前面的单词的字符 |
Alt + D | 由光标位置开始,往右删除单词(往行尾删) |
history | 查看历史命令 |
history -c | 清除历史命令 |
操作 | 作用 |
---|---|
more/less [文件名] | 分页查看,more只能从前往后,less还可以从后往前 |
more/less +[数字] [文件名] | 从第几行开始查看 |
more/less +/[目录名] [文件名] | 从出现目标目录开始查看 |
Enter / ↓ | 下一行 |
Y / ↑ | 上一行 |
Space / (Ctrl+F) | 下一屏 |
B | 上一屏 |
Q / (Ctrl+C) / ZZ | 退出 |
/[查找字符] | 向后搜索,配合n键(next)从上往下查找所有目标字符 |
?[查找字符] | 向前搜索,配合n键(next)从下往上查找所有目标字符 |
操作 | 作用 |
---|---|
-n | 设置显示文件的行数 |
-c | 设置显示文件的字符数 |
-f | 持续显示文件最新内容 |
head -n [数字] [文件名] | 查看前几行的文件 |
tail -n [数字] [文件名] | 查看末尾几行的文件 |
-q | 不显示文件名的头信息 |
-v | 显示文件名的头信息 |
VI : Visual Interface VIM : Vi IMproved
VIM配置文件
全局配置:/etc/vimrc 用户配置:~/.vimrc
VIM配置vimrc详解文章https://blog.csdn.net/xiao_yi_xiao/article/details/118491698
VIM三种模式切换
操作 | 作用 |
---|---|
:[数字] | 跳到第几行 |
Home | 跳到行首 |
End | 跳到行尾 |
Ctrl + F | 退出前进一屏(Forward) |
Ctrl + B | 后退一屏 |
G / (Shift + G) | 跳到文档末尾 |
:1 / gg | 跳到文档开头 |
/ [关键字] [回车] | 向后查找内容 |
?[关键字] [回车] | 向前查找内容 |
n | 下一个关键字 |
N | 上一个关键字 |
yy | 复制光标所在行 |
p/P | 复制光标所在行 |
X | 删除光标前面一个字符 |
Del / x | 删除光标后面1个字符 |
dd | 删除一行 |
ndd | 删除光标后面n行 |
. | 重复上一次操作 |
u | 撤销上一次操作 |
Ctrl + R | 恢复最近一次操作 |
VIM编辑模式下的操作
操作 | 作用 |
---|---|
a | 在光标的下一个字符前插入文本 |
A | 在光标所在的行末加入文本 |
i | 在光标的上一个字符之前插入文本 |
I | 在光标的行首插入文本 |
o | 在光标所在的行下插入一行文本 |
O | 在光标所在的行上插入一行文本 |
r | 修改当前光标所在的字符 |
R | 替换文本 |
Ctrl + U | 撤销 |
Esc | 退出编辑模式 |
VIM底行模式下的操作
操作 | 作用 |
---|---|
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:q! | 放弃修改,退出(!表示强制执行) |
:e! | 放弃所有修改,重新编辑(不关闭文档) |
:set nu | 显示行号 |
主要派系 | Linux发行版 | 主要安装方式 |
---|---|---|
Redhat红帽派系 | Redhat、CentOS、Fedora等 | make、rpm、yum、dnf |
Debian派系 | Kali、Ubuntu等 | deb、apt、dpkg |
FreeBSD系 | FreeBSD | make、pkg、ports |
rpm选项(Redhat Package Manager)
操作 | 作用 |
---|---|
rpm -q [包名] | 查询包(q:query) |
rpm -ivh [包名] | 安装包(i:install,v:verbose,h:hash) |
rpm -Uvh | 升级包(U:upgrade/update) |
rpm -e [包名] | 卸载包(需要先卸载依赖该包的软件) |
rpm -qa | 查询所有软件(a:all) |
yum选项(Yellow dog Updater,Modified)
操作 | 作用 |
---|---|
(yum list)/(yum list [包名]) | 列表 |
yum search [包名] | 搜索 |
yum install [包名] | 安装 |
yum update [包名] | 升级 |
yum remove [包名] | 卸载 |
yum update | 更新所有软件 |
yum clean all | 清楚缓存 |
yum make cache | 更新yum缓存 |
选项 | 作用 |
---|---|
-h | 显示帮助信息(h:help) |
-y | 对所有的提问回答都“yes” |
-c | 指定配置文件 |
-q | 安静模式(q:quiet) |
-v | 详细模式(v:verbose) |
dnf(Dandified YUM,yum的下一代)
DNF与YUM的区别
区别 | DNF | YUM |
---|---|---|
解析依赖关系 | 使用Libsolv | 使用公开的API |
API | 有完整的API文档,能很容易地创建新功能 | 没有完整的文档,创建新功能困难 |
开发语言 | C、C++、Python编写 | 只用Python编写 |
适用范围 | Fedora、RHEL 8、CentOS 8、OEL 8、Mageia 6/7 | RHEL 6/7、CentOS 6/7、OEL 6/7 |
扩展的支持 | 支持各种扩展 | 只支持基于Python1的扩展 |
同步元数据 | 占用内存少 | 占用较多内存 |
更新 | 包中不包含不相关的依赖,则不会更新 | 在没有验证的情况下更新软件包 |
储存库不可用 | DNF将跳过它,并继续使用可用的存储库处理事务 | YUM会立即停止 |
内核包的保护 | DNF不提供,可以删除内核包 | 不允许你删除运行中的内核 |
apt安装
操作 | 作用 |
---|---|
apt search [包名] | 搜索 |
apt install [包名] | 安装 |
apt update [包名] | 更新 |
apt remove [包名] | 卸载 |
操作 | 作用 |
---|---|
cat /etc/group | 查看全部组 |
groups | 查看用户的所属组 |
groupadd security | 添加用户组 |
groupdel security | 删除用户组 |
组ID-Group ID-GID
用户ID-User ID-UID
User相关命令
操作 | 命令 |
---|---|
useradd [参数] [用户名] | 添加用户 |
passwd [参数] [用户名] | 修改用户密码 |
userdel [参数] [用户名] | 删除用户 |
usermod [选项] [参数] | 修改用户信息 |
/etc/group 文件下内容格式
内容格式 组名:组密码:组管理员:组加用户列表
影子文件
通过cat /etc/gshadow命令可以查看组密码(若为!则无密码)
/etc/passwd 文件下内容格式
内容格式 用户名:用户密码:UID:GID:全名(可有可无):home路径:shell工具
影子文件
通过cat /etc/shadow命令可以查看用户密码(若为!或*则无密码)
/etc/shadow 文件下内容格式
密码格式
命令:openssl passwd -1 -salt admin 123456
格式: i d id idsalt$encrypted
示例: 1 1 1admin$LCIYcRe.ee8dQwgrFc5nz.
数字 | 加密方式 |
---|---|
1 | MD5 |
2a | Blowfish(某些Linux发行版) |
5 | SHA-256 |
6 | SHA-512 |
/etc/sudoers
操作 | 作用 |
---|---|
id | 查询用户账号身份标识 |
finger | 查询用户账号的登录属性 |
w、who | 查询当前主机的用户登录情况 |
users | 查询系统当前在线的用户 |
whoami | 查看用户 |
su | 切换用户 |
全拼:change owner,“chown”改变文件的拥有者和所属组的关系
chown [选项] [参数]
例:chown -R [用户] /usr/local/soft
? chown -R redis/redis /usr/local/soft/redis
文件类型:
用户类别:
权限类别:
修改权限
操作 | 作用 |
---|---|
chmod g+w test.log | 添加组用户的写权限(chmod全拼change mode) |
chmod o= test.log | 删除其他用户的权限 |
chmod a-w test.log | 使得所有用户都没有权限 |
chmod u=rwx,g=rw,o=r test.log | 当前用户具有所有权限,组用户具有读写权限,其他用户只有读权限 |
chmod 764 test.log | 等价的八进制数表示 |
chmod -R a=rw testdir/ | 将目录以及目录下的文件都设置为所有用户拥有读取权限(ps:使用“-R”选项一定要保留当前用户的执行和读取权限,否则会报错) |
chmod --reference=1.log test.log | 根据其他文件的权限设置文件权限 |
物理地址/逻辑地址
网卡
网卡是网络接口卡NIC(NetworkInterfaceCarD.的简称,也称为网络适配器,通信适配器或网络接口卡。
网卡是工作在第二层链路层的网络组件,是局域网中连接计算机和传输介质的接口。网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的(物理层)。而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行(数据链路层)。
一块网卡包括OSI 模型的两个层,物理层和数据链路层:
1、物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。
2、数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。
Mac地址(Media Access Control)媒体访问控制——物理地址
IP(Internet Protocal Address)互联网协议地址——逻辑地址,分为5类
公有私有
局域网——使用私有IP地址
互联网——使用公有IP地址
公有IP地址范围 | 私有IP地址范围 |
---|---|
A类的公有IP: 1.0.0.09.255.255.255<br/>11.0.0.0126.255.255.255 | A类私有IP地址:10.0.0.0~10.255.255.255 |
B类的公有IP: 128.0.0.0~172.15.255.255 172.32.0.0~191.255.255.255 | B类私有IP地址: 172.16.0.0~172.31.255.255 |
C类的公有IP: 192.0.0.0~192.168.255.255 192.169.0.0~223.255.255.255 | C类私有IP地址:192.168.0.0~192.168.255.255 |
NAT:Network Address Translation,网络地址转换
IPv4、IPv6地址
IPv4是互联网协议第四版,是计算机网络使用的数据报传输机制,此协议是第一个被广泛部署的IP协议。每一个连接Internet的设备(不管是交换机、PC还是其他设备),都会为其分配一个唯一的IP地址,如192.149.252.76,如下图所示,IPv4使用32位(4字节)地址,大约可以存储43亿个地址,实际可使用大约有25亿的地址。但随着越来越多的用户接入到Internet,全球IPv4地址已于2019年11月已全数耗尽。这也是后续互联网工程任务组(IEIF)提出IPv6的原因之一。
IPv6是由IEIF提出的互联网协议第六版,用来替代IPv4的下一代协议,它的提出不仅解决了网络地址资源匮乏问题,也解决了多种接入设备接入互联网的障碍。IPv6的地址长度为128位,可支持340多万亿个地址。如下图,3ffe:1900:fe21:4545:0000:0000:0000:0000,这是一个IPv6地址,IPv6地址通常分为8组,4个十六进制数为一组,每组之间用冒号分隔。
差异 | IPv4 | IPv6 |
---|---|---|
地址表示方式 | 8位一个字节,十进制表示值从0到255,共四段,中间用“.”分隔 | 16位一个双字节,用十进制表示值从0到65535,共八段,中间用“:”分隔 |
地址类型 | 单点广播地址、多点广播地址和广播地址 | 单点广播地址、多点广播地址和任意广播地址 |
地址掩码 | 用于主机部分指定网络 | 未使用 |
报头字段数 | 12 | 8 |
报头字节长度 | 20 | 40 |
报头校验 | 有 | 无 |
类别分配 | A到E类别分配 | 无类别分配 |
配置 | 必须分配IP地址和路由 | 配置可选,具体取决于所需的功能 |
VLSM | 支持 | 不支持 |
片段 | 由发送方(主机或路由器)对其分段 | 在源节点分段,目标节点完成重新装配 |
路由信息协议(RIP) | 路由守护程序支持的路由协议 | 不支持RIP,使用的静态路由 |
网络配置 | 必须手动或通过DHCP配置 | 自动配置 |
简单网络管理协议(SNMP) | 用于系统管理的协议 | 同样支持IPv6 |
移动性和互操作性 | 受网络拓扑限制 capabilities. | 提供嵌入在网络设备中的互操作性和移动性功能 |
域名系统(DNS) | 逆向查找域为inaddr.arpa | 逆向查找的域为 ip6.arpa,如果找不到,则使用http://ip6.int |
IP地址解析 | 使用广播ARP | 通过多播邻居请求 |
服务质量(QoS) | 允许TCP/IP应用程序请求信息报优先级和带宽 | 通过IBM i实现的QoS不支持IPv6 |
动态、静态IP
DCHP(Dynamic Host Configuration Protocol),动态主机配置协议,是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
背景:DHCP于1993年10月成为标准协议,其前身是BOOTP协议。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。
工作原理:DHCP协议采用UDP作为传输协议,DHCP客户端发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给DHCP客户端的67号端口。只有跟DHCP客户端在同一个网段的DHCP服务器才能收到DHCP客户端广播的DHCP DISCOVER报文。当DHCP客户端与DHCP服务器不在同一个网段时,必须部署DHCP中继来转发DHCP客户端和DHCP服务器之间的DHCP报文。在DHCP客户端看来,DHCP中继就像DHCP服务器;在DHCP服务器看来,DHCP中继就像DHCP客户端。
DCHP优势:
地址分配机制:相比手工静态配置IP地址,通过DHCP方式静态分配机制避免人工配置发生错误,方便管理员统一维护管理。
动态分配机制:通过DHCP为主机分配一个有使用期限的IP地址。
DHCP使用了租期的概念,或称为设备IP地址的有效期。租用时间是不定的,主要取决于用户在某地连接Internet需要多久,这种分配机制适用于主机需要临时接入网络或者空闲地址数小于网络主机总数且主机不需要永久连接网络的场景。
静态分配机制:网络管理员通过DHCP为指定的主机分配固定的IP地址。
127.0.0.1
127.0.0.1是主机环回地址。主机环回指的是,地址为127.0.0.1的数据包不应离开计算机(主机)发送,而不是发送到本地网络或internet,它只是在自身上“环回”,发送数据包的计算机成为收件人。 RFC1122明确指出“内部主机环回地址。这种形式的地址不得出现在主机之外。” 因此,拾取定向到127.0.0.1的流量的路由器应该立即丢弃数据包。这可确保没有专门用于主机上的流量进入Internet。 虽然它是最常见和最著名的,但127.0.0.1只是一个大块中的一个地址,127.0.0.0–127.255.255.255,在RFC6890中保留用于环回目的。 IPv6也有一个环回地址。完全写出它是0000:0000:0000:0000:0000:0000:0000:0001,但为了方便起见,它通常被截断为::1。
端口port
域名Domain name
作用:替代IP,方便识记
DNS:Domain Name System,域名系统,因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
DNS系统的作用
正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名
域名与IP的数量关系:多对一
文件 | 作用 |
---|---|
/etc/sysconfig/network-scripts/ifcfg-ens33 | 网卡配置文件 |
/etc/sysconfig/network-scripts/ifcfg-Io | 环回地址配置文件 |
/etc/hosts | 主机名与IP的映射 |
/etc/resolv.conf | DNS配置,由ens33自动覆盖 |
ifconfig命令(全拼:network interfaces configuring)
ip命令
nslookup
dig
host
常规方式
wget
scp
curl
日期时间
系统版本
程序(Program)、进程(process)、服务(service)
运行程序
查看进程
top,实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息。
ps命令,全拼process status,显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源(处理器与内存)使用占比、运行状态等。ps命令可帮助我们及时发现哪些进程出现“僵死”或“不可中断”等异常情?况。
ps -ef
ps -aux
pstree命令,全拼display a tree of processes,用于以树状图形式显示进程信息,帮助管理员更好地了解进程间的关系。
服务管理
systemctl命令,全拼system control,用于管理系统服务
systemctl [参数] [动作] [服务名]
命令 | 作用 |
---|---|
systemctl status *.service | 查看所有服务状态 |
systemctl start mysqld.service | 启动服务 |
systemctl restart mysqld.service | 重启服务 |
systemctl stop mysqld.service | 停止服务 |
systemctl enable mysqld.service | 开机启动服务 |
systemctl disable mysqld.service | 停止开机启动 |
停止程序
信号量 | 含义 | 服务停止 |
---|---|---|
0 | EXIT | 程序退出时收到该信息 |
1 | HUP | 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化 |
2 | INT | 表示结束进程,但并不是强制性的,常用的“Ctrl + C”组合键发出就是一个kill -2的信号 |
3 | QUIT | 退出 |
9 | KILL | 杀死进程,即强制结束进程 |
11 | SEGV | 段错误 |
15 | TERM | 正常结束进程,是kill命令的默认信号 |
du命令
全拼disk usage,用于查看文件或目录的大小。常会把df和du命令混淆,df是用于查看磁盘或分区使用情况的命令,而du命令则是用于按照指定容量单位来查看文件或目录在磁盘中的占用情况。
du [参数] [文件名]
命令 | 作用 |
---|---|
du /usr | 显示使用情况 |
du -h /usr | –human-readable用恰当的单位 |
du -h /root --max–depth=1 | 加上层级限制 |
du -h --max-depth=1 | sort -hr | 降序排列 |
du -ah /root | sort -hr | head -n 3 | 前三个大文件 |
du -ah --exclude=“/.” . | 排除隐藏目录 |
du -kt -10M ./* | 找出10M以上的文件 |
工具crontab
全拼cron table,管理定时计划任务。定时计划任务,顾名意思就计划好的任务,到了时间就会自动执行,在Linux系统中的crond是一个定时计划任务服务,用户只要能够按照正确的格式(分、时、日、月、星期、命令)写入到配置文件中,那么就会按照预定的周期时间自动地执行下去,而crontab命令则是用于配置的工具名称。
crontab [参数] [对象]
参考网址https://tool.lu/crontab、https://cron.qqe2.com
命令 | 作用 |
---|---|
crontab -u root -r | 删除任务remove |
crontab -u root time.cron | 把文件添加到某个用户的任务 |
crontab -u root -l | 列举任务list |
crontab -u root -e | 编辑任务edit |
定时任务文件
命令 | 作用 |
---|---|
/etc/crontab | 管理文件 |
/var/spool/cron/ | 每个用户包括root的crontab任务 |
/etc/cron.d/ | 存放任何要执行的crontab文件或脚本 |