Linux-实用操作

文章目录

  • [一. 各类实用小技巧(快捷键)](#一. 各类实用小技巧(快捷键))
    • [1. ctrl + c 强制停止](#1. ctrl + c 强制停止)
    • [2. ctrl + d 退出登出](#2. ctrl + d 退出登出)
    • [3. history 查看历史命令](#3. history 查看历史命令)
    • [4. !命令前缀,自动匹配上一个命令](#4. !命令前缀,自动匹配上一个命令)
    • [5. ctrl + r,搜索历史命令](#5. ctrl + r,搜索历史命令)
    • [6. ctrl + a | e,光标移动到命令开始或结束](#6. ctrl + a | e,光标移动到命令开始或结束)
    • [7. ctrl + ← | →,左右跳单词](#7. ctrl + ← | →,左右跳单词)
    • [8. ctrl + l 或 clear命令 清屏](#8. ctrl + l 或 clear命令 清屏)
  • [二. yum:软件安装](#二. yum:软件安装)
  • [三. systemctl:控制软件的启动和关闭](#三. systemctl:控制软件的启动和关闭)
  • [四. ln:软连接](#四. ln:软连接)
  • [五. IP地址,主机名](#五. IP地址,主机名)
    • 1.IP地址
      • [① IP地址](#① IP地址)
      • [② 特殊IP地址](#② 特殊IP地址)
      • [③ 在VMware Workstation中配置固定IP](#③ 在VMware Workstation中配置固定IP)
    • [2. 主机名](#2. 主机名)
      • [① 主机名](#① 主机名)
      • [② 修改主机名](#② 修改主机名)
    • [3. 域名解析](#3. 域名解析)
      • [① 域名解析](#① 域名解析)
      • [② 域名解析流程](#② 域名解析流程)
      • [② 配置主机名映射](#② 配置主机名映射)
  • [六. 端口](#六. 端口)
    • [1. 端口](#1. 端口)
    • [2. 查看端口占用](#2. 查看端口占用)
      • [① nmap IP地址,查看指定IP的对外暴露端口](#① nmap IP地址,查看指定IP的对外暴露端口)
      • [② netstat -anp | grep 端口号,查看本机指定端口号的占用情况](#② netstat -anp | grep 端口号,查看本机指定端口号的占用情况)
  • [七. 网络传输](#七. 网络传输)
    • [1. ping:检查服务器是否可联通](#1. ping:检查服务器是否可联通)
    • [2. wget:下载文件](#2. wget:下载文件)
    • [3. curl:发起网络请求](#3. curl:发起网络请求)
  • [八. 进程管理](#八. 进程管理)
    • [① 进程](#① 进程)
    • [② ps:查看进程](#② ps:查看进程)
    • [③ ps -ef | grep 指定进程:查看指定进程](#③ ps -ef | grep 指定进程:查看指定进程)
    • [③ kill:关闭进程](#③ kill:关闭进程)
  • [九. 环境变量](#九. 环境变量)
    • [1. 环境变量](#1. 环境变量)
    • [2. PATH:环境变量](#2. PATH:环境变量)
    • [3. 符号:取"变量"的值](#3. 符号:取”变量”的值)
    • [4. 自行设置环境变量](#4. 自行设置环境变量)
      • [① 临时设置](#① 临时设置)
      • [② 永久设置](#② 永久设置)
  • [十. 上传,下载](#十. 上传,下载)
  • [十一. 压缩,解压缩](#十一. 压缩,解压缩)
    • [1. tar](#1. tar)
    • [2. zip](#2. zip)

一. 各类实用小技巧(快捷键)

1. ctrl + c 强制停止

Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl + c

命令输入错误,也可以通过快捷键ctrl + c,退出当前输入,重新输入

2. ctrl + d 退出登出

可以通过快捷键:ctrl + d,退出账户的登录

或者退出某些特定程序的专属页面

ps:不能用于退出vi/vim

3. history 查看历史命令

可以通过history命令,查看历史输入过的命令

4. !命令前缀,自动匹配上一个命令

可以通过:!命令前缀,自动执行上一次匹配前缀的命令

5. ctrl + r,搜索历史命令

可以通过快捷键:ctrl + r,输入内容去匹配历史命令

如果搜索到的内容是你需要的,那么:

回车键可以直接执行

键盘左右键,可以得到此命令(不执行)

6. ctrl + a | e,光标移动到命令开始或结束

7. ctrl + ← | →,左右跳单词

8. ctrl + l 或 clear命令 清屏

二. yum:软件安装

  • 功能

    yum
    RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

    yum为CentOS系统安装软件

  • 语法

    选项:-y,自动确认,无需手动确认安装或卸载过程

    install:安装

    remove:卸载

    search:搜索
    yum命令需要root权限哦,可以su切换到root,或使用sudo提权。

    yum命令需要联网
    yum和apt

    https://blog.csdn.net/tealcwu/article/details/142773551

  • 栗子

    通过yum命令安装wget程序

    powershell 复制代码
    yum [-y] install wget 

    通过yum命令卸载wget命令

    powershell 复制代码
    yum [-y] remove wget

    通过yum命令,搜索是否有wget安装包

    yum search +软件名或者关键字 //查找相关功能的包,然后下载

    powershell 复制代码
    yum search wget

三. systemctl:控制软件的启动和关闭

  • 功能

    system control
    Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

    能够被systemctl管理的软件,一般也称之为:服务

  • 语法

    start 启动

    stop 关闭

    status 查看状态

    enable 开启开机自启

    disable 关闭开机自启
    系统内置的服务比较多,比如:

    NetworkManager,主网络服务

    network,副网络服务

    firewalld,防火墙服务

    sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)

    现在可以使用systemctl去尝试一下,控制这些服务的启动、关闭、自启动啦

  • 栗子

    查看sshd状态

    powershell 复制代码
    systemctl status sshd

四. ln:软连接

  • 功能

    link
    在系统中创建软链接,可以将文件、文件夹链接到其它位置。

    类似Windows系统中的《快捷方式》

  • 语法

    参数1:已有文件,文件夹

    参数2:软连接目的地

  • 栗子

    查看sshd状态

    powershell 复制代码
    ln -s /etc/yum.conf ~/yum.conf
    ln -s /etc/yum ~/yum

五. IP地址,主机名

1.IP地址

IP地址是联网计算机的网络地址,用于在网络中进行定位

格式是:a.b.c.d,其中abcd是0~255的数字

特殊IP有:127.0.0.1,本地回环IP,表示本机。

0.0.0.0:也可表示本机,也可以在一些白名单中表示任意IP

① IP地址

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯

IP地址主要有2个版本,V4版本和V6版本(V6很少用)

IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址

可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools

② 特殊IP地址

  • 127.0.0.1,这个IP地址用于指代本机
  • 0.0.0.0,特殊IP地址
    可以用于指代本机
    可以在端口绑定中用来确定绑定关系(后续讲解)
    在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

③ 在VMware Workstation中配置固定IP

配置固定IP需要2个大步骤:

  1. 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
  2. 在Linux系统中手动修改配置文件,固定IP




    现在进行第二步,在Linux系统中修改固定IP
    使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

    执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了

2. 主机名

主机名就是主机的名称,用于标识一个计算机

① 主机名

每一台电脑除了对外联络地址(IP地址)以外,也可以有一个名字,称之为主机名

无论是Windows或Linux系统,都可以给系统设置主机名

  • Windows系统主机名

  • Linux系统主机名

② 修改主机名

  • 可以使用命令:hostname查看主机名

  • 可以使用命令:hostnamectl set-hostname 主机名,修改主机名(需root)

  • 重新登录FinalShell即可看到主机名已经正确显示

3. 域名解析

可以通过主机名找到对应计算机的IP地址,这就是主机名映射(域名解析)

先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找

① 域名解析

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?

实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址

比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址

其中,www.baidu.com,是百度的网址,我们称之为:域名

不是说通过IP地址才能访问服务器吗?

为什么域名这一串好记的字符,也可以呢?

这一切,都是域名解析帮助我们解决的

② 域名解析流程

访问www.baidu.com的流程如下:

即:

先查看本机的记录(私人地址本)

Windows看:C:\Windows\System32\drivers\etc\hosts

Linux看:/etc/hosts

再联网去DNS服务器(如114.114.114.114,8.8.8.8等)询问

② 配置主机名映射

比如,我们FinalShell是通过IP地址连接到的Linux服务器,那有没有可能通过域名(主机名)连接呢?

可以,我们只需要在Windows系统的:C:\Windows\System32\drivers\etc\hosts文件中配置记录即可


六. 端口

物理端口:USB、HDMI、DP、VGA、RJ45等

虚拟端口:操作系统和外部交互的出入口

IP只能确定计算机,通过端口才能锁定要交互的程序

1. 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等

虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

物理端口我们日常生活中经常见到,也能知晓它的作用。

但是虚拟端口,有什么用?为什么需要它呢?

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。

通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通

IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口

非特殊需要,不要占用这个范围的端口

注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务

动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口

计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接

PS:上述微信的端口仅为演示,具体微信的端口使用非图中示意

2. 查看端口占用

① nmap IP地址,查看指定IP的对外暴露端口

  • 功能

    nmap
    查看端口的占用情况

    使用nmap命令,安装nmap:yum -y install nmap

  • 语法

    powershell 复制代码
    nmap 被查看的IP地址
  • 栗子

    可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。

    其中:

    22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口

② netstat -anp | grep 端口号,查看本机指定端口号的占用情况

  • 功能

    netstat -anp
    检查指定的网络服务器是否是可联通状态

    安装netstat:yum -y install net-tools

  • 语法

    powershell 复制代码
    netstat -anp | grep 端口号
  • 栗子

    如图,可以看到当前系统6000端口被程序(进程号7174)占用了

    其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问

    查看哪个进程占用着这个端口

    冲突,不重要时,可以杀死

    powershell 复制代码
    ps -ef | grep 6000
    kill -9 6000

    可以看到,当前系统12345端口,无人使用

七. 网络传输

1. ping:检查服务器是否可联通

  • 功能

    ping
    检查指定的网络服务器是否是可联通状态

  • 语法

    选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

    参数:ip或主机名,被检查的服务器的ip地址或主机名地址

  • 栗子

    检查到baidu.com是否联通

    结果表示联通,延迟8ms左右

    检查到39.156.66.10是否联通,并检查3次

2. wget:下载文件

3. curl:发起网络请求

  • 功能

    curl
    可以发送http网络请求,可用于:下载文件、获取信息等

  • 语法

    选项:-0,用于下载文件,当url是下载链接时,可以使用此选项保存文件

    参数:url,要发起请求的网络地址

  • 栗子

    向cip.cc发起网络请求

    powershell 复制代码
    curl cip.cc

    通过curl下载anaconda安装包

    powershell 复制代码
    curl -O https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh

八. 进程管理

① 进程

程序运行在操作系统中,是被操作系统所管理的。

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

并会为每一个进程都分配一个独有的:进程ID(进程号)

② ps:查看进程

  • 功能

    process status
    查看Linux系统中的进程状态

  • 语法

    选项:-e,显示出全部的进程

    选项:-f,以完全格式化的形式展示信息(展示全部信息)

    一般来说,固定用法就是: ps -ef 列出全部进程的全部信息

  • 栗子

    ps -ef

    从左到右分别是:

    UID:进程所属的用户ID

    PID:进程的进程号ID

    PPID:进程的父ID(启动此进程的其它进程)

    C:此进程的CPU占用率(百分比)

    STIME:进程的启动时间

    TTY:启动此进程的终端序号,如显示?,表示非终端启动

    TIME:进程占用CPU的时间

    CMD:进程对应的名称或启动路径或启动命令

③ ps -ef | grep 指定进程:查看指定进程

在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在那里

在FinalShell中,复制一个标签页,执行:ps -ef 找出tail这个程序的进程信息

问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?

我们可以使用管道符配合grep来进行过滤,如:

ps -ef | grep tail,即可准确的找到tail命令的信息

过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤哦

如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)

③ kill:关闭进程

  • 功能

    kill
    在Linux中,可以通过kill命令关闭进程

    在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它

  • 语法

    -9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制

  • 栗子

九. 环境变量

1. 环境变量

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。(环境变量是一组信息记录,类型是KeyValue型(名称=值),用于操作系统运行的时候记录关键信息)

在Linux系统中执行:env命令即可查看当前系统中记录的环境变量

环境变量是一种KeyValue型结构,即名称和值,如下图:

如图,图中记录了:

HOME:/home/itheima,用户的HOME路径

USER:itheima,当前的操作用户

PWD:当前工作路径

...

等等一系列信息,用于辅助系统在运行的时候

从环境变量中获取关键信息

2. PATH:环境变量

环境变量PATH会记录一组目录,目录之间用:隔开。这里记录的是命令的搜索路径,当执行命令会从记录中记录的目录中挨个搜索要执行的命令并执行。

在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。

PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):

/usr/local/bin

/usr/bin

/usr/local/sbin

/usr/sbin

/home/itheima/.local/bin

/home/itheima/bin

当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体

比如执行cd命令,就从第二个目录/usr/bin中搜索到了cd命令,并执行

3. $符号:取"变量"的值

在Linux系统中,$ 符号被用于取"变量"的值。

环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。

取得环境变量的值就可以通过语法:$环境变量名 来取得

比如: echo $PATH

就可以取得PATH这个环境变量的值,并通过echo语句输出出来。

又或者:echo ${PATH}ABC

当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁

4. 自行设置环境变量

① 临时设置

powershell 复制代码
export 变量名=变量值


② 永久设置

针对当前用户生效,配置在当前用户的: ~/.bashrc文件中

针对所有用户生效,配置在系统的: /etc/profile文件中

并通过语法:source 配置文件,进行立刻生效,或重新登录FinalShell生效

复制代码
环境变量PATH这个项目里面记录了系统执行命令的搜索路径。
这些搜索路径我们也可以自行添加到PATH中去。
测试:
在当前HOME目录内创建文件夹,myenv,在文件夹内创建文件mkhaha
通过vim编辑器,在mkhaha文件内填入:echo 哈哈哈哈哈
完成上述操作后,随意切换工作目录,执行mkhaha命令尝试一下,会发现无法执行
修改PATH的值
临时修改PATH:export PATH=$PATH:/home/sailiman/myenv,再次执行mkhaha,无论在哪里都能执行了
或将export PATH=$PATH:/home/sailiman/myenv,填入用户环境变量文件或系统环境变量文件中去

十. 上传,下载

当然,除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。

rz、sz命令需要安装,可以通过:yum -y install lrzsz,即可安装。

rz命令,进行上传,语法:直接输入rz即可

sz命令进行下载,语法:sz 要下载的文件

文件会自动下载到桌面的:fsdownload文件夹中。

注意,rz、sz命令需要终端软件支持才可正常运行

FinalShell、SecureCRT、XShell等常用终端软件均支持此操作

十一. 压缩,解压缩

市面上有非常多的压缩格式

zip格式:Linux、Windows、MacOS,常用

7zip:Windows系统常用

rar:Windows系统常用

tar:Linux、MacOS常用

gzip:Linux、MacOS常用

在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式,这里不多做讨论。

我们现在要学习,如何在Linux系统中操作:tar、gzip、zip这三种压缩格式

完成文件的压缩、解压操作

1. tar

  • 功能

    tar
    Linux和Mac系统常用有2种压缩格式,后缀名分别是:

    .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装

    .gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

    针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作

  • 语法

    -c,创建压缩文件,用于压缩模式

    -v,显示压缩、解压过程,用于查看进度

    -x,解压模式

    -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个

    -z,gzip模式,不使用-z就是普通的tarball格式

    -C,选择解压的目的地,用于解压模式

  • 栗子

    压缩

    tar的常用组合为:
    tar -cvf test.tar 1.txt 2.txt 3.txt

    将1.txt 2.txt 3.txt 压缩到test.tar文件内
    tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

    将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式
    注意:

    -z选项如果使用的话,一般处于选项位第一个

    -f选项,必须在选项位最后一个

    解压

    常用的tar解压组合有
    tar -xvf test.tar

    解压test.tar,将文件解压至当前目录
    tar -xvf test.tar -C /home/itheima

    解压test.tar,将文件解压至指定目录(/home/itheima)
    tar -zxvf test.tar.gz -C /home/itheima

    以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)
    注意:

    -f选项,必须在选项组合体的最后一位

    -z选项,建议在开头位置

    -C选项单独使用,和解压所需的其它参数分开

2. zip

  • 功能zip

    zip
    可以使用zip命令,压缩文件为zip压缩包

  • 语法

    -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

  • 栗子

    zip test.zip a.txt b.txt c.txt

    将a.txt b.txt c.txt 压缩到test.zip文件内
    zip -r test.zip test itheima a.txt

    将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

  • 功能unzip

    unzip
    使用unzip命令,可以方便的解压zip压缩包

  • 语法

    -d,指定要解压去的位置,同tar的-C选项

    参数,被解压的zip压缩包文件

  • 栗子

    unzip test.zip,将test.zip解压到当前目录

    unzip test.zip -d /home/sailiman,将test.zip解压到指定文件夹内(/home/sailiman)

相关推荐
Yana.nice14 小时前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月14 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
想逃离铁厂的老铁14 小时前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
小白跃升坊14 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey14 小时前
【Linux】线程同步与互斥
linux·笔记
杨江14 小时前
seafile docker安装说明
运维
舰长11515 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀15 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng15 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.15 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居