文章目录
- 版权声明
- 快捷键
- `ctrl + c` 强制停止
- `ctrl + d ` 退出、登出
- `history`命令
- 光标移动快捷键
- 清屏快捷键
- 软件安装命令
- 常见linux系统包管理器
- `yum`命令
- `apt`命令
- systemctl命令
- 软连接
- 日期&时区
- 修改linux时区
- ntp程序
- IP地址&主机名
- ip&主机名
- 域名解析
- win配置主机名映射
- 虚拟机配置固定IP
- 第一步:在VM中配置IP地址网关和网段
- 第二步:在Linux中固定IP
版权声明
- 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权利人所有。本博客的目的仅为个人学习和交流之用,并非商业用途。
- 我在整理学习笔记的过程中尽力确保准确性,但无法保证内容的完整性和时效性。本博客的内容可能会随着时间的推移而过时或需要更新。
- 若您是黑马程序员或相关权利人,如有任何侵犯版权的地方,请您及时联系我,我将立即予以删除或进行必要的修改。
- 对于其他读者,请在阅读本博客内容时保持遵守相关法律法规和道德准则,谨慎参考,并自行承担因此产生的风险和责任。本博客中的部分观点和意见仅代表我个人,不代表黑马程序员的立场。
快捷键
ctrl + c
强制停止
- Linux某些程序的运行,可以使用快捷键ctrl + c,强制停止
- 命令输入错误,也可以通过快捷键ctrl + c,退出当前输入,重新输入
ctrl + d
退出、登出
- 可以通过快捷键:ctrl + d,退出账户的登录,或者退出某些特定程序的专属页面
- 不能用于退出vi/vim
history
命令
- 可以通过history命令,查看历史输入过的命令
- 可以通过:!命令前缀,自动执行上一次匹配前缀的命令
- 可以通过快捷键:ctrl + r,输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么: - 回车键可以直接执行
- 键盘左右键,可以得到此命令(不执行)
光标移动快捷键
快捷键 | 作用 |
---|---|
ctrl + a | 跳到命令开头 |
ctrl + e | 跳到命令结尾 |
ctrl + 键盘左键 | 向左跳一个单词 |
ctrl + 键盘右键 | 向右跳一个单词 |
清屏快捷键
- 通过快捷键ctrl + l,可以清空终端内容,或通过命令clear得到同样效果
软件安装命令
- Linux系统支持这两种方式:Linux命令行内的”应用商店”,命令安装软件
常见linux系统包管理器
包管理器 | 支持的发行版 | 命令示例 | 软件仓库类型 | 包格式 |
---|---|---|---|---|
APT (Debian/Ubuntu) | Debian, Ubuntu, Linux Mint等 | sudo apt-get install <软件> | Debian软件仓库 | .deb |
YUM (RHEL/CentOS) | Red Hat Enterprise Linux, CentOS等 | sudo yum install <软件> | RPM软件仓库 | .rpm |
DNF (Fedora) | Fedora | sudo dnf install <软件> | RPM软件仓库 | .rpm |
Zypper (openSUSE) | openSUSE | sudo zypper install <软件> | RPM软件仓库 | .rpm |
Pacman (Arch Linux) | Arch Linux | sudo pacman -S <软件> | Arch软件仓库 | .pkg.tar.xz |
Portage (Gentoo) | Gentoo | sudo emerge <软件> | Portage树 | ebuild |
Snap | 多数Linux发行版 | sudo snap install <软件> | Snap Store | .snap |
Flatpak | 多数Linux发行版 | flatpak install <软件> | Flathub等Flatpak仓库 | .flatpak |
AppImage | 多数Linux发行版 | 直接下载并运行 | 独立的自包含应用 | .AppImage |
yum
命令
-
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
yum [-y] [install | remove | search] 软件名称 # -y,自动确认,无需手动确认安装或卸载过程
- install:安装
- remove:卸载
- search:搜索
-
yum命令需要root权限+联网,可以su切换到root,或使用sudo提升权限。
apt
命令
- CentOS系统和Ubuntu是使用不同的包管理器。CentOS使用yum管理器,Ubuntu使用apt管理器
- 用法和yum一致,同样需要root权限
apt [-y] [install | remove | search] <软件名称>
apt install wget
,安装wgetapt remove wget
,移除wgetapt search wget
,搜索wget
- wget(web get) 是一个命令行工具,用于在Unix-like操作系统中下载文件和网页。它最初设计用于从互联网上获取文件。
- wget(web get) 是一个强大而灵活的工具,广泛用于自动化任务、系统管理和网络操作。它在Unix和Linux系统中通常预安装,也可以在其他操作系统上使用,如Windows(通过Cygwin或WSL)和macOS。
systemctl命令
- systemctl 是用于管理 systemd 系统和服务的命令行工具。systemd 是一种初始化系统和服务管理器,广泛用于现代的Linux发行版。
- 通过 systemctl 命令,可以查看、启动、停止、重启、禁用和启用系统服务,以及管理系统的各种运行级别(targets)。
- 能够被systemctl管理的软件,一般也称之为:服务
systemctl start |stop | status | enable | disable <服务名>
#start 启动
#stop 关闭
#status 查看状态
#enable 开启开机自启
#disable 关闭开机自启
以下是一些常见的 systemctl 命令及其用法:
-
查看所有单元 (Units):列出系统中当前加载的所有单元,包括服务、套接字、设备、挂载点等
systemctl list-units
-
查看服务状态:用于查看特定服务的状态,包括是否正在运行,最后一次启动时间,活动进程等。
systemctl status <服务名>
-
启动服务:用于启动指定的服务
systemctl start <服务名>
-
停止服务:用于停止指定的服务
systemctl stop <服务名>
-
重启服务:用于重启指定的服务
systemctl restart <服务名>
-
启用服务:用于在系统启动时自动启动指定的服务
systemctl enable <服务名>
-
禁用服务:用于在系统启动时禁用指定的服务
systemctl disable <服务名>
-
查看服务的依赖关系:用于查看指定服务的依赖关系,包括依赖的其他服务和单元
systemctl list-dependencies <服务名>
-
切换运行级别 (target):用于切换到指定的运行级别(通常称为 “target”)
systemctl isolate <运行级别>
-
查看系统的默认运行级别:用于查看系统当前的默认运行级别
systemctl get-default
-
设置系统的默认运行级别:用于设置系统的默认运行级别
systemctl set-default <运行级别>
软连接
-
ln 是一个常用的命令行工具,用于创建链接(links),它允许您在文件系统中创建文件或目录的链接,以便在不复制实际数据的情况下引用相同的文件或目录。
-
ln 命令有两种常见的链接类型:硬链接(hard links)和软链接(symbolic links,也称为符号链接)。
-
ln 命令对于管理文件系统中的链接非常有用,可以节省磁盘空间,并使文件和目录的组织更加灵活**。硬链接主要用于文件,而符号链接通常用于文件和目录,因为它们允许引用不同文件系统中的目标。**
-
ln 命令的一般语法:
ln [选项] <源文件/目录> <链接名称>
-s:用于创建符号链接(软链接)。如果不指定此选项,默认情况下创建的是硬链接。
- 常见用法和示例:
-
创建文件硬链接:
ln file1 file2
- 在当前目录中创建一个名为 file2 的硬链接,它将与 file1 具有相同的内容和inode。修改其中一个文件会影响另一个,因为它们引用相同的数据块。
-
创建目录的硬链接:
ln /path/to/source/directory /path/to/link/directory
- 创建一个目录的硬链接,使得 link/directory 和 source/directory 具有相同的内容。请注意,硬链接不会递归链接目录中的文件,只会链接目录本身。
-
创建符号链接:
ln -s /path/to/source/file /path/to/symlink
- 创建一个名为 symlink 的符号链接,指向源文件 file。
- 软链接是指向源文件或目录的引用,可以跨文件系统,也可以链接到不存在的目标。
-
查看文件或目录的链接数:
ls -l <文件/目录>
- 硬链接的链接数大于等于2,因为至少有一个硬链接指向实际数据块。
-
删除链接:
rm <链接文件/目录>
- 使用 rm 命令来删除链接,不会影响源文件或目录本身,除非删除了最后一个链接。
日期&时区
-
date 是一个常见的命令行工具,用于显示和设置系统的日期和时间。它在Unix-like操作系统中广泛使用,包括Linux和macOS。
-
显示系统时间命令
date [-d] [+格式化字符串] # 格式化字符串:通过特定的字符串标记,来控制显示的日期格式 %Y 年 %y 年份后两位数字 (00..99) %m 月份 (01..12) %d 日 (01..31) %H 小时 (00..23) %M 分钟 (00..59) %S 秒 (00..60) %s 自 1970-01-01 00:00:00 UTC 到现在的秒数
-
date 命令有多种选项:
-
显示当前日期和时间:默认情况下,date 命令会显示当前日期和时间,格式可能因系统而异
date
-
自定义日期和时间格式:示例会以 “年-月-日 时:分:秒” 的格式显示
date +"%Y-%m-%d %H:%M:%S"
-
设置系统日期和时间:通常需要以管理员权限运行此命令
sudo date -s "2023-09-26 12:34:56"
-
计算日期和时间:使用 -d 选项和描述性的字符串(如 “2 days ago”)可以计算相对日期和时间
date -d "2 days ago"
-
显示UTC时间:使用 -u 选项可以显示协调世界时(UTC)的日期和时间。
date -u
-
显示某个时区的时间:通过设置 TZ 环境变量,您显示特定时区的日期和时间
TZ="America/New_York" date
-
显示时间戳(Unix时间):
date +%s
-
更改系统硬件时钟:
# hwclock 命令用于读取和更改系统的硬件时钟,--systohc 选项用于将系统时间同步到硬件时钟 sudo hwclock --systohc
修改linux时区
- 使用root权限,执行如下命令,修改时区为东八区时区
rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/Asis/Shanghai /etc/localtime
- 将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件
ntp程序
- 通过ntp程序自动校准系统时间
# 安装ntp: yum -y install ntp # 启动并设置开机自启: systemctl start ntpd systemctl enable ntpd # 也可以手动校准(需root权限):ntpdate -u ntp.aliyun.com ntpdate -u ntp.aliyun.com
IP地址&主机名
ip&主机名
- 每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯
- IP地址主要有2个版本,V4版本和V6版本
- IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址
- 可以通过命令:
ifconfig
,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools
- 127.0.0.1 :这个IP地址用于指代本机
- 0.0.0.0 特殊IP地址
- 可以用于指代本机
- 可以在端口绑定中用来确定绑定关系
- 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问
- 每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名。Windows或Linux系统,都可以给系统设置主机名
- 查看主机名
hostname
- 设置主机名
hostnamectl set-hostname <主机名>
域名解析
-
域名(Domain Name)是互联网上用于标识和定位特定资源的可读的名称。域名通常用于代替IP地址。
-
域名解析是将域名转换为相应的IP地址或其他网络资源的过程。
-
域名由一系列由点分隔的标签组成。例如,
baidu.com
,其中.com
是顶级域名(Top-Level Domain,TLD),baidu
是二级域名(Second-Level Domain,SLD)。 -
域名解析的主要组成部分包括:
- 域名服务器(DNS Server): 这些是特殊的服务器,它们存储了域名与IP地址之间的映射关系。每个域名都与一个或多个域名服务器相关联。
- 域名解析器(DNS Resolver): 这是用户计算机或网络设备上的软件,用于将用户提供的域名转换为IP地址。大多数操作系统和网络设备都包含内置的DNS解析器。
域名解析的过程分析:
- 图表元素:
- 用户设备:向本地DNS解析器发送查询。
- 本地DNS解析器:通过查询根域名服务器、TLD DNS服务器和权威DNS服务器来解析域名。
- DNS服务器层级:表示根域名服务器、TLD DNS服务器和权威DNS服务器之间的交互。
- 目标服务器:表示托管网站的Web服务器,它最终提供网页给用户。
- 具体流程文字分析:
- 用户在Web浏览器或其他应用程序中输入一个域名,例如
www.baidu.com
。 - 应用程序将域名发送到本地的DNS解析器。
- 本地DNS解析器首先检查其本地缓存,看是否已经解析过该域名。如果有缓存,它会返回相应的IP地址。
- 如果本地缓存中没有相关信息,解析器将向根域名服务器(Root DNS Servers)发送查询请求,询问顶级域名服务器(TLD DNS Servers)的地址,如
.com
的DNS服务器。 - TLD DNS服务器将返回 .com 域的权威DNS服务器的地址。
- 本地解析器继续向权威DNS服务器发送查询请求,获取
baidu.com
的IP地址。 - 一旦本地解析器获得了IP地址,它将该地址存储在本地缓存中,并将其返回给应用程序。
- 应用程序可以使用IP地址建立与
www.baidu.com
的连接,并请求相应的网页或资源。
win配置主机名映射
- 在Windows系统的:
C:\Windows\System32\drivers\etc\hosts
文件中配置记录,即可在使用终端工具(如FinalShell)实现通过域名(主机名)连接linux服务器
虚拟机配置固定IP
- 虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
- DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
- 原因:我们要远程连接到Linux系统,如果IP地址经常变化,就要频繁修改适配很麻烦
第一步:在VM中配置IP地址网关和网段
第二步:在Linux中固定IP
- 使用vim编辑
/etc/sysconfig/network-scripts/ifcfg-ens33
文件,填入如下内容
- 执行:
systemctl restart network
重启网卡 - 执行
ifconfig
查看ip地址