Linux基础

1、命令

        1.1、什么是命令、命令行

  • 命令:Linux操作指令、系统内置的程序、可以以字符化的形式使用
  • 命令行:Linux终端、可以提供字符化的操作页面供命令执行

        1.2、Linux命令的通用格式 

        command [-options] [parameter]

  • command:命令本体
  • options:可选选项,控制命令行为细节,选项可以组合使用
  • parameter:可选参数,控制命令的指向目标

2、Linux基础命令

        2.1、ls命令

        ls [-options] [parameter(Linux路径)],当不使用选项和参数时,直接执行ls命令本体表示:以平铺的方式,列出当前工作目录下的内容

        ls命令的作用:

                在命令行中展示指定目录下的内容(文件或文件夹)

        ls命令的可用选项:

  • -a:‌显示所有文件和目录,‌包括隐藏文件(‌以.开头的文件或文件夹)
  • -l:‌以列表形式显示文件和目录的详细信息,‌包括权限、‌所有者、‌大小等
  • -h:‌以人类可读的格式(‌如KB、‌MB、‌GB)‌显示文件大小

-------------------------------------------------------------------------------------------------------------------------

  • -R:‌递归列出指定目录及其所有子目录中的文件和目录
  • -Q:‌把输出的文件名用双引号括起来
  • -1:‌每行只输出一个文件
  • --color=no:‌不显示五颜六色的文件名
  • --help:‌显示帮助信息
  • --version:‌显示版本信息并退出

        2.2、cd命令

        cd [parameter(Linux路径)],cd命令无需选项,只有参数,直接执行cd命令本体表示:回到用户的home目录

        cd命令的作用:

                切换当前的工作目录,Linux终端在启动时默认为用户的home目录

        2.3、pwd命令

        pwd, pwd命令无选项、无参数

        pwd命令的作用:

                查看当前的工作目录

        2.4、mkdir命令

         mkdir [-options] [parameter(Linux路径)],路径参数必填

        mkdir命令的作用:

                创建新的目录(文件夹)

        mkdir的可用选项:      

  • -p:递归创建目录,‌如果上级目录不存在也会一并创建。
  • -m:设置权限模式,如mkdir -m 755 dir会创建一个权限为755的目录

        2.5、touch命令

        touch  [-options] [parameter(Linux路径)],路径参数必填,选项可不填,默认创建一个文件

        touch命令的作用:

                创建文件

        touch命令的可用选项:

  • -a:仅修改文件的访问时间
  • -c:如果文件不存在则不创建文件
  • -d:设置文件的时间戳为指定的时间
  • -m:仅修改文件的修改时间
  • -r:设置目标文件的时间戳与目标文件的目录的时间戳一致
  • -t:设置文件的访问时间与修改时间

        2.6、cat命令

        cat [-options] [parameter(Linux路径)],路径参数必填,选项可不填,默认正常打开文件

        cat命令的作用:

                查看文件内容

        cat命令的可用选项:

  • -n:从1开始对所有输出的行数编号
  • -b:和-n相似,‌对于空白行不编号

-------------------------------------------------------------------------------------------------------------------------

  • -s:当遇到有连续两行以上的空白行,‌代换为一行的空白行
  • -v:使用 ^ 和 M- 符号显示非打印字符,‌除 LFD 和 TAB 之外
  • -E :‌在每行结束处显示$
  • -T :‌将制表符显示为^T

 

        2.7、more命令 

        more [-options] [parameter(Linux路径)],路径参数必填,选项可不填,默认以可翻页形式打开文件

        more命令的作用:

                以可翻页形式查看文件内容

        more命令的可用选项:

  • -d:‌在每屏的底部显示更友好的提示信息,‌如“-- More -- (XX%)[Press space to continue, ‘q’ to quit . ]”,‌并且在尝试滚动超过文件内容时显示错误消息
  • -l:‌忽略换页符(‌Ctrl+l)‌。‌如果没有给出这个选项,‌则more命令在显示了包含换页符的行后会暂停显示,‌并等待接收命令
  • -f:‌使滚动按照实际行数而不是屏幕行数进行
  • -p:‌通过清除窗口而不是滚动窗口来显示文件
  • -c:‌通过从屏幕顶部清除而不是滚动窗口来显示文件。‌这与-p选项相似,‌都是为了清屏后显示新内容
  • -s:‌将连续的多个空行压缩为一个空行显示
  • -u:‌禁止下划线
  • +num:‌从第num行开始显示文件内容
  • -num:‌指定屏幕大小为num行
  • +/pattern:‌在每个文件中搜索pattern并从该处开始显示

        2.8、cp命令

        cp [-options] [parameter1(Linux路径)] [parameter2(Linux路径)] 

        cp命令的作用:

                复制文件或文件夹(从parameter1复制到parameter2)

        cp命令的可用选项:

  • -r:递归复制目录及其下的所有子目录和文件

-------------------------------------------------------------------------------------------------------------------------

  • -a:归档模式,用于递归复制目录并保留文件的所有属性,包括权限、所有者、时间戳等。这个选项相当于dpR选项的组合
  • -d:如果源文件是软链接,则复制出的目标文件也为软链接
  • -f:强制复制,不提示是否覆盖目标文件
  • -i:交互模式,如果目标文件已经存在,则会询问是否覆盖
  • -p:保留原有文件或目录属性,包括修改时间和访问权限
  • -l:创建硬链接而不是复制文件
  • -s:创建符号链接(软链接)而不是复制文件
  • --sparse=auto/always/never:控制是否创建稀疏文件
  • --strip-trailing-slashes:删除源文件路径末尾的斜杠
  • --suffix=后缀:自行指定备份文件的后缀
  • --target-directory=目录:将所有源参数复制到指定目录
  • --no-target-directory:将目标视为普通文件而非目录
  • --update:只在源文件比目标文件新或目标文件不存在时才进行复制
  • --verbose:显示详细步骤
  • --one-file-system:不跨越文件系统进行操作
  • --context[=CTX]:设置SELinux或SMACK安全上下文

        2.9、mv命令

        mv [parameter1(Linux路径)] [parameter2(Linux路径)] 

        mv命令的作用:

                移动文件或文件夹(从parameter1移动到parameter2)

        mv命令的可用选项:

  • -i:‌进行交互式操作。‌如果mv操作将导致对已存在的目标文件的覆盖,‌系统会询问是否覆盖。‌用户可以输入'y'进行覆盖,‌输入'n'则不覆盖,‌以避免误覆盖文件
  • -f:‌禁止交互式操作。‌在mv操作要覆盖某已有的目标文件或目录时不给任何指示,‌默认覆盖
  • -b:‌覆盖文件前先对其进行备份
  • -S:不理会通常的备份后缀
  • -u:移动或覆盖目的文件时,‌若日期比目的文件旧,‌且目的文件已经存在,‌则不执行覆盖文件命令

        2.10、rm命令

        rm [-options] [parameter1(Linux路径)] [parameter2(Linux路径)]…… ,路径参数可有多个,至少有一个,多个表示多个文件,选项可不填,默认删除文件

        rm命令的作用:

                删除文件、文件夹

        rm命令的可用选项:

  • -f:‌强制删除,‌忽略不存在的文件,‌不提示。‌使用此选项可以强制删除文件,‌即使文件不存在也不会显示错误消息
  • -r:‌递归删除,‌用于删除目录及其内容。‌当需要删除一个目录及其所有子目录和文件时,‌可以使用此选项

-------------------------------------------------------------------------------------------------------------------------

  • -i:‌交互式删除,‌每个文件删除前都会询问用户。‌此选项使得删除操作更加安全,‌因为会在删除每个文件前提示用户确认
  • -v:‌显示详细信息,‌列出被删除的文件。‌使用此选项可以在删除文件时查看详细的输出,‌了解哪些文件被删除

  注:该命令为删除Linux系统的根目录(不要轻易尝试)      

rm -rf /

         2.11、which命令

        which [-options] [command],选项可不填,默认为查找命令的目录

        which命令的作用:

                查看Linux命令的程序文件存放的位置

        which命令的可用选项:

  • -a:‌列出所有与给定命令或文件名匹配的可执行文件的位置
  • -n:‌指定文件名长度,‌必须大于或等于文件中最长的文件名
  • -p:‌显示所有符合条件的路径名
  • -s:‌静默模式,‌只返回退出状态

         2.12、find命令

        1、find 起始路径 -name “搜索文件名”以文件名方式查找

        2、find 起始路径 -size +|-n[kMG]以大小方式查找

  • +、-表示大于和小于
  • n表示大小值
  • kMG表示单位大小,k(小写)表示kb,M表示Mb,G表示Gb

        find命令的作用:

                查找文件

        find命令的可用选项:

  • -name pattern:根据文件名进行匹配搜索
  • -size [+|-]size:根据文件大小进行搜索,可以使用+表示大于,-表示小于

-------------------------------------------------------------------------------------------------------------------------

  • -type type:按照文件类型进行搜索,如f表示普通文件,d表示目录等
  • ‌`-user name`:搜索指定所有者的文件
  • -exec command {} \\;:对搜索结果执行指定的命令

        2.13、grep命令

        grep [-options] 关键字 文件路径,选项可不填,默认筛选关键字 

        grep命令的作用:

                筛选出文件中的关键字

        grep命令的可用选项:

  • -n:显示匹配行及行号

-------------------------------------------------------------------------------------------------------------------------

  • -c:只输出匹配行的计数
  • -I:不区分大 小写(只适用于单字符)
  • -h:查询多文件时不显示文件名
  • -l:查询多文件时只输出包含匹配字符的文件名
  • -s:不显示不存在或无匹配文本的错误信息
  • -v:显示不包含匹配文本的所有行

        2.14、wc命令

        wc [-options] 文件路径,选项可不填,默认为-cmlw

        wc命令的作用:

                统计文本内各参数

        wc命令的可用选项:

  • -l:‌用于统计文件的行数
  • -w:‌用于统计文件的字数
  • -m:‌用于统计文件的字符数
  • -c:‌用于统计文件的字节数

-------------------------------------------------------------------------------------------------------------------------

  • -L:‌用于输出最长行的内容
  • -C:‌用于输出以字节为单位的文件大小,‌但这个选项在某些版本的wc命令中可能不可用

        2.15、echo命令 

        echo [-n] 输出内容,选项可不填.,默认输出内容

        echo命令的作用:

                输出

        echo的可用选项:

  • -n:输出内容后不换行

        2.16、tail命令

        tail [-options] Linux路径

        tail命令的作用:

                查看文件尾部的内容

        tail命令的可用选项:

  • -n:‌用于指定显示文件的最后n行,‌默认为10行
  • -f:‌实时追踪文件的变化并输出新增的内容,‌这在查看日志文件时特别有用

-------------------------------------------------------------------------------------------------------------------------

  • -q:‌不显示文件名
  • -s:‌设置输出的间隔时间(‌秒)‌
  • -c:‌以字节为单位显示指定范围的内容

        2.17、vi/vim命令(编辑器)

        vi/vim  Linux路径

        vi/vim命令的作用:

                命令行下对文本文件进行编辑,vim是vi的加强版本,兼容所以vi指令,不仅能编辑文本,还具有Shell程序编辑的功能,可以以不同颜色的字体辨别语法的正确性

  •                 vi/vim的文件路径若不存在,则此命令会用于编辑新文件
  •                 如果文件存在,则此命令用于编辑已有文件

        vi/vim命令的模式:

  1. 命令模式(command mode):在此模式下所有的按键编辑器都理解为命令,以命令驱动执行不同的功能
  2. 输入模式(insert mode):在此模式下可以对文件内容进行自由编辑
  3. 底线命令模式(last line mode):通常用于对文件的保存和退出

        命令模式:

  • i :在当前光标位置进入输入模式
  • a :在当前光标位置之后进入输入模式
  • I :在当前行的开头进入输入模式
  • A :在当前行的结尾进入输入模式
  • o :在当前光标下一行进入输入模式
  • O :在当前光标上一行进入输入模式
  • ESC :在任何情况下都可以通过ESC回到命令模式

        输入模式: 此模式下进行文本的编辑

        底线命令模式:

  • :wq 保存并退出
  • :q 仅退出
  • :q! 强制退出
  • :w 仅保存
  • :set nu 显示行号
  • :set paste 设置粘贴模式

        2.18、chmod命令

        chmod [-options] 权限 文件,选项可不选,默认为修改文件权限 

        chmod命令的作用:

                修改文件/文件夹的权限

        chmod命令的可用选项:

  • -R:递归处理,将指令目录下的所有文件及子目录一并处理

-------------------------------------------------------------------------------------------------------------------------

  • -c:当文件权限确实已经更改时,才显示其更改动作
  • -f :抑制大多数错误消息
  • -v:显示权限变更的详细资料

        例:将文件test权限修改为rwxr-x--x

chmod u=rwx,g=rx,o=x test

        权限与数字对应关系为:r=4,w=2,x=1 

chmod 751 test

        注:chmod命令只有文件/文件夹的所属用户和root用户可以执行,因此一般在root用户下修改权限

        2.19、chown命令

        chown [-options] [用户][:][用户组] 文件或文件夹,选项可不填,默认修改文件的所属用户、用户组

        chown命令的作用:

                修改文件或文件夹的所属用户或用户组

        chown命令的可用选项:

  • -R:‌递归地更改目录及其下面的所有文件和子目录的所有权。‌

-------------------------------------------------------------------------------------------------------------------------

  • -v:‌显示详细的操作信息,‌例如成功更改的文件或目录。‌
  • -c:‌只在更改了的情况下输出提示信息。‌
  • -f:‌静默模式,‌不显示错误信息。‌

        注:chown命令只适用于root用户执行 

        2.20、用户及用户组相关命令 

注:以下命令均在root用户下执行

        创建用户组:groupadd 用户组名

        删除用户组:groupdel 用户组名

        创建用户:group [-g/-d] 用户名

  • -g:指定用户的组,不添加-g则创建同名组并自动加入,指定-g需要已经存在,如已存在同名组,则必须使用-g
  • -d:指定用户的home路径,不指定则默认为:/home/(username)

        删除用户:user得了 [-r] 用户名,若不指定-r,则在删除用户时会保留home目录

        查看用户所属组:id [用户名],若不指定用户,则默认查询当前用户

        修改用户所属组:username -aG 用户组 用户名 

3、Linux常用符号及其含义 

符号

含义
.当前目录
..

上一级目录

~

表示home目录
*

通配符

*test:表示匹配以test开头的内容

test*:表示匹配以test结尾的内容

*test*:表示匹配任何包含test的内容

|管道符:将左边的结果作为右边命令的输入
``反引号:将内部内容作为指令执行
>重定向符:覆写
>>重定向符:追加
$取变量的值

4、Linux常用快捷键/快捷命令

快捷键/命令含义
Ctrl + c强制停止:用于命令输入错误或运行时强制停止
Ctrl + d退出当前账户的登录或退出特定程序的专属页面
history查看历史输入过的命令
!(前缀)自动执行上一次匹配前缀的命令
Ctrl + r输入内容以匹配历史命令,回车以直接执行,键盘左右键以修改历史命令
Ctrl + a光标移动至命令开头
Ctrl + e光标移动至命令结尾

Ctrl + 键盘左键

光标向左跳一个单词
Ctrl + 键盘右键光标向右跳一个单词
Ctrl + l清空终端内容
clear清空终端内容

5、软件应用

5.1、软件安装

        5.1.1、在CentOS中安装软件

        yum [-y] [install | remove | search] 软件名称yum命令需要root权限,需要联网

  • 选项:-y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索

 注:目前官方不再支持维护CentOS7,yum源需要替换为国内的yum源

换源具体操作:https://blog.csdn.net/2301_77416380/article/details/140686229?spm=1001.2014.3001.5501

        5.1.2、在Ubuntu中安装软件

        apt [-y] [install | remove | search] 软件名称apt命令需要root权限,需要联网

  • 选项:-y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索

5.2、软件的启动和关闭

        5.2.1使用systemctl命令进行软件(服务)的启动和关闭

        systemctl start | stop | status | enable | disable 服务名

  • start:启动
  • stop:关闭
  • status:查看运行状态
  • enable:开启开机自启动
  • disable:关闭开机自启动

        常见的系统服务:

  1. NetworkManager,主网络服务
  2. network,副网络服务
  3. firewalld,防火墙服务
  4. sshd,ssh服务,远程登录服务

注:部分第三方软件也可以通过systemctl进行控制,systemctl一般在root权限下执行 

6、Linux系统基础设置 

6.1、软链接

        ln -s 参数1 参数2,将文件/文件夹链接在其他位置,类似于Windows系统中的快捷方式

  • -s:创建软链接
  • 参数1:被链接的文件或文件夹
  • 参数2:要链接去的目的地

6.2、日期和时区 

        6.2.1、使用data命令查看时间日期

        date [-d] [+格式化字符串] ,选项可不填默认以系统当前时区显示时间

  • -d:按照给定的字符串显示日期,一般用于日期计算

格式化字符串:

  • %Y:年份
  • %y:年份(显示后两位)
  • %m:月份
  • %d:日
  • %H:小时
  • %M:分钟
  • %S:秒
  • %s:时间戳(1970-01-01-0:00:00到现在经过的秒数)

        选项-d用于日期计算,例如:计算7天后的时间

date -d "+7 day" "+%Y %m %d"

        6.2.2、修改Linux时区 

        修改时区需要使用root权限,执行如下命令

sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

        6.2.3、通过ntp程序校准Linux系统时间

        1、通过ntp程序自动校准时间(需要安装并自启动ntpd服务)

yum -y install ntp
systemctl start ntpd
systemctl enable ntpd

        2、通过阿里云手动校准时间

ntpdate -u ntp.aliyun.com

6.3、IP地址与主机名

        6.3.1、IP地址

  • IP地址一般有IPV4和IPV6两个版本
  • IPV4的地址格式为a.b.c.d,其中abcd均为0~255的数字
  • 可以通过ifconfig查看电脑的IP地址
  • 127.0.0.1,该IP一般用于指代本机
  • 0.0.0.0可以用于指代本机,可以在端口中用于确定绑定关系,在部分IP地址限制中,表示所有IP的意思

        6.3.2、主机名

  • 通过hostname命令查看当前主机名
  • 通过hostnamectl set-hostname 主机名,修改主机名(需要root权限)

        6.3.3、域名解析

  • 域名对应IP地址(映射关系)

  • 访问流程:

    • 先查看本机记录

    • 再联网在DNS服务器中查找 

  • 可在本机记录中自行配置域名与IP的映射 

        6.3.4、虚拟机配置固定IP 

1、在VMware中选中需要配置的虚拟机,进入虚拟网络编辑器

2、更改网络为VMnet8,并配置子网、子网掩码、网关

 

3、打开虚拟机进行网卡配置:进入终端用vim编辑器打开配置文件

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

4、将文件中BOOTPROTO=“dhcp”改为BOOTPROTO=“static”

5、在文件末尾添加以下内容:

ZONE=public                        #此行有则不添加
IPADDR="192.168.88.xxx"            #xxx为0~254之间的数,即配置完成后的IP地址
NETMASK="255.255.255.0"
GATWAY="192.168.88.2"
DNS1="192.168.88.2"

6.4、网络传输

        6.4.1、下载和网络请求

        ping [-c num] IP或主机名,用于检查网络服务器是否可联通选项“-c num”为检查的次数,如果不填,则默认无限次持续检查

        wget [-b] url,wget为非交互式的文件下载器,选项“-b”为后台下载,将日志写入到当前工作目录的wget-log文件中,URL为下载链接

        curl [-O] url,用于下载文件或获取信息,选项“-O”为下载,URL为要发起请求的网址

        6.4.2、端口

        端口是指计算机与外部交互的出入口,一般分为物理端口和虚拟端口,IP只能确定计算机,通过端口才能锁定需要交互的程序

  • 物理端口:HDMI、USB、VGA、DP等
  • 虚拟端口:操作系统和外部交互的出入口 

        端口的划分:

  • 公认端口:1~1023,一般用于系统内置或者知名的软件绑定使用
  • 注册端口:1024~49151,用于松散绑定使用,即用户可自定义
  • 动态端口:49151~65535,用于临时使用,用于多出口

        端口占用情况查看:

  • nmap IP,查看指定IP的对外暴露端口 
  • netstat -anp |grep 端口号,查看本机指定端口的占用情况

6.5、进程管理

         程序运行在操作系统中,被操作系统管理,为管理运行的程序,每个程序在运行时会被操作系统注册为系统中的一个进程,每个进程会被分配一个独有的进程ID(进程号)

        6.5.1、查看进程

        ps [-e -f],选项“-e”为显示全部进程,“-f”为以完全格式化的形式展示信息,一般固定用法为ps -ef,若查看指定进程,可以配合管道符使用ps -ef |grep 进程信息

  • UID:进程所属的用户ID
  • PID:进程的进程号ID
  • PPID:进程的父ID(启动次进程的其他进程的进程)
  • C:此进程的CPU占用率(百分比)
  • STIME:进程的启动时间
  • TTY:启动此进程的终端序号,“?”为非终端启动
  • CMD:进程对应的名称或启动路径或启动命令

        6.5.2、关闭进程

        kill [-9] 进程ID,选项“-9”表示强制关闭,不会向进程发送信号要求关闭 

6.6、主机状态监控

        6.6.1、产看系统资源占用

        可以通过top命令查看CPU、内存等的使用情况,类似于Windows的任务管理器,top命令默认每五秒刷新一次,top命令分为交互式与非交互式,交互式以-b选项启动,h键调出帮助页面

        内容解析:

  • top:命令名称
  • 20:35:37:当前系统时间
  • up 10:16:启动了10小时16分钟
  • 3users:3个用户登录
  • load average:0.00,0.01,0.05:在1、5、15分钟的负载为0.00、0.01、0.05 

 

  • Tasks:215 total:215个进程
  • 1running:1个进程正在运行
  • 214sleeping:214个进程睡眠
  • 0stopped:0个进程停止
  • 0zombie:0个僵尸进程

本行为CPU使用率(百分比):

  • 1.3us:用户CPU使用率为1.3%
  • 2.7sy:系统CPU使用率为2.7%
  • 0.0ni:高优先级进程占用CPU时间为0.0%
  • 95.8id:空闲CPU率为95.8%
  • 0.0wa:IO等待CPU占用率为0.0%
  • 0.0hi:CPU硬件中断率为0.0%
  • 0.2si:CPU软件中断率为0.2%
  • 0.0st:强制等待占用CPU率为0.0%

  • KiB Mem:物理内存
  • KiB Swap:虚拟内存
  • total:总量
  • free:空闲
  • used:使用
  • buff/cache:buff和cache占用 
  • avail Mem:剩余可用

 

  • PID:进程ID
  • RES:进程使用物理内存,单位KB
  • %CPU:进程占用CPU率
  • %MEM:进程占用内存率

-------------------------------------------------------------------------------------------------------------------------

  • USER:进程所属用户
  • PR:进程优先级,越小优先级越高
  • NI:负值表示高优先级,正值表示低优先级
  • VIRT:进程使用虚拟内存,单位KB
  • SHR:进程使用共享内存,单位KB
  • S:进程状态(S休眠、R运行、Z僵尸进程、N负数优先级、I空闲状态) 
  • COMMAND:进程的命令或名称或程序文件路径

        6.6.2、磁盘信息监控

  1. df [-h],查看磁盘使用情况,选项“-h”以更加人性化的单位显示信息
  2. iostat [-x] [num1] [num2],查看CPU、磁盘相关信息,选项“-x”为显示更多信息,num1为刷新间隔,num2为刷新次数

        6.6.3、网络状态监控

        sar -n DEV num1 num2,查看网络的相关统计,选项“-n”查看网络,DEV表示查看网络接口,num1为刷新间隔,num2为刷新次数(不填则为无限)

        信息解读:

  • IFACE:本地网卡接口的名称
  • rxpck/s:每秒钟接受的数据包
  • txpck/s:每秒钟发送的数据包
  • rxKB/S:每秒钟接受的数据包大小,单位KB
  • tpKB/S:每秒钟发送的数据包大小,单位KB
  • rxcmp/s:每秒钟接受的压缩数据包
  • txcmp/s:每秒钟发送的压缩包
  • rxmcst/s:每秒钟接收的多播数据包

注:sar命令非常复杂,此处仅做网络统计使用的介绍 

6.7、环境变量 

        环境变量是一种键值型结构,在操作系统运行时,记录一些关键信息,以辅助系统运行。在Linux中可以用env命令查看当前系统中记录的环境变量

        6.7.1、环境变量PATH

        PATH记录了系统执行任何命令的搜索路径,借助PATH,无论当前工作目录是什么,都可以执行命令

        6.7.2、自设环境变量

  • 临时设置:export 变量名=变量值
  • 永久生效
    • 针对当前用户生效,在当前用户的“~/.bashrc”中进行配置
    • 针对所有用户生效,在系统的“/etc/profile”中进行配置
    • 通过命令source 配置文件,使配置立即生效,或重启系统生效
  • 配置文件时在文件末尾添加export 变量名=变量值即可

        6.7.3、自定义环境变量PATH

        示例:

  • 在当前HOME目录内创建文件夹myenv在文件夹内创建文件xxx
  • 通过vim编辑xxx:echo 这是一个自定义PATH
  • 修改PATH的值:通过vim /etc/profile,在文件末尾添加export PATH=$PATH:/home/用户名/myenv
  • 通过source /etc/profile使变量生效

6.8、上传、下载、压缩与解压缩 

        6.8.1、虚拟机的上传和下载

  1. UI操作:从Windows系统直接拖动文件至FinalShell或从FinalShell中选中文件右键列表下载至Windows
  2. 命令操作: 使用yum -y install lrzsz安装服务
  • rz,直接选中上传
  • sz 文件路径,下载文件(文件自动下载到桌面的fsdownload中)

        6.8.2、使用tar命令压缩或解压tar和gzip

        在Linux中有三种常见压缩格式:tar、gzip、zip,其中tar只起到封装作用,并不能有效减少文件大小

        tar [-option] parameter1 [......] [parameter*n]

  • -c:创建压缩文件,用于压缩模式
  • -v:显示压缩、解压过程,用于查看进度
  • -x:解压模式
  • -f:要创建或要解压的文件,-f必须在所有选项中位于最后一个
  • -z:gzip模式,不选则为普通的tarball模式
  • -C:选择解压的目的地,用于解压模式

         tar的常用组合:

tar -cvf test.tar 1.txt 2.txt            #将1.txt和2.txt压缩到test.tar文件内
tar -zcvf test.tar.gz 1.txt 2.txt        #将1.txt和2.txt使用gzip模式压缩到test.tar.gz文件内
tar -xvf test.tar                        #将test.tar文件解压到当前目录
tar -xvf test.tar -C /home/xxx           #将test.tar文件解压到指定的/home/xxx目录内
tar -zxvf test.tar.gz -C /home/xxx       #将test.tar.gz文件解压到指定的/home/xxx目录内

注:-z选项一般位于选项第一个,-f位于最后一个,-C与其他选项分开,后接目录位置,选项-c与-x为压缩模式和解压模式,为冲突选项,不可同时使用

        6.8.3、使用zip命令压缩或解压zip

        zip [-r] parameter1 parameter2 ... parameter*n,将parameter2到parameter*n的文件压缩到parameter1内,选项-r为被压缩的文件包含文件夹时使用

zip test.zip 1.txt 2.txt                #将1.txt和2.txt压缩到test.zip文件内
zip -r test.zip test 1.txt              #将test文件夹和1.txt压缩到test.zip文件内

         unzip [-d] parameter,解压缩文件,选项-d为解压缩到指定目录内

unzip test.zip                    #将test.zip解压到当前目录
unzip test.zip -d /home/xxx       #将test.zip解压到指定的/home/xxx目录内

注:以上所有解压命令在指定目录时一定要确定目录是否冲突,若冲突则会发生覆写,容易产生误操作

  • 30
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值