linux使用操作[1]

文章目录

  • 版权声明
  • 快捷键
    • `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,安装wget
    • apt remove wget,移除wget
    • apt 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 命令及其用法:

  1. 查看所有单元 (Units):列出系统中当前加载的所有单元,包括服务、套接字、设备、挂载点等

       systemctl list-units
    
  2. 查看服务状态:用于查看特定服务的状态,包括是否正在运行,最后一次启动时间,活动进程等。

       systemctl status <服务名>
    
  3. 启动服务:用于启动指定的服务

       systemctl start <服务名>
    
  4. 停止服务:用于停止指定的服务

       systemctl stop <服务名>
    
  5. 重启服务:用于重启指定的服务

       systemctl restart <服务名>
    
  6. 启用服务:用于在系统启动时自动启动指定的服务

       systemctl enable <服务名>
    
  7. 禁用服务:用于在系统启动时禁用指定的服务

       systemctl disable <服务名>
    
  8. 查看服务的依赖关系:用于查看指定服务的依赖关系,包括依赖的其他服务和单元

       systemctl list-dependencies <服务名>
    
  9. 切换运行级别 (target):用于切换到指定的运行级别(通常称为 “target”)

       systemctl isolate <运行级别>
    
  10. 查看系统的默认运行级别:用于查看系统当前的默认运行级别

    systemctl get-default
    
  11. 设置系统的默认运行级别:用于设置系统的默认运行级别

    systemctl set-default <运行级别>
    

软连接

  • ln 是一个常用的命令行工具,用于创建链接(links),它允许您在文件系统中创建文件或目录的链接,以便在不复制实际数据的情况下引用相同的文件或目录。

  • ln 命令有两种常见的链接类型:硬链接(hard links)和软链接(symbolic links,也称为符号链接)

  • ln 命令对于管理文件系统中的链接非常有用,可以节省磁盘空间,并使文件和目录的组织更加灵活**。硬链接主要用于文件,而符号链接通常用于文件和目录,因为它们允许引用不同文件系统中的目标。**

  • ln 命令的一般语法:

    ln [选项] <源文件/目录> <链接名称>
    

    -s:用于创建符号链接(软链接)。如果不指定此选项,默认情况下创建的是硬链接。


  • 常见用法和示例:
  1. 创建文件硬链接:

       ln file1 file2
    
    • 在当前目录中创建一个名为 file2 的硬链接,它将与 file1 具有相同的内容和inode。修改其中一个文件会影响另一个,因为它们引用相同的数据块。
  2. 创建目录的硬链接:

       ln /path/to/source/directory /path/to/link/directory
    
    • 创建一个目录的硬链接,使得 link/directory 和 source/directory 具有相同的内容。请注意,硬链接不会递归链接目录中的文件,只会链接目录本身。
  3. 创建符号链接:

       ln -s /path/to/source/file /path/to/symlink
    
    • 创建一个名为 symlink 的符号链接,指向源文件 file。
    • 软链接是指向源文件或目录的引用,可以跨文件系统,也可以链接到不存在的目标。
  4. 查看文件或目录的链接数:

       ls -l <文件/目录>
    
    • 硬链接的链接数大于等于2,因为至少有一个硬链接指向实际数据块。
  5. 删除链接:

       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 命令有多种选项:

  1. 显示当前日期和时间:默认情况下,date 命令会显示当前日期和时间,格式可能因系统而异

       date
    
  2. 自定义日期和时间格式:示例会以 “年-月-日 时:分:秒” 的格式显示

       date +"%Y-%m-%d %H:%M:%S"
    
  3. 设置系统日期和时间:通常需要以管理员权限运行此命令

       sudo date -s "2023-09-26 12:34:56"
    
  4. 计算日期和时间:使用 -d 选项和描述性的字符串(如 “2 days ago”)可以计算相对日期和时间

       date -d "2 days ago"
    
  5. 显示UTC时间:使用 -u 选项可以显示协调世界时(UTC)的日期和时间。

       date -u
    
  6. 显示某个时区的时间:通过设置 TZ 环境变量,您显示特定时区的日期和时间

       TZ="America/New_York" date
    
  7. 显示时间戳(Unix时间):

       date +%s
    
  8. 更改系统硬件时钟:

    # 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解析器。

域名解析的过程分析:

  • 图表元素:
    1. 用户设备:向本地DNS解析器发送查询。
    2. 本地DNS解析器:通过查询根域名服务器、TLD DNS服务器和权威DNS服务器来解析域名。
    3. DNS服务器层级:表示根域名服务器、TLD DNS服务器和权威DNS服务器之间的交互。
    4. 目标服务器:表示托管网站的Web服务器,它最终提供网页给用户。
目标服务器
DNS服务器层级
用户设备
查询
查询
返回根域名服务器IP
查询
返回TLD DNS服务器IP
查询
返回目标域名的IP
提供网页
Web服务器
根域名服务器
TLD DNS服务器
权威DNS服务器
本地DNS解析器
用户输入域名

  • 具体流程文字分析:
  1. 用户在Web浏览器或其他应用程序中输入一个域名,例如 www.baidu.com
  2. 应用程序将域名发送到本地的DNS解析器。
  3. 本地DNS解析器首先检查其本地缓存,看是否已经解析过该域名。如果有缓存,它会返回相应的IP地址。
  4. 如果本地缓存中没有相关信息,解析器将向根域名服务器(Root DNS Servers)发送查询请求,询问顶级域名服务器(TLD DNS Servers)的地址,如 .com 的DNS服务器。
  5. TLD DNS服务器将返回 .com 域的权威DNS服务器的地址。
  6. 本地解析器继续向权威DNS服务器发送查询请求,获取 baidu.com 的IP地址。
  7. 一旦本地解析器获得了IP地址,它将该地址存储在本地缓存中,并将其返回给应用程序。
  8. 应用程序可以使用IP地址建立与 www.baidu.com 的连接,并请求相应的网页或资源。

win配置主机名映射

  • 在Windows系统的:C:\Windows\System32\drivers\etc\hosts文件中配置记录,即可在使用终端工具(如FinalShell)实现通过域名(主机名)连接linux服务器
    linux使用操作[1]_第1张图片
    linux使用操作[1]_第2张图片
    linux使用操作[1]_第3张图片

虚拟机配置固定IP

  • 虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
  • DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
  • 原因:我们要远程连接到Linux系统,如果IP地址经常变化,就要频繁修改适配很麻烦

第一步:在VM中配置IP地址网关和网段

linux使用操作[1]_第4张图片
linux使用操作[1]_第5张图片
linux使用操作[1]_第6张图片
linux使用操作[1]_第7张图片

第二步:在Linux中固定IP

  • 使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容
    linux使用操作[1]_第8张图片
  • 执行:systemctl restart network 重启网卡
  • 执行ifconfig查看ip地址

你可能感兴趣的:(Linux学习,linux,运维,服务器)