自学内容网 自学内容网

Linux命令

1_目录结构

L i n u x Linux Linux系统中,也是存在目录的概念的,但是 L i n u x Linux Linux的目录结构和 W i n d o w s Windows Windows的目录结构是存在比较多的差异的 。

W i n d o w s Windows Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目录是归属于某一个盘符的。

L i n u x Linux Linux 系统中的目录有以下特点:

  • / 是所有目录的顶点

  • 目录结构像一颗倒挂的树

L i n u x Linux Linux W i n d o w s Windows Windows的目录结构对比:

在这里插入图片描述

L i n u x Linux Linux 的目录结构,如下:

在这里插入图片描述
根目录/ 下各个目录的作用及含义说明:

编号目录含义
1/bin存放二进制可执行文件
2/boot存放系统引导时使用的各种文件
3/dev存放设备文件
4/etc存放系统配置文件★
5/home存放系统用户的文件(普通用户的存储信息位置)★
6/lib存放程序运行所需的共享库和内核模块
7/opt额外安装的可选应用程序包所放置的位置
8/root超级用户目录
9/sbin存放二进制可执行文件,只有root用户才能访问
10/tmp存放临时文件
11/usr存放系统应用程序★
12/var存放运行时需要改变数据的文件,例如日志文件★

2_常用命令

进入单用户方法

1、启动 L i n u x Linux Linux时,通过按上下键(其他键也可以)让 L i n u x Linux Linux引导启动停留内核选择阶段。

2、输入e编辑上下切换。

命令格式

comment [-options] [parameter] 
  • comment 命令本身。
  • options 【可选非必填】控制命令的一些选项 行为细节
  • parameter 【可选非必填】多用于指向命令的目标

ls命令

功能:列出文件夹信息

语法:ls [-l -h -a] [参数]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
  • -l,以列表形式查看
  • -h,配合-l,以更加人性化的方式显示文件大小
  • -a,显示隐藏文件
ls

隐藏文件、文件夹

L i n u x Linux Linux中以.开头的,均是隐藏的。

默认不显示出来,需要-a选项才可查看到。

pwd命令

功能:展示当前工作目录

语法:pwd

pwd

cd命令

功能:切换工作目录

语法:cd [目标目录]

参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

cd .. #切换到上级目录

HOME目录

每一个用户在 L i n u x Linux Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名

  • root用户的HOME目录,在:/root

S h e l l Shell Shell登陆终端后,默认的工作目录就是用户的HOME目录

相对路径、绝对路径

  • 相对路径,/开头的称之为相对路径

    相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件

  • 绝对路径,/开头的称之为绝对路径

    绝对路径从开始描述路径

特殊路径符

  • .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
  • ..,表示上级目录,比如../表示上级目录,../../表示上级的上级目录
  • ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

mkdir命令

功能:创建文件夹

语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径
  • 选项:-p,可选,表示创建前置路径
mkdir -p /usr/xxxx/file

touch命令

功能:创建文件

语法:touch 参数

  • 参数:被创建的文件路径
touch newFile

cat命令

功能:查看文件内容

语法:cat 参数

  • 参数:被查看的文件路径
cat /etc/profile

more命令

功能:查看文件,可以支持翻页查看

语法:more 参数

  • 参数:被查看的文件路径
  • 在查看过程中:
    • 空格键翻页
    • q退出查看
more /etc/profile

cp命令

功能:复制文件、文件夹

语法:cp [-r] 参数1 参数2

  • 参数1,被复制的
  • 参数2,要复制去的地方
  • 选项:-r,可选,复制文件夹使用表示递归

示例:

# 复制当前目录下a.txt为b.txt
cp a.txt b.txt
# 复制当前目录a.txt到test文件夹内
cp a.txt test/
# 复制text1(参数为路径)成为text2(参数为路径)
cp -r test1 test2

mv命令

功能:移动文件、文件夹位置

语法:mv 参数1 参数2

  • 参数1:被移动的路径
  • 参数2:要移动去的地方,如果路径二名字不是原文件名称会强制改名
mv 1.txt 2.txt

rm命令

功能:删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用
  • 选项:-f (force),强制删除,不会给出确认提示,一般root用户会用到
  • rm命令支持通配符 *,用来做模糊匹配
rm -rf /*

rm命令很危险,一定要注意,特别是切换到root用户的时候。

rmdir命令

作用:删除空目录

语法:rmdir [-p] dirName

  • 参数-p: 当子目录被删除后使父目录为空目录的话,则一并删除反之,如果父目录不为空,则不删除。
# 删除名为pik的空目录
rmdir pik
# 删除pik目录中名为test的子目录,若test目录删除后pik目录变为空目录,则也被删除
rmdir -p pik/test

which命令

功能:查看命令的程序本体文件路径

语法:which 参数

  • 参数:被查看的命令
which find

find命令

功能:搜索文件

语法1按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径
  • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件
find / -name *.txt

whereis命令

查找文件所在位置:

whereis mysql 

grep命令

功能:通过关键字过滤文件行

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口
ps -ef | grep *

参数文件路径,可以作为管道符的输入

wc命令

功能:统计文件的行数单词数量等

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口
 wc -l /usr/bin/find

管道符|

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt的结果,作为grep命令的输入,用来过滤big关键字

cat a.txt | grep big

可以支持嵌套(从左到右依次计算):

cat test1.txt | grep l | wc -l

echo命令

功能:输出内容

语法:echo 参数

  • 参数:被输出的内容
  • 带有空格或特殊符号建议使用双引号包围,不包围容易被识别为参数2
echo "hello world"

`反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

会输出当前工作目录

echo `pwd`

tail命令

功能:查看文件尾部内容

语法:tail [-f -n <数字>] 参数

  • 参数:被查看的文件路径
  • -n 表示查看多少行默认不填为10行
  • 选项:-f,持续跟踪文件修改(常用于监测日志文件)
  • Ctrl + C 停止持续跟踪
tail -f -n 1 bin.log

head命令

功能:查看文件头部内容

语法:head [-n] 参数

  • 参数:被查看的文件
  • 选项:-n,查看的行数
head -n 10 1.txt

watch命令

功能:用于定期执行某个命令并实时显示其输出,常用于监控系统状态或查看命令结果的变化。

语法:watch [options] command

常用 options

  • -d:高亮显示变化的部分。
  • -n:指定更新时间间隔(以秒为单位)。
  • -t:去掉标题。
# 定期查看系统负载
watch -n 1 uptime
# 高亮显示磁盘使用情况的变化
watch -d df -h
# 仅显示命令输出,不显示标题
watch -t free -h

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出
echo "Hello, world">test.txt
echo "Hello, world">>test.txt

vi、vim 编辑器

vivim L i n u x Linux Linux中的文本编辑器,vimvi的加强版,不仅能编辑文本而且还具有 shell 程序编辑的功能,可以用不同颜色的字体来辨别语法的正确性,极大方便了程序设计和编辑性;

vim兼容了全部vi功能

vim  filename #如果不存在会创建文件
三种操作模式 说明三种操作模式 说明
命令模式可以移动光标、删除字符等操作,打开文件时即进入这个模式。
编辑模式在此模式下可以输入字符,进行编辑等操作。
底行模式可以输入命令对编辑的文件进行查找,保存,退出等操作。

三种模式的切换

在这里插入图片描述

命令模式快捷键

命令模式下所敲的按键编辑器都理解为命令,以命令驱动不同功能。

模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式I在当前行的开头,进入输入模式
命令模式 A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式esc任何情况下输入esc都能回到命令模式
命令模式键盘上、键盘k向上移动光标
命令模式键盘下、键盘j向下移动光标
命令模式键盘左、键盘h向左移动光标
命令模式键盘右、键盘l向后移动光标
命令模式e 移动光标到当前行的开头
命令模式$ 移动光标到当前行的结尾
命令模式pageup(PgUp) 向上翻页
命令模式pagedown(PgDn) 向下翻页
命令模式/ 进入搜索模式
命令模式n 向下继续搜索
命令模式N 向上继续搜索
命令模式dd删除光标所在行的内容
命令模式ndd n是数字,表示删除当前光标向下n行
命令模式yy复制当前行
命令模式nyyn是数字,复制当前行和下面的n行
命令模式p 粘贴复制的内容
命令模式u撤销修改
命令模式ctrl + r反向撤销修改
命令模式gg跳到首行
命令模式G跳到行尾
命令模式dG从当前行开始,向下全部删除
命令模式dgg从当前行开始,向上全部删除
命令模式 d$从当前光标开始,删除到本行的结尾
命令模式d0从当前光标开始,删除到本行的开头

编辑模式,插入模式。此模式下,可以对文件内容自由编辑。

底线命令快捷键

:开始,通常用于文件的保存退出

模式命令描述
底线命令模式:wq保存并退出
底线命令模式:q仅退出
底线命令模式:q!强制退出
底线命令模式:w仅保存
底线命令模式:set nu显示行号
底线命令模式:set paste设置粘贴模式

命令以回车结束运行

sed命令

通常情况下调用sed命令有两种格式,如下所示。

其中“参数”是指操作的目标文件,当存在多个操作对象时用,文件之间用逗号,分隔;

scriptfile表示脚本文件,需要用-f选项指定,表示通过指定的脚本文件来处理输入的目标文件。

  • sed [选项] '操作' 参数

  • sed [选项] -f scriptfile 参数

常见的sed命令选项包含以下几种:

-f-file:表示用指定的脚本文件来处理输入的文件文件

  • -h--help:显示帮助
  • -n-quitesilent:表示仅表示处理后的结果
  • -i:直接编辑文本文件

操作

“操作”用于只当对文件操作的动作行为,也就是sed的命令。

通常情况下是采用[n1[n2]]操作参数的格式。

n1、n2是可选的,代表选择进行操作的行数,如操作需要在5~20行之间进行,则表示为“5,20动作行为”。常见的操作包括以下几种。

  • a:增加,在当前行下面增加一行指定内容。

  • c:替换,讲选定行替换为指定内容。

  • d:删除,删除选定的行。

  • i:插入,在选定行上面插入一行指定内容。

  • p:打印,如果同时指定行,表示打印指定行;

    如果不指定行,则表示打印所有内容,如果又非打印字符,则以ASCLL码输出。

    通常与-n选项一起使用。

  • s:替换,替换指定字符

  • y:字符转换

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

命令的选项

我们学习的一系列 L i n u x Linux Linux 命令,它们所拥有的选项都是非常多的。

比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。

这么多的命令记忆起来极其不便,可以通过:命令 --help查看命令的帮助手册

在这里插入图片描述

查看命令的详细手册

可以通过:man 命令查看某命令的详细手册

在这里插入图片描述

man ls

3_Linux常用操作

软件安装

C e n t O S CentOS CentOS系统使用:

yum [install remove search upadte] [-y] 软件名称

  • install 安装
  • remove 卸载
  • search 搜索
  • list 搜索指定的安装包
  • update 更新
  • -y,自动确认,无需手动确认安装或卸载过程
yum -y install wget
yum install gcc-c++
yum update
yum clean all

RPM: 全称为 R e d − H a t P a c k a g e M a n a g e r Red-Hat Package Manager RedHatPackageManagerRPM软件包管理器,是红帽 L i n u x Linux Linux用于管理和安装软件的工具。

语法:rpm [options] [package-file]

选项:

  • -i 安装指定的 RPM 软件包
  • -U 升级已安装的包或安装新包
  • -e 卸载指定的软件包
  • -q 查询软件包信息
  • -qa 列出所有已安装的软件包
  • -qi 查看指定软件包的详细信息
  • -ql 列出指定软件包中包含的文件
  • -qf 检查文件属于哪个软件包
  • -V 验证已安装软件包的完整性
  • -h 显示安装进度的哈希标记
  • -v 显示详细信息
  • --force 强制安装或卸载软件包,即使有文件冲突
  • --nodeps 安装或卸载软件包时忽略依赖关系
# 安装软件包并显示进度
rpm -ivh package.rpm
# 升级软件包
rpm -Uvh package.rpm
# 卸载软件包
rpm -e package_name
# 查询所有已安装的软件包
rpm -qa | grep package_name
# 查看软件包信息
rpm -qi package_name

安装RPM包可以自动化安装配置 L i n u x Linux Linux软件,解决依赖问题;

U b u n t u Ubuntu Ubuntu系统使用

  • apt [install remove search] [-y] 软件名称
    • install 安装
    • remove 卸载
    • search 搜索
    • -y,自动确认
apt install           apt-get install           # 安装软件包
apt remove           apt-get remove           # 移除软件包
apt purge           apt-get purge           #移除软件包及配置文件
apt update           apt-get update           # 刷新存储库索引
apt upgrade           apt-get upgrade           # 升级所有可升级的软件包
apt autoremove apt-get autoremove# 自动删除不需要的包
apt full-upgrade apt-get dist-upgrade# 在升级软件包时自动处理依赖关系
apt search           apt-cache search         # 搜索应用程序
apt show           apt-cache show         #  显示装细节

yumapt 均需要 root 权限,都要联网。

systemctl

功能:控制系统服务的启动关闭等

语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start,启动
  • stop,停止
  • status,查看状态
  • disable,关闭开机自启
  • enable,开启开机自启
  • restart,重启
systemctl stop firewalld # firewalld 防火墙服务 sshd,ssh服务

软链接

功能:创建文件、文件夹软链接(快捷方式),将文件文件夹链接到其他位置。

类似 W i n d o w s Windows Windows 快捷方式。

语法:ln -s 参数1 参数2

  • -s选项:创建软链接,否则硬链接。
  • 参数1:被链接的文件夹或文件
  • 参数2:要链接去的地方(快捷方式的名称和存放位置)
ln -s java-8-xxxxxxx jdk8

日期

语法:date [-d] [+格式化字符串]

  • -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 到现在的秒数

示例:

按照2024-01-01的格式显示日期

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

按照202401-01 10:00:00的格式显示日期

date "+%Y-%m-%d %H:%M:%S"

-d选项日期计算

计算格式说明
date -d "+1 day" +%Y%m%d显示后一天的日期
date -d "-1 day" +%Y%m%d显示前一天的日期
date -d "-1 month" +%Y%m%d显示上一月的日期
date -d "+1 month" +%Y%m%d显示下一月的日期
date -d "-1 year" +%Y%m%d显示前一年的日期
date -d "+1 year" +%Y%m%d显示下一年的日期

其中支持的时间标记为:

  • year
  • month
  • day
  • hour 小时
  • minute 分钟
  • second

可以和格式化字符串一起使用。

时区

修改时区为中国时区,东八区时间:

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

将系统自带的localtime删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可。

ntp

功能:同步时间

安装:yum install -y ntp

启动管理:systemctl start | stop | restart | status | disable | enable ntpd

手动校准时间

ntpdate -u ntp.aliyun.com

ip地址

格式:a.b.c.d

  • abcd为0~255的数字

特殊IP:

  • 127.0.0.1,表示本机
  • 0.0.0.0
    • 可以表示本机
    • 也可以表示任意IP(看使用场景)

查看ip:

ifconfig
# lo本地回环网卡  virbr0 虚拟机网卡 enss33主网卡

如果无法使用 ifconfig,可以安装 yum -y install net-tools

主机名

功能: L i n u x Linux Linux系统的名称

查看:hostname

设置:hostnamectl set-hostname 主机名

主机名映射:

w i n d o w s windows windowsC:\Windows\System32\drivers\etc\hosts

l i n u x linux linux/etc/hosts

在这里插入图片描述

在这里插入图片描述

配置VMware固定IP

  1. 修改VMware网络

  2. 设置 L i n u x Linux Linux内部固定IP

    修改文件:/etc/sysconfig/network-scripts/ifcfg-ens33

    示例文件内容:

    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="static"# 改为static,固定IP
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"
    DEVICE="ens33"
    ONBOOT="yes"
    IPADDR="192.168.88.131"# IP地址,自己设置,要匹配网络范围
    NETMASK="255.255.255.0"# 子网掩码,固定写法255.255.255.0
    GATEWAY="192.168.88.2"# 网关,要和VMware中配置的一致
    DNS1="192.168.88.2"# DNS1服务器,和网关一致即可
    
  3. 重新启动

    systemctl restart network
    

为什么需要固定IP?

  • 当前我们虚拟机的 L i n u x Linux Linux操作系统,其IP地址是通过 D H C P DHCP DHCP服务获取的。
  • 动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更。
  • 办公电脑IP地址变化无所谓,但是我们要远程连接到 L i n u x Linux Linux系统,如果IP地址经常变化我们就要频繁修改适配很麻烦。

ps命令

功能:查看进程信息

语法:ps -ef,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

ps -ef | grep redis

kill命令

语法:kill [-9] pid

选项:

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

nmap命令

可以通过 L i n u x Linux Linux命令去查看端口的占用情况

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

语法:namp 被查看的IP地址

namp 127.0.0.1

netstat命令

功能:查看端口占用

用法:netstat -anp | grep xxx

netstat -anp | grep 80

ping命令

检查指定网络服务是否联通

语法:ping [-c num] 参数

选项:

  • -c,检查的次数,不使用-c选项将无限次数持续检查。
  • 参数:ip或主机名,被检查的服务器的IP地址或主机名地址
ping www.baidu.com

wget命令

非交互式文件下载器,可以在命令行内下载网络文件。

语法:wget [-b] url

  • 选项:-b 可选,后台下载,会写到当前工作目录的wget-log文件
  • 参数:url,下载链接

可以用 tail -f wget-log监控后台下载。

wget https://download.mengyun.link/cute/CuteCloudSetup1.3.8.exe

curl命令

可以发送http网络请求,可用于下载文件,获取信息(在命令行中会获取 HTML 源码)。

语法: curl [-O] url

  • 选项 -O用于下载文件,当url是下载链接时,可以用此选项保存文件。
  • 参数:url,要发起请求的网络地址
# 获取主机公网ip地址
curl cip.cc

top命令

功能:查看主机运行状态,查看cpu,内存使用情况类似于 W i n d o w s Windows Windows任务管理器

语法:top,查看基础信息

可用选项:

选项功能
-p只显示某个进程的信息
-d设置刷新时间,默认是5s
-c显示产生进程的完整命令,默认是进程名
-n指定刷新次数,比如top -n 3
刷新输出3次后退出
-b以非交互全屏模式运行,以批次的方式执行top,
一般配合-n指定输出几次统计信息,将输出重定向到指定文件,
比如 top -b -n 3 >/tmp/top.tmp
-1不显示任何闲置(idle)或无用(zombie)的进程
-u查找特定用户启动的进程

交互式模式中,可用快捷键:

按键功能
h按下h键,会显示帮助画面
c按下c键,会显示产生进程的完整命令,等同于-c参数,再次按下c键,变为默认显示
f按下f键,可以选择需要展示的项目
M按下M键,根据驻留内存大小(RES)排序
P按下P键,根据CPU使用百分比大小进行排序
T按下T键,根据时间/累计时间进行排序
E按下E键,切换顶部内存显示单位
e按下e键,切换进程内存显示单位
l按下l键,切换显示平均负载和启动时间信息。
i按下i键,不显示闲置或无用的进程,等同于-i参数,
再次按下,变为默认显示
t按下t键,切换显示CPU状态信息
m按下m键,切换显示内存信息
# 查看进程的线程执行情况
top -p pid -H

df命令

查看磁盘使用情况。

语法:df [-h]

选项:-h,以更加人性化的单位显示

df -h

iostat命令

查看 C P U CPU CPU、磁盘的相关信息

语法:iostat [-x] [num1] [num2]

  • 选项:-x,显示更多信息
  • num1:数字,刷新间隔,num2:数字刷新几次
iostat -x 3 2

sar命令

查看网络统计

语法:sar -n DEV num1 num2

选项:

  • -n,查看网路,DEV表示查看网络接口
  • num1刷新间隔(不填就查看一次)
  • num2 刷新几次(不填无限次数)。
sar -n DEV 3 2

环境变量

  • 临时设置:export 变量名=变量值
  • 永久设置:
    • 针对用户,设置用户HOME目录内:.bashrc文件
    • 针对全局,设置/etc/profile
export JAVA_HOME="7788"
echo ${JAVA_HOME}

全局设置

vim ./bashrc #当前用户
vim /etc/profile #所有用户
source /etc/profile # 立即生效

PATH变量

记录了执行程序的搜索路径

可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

export PATH=$PATH:/root/myenv

$符号

可以取出指定的环境变量的值

语法:$变量名

示例:

echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC

如果变量名和其它内容混淆在一起,可以使用${}

压缩解压

L i n u x Linux Linux中常见的格式为.tar.gz(减少体积)。

完整语法:tar [-c -v -x -f -z -C] 参数1 参数2.....n

  • -c 代表的是create,创建压缩文件用于压缩。
  • -v 代表的是verbose,显示进度。
  • -x 解压模式,x代表的是extract,实现从包文件中还原文件(拆包)。
  • -f 代表的是file,要创建的文件或是要解压的文件,所有选项中必须放最后一个。
  • -z表示使用gzip,可以不写,不使用就是普通的tarball模式 如果有一般第一个。
  • gzip可以对文件压缩或者解压
  • -C 选择要解压的目的地,用于解压模式,单独使用。

压缩

tar -zcvf 压缩包 被压缩1...被压缩2...被压缩N

tar -zcvf test.tar a.txt b.txt c.txt

zip [-r] 参数1 参数2 参数N

  • -r,被压缩的包含文件夹时,使用此选项 与rmcp等命令的 -r效果一致

示例:

# 将 a.txt b.txt c.txt 压缩到test.zip文件内
zip test.zip a.txt b.txt c.txt
# 将test、ceshi两个文件夹和a.txt压缩到test.zip文件内
zip -r test.zip test ceshi a.txt

解压

tar -zxvf 被解压的文件 -C 要解压去的地方

tar -zxvf test.tar -C /home/

unzip [-d] 参数

  • -d 指定解压文件去的位置
  • 参数,被解压的压缩包文件
# 将test.zip解压到当前目录
unzip test.zip
# 解压到指定文件夹内
unzip test.zip -d /home

su命令

切换用户,root转到普通用户不需要密码。

语法:su [-] [用户]

  • - 表示切换后加载环境变量,建议带上
  • 用户可以省略,省略默认切换到root
  • 临时切换到root用户,输入exit退出
su
exit

sudo命令

  • 可以让一条普通命令带有root权限,语法:sudo 其他命令
  • 需要以root用户执行visudo命令增加配置方可让普通用户有sudo命令的执行权限

比如:

shenyang ALL=(ALL)       NOPASSWD: ALL

visudo内配置如上内容,可以让shenyang 用户,无需密码直接使用sudo

sudo rm -rf /*

Linux权限

L i n u x Linux Linux中的权限分为三种 :读( r )、写(w)、执行(x)

L i n u x Linux Linux文件权限从左到右分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

只有文件的所有者和超级用户可以修改文件或目录的权限

要执行 S h e l l Shell Shell脚本需要有对此脚本文件的执行权限 (x),如果没有则不能执行

L i n u x Linux Linux系统中权限描述如下:

在这里插入图片描述
解析当前文件的权限情况:

在这里插入图片描述

chmod命令

修改文件、文件夹权限

语法:chmod [-R] 权限(u,g,o) 参数

  • 权限,要设置的权限,比如755,表示:rwxr-xr-x

    • 0:无任何权限,即---
    • 1:仅有x权限,即--X
    • 2:仅有w权限,即-w-
    • 3:有w和x权限,即-wx
    • 4:仅有r权限,即r--
    • 5:有r和x权限,即r-X
    • 6:有r和w权限,即rw-
    • 7:有全部权限,即rwx
  • 参数,被修改的文件、文件夹

  • 选项-R,设置文件夹和其内部全部内容一样生效

chmod   u=rwx,g=rx,o=x    hello.txt # o表示orther用户权限;

chown命令

修改文件、文件夹所属用户、组

语法:chown [-R] [用户][:][用户组] 文件或文件夹

选项:

  • -R,对文件夹内的全部内容应用同样的规则。
  • 用户 修改所属用户
  • 用户组 修改所属用户组
  • : 分隔用户和用户组。
# 将hello.txt所属用户修改为root
chown root hello.txt
# 将hello.txt所属用户组修改为group 
chown :group hello.txt
# 将hello.txt所属用户修改为root,用户组修改为group
chown root:group hello.txt
# 将文件夹test的所属用户修改为rooo=t并对文件夹内全部内容应用同样规则
chown -R root test

用户组管理

root 用户执行:

  • 创建用户组,语法:groupadd 用户组名

  • 删除用户组,语法:groupdel 用户组名

groupadd test
groupdel test

用户管理

  • 创建用户

    语法 : useradd [ -g 指定的用户组 -d 指定的路径 ] 用户名

    • -g指定用户的组,不指定-g,会自动创建同名的组并加入,如果已经存在同名的组必须加-g
    • -d指定用户HOME的路径,如果不指定,HOME默认在:/home/用户名
  • 删除用户

    语法:userdel [-r] 用户名

    • -r 表示删除用户的HOME路径,如果不使用-r则删除用户时HOME目录会留下来;
  • 查看用所属组

    语法: id [用户名] , 如不指定用户名则查看自身;

  • 修改用户所属组

    语法: usermod -aG 用户组 用户名,将指定用户加入指定用户组;

useradd duration
userdel -r duration

gentent命令

  • getent group,查看系统全部的用户组

    在这里插入图片描述

  • getent passwd,查看系统全部的用户

    在这里插入图片描述

getent group
getent passwd

env命令

查看系统全部的环境变量

语法:env

env

内核升级

内核升级主要是看网上教程基本都是如下操作流程:

# 导入elrepo gpg key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 安装elrepo YUM源仓库
yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

# 安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本
yum --enablerepo="elrepo-kernel" -y install kernel-ml.x86_64

# 设置grub2默认引导为0
grub2-set-default 0

# 重新生成grub2引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg

# 更新后,需要重启,使用升级的内核生效。
reboot

# 重启后,需要验证内核是否为更新对应的版本
uname -r

然后我自己尝试一直失败,查看可用的内核版本只有一个7.x,而我自己是要安装5.x的。

yum --disablerepo="*" --enablerepo="elrepo" list available

去查看官网:https://elrepo.org/wiki/doku.php,好像这种方式现在没有 C e n t O S 7 CentOS7 CentOS7的支持了。

直接wget下载了,别的也搞不明白,去官网挑选可用的版本安装即可:https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/

# 安装kernel-ml版本,ml为长期稳定版本,lt为长期维护版本
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-ml-5.18.10-1.el7.elrepo.x86_64.rpm
rpm -ih  kernel-ml-5.18.10-1.el7.elrepo.x86_64.rpm
# 设置grub2默认引导为0
grub2-set-default 0
# 重新生成grub2引导文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 更新后,需要重启,使用升级的内核生效。
reboot
# 重启后,需要验证内核是否为更新对应的版本
uname -r

windows通信Linux

相关命令

# 查看Linux的ip地址:
ifconfig
# centos7的命令
ip addr
# 查看ens33这个网卡的ip信息
ip addr show ens33

VM虚拟网卡介绍

W i n d o w s Windows Windows 主机与虚拟机 L i n u x Linux Linux 系统为什么可以直接连通?为什么?

因为 W i n d o w s Windows Windows 主机与虚拟机 L i n u x Linux Linux 系统使用同一个网卡 VMNet8,所以 W i n d o w s Windows Windows主机与 L i n u x Linux Linux系统是在同一个局域网内,所以可以直接通信。

只要成功安装了Vmware虚拟机就会默认生成的2个网卡(VMnet1VMnet8

命令连接模式功能说明
VMNet1网卡host-only仅主机模式介绍:即虚拟机只能与主机 w i n d o w s windows windows 内部通信,无法对外网进行访问
VMNet8网卡NAT网络模式介绍:提供了网络地址转换功能,可以使虚拟机使用真实机的物理网卡的ip与真实网络通信。即虚拟机中的 l i n u x linux linux系统可以共享 w i n d o w s windows windows主机的ip连接外网。使用这种网络模式下 w i n d o w s windows windows主机与 l i n u x linux linux系统组成小局域网,不仅可以互相通信,虚拟机也可访问外网。虚拟电脑中的 l i n u x linux linux使用的 ens33网卡就是使用这个VMNet8网卡。

原文地址:https://blog.csdn.net/m0_62943934/article/details/143416863

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!