【Linux】 操作系统基础

1. Linux操作系统认知

1.1 操作系统

1) 定义

操作系统(Operation System简称OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。

请添加图片描述

2) 操作系统功能

  • 管理好硬件设备(CPU、内存、磁盘、外设),为用户提供调用方法
  • 是其它软件运行的基础,管理各种其它的软件和程序的运行
  • 对系统中文件进行管理
  • 充当人机交互界面

3) 操作系统分类

  • 桌面操作系统:Windows ,MacOS为主,图形界面良好用户群体大
  • 服务器操作系统:Linux,Unix为主,安全,稳定,占有量大。windows占有率比较低
  • 移动操作系统:针对手机、平板电脑,主要包Android、IOS、鸿蒙
  • 嵌入式操作系统:Linux为主,主要用于小型智能设备,如机器人、智能家电、无人机等

1.2 Linux系统介绍

1)Linux 诞生

1991 年 林纳斯(Linus) 就读于赫尔辛基大学期间,对 Unix 产生浓厚兴趣,林纳斯经常要用他的终端仿真器(Terminal Emulator) 去访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统,这些在后来成为了 Linux 第一个内核的雏形,当时他年仅 21 岁。Linus利用C做工具,编写了 Linux 内核,后来经过全世界的网友的帮助,最终成为优秀的操作系统。
在这里插入图片描述

Linus Benedict Torvalds

2)Linux系统特点

  • 开源、免费
  • 支持多种硬件平台
  • 多用户、多任务系统
  • 具有非常强大的网络功能

3)Linux 应用领域

  • Linux 服务器 : 目前是服务器系统中最广泛一种。

    在这里插入图片描述

    高性能服务器是Linux主要应用领域
  • 桌面应用:新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平。

  • 移动操作系统:著名的移动操作系统Android就是使用Linux内核。

  • 嵌入式系统:由于开放源代码,Linux系统在嵌入式设备领域有很广阔的市场,广泛应用于智能家电、无人机、机器人、微型智能设备。

4)Linux系统构成

  • 内核: Linux操作系统的核心代码,是Linux系统的心脏,提供了系统的核心功能,用来与硬件交互。Linux内核官网 : http://www.kernel.org

  • 文件系统:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能

  • 命令解释器:它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用操作系统功能。

  • 应用软件:包含桌面系统和基础的软件操作工具等。

在这里插入图片描述

计算机层次结构

5)Linux发行版本

严格的来讲,Linux 只是一个系统内核,即计算机软件与硬件通讯之间的平台。一些组织或厂家将 Linux 内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一个发型套件,目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

作为Linux发行版中的后起之秀,Ubuntu Linux在短短几年时间里便迅速成长为从Linux初学者到资深专家都十分青睐的发行版。由于Ubuntu Linux是开放源代码的自由软件,用户可以登录Ubuntu Linux的官方网址免费下载该软件的安装包。

Ubuntu官网:https://ubuntu.com/

在这里插入图片描述

1.3 文件系统

1)定义

文件系统是计算机操作系统的重要的组成部分,用于组织和管理计算机存储设备上的大量文件。

2)文件系统结构

  • windows文件系统,分不同盘符

在这里插入图片描述

Windows文件系统
  • Linux的文件组织中没有盘符。将根(/)作为整个文件系统的唯一起点,其它所有目录都是该目录的子目录。

在这里插入图片描述

Linux文件系统

在这里插入图片描述

Linux下,根目录是所有子目录和文件的总源头,是一棵倒置的树状结构

3)目录与文件

  • 文件:文件中存储的是数据,包括文本文件,压缩包,音频、视频等
  • 目录:即文件夹,目录下存储的是其它子目录或文件
  • 示例:列出用户主目录下的所有文件及子目录
cd ~
ls -l

在这里插入图片描述

4)系统目录功能

  • /bin目录:该目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序(bin是binary----二进制的简称),多是系统中重要的系统文件
  • /sbin目录:该目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用
  • /etc目录:该目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc等。linux正是因为这些文件才得以正常地运行
  • /lib目录:该目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间
  • /dev目录:该目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其它文件一样
  • /usr目录:该目录主要存放用户安装的程序,该目录通常很大
  • /var目录:该目录包含系统一般运行时要改变的数据(例如日志),通常这些数据所在的目录的大小是要经常变化或扩充的
  • /home目录:普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹

5)绝对路径和相对路径

  • 绝对路径:指文件在文件系统中以根目录为起始点的准确位置描述。例如“/usr/bin/gnect”就是绝对路径。最要的标志就是以 ‘/’ 作为路径描述的开头

  • 相对路径:指相对于用户当前位置为起始点,对一个文件位置的逐层描述。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。在相对路径描述时 . 表示当前目录, … 表示上一级目录

2. Linux常用命令

Linux支持丰富的命令操作,用以完成大部分重要功能,Linux下命令行操作比图形界面操作更为方便。作为软件工程师,我们将来所写的代码都需要在服务器上运行,掌握基本的Linux 操作命令有助于我们将来对项目的部署和控制工作。

从这一刻起,忘掉图形界面,忘掉鼠标!

2.1 终端与命令行

  • 终端 : 使用命令对Linux系统进行操作的窗口
  • 命令行:书写Linux命令的提示行

在这里插入图片描述

  • 打开关闭终端快捷键
    • 打开 :通过ctrl+alt +t,shift+ctrl+n 都可以快速打开一个终端
    • 关闭 :Ctrl+d或者在命令行输入exit
  • 终端字体大小控制
    • 放大:ctrl 和 + 键 (不要忘了+号要使用shift)
    • 缩小:ctrl 和 - 键
  • 终端使用技巧
    • 按向上箭头,调出上一次执行命令
    • 键入少量字符,按tab键,自动对命令进行补齐
    • 输入history,查看以往执行过的所有命令
    • 清空屏幕 : ctrl + l 或clear命令

2.2 Linux常用命令

2.2.1 命令行概述

  • 命令格式
command [-options] [parameter]

说明:
command:命令名称,一般为英文单词或单词的缩写
[-options]:命令选项,辅助命令进行功能细化,也可以省略
parameter:传给命令的参数,可以是0个或多个,控制命令执行细节
  • 帮助命令:man command
man ls

注:查阅 command 命令的使用手册,按q退出

2.2.2 文件及目录操作

文件操作是Linux最基本的操作,在日常使用中使用频率最高,需要熟练掌握。文件操作主要有目录操作、单文件操作、文件压缩解压、文件权限管理等。

1)目录操作

  • 查看当前目录:pwd(print work directory简写)

    pwd
    
  • 显示目录内容:ls

    作用:ls命令用来查看目录内有哪些文件及子目录

    参数:ls -l 以长格式显示(long)

    ​ ls -a 显示所有(包含隐藏)all

    ​ ls -t 按照文件最后修改时间排序

    示例:查看当前目录内容

    ls
    

    执行结果:

    在这里插入图片描述

    示例:查看当前目录详细内容

    ls -l
    

    执行结果:

    在这里插入图片描述

    说明:执行结果从左至右每列的含义分别是文件权限、连接数或子目录数(含义暂先忽略)、文件拥有者、文件拥有者所在组、文件大小、最后修改时间、文件名称

  • 切换目录:cd

    作用:用于从一个目录切换到另一个目录

    参数:cd 目录名称

    示例:切换到主目录

    cd /home/tarena
    

    特别说明:Linux中,有几个特殊目录,如下表所示

    符号说明含义
    .英文点号当前目录
    两个英文点号上级目录
    ~英文波浪线用户主目录
    -英文横线上一次所在目录
  • 创建目录:mkdir

    作用:mkdir(make director的简写)用来创建一个空目录

    参数: -p 如果父目录不存在,同时创建父目录(级联创建)

    示例:在当前目录下创建study目录

    mkdir study
    ls
    

    说明:第1行命令,执行创建study目录;第2行命令,查看当前目录内容(如果创建成功,可以看到study目录)。执行结果:

    在这里插入图片描述

    示例:创建目录,如果被创建目录的上级目录不存在,则自动创建

    mkdir -p /tmp/demo/test
    

    说明:该示例中,在mkdir后面加了-p选项,会自动创建test的上级目录demo

    执行结果:

在这里插入图片描述

2)文件操作

  • 创建空文件:touch

    格式:touch 文件1 文件2 文件3

    示例:创建三个空文件

    cd ~/study/
    touch test1.txt test2.txt
    

    执行结果:

    在这里插入图片描述

  • 向文件写入内容: echo

    格式:echo 要写入的内容 > 文件名

    示例:向test.txt文件中写如字符串’abc’

    echo 'abc' > test1.txt
    

    说明:将abc字符串写入test1.txt,会覆盖原来的内容;如果不想覆盖原来的内容,使用>>

  • 查看文件内容:cat

    格式:cat 文件名

    示例:查看test.txt文件内容

    cat test1.txt
    

    执行结果:

    在这里插入图片描述

  • 查看文件前几行:head

    格式:head -n 行数 文件名

    说明: -n 后跟行数,表示显示前面多少行

    示例:查看test.txt前3行

    head -n 3 test1.txt
    

    执行结果:

    在这里插入图片描述

  • 查看文件最后几行:tail

    格式:tail -n 行数 文件名

    说明: -n 后跟行数,表示显示后面多少行

    示例:查看test1.txt最后2行

    tail -n 2 test1.txt
    

    执行结果:

    在这里插入图片描述

  • 文件查找:find

    格式:find 查找路径 -name 文件名|目录名

    示例:在当前目录下查找所有以.txt结尾的文件

    find . -name "*.txt"
    

    说明:查找当前目录下以txt结尾的所有文件

    执行结果:

    在这里插入图片描述

  • 文件复制:cp

    格式:cp 原文件 新文件

    示例:将text1.txt复制为new.txt

    cp test1.txt new.txt
    

    执行结果:

    在这里插入图片描述

  • 文件移动(重命名):mv

    格式:mv 原文件名 新文件名

    示例:将new.txt重命名为new2.txt

    mv new.txt new2.txt
    

    执行结果:

    在这里插入图片描述

  • 文件删除:rm

    格式:rm [选项] 文件名|目录名

    选项:-f force 的意思,强制删除(慎用!)

    ​ -i 互动模式,在删除前询问

    ​ -r 递归删除,删除包含的子目录(慎用!)

    示例:删除new2.txt

rm -i new2.txt

执行结果:

在这里插入图片描述

3)通配符

对一类文件名称的书写进行简化,例如file1.txt、file2.txt、file3.txt……,用户不必一一输入文件名,可以使用通配符完成。

通配符含义实例
星号(*)匹配任意长度的字符串用file_*.txt,匹配file_wang.txt、file_Lee.txt、file_Liu.txt
问号(?)匹配一个长度的字符用flie_?.txt,匹配file_1.txt、file_2.txt、file_3.txt
方括号([…])匹配其中指定的一个字符用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
方括号([ - ])匹配指定的一个字符范围用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt

4)管道

管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。

	ls | grep 'hello'
	ls | wc -w

2.2.3 压缩解压

Linux中常使用tar、zip命令进行打包、压缩/解压操作。

1)tar压缩工具

  • 压缩打包

    格式:tar -zcvf 压缩包名字.tar.gz 文件1 文件2 目录3

    参数:

    z 使用gzip方式压缩

    c 创建包 create

    v 显示操作文件的细节

    f 要操作的文件名 file

    示例:将所有txt文件打包压缩

tar -zcvf tmp.tar.gz test1.txt test2.txt

说明:上述命令将test1.txt, test2.txt打包成一个文件,并进行压缩,打包压缩后的文件名为tmp.tar.gz(gz后缀名表示进行了压缩,tar后缀名表示进行了打包,加后缀名是为了清晰、易于理解,而不是必须的)

执行结果:

在这里插入图片描述

  • 解压

    格式:tar -zxvf 压缩包名字.tar.gz

    参数:x 解压缩

    ​ 其它参数和打包压缩含义一致

    示例:解压tar.gz格式压缩包

    rm test1.txt test2.txt
    ls
    tar -zxvf tmp.tar.gz
    

    说明:第1行代码,删除test1.txt和test2.txt两个文件;第2行代码,查看当前目录内容,确定文件已删除;第3行代码,对tmp.tar.gz进行解压缩

    执行结果:

    在这里插入图片描述

2)zip压缩工具

zip是另一种压缩格式的压缩和解压工具,使用zip命令压缩,unzip命令解压

  • 压缩

    格式:zip [命令选项] <压缩文件名称> <要压缩的文件/目录列表>

    参数:-r 递归地将一个目录及其所有子目录和文件压缩到ZIP文件中

    ​ -q 在压缩文件时启用静默模式,即不显示压缩过程的详细信息

    ​ -d 从现有的ZIP文件中删除指定的文件或目录

    ​ -u 用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中

    示例:利用zip工具压缩打包

zip -r demo.zip  *.txt *.py
  • 解压

    格式:unzip [命令选项] <压缩文件名称>

    参数:-n 解压时不覆盖原有文件夹中已存在的文件

    ​ -o 解压时覆盖原有文件夹中已存在的文件

    ​ -q 不显示指令执行过程

    ​ -d 指定要解压的目录路径

    ​ -l 查看压缩包中有哪些文件,不进行解压

    示例:解压zip包

unzip demo.zip

2.2.4 权限管理

Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。

权限类型:权限类型一般包括读,写,执行,对应字母为 r、w、x

权限粒度:文件拥有者(创建文件的用户) 、组(创建文件用户所在的组) 、其它组

所以,一个文件的权限表示为9种状态,分别指拥有者、组、其他用户对该文件是否具有读、写、执行的权限

在这里插入图片描述

在rwx三个权限中,从右至左依次用值1,2,4来表示,所以拥有某个文件的读、写、执行权限也可以用三个权限值累加的方式来表示,如下表所示:

权限含义对应值
rwx可读、可写、可执行4+2+1=7
rw-可读、可写、不可执行4+2=6
r-x可读、不可写、可执行4+0+1=5
r–可读、不可写、不可执行4+0+0=4
-wx不可读、可写、可执行0+2+1=3
-w-不可读、可写、不可执行0+2+0=2
–x不可读、不可写、可执行0+0+1=1
不可读、不可写、不可执行0+0+0=0
  • 修改文件权限:chmod

    格式: chmod {权限值} {文件/目录名}

    示例:给文件test1.txt添加可执行权限

    chmod +x test1.txt
    

    执行结果:

    在这里插入图片描述

    示例:设置test2.txt文件,拥有者有读、写、执行权限,其他用户没有访问权限

    chmod 700 test1.txt
    

    执行结果:

    在这里插入图片描述

    示例:创建test3.txt文件,设置拥有者有读、写、执行权限,其他用户有只读权限

    touch test3.txt
    chmod 400 test3.txt
    

    执行结果:

    在这里插入图片描述

  • 示例:取消test3.txt的可执行权限

    chmod -x test3.txt
    

    执行结果:

    在这里插入图片描述

2.2.5 网络操作

  • 查看本机网络地址:ifconfig

    作用:查看本机IP地址,该地址可以理解为本机在网络上的门牌号,该编号是唯一的

    示例:

    ifconfig
    

    执行结果:

    在这里插入图片描述

    说明:上图中,红色框中的部分就是本机的IP地址,IP地址可能不只一个,其中127.0.0.1特指本机地址

  • 测试网络连通性:ping

    格式:ping [对方主机地址]

    功能:ping命令主通过网络主动向对方连续发送数据包,对方收到后,应答相同数量的数据包,本机通过对方是否应答来判断彼此是否连通

    示例:

    ping www.baidu.com
    

    执行结果:

    在这里插入图片描述

    说明:通过ping命令,向www.baidu.com主机持续发送数据,并且收到了对方应答的数据包(from 220.181.38.149),其中www.baidu.com称为域名,方便用户记忆;220.181.38.149是IP地址,用于计算机之间通信,在发送数据之前,实际上对域名和IP进行了转换,通过IP地址将数据发给了对方。

2.2.6 系统管理

1)用户相关命令

  • 查看当前名称:whoami

    示例:

    whoami
    

    执行结果为当前登录用户名

  • 添加用户:adduser

    格式:adduser [新用户名称]

    示例:

    adduser tom
    

    说明:添加名称为tom的用户,如果没有错误信息则添加成功。用户添加成功后,用户名会被保存到/etc/passwd文件中,可以通过如下命令进行验证:

    cat /etc/passwd | grep tom
    

    执行结果如下(说明已经在passwd文件中找到了tom用户):

    tom:x:1000:1000::/home/tom:/bin/bash
    
  • 修改用户密码:passwd

    格式:passwd [待修改密码的用户名]

    示例:

    passwd tom
    

    执行结果:

    在这里插入图片描述

    说明:修改过程中,需要输入两次密码,并且两次密码要相同,密码在输入过程中是不可见的。执行成功后,会打印出一行提示信息。

    验证:修改密码完成后,可以使用如下命令切换到tom用户进行验证:

    su - tom
    

    提示输入密码,输入刚刚passwd命令输入的密码,如果输入正确,则切换到tom用户下。

2)权限相关命令

  • 使用root用户执行命令:sudo

    格式:sudo [待执行的命令]

    说明:Linux系统权限控制较为严格,有时当前用户没有执行某个操作的权限,这是需要使用更高的管理员用户权限来执行,这就需要在命令前加上sudo

    示例:

    sudo touch /etc/tmp.txt
    

3)磁盘相关命令

  • 查看磁盘使用率:df

    格式:df [选项]

    示例:查看磁盘使用率

    df
    

    执行结果:

    在这里插入图片描述

    说明:第三列、第四列、第五列、第六列分别指已用大小、可用大小、已使用百分比、磁盘挂节点,第三列、第四列磁盘大小的单位是字节(Byte),通常这个值很大,不容易阅读,我们可以在df后加一个"-h"参数让结果更加容易阅读

    示例:用更容易阅读的方式查看磁盘使用率

    df -h
    

    执行结果(磁盘大小以M为单位):

    在这里插入图片描述

4)开关机命令

  • 关机:shutdown
  • 重启:reboot

2.2.7 显示展示命令

命令作用
echo向终端打印内容
date显示当前时间
df显示磁盘剩余空间
whoami显示当前用户
history [num]显示历史命令记录
  • 部分命令细节说明

    • echo : -n 表示打印完成不换行

    • df: -h 选项以Mb为单位显示,-T显示文件系统类型 ext4的为磁盘

    • history : history 默认显示500条历史记录,后面可以加具体数字表示显示多少条

  • 输出重定向

    重定向符含义实例
    > file将file文件重定向为输出源,新建模式echo “hello world” > out.txt,将执行结果,写到out.txt文件中,若有同名文件将被删除
    >> file将file文件重定向为输出源,追加模式ls /usr >> output.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后

2.3 vim文本编辑器

所有的Unix Like系统都会内建vi文本编辑器,但是目前我们使用比较多的是 vim 编辑器。vim可以看做vi的升级版,具有漂亮的语法高亮,视觉效果更好。

vim编辑器所有操作均使用键盘完成,有三种模式:浏览模式、编辑模式和指令模式。打开文件时,默认进入浏览模式;按插入键,进入编辑模式;按取消键退出编辑模式,输入冒号(:)进入指令模式;在指令模式下连续点击两下“取消”键进入编辑模式。

玩Linux的人有一种说法,通过你使用的编辑器可以判断是不是高手。网上也流传着这样一张鄙视链的图,供大家娱乐。

在这里插入图片描述

1)打开和退出

  • 打开文件

    格式:vim [文件名称]

    示例:

    vim test1.txt
    

    说明:执行上述命令后,会打开test1.txt(如果不存在,则创建),进入vim编辑器界面。如果要退出,执行后面的退出指令。

  • 退出

    指令:输入冒号(:),进入编辑器指令模式,输入q并按回车键

    示例:

    在这里插入图片描述

    说明:退出有几种写法,见下表所示:

    指令说明
    q直接退出,退出前必须保存
    q!强制退出,不管文件是否保存
    wq保存并退出
    x保存并退出,等同于wq

2)光标移动

在vim中,可以使用上下左右箭头对光标进行移动,但这样会移动右手,影响操作速度,所以vim还提供了其它几个按键对光标进行更方便的操作。

按键移动方向
j向下移动
k向上移动
h向左移动
l向右移动
shift + ^移动到行首
shift + $移动到行尾
GG移动到文件首部
shift + G移动到文件尾部

光标使用不需要记忆,使用熟练后操作非常自然、方便。

3)输入内容

要输入内容,首先需进入输入模式,再执行输入。vim提供了在不同位置输入的快捷操作:

按键说明插入方式
i小写i光标位置插入
a小写a光标之后插入
o小写o光标下方插入新行
I大写i或shift+i行首插入
A大写a或shift+a行尾插入

4)保存内容

按键说明操作
w小写w键保存文件

5)删除内容

按键说明删除方式
x小写x删除一个字符
dd连续按两下小写d删除一行
dw连续按d和w键删除一个单词

6)复制粘贴

按键说明操作方式
yy连续按两下小写y复制整行
y小写y复制选择的部分
p小写p粘贴

7)显示/隐藏行号

在命令模式下,可以显示或隐藏行号,命令如下表所示:

命令说明操作
set nuset number 简写显示行号
set nonuset no number简写不显示行号

3. Linux服务器环境

3.1 软件安装

1)apt软件包管理工具

Linux下安装的软件包是 deb格式软件包。由于当时Linux系统中软件包存在复杂的依赖关系。因此,通常使用网络安装。在ubuntu中, apt是一个基于在线软件包管理、安装、删除、查询的工具。

作用命令
更新软件源apt update
安装软件apt install
卸载软件apt remove --purge
删除缓存的软件安装包apt clean
安装本地软件包dpkg -i
卸载软件dpkg -P
查询指定的包apt-cache search packagename
查看该包依赖哪些包apt-cache depends packagename
  • 注意事项 : 安装软件包通常需要使用管理员权限。
  • 软件包下载位置:/var/cache/apt/archives
sudo apt install sl   # 安装
sudo apt remove --purge  sl  # 彻底卸载

示例:利用apt命令安装图形编辑器gedit

apt-cache search gedit  # 搜索gedit包
sudo apt install gedit

2)离线包安装

deb包是Debian和Ubuntu等Linux发行版中常用的软件安装包格式。这种格式的文件扩展名为".deb"。Debian包是基于tar归档的,包含软件的实际安装数据(如程序数据、配置文件等),以及安装信息和控制脚本。这些控制脚本包括软件包的名称、版本、大小、维护者的信息,以及描述和依赖关系等。deb包通常可以通过双击安装,也可以使用命令行工具如dpkg安装。

# dpkg命令:deb软件包管理工具

# 安装de包
sudo dpkg -i package.deb  

# 查看de包中的内容
dpkg -c package.deb

# 移除安装的deb包
dpkg -r package

示例:通过deb包方式安装xmind

第一步:下载xmind工具安装包

wget https://dl2.xmind.cn/Xmind-for-Linux-amd64bit-24.01.14361-202403131929.deb

第二步:安装

sudo dpkg -i Xmind-for-Linux-amd64bit-24.01.14361-202403131929.deb

第三步:检查安装结果

xmind

3)修改apt源

可以修改/etc/apt/sources.list文件,设置执行apt命令时使用哪个apt版本服务器(建议使用国内源)。修改源步骤:

第一步:备份源文件

cd /etc/apt
cp sources.list sources.list.bak

第二步:打开sources.list文件,替换为新的内容(例如目前使用的是清华源,要修改为阿里源)

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

第三步:保存,退出

3.2 ssh服务

ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh就是通用的远程访问服务器的方法。

1) 安装启动

  • 安装ssh服务 : sudo apt install openssh-server

  • 查看ssh服务状态 : ps -e|grep ssh

    在这里插入图片描述

  • 启动和关闭 :

    sudo service ssh start/restart/stop

  • 常用命令
命令作用
ssh 用户名@ip登录远程主机
scp 用户名@ip:文件名绝对路径 目标位置远程复制文件

示例:ssh登录

ssh  levi@192.168.100.5    # 登录
exit                      # 退出

在这里插入图片描述

示例:利用scp实现安全拷贝


# 注意:`:` 后面的路径写绝对路径
scp  demo.py levi@192.168.100.5:/home/tarena

# 把远程主目录下demo.py文件 复制到本地当前目录下
scp  levi@192.168.100.5:/home/tarena/demo.py  .

# 加上 -r 选项可以传送文件夹
scp -r demo levi@192.168.100.5:/home/tarena/

  • ssh秘钥

    • 什么时候使用: 如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用秘钥处理。

      在这里插入图片描述

    • 使用方法

      1. 在个人计算机中生产秘钥对 : ssh-keygen  执行以后会在主目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub。
      2. 在服务器主机上创建文件(云服务器当中会自动为我们创建) touch  ~/.ssh/authorized_keys,将信任的计算机的id_rsa.pub文件内容追加到服务器authorized_keys文件中即可。   
      
  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值