linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】

本文涉及的产品
云防火墙,500元 1000GB
简介: 这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。

引言

平时用不到,用到就懵逼忘了,于是这篇博文就诞生啦
常用网站

  1. https://www.quanxiaoha.com/linux-command/linux-port-occupancy.html
  • 有兴趣可以添加我,一起探讨技术。
    • 加V:Fengfl1222,名称:聚星汇智
    • 要资料,申请备注为:CSDN+地方+资料,如CSDN山东资料
    • 想接项目一起努力进步,申请备注为:CSDN+地方+项目,如CSDN+山东+项目,添加成功之后,可以发一份简历。
    • 项目组缺人,想要兼职的人,火速加我进群。
    • 本人介绍:211高校(北京交通大学)计算机研究生,本科双非计算机毕业后,校招进入军工,工作2个月离职后进入阿里,工作两年后离职考研,现已毕业,入职济南某大厂。团队主要技术栈:RAG、LLM、JAVA、PYTHON、GO、VUE、REACT等web开发需求。已有开发团队,如果有空闲时间想一个接项目者,可以加我呦。
    • 不按上诉规则添加好友者,不予通过。

一、 vim 文本命令

1. 编辑

  1. vim filename:打开文件
  2. 输入 i 即可编辑,
  3. set number:临时设置行号。

2. 查找

不需要输入 i 进入编辑模式,直接输入 / 或者 ?即可

  1. /word:从上往下 检索 word 关键词 ,n 是查询下一个,N上一个。
  2. ?word:从下往上 检索 word 关键词,n 是查询下一个,N上一个
  3. /word\ no:关键词中有空格,需要转义,如查询:word no,则使用转义符 \即可。

一、项目常用

1. 查看服务进程是否存在

ps -ef | grep redis

2. 查看端口是否在使用/被占用

netstat -tuln | grep 端口号

一、开关机篇

重启命令:

reboot                    // 普通重启
shutdown -r now           // 立刻重启(root用户使用)
shutdown -r 10            // 过10分钟自动重启(root用户使用)
shutdown -r 20:35         // 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

关机命令:

halt               // 立刻关机
poweroff           // 立刻关机
shutdown -h now    // 立刻关机
shutdown -h 10     // 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

二、目录管理篇

pwd                   # 查看你当前所在的目录
cd  ~/                # 切换目录,这里切换到用户家目录下
ls                    # 查看显示目录的内容
    -a                # 显示所有内容,包括隐藏文件
ll                    # 详细显示目录的内容
    -a                # 显示所有内容,包括隐藏文件
du                    # 统计目录和文件空间的占用情况
mkdir newDirName      # 创建新目录
rmdir newDirName      # 删除空目录
touch newFileName     # 创建文件
rm    filename        # 删除文件
    -i                   # 删除前逐一询问确认。
    -f                   # 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    -r                   # 将目录及以下之档案亦逐一删除。递归删除
ln                    # 创建硬链接
ln -s                 # 创建软链接(符号链接)
cp                    # 复制文件或目录
mv                    # 移动文件或目录
which                 # 查看linux命令所在的目录

ll 命令
在这里插入图片描述
第一个栏位 ,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。
这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。
第一个字母表示文件类型,

  1. ”-”,普通文件.
  2. ”d”目录,字母”d”,是dirtectory(目录)的缩写.
  3. “l”符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息.
  4. “b”块设备文件。
  5. “c”字符设备文件。

紧接着的3*3个字符分3组,各指示此文件的读、写、执行权限,对于owner、group、others而言
第二个栏位,表示文件个数
第三个栏位,表示该文件或目录的拥有者。
第四个栏位,表示所属的组(group)。
第五栏位,表示文件大小。
第六个栏位,表示最后一次修改时间。
第七个栏位,表示文件名。

关于软连接、硬链接的详细介绍https://www.linuxprobe.com/soft-and-hard-links.html

三、打包压缩篇

1. tar 命令

普通的解压与压缩

tar -zcvf fengfanli.tar.gz fengfanli   # 压缩文件,将fengfanli 压缩成fengfanli.tar.gz 文件
tar -zxvf fengfanli.tar.gz             # 解压文件,

分割大小

# 压缩后的文件太大,需要将 fengfanli.tar.gz 分割成N个指定大小的文件
split -b 4000M -d -a 1 fengfanli.tar.gz fengfanli.tar.gz.
# -b 4000M 表示 设置每个分割包的大小,单位还是可以K
# -d 参数指定生成的分割包后缀为数字的形式
# -a x 来设定序列的长度(默认是2),这里设定序列的长度为1 

# 压缩和分割可以合二为一命令
tar -zcvf fengfanli.tar.gz fengfanli | split -b 4000M -d -a 1 fengfanli.tar.gz.

# 分割后的压缩包解压命令
cat fengfanli.tar.gz.* | tar -zxv

参数详解

# 参数详解:
# -c或--create 建立新的备份文件。
# -f<备份文件>或--file=<备份文件> 指定备份文件。
# -v或--verbose 显示指令执行过程。
# -w或--interactive 遭遇问题时先询问用户。
# -z或--gzip或--ungzip 通过gzip指令处理备份文件。

2. zip 命令

zip fengfanli.zip fengfanli  # 压缩文件

unzip fengfanli.zip             # 解压文件

三、内核和设备信息篇

1. 系统基本数据

uname -a         // 打印所有可用的系统信息 (**`包含下面的 4条命令的所有信息`**)
uname -r         // 内核版本
uname -n         // 系统主机名。
uname -m         // 查看系统内核架构(64位/32位)
hostname         // 系统主机名

在这里插入图片描述

cat /proc/version         // 内核信息
cat /proc/cpuinfo         // CPU信息
cat /etc/*-release        // 分发信息
cat /etc/issue            // 分发信息

2. 查看磁盘

Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

df                         # 打印的内容不容易观察
df -h                     #  查看磁盘使用情况,-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
df -i                     # -i选项的df命令的输出显示inode信息而非块使用量

在这里插入图片描述

Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。
du 会显示指定的目录或文件所占用的磁盘空间。

du                         # 打印本目录下所有的文件的大小,不可取,除非内容很少,可以
du     dirname/            # 打印指定目录的大小
du -h dirname/             # 打印指定目录的大小, -h :方便阅读的格式显示test目录所占空间情况:
du -sh                    # -s或--summarize 仅显示总计。
du -sh ./*|grep G         # 查看当前目录下个文件大于1G的文件夹

3. 查看CPU

killcpu.sh                                 #  编写一个脚本耗尽CPU
top                                     #  查看cpu 内存等使用情况
sar -u 1 5                                 #  每1秒采集一次CPU使用率,共采集5次
cat /proc/cpuinfo                         #  查看CPU基本信息
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l     #  查看CPU个数

4. 查看内存

kill_memory.sh             #  编写一个脚本消耗内存
free -m                 #  查询内存详情
cat /proc/meminfo         #  查看内存详细信息
vmstat -s                 #  显示内存使用详细信息
vmstat

5. 查看负载

# 那么什么是系统平均负载呢?
uptime                     #  查询系统当前负载信息
cat /proc/loadavg         #  查看负载信息

6. 进程基础命令

Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

ps -ef | grep python             #  查看python相关进程
ps -aux | grep python           #  查看python相关进程
top                              #  显示当前正在运行的进程
pgrep -ln sshd                     #  通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行
pstree -apnh|grep sshd             #  显示进程间的关系
pidof sshd                         #  显示sshd进程的所有进程号
kill 和 pkill                     #  杀死进程
netstat -anptu|grep 22             #  查看22端口运行的服务

ps 参数
-A :所有的进程均显示出来,与 -e 具有同样的效用;
-a : 显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
-x :通常与 a 这个参数一起使用,可列出较完整信息。
-e :显示环境变量
-f :显示程序间的关系

四、防火墙篇

CentOS 7.0默认使用的是 firewalld 作为防火墙

systemctl status firewalld                             // 查看防火墙状态(以下两个都是)
systemctl status firewalld.service 
firewall-cmd --state  
systemctl stop firewalld                            // 停止 firewall
systemctl start firewalld                            // 开启 firewall
systemctl restart firewalld                            // 重启 firewall
systemctl enable firewalld                          // 开启 firewalld 开机自启动
systemctl disable firewalld                         // 禁止 firewalld 开机自启动
systemctl list-unit-files|grep firewalld.service    //查看 防火墙服务 自否是自启动
systemctl list-unit-files|grep [服务进程的名字]       //查询其他的自启动服务

ubuntu16.04 默认使用的是 ufw 作为防火墙

systemctl status ufw                              // 查看防火墙状态(下一个都是)
systemctl status ufw.service 
systemctl stop ufw                                 // 停止 ufw
systemctl start ufw                                 // 开启 ufw
systemctl retart ufw                             // 重启 ufw
systemctl enable ufw                             // 开启 ufw 开机自启动
systemctl disable ufw                            // 禁止 ufw 开机自启动

systemctl list-unit-files | grep ufw.service     // 查看 防火墙服务 自否是自启动
systemctl list-unit-files | grep [服务进程的名字]  // 查询其他的自启动服务

一般用户,只需如下设置:

sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny

以上三条命令已经足够安全了,如果你需要开放某些服务,再使用sudo ufw allow开启。

sudo ufw status                                    // 查看端口开启状态
sudo ufw enable                                    // 开启 ufw 开机自启动
sudo ufw disable                                // 禁止 ufw 开机自启动
sudo ufw reload                                    // 重启 ufw
sudo ufw default deny                             // 默认关闭外部访问
sudo ufw default allow|deny                        // 设置默认策略

sudo ufw allow 22                                 // 开启端口 22
sudo ufw delete allow 22                        // 删除端口 22

sudo ufw allow from 192.168.1.1                    // 允许特定来源的ip地址访问所有端口
sudo ufw allow smtp                             // 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw deny smtp                                 // 禁止外部访问smtp服务

ufw --version                                 //查看版本

五、账号与权限篇

linux的权限系统主要是由用户、用户组和权限组成。
用户就是一个个的登录并使用linux的用户。linux内部用UID表示。
用户组就是用户的分组。linux内部用GID表示。
权限分为读、写、执行三种权限。

1. 账号切换

  1. 用户切换
    su
    在这里插入图片描述
    需要输入root密码。输入时候屏幕不会显示,直接输入完了,回车即可
    回车后,即切换到root用户下

  2. 想要从root用户切换到普通用户,只需要输入
    su 用户名
    回车 即可切换到普通用户!!

2. 用户、组信息

cat /etc/passwd       # 存放的是用户信息.由六个分号组成的7个信息
                      # 1.用户名   2.密码(x表示的加密密码) 3.UID(用户标识) 4.GID(组标识) 
                      # 5.用户全名或本地账号,备注 6.家目录 7.登录使用的Shell,就是登录之后使用的终端命令.Ubuntu默认是dash
                      # 其中UID为0则是用户root,1~499为系统用户,500以上为普通用户

whoami                   # 查看当前登录用户的账户名
who                    # 查看当前所有登录的用户列表 

cat /etc/group        # 存放的是组信息.由3个分号组成的4个信息,group_name:passwd:GID:user_list
                      # 用户组名称:用户组密码:GID:用户列表,每个用户之间用逗号分割,本字段可以为空,如果字段为空表示用户组为GID的用户名;
# /etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同
# 的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户
# 把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的

/etc/passwd
在这里插入图片描述
/etc/group
在这里插入图片描述

2. 用户权限

基本上都在root用户下执行,或者使用sudo 管理员运行。

'''1.用户管理'''
useradd fengfanli       # 创建账户 冯凡利
                        # -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
                          # -d<登入目录>  指定用户登入时的起始目录。
                          # -g<群组>  指定用户所属的群组。
                          # -G<群组>  指定用户所属的附加群组。
                          # -m  自动建立用户的登入目录。
                          # -M  不要自动建立用户的登入目录。
                         # -n  取消建立以用户名称为名的群组.
                        # -r  建立系统帐号。
                        # -s<shell>   指定用户登入后所使用的shell。
                        # -u<uid>  指定用户ID。
# 添加一般用户
useradd -m -c  冯凡利 fengfanli
passwd fengfanli       # 给用户设置密码
userdel -r fengfanli   # 删除冯凡利用户及他的宿主目录

'''2.组管理'''
groupadd group_name                            # 创建一个新用户组 
groupdel group_name                            # 删除一个用户组 
groupmod -n new_group_name old_group_name      # 重命名一个用户组
                                               # -n <新群组名称>  设置欲使用的群组名称。

'''3.用户组管理'''
gpasswd -a fengfanli root                      # 将冯凡利用户加入root组
groups zhangsan                                # 确认fengfanli用户在root组
gpasswd -d fengfanli root                           # 将李fengfanli户从root组中删除
                                               # -a:添加用户到组;
                                               # -d:从组删除用户;
                                               # -A:指定管理员;
                                               # -M:指定组成员和-A的用途差不多;
                                               # -r:删除密码;
                                               # -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

'''4.权限管理'''
chown -R zhangsan /aaa                         # 将文件夹/aaa的多有者修改为 fengfanli
chown root:root /aaa                           # 将/aaa文件夹的属主和属组都改成root
chmod 777 /aaa                                 # 给文件夹文件/aaa设置权限为777

六、TCP/IP篇

1. netstat 命令

a. netstat 介绍

netstat 是控制台命令,是一个监控 TCP/IP 网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

b. 输出信息描述

执行netstat后输出如下:

[root@sy-suz-srv51 ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 k8sdev.sui:sun-sr-https k8sdev.suiyi.com.:34880 SYN_RECV
tcp        0      0 k8sdev.suiyi.com.c:2379 10.1.62.21:47910        ESTABLISHED
tcp        0      0 k8sdev.suiyi.com.c:2379 k8sdev.suiyi.com.:37790 ESTABLISHED
tcp        0      0 sy-suz-srv:pcsync-https 10.1.62.162:49200       ESTABLISHED
tcp        0      0 k8sdev.suiyi.com.:52866 k8sdev.sui:sun-sr-https ESTABLISHED
tcp        0      0 k8sdev.suiyi.com.:37728 k8sdev.suiyi.com.c:2379 ESTABLISHED
tcp        0      0 k8sdev.sui:sun-sr-https k8sdev.suiyi.com.:52852 ESTABLISHED
tcp        0      0 k8sdev.sui:sun-sr-https 10.1.62.162:32841       ESTABLISHED
tcp        0      0 sy-suz-srv:pcsync-https sy-suz-srv51:60094      ESTABLISHED
tcp        0      0 localhost:webcache      localhost:40136         ESTABLISHED
tcp        0      0 k8sdev.suiyi.com.:35466 10.1.62.21:sun-sr-https ESTABLISHED
tcp        0      0 k8sdev.suiyi.com.:34358 10.1.62.21:sun-sr-https ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  3      [ ]         DGRAM                    18442    /run/systemd/notify
unix  2      [ ]         DGRAM                    18444    /run/systemd/cgroups-agent
unix  2      [ ]         DGRAM                    23822    /var/run/chrony/chronyd.sock
unix  8      [ ]         DGRAM                    18455    /run/systemd/journal/socket
unix  18     [ ]         DGRAM                    18457    /dev/log
unix  2      [ ]         DGRAM                    14151    /var/run/nscd/socket
unix  2      [ ]         DGRAM                    584      /run/systemd/shutdownd
unix  3      [ ]         STREAM     CONNECTED     124439388 /run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     42312    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     39909
unix  3      [ ]         STREAM     CONNECTED     21675
unix  3      [ ]         STREAM     CONNECTED     47538
unix  3      [ ]         STREAM     CONNECTED     124585242 /var/run/docker/containerd/docker-containerd.sock
unix  3      [ ]         STREAM     CONNECTED     21658
unix  2      [ ]         STREAM     CONNECTED     30160
unix  3      [ ]         STREAM     CONNECTED     33750    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     124614293 @/containerd-shim/moby/c44e49ee0f86d8a4109afb176701795c64f44655abb1861275bbd3b2a9f76394/shim.sock
unix  3      [ ]         STREAM     CONNECTED     124609611 @/containerd-shim/moby/a736ba153c07f0bbf099ae1a1069530e35bfa28ae93f8f235d6c35a6c5ed9ce7/shim.sock
unix  3      [ ]         STREAM     CONNECTED     124601653 @/containerd-shim/moby/20d3fd59d03455d45b1da2636fca25d0edd79dac1947c17045a797eb8506157c/shim.sock

netstat的输出结果可以分为两个部分

1、Active Internet connections 有源TCP连接,其中"Recv-Q"和"Send-Q"指接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

2、Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

列名解释:
Proto:显示连接使用的协议。
RefCnt:表示连接到本套接口上的进程号。
Types:显示套接口的类型。
State:显示套接口当前的状态。
Path:表示连接到套接口的其它进程使用的路径名。

c. netstat常见参数

  1. -a (all)显示所有选项,默认不显示LISTEN相关。
  2. -t (tcp) 仅显示tcp相关选项。
  3. -u (udp) 仅显示udp相关选项。
  4. -n 拒绝显示别名,能显示数字的全部转化成数字。
  5. -l 仅列出有在 Listen (监听) 的服务状态。
  6. -p 显示建立相关链接的程序名
  7. -r 显示路由信息,路由表
  8. -e 显示扩展信息,例如uid等
  9. -s 按各个协议进行统计
  10. -c 每隔一个固定时间,执行该netstat命令。

LISTEN和LISTENING的状态只有用-a或者-l才能看到。

d. netstat网络状态详解

一个正常的TCP连接,都会有三个阶段:1、TCP三次握手;2、数据传送;3、TCP四次挥手

e. 常用netstat相关命令

netstat -a     # 列出所有端口
netstat -at    # 列出所有 tcp 端口
netstat -au    # 列出所有 udp 端口
netstat -l     # 只显示监听端口 
netstat -lt    # 只列出所有监听 tcp 端口 
netstat -lu    # 只列出所有监听 udp 端口
netstat -lx    # 列出所有监听 UNIX 端口
netstat -s     # 显示所有端口的统计信息
netstat -st 或 -su # 显示 TCP 或 UDP 端口的统计信息 #
netstat -p     # 输出中显示 PID 和进程名称 

# 常用 命令
netstat  -ap | grep ':80' # 找出程序运行的端口
netstat -ntulp |grep 80   # 查看所有80端口使用情况·
netstat -ntlp             # 查看当前所有tcp端口使用情况

在这里插入图片描述
这里解释一下:
1、0.0.0.0代表本机上可用的任意地址。 比如0.0.0.0:44789 表示本机上所有地址的44789端口,这样多ip计算机就不用重复显示了。
2、TCP 0.0.0.0:80表示在所有的可用接口上监听TCP80端口
3、0.0.0.0为默认路由,即要到达不再路由表里面的网段的包都走0.0.0.0这条规则

然后127.0.0.1就是表示你本机ip地址的意思了。

然后[::]:21这又是什么鬼?这个表示ipv6的21号端口的意思。

还有UDP的外部链接怎么都是*:*呢? *:*是网址的通配符,就是192.168.15.12,这个类型的整体描述。

2. tcpdump 命令

Linux中 tcpdump 命令用于倾倒网络传输数据。
执行tcpdump指令可列出经过指定网络界面的数据包文件头,也就是通常所说的抓包

tcpdump有两个作用:
(1)捕获网络协议包
(2)分析网络协议包
win系统上抓包工具是 Wireshark

-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络界面> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。

a 常用命令

七、yum学习和使用

1 yum 简介

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的 Shell前端软件包管理器 。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum [options] [command] [package …]

自动搜索最快镜像插件: yum install yum-fastestmirror
安装yum图形窗口插件: yum install yumex
查看可能批量安装的列表: yum grouplist

2 基本命令

  1. 安装
    yum install 全部安装
    yum install package1 安装指定的安装包package1
    yum groupinsall group1 安装程序组group1

  2. 更新和升级
    yum update 全部更新
    yum update package1 更新指定程序包package1
    yum check-update 检查可更新的程序
    yum upgrade package1 升级指定程序包package1
    yum groupupdate group1 升级程序组group1

  3. 查找和显示
    yum info package1 显示安装包信息package1
    yum list 显示所有已经安装和可以安装的程序包
    yum list package1 显示指定程序包安装情况package1
    yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

  4. 删除程序
    yum remove | erase package1 删除程序包package1
    yum groupremove group1 删除程序组group1
    yum deplist package1 查看程序package1依赖情况

3 yum 安装 gnome

  1. 第一步:列出可安装的桌面环境
    yum grouplist
  2. 第二步:安装GNOME及相应桌面管理工具
    yum group info "Graphical Administration Tools" # 查看安装的包有哪些内容
    yum -y groups install "GNOME DESKTOP" "Graphical Administration Tools"
  3. 第三步:设置开机启动为GNOME
    systemctl set-default graphical.target
  4. 第四步:重启
    reboot

4 yum 安装 Chrome

  1. 修改yum源
    在/etc/yum.repos.d/目录下新建文件google-chrome.repo,向其中添加如下内容:
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
  1. 安装
    yum install google-chrome-stable
    注:Google官方源在国内可能无法正常访问,导致安装失败或安装后无法正常更新,可以尝试添加–nogpgcheck参数再安装。
    yum install google-chrome-stable --nogpgcheck

  2. 运行
    找到chrome路径,并做个软连接,方便使用:
    which google-chrome-stable
    ln -s xxx /bin/chrome
    使用root用户启动chrome示例时会提示添加参数 –no-sandbox flag
    在这里插入图片描述

八、VMware虚拟机下Centos7 桥接方式网络配置完整步骤

1. 打开虚拟机的设置页面,设置虚拟机桥接模式如图:选择桥接模式(复制物理网络连接可

在这里插入图片描述

2. 桥接模式配置VMware虚拟机网络

  1. 查看宿主机网络信息:
    ipconfig /all
    在这里插入图片描述
  2. 配置CentOS7 ,将主机中对应的信息填入下面对应的位置,静态ip,子网掩码, 默认网关, DNS
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    说明: ifcfg-eno16777736文件每个人可能不同
TYPE=Ethernet
BOOTPROTO=static #修改成static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=bf5337ab-c044-4af7-9143-12da0d493b89
DEVICE=eno16777736
ONBOOT=yes #修改成yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.1.103 # 自定义虚拟机的ip地址(主机是192.168.1.104),必须与主机在同一网段
NETMASK=255.255.255.0 #设置子网掩码,跟宿主一样
GETWAY=192.168.1.1  #默认网关,跟宿主一样
DNS1=114.114.114.114 #DNS,跟宿主一样
ip地址:设置和宿主机同网段ip
NETMASK:子网掩码和宿主机相同
GATEWAY: 默认网关和宿主机相同
DNS1: 跟宿主一样
  1. 添加网关地址
    vi /etc/sysconfig/network
    内容如下:
NETWORKING=yes
HOSTNAME=xxxx #名字随便了
GATEWAY=192.168.1.1 #默认网关和宿主机相同
  1. 添加DNS
    vi /etc/resolv.conf
    内容如下:
# Generated by NetworkManager
nameserver 114.114.114.114 #DNS,跟宿主一样
  1. 重启network
    service network restart

3. 测试

  1. 内网访问自身静态ip
    在这里插入图片描述
  2. 访问公网
    在这里插入图片描述
  3. 宿主机访问虚拟机
    在这里插入图片描述
  4. 虚拟机访问宿主机
    在这里插入图片描述

如果还无法ping通上网可能需要选择以下网卡:

VMware菜单栏->编辑->虚拟网络编辑器
在这里插入图片描述
做一下切换,保存试试

相关文章
|
16天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
106 6
|
17天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
58 3
|
17天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
49 2
|
12天前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
54 7
|
11天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
46 3
|
17天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
54 3
|
20天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
55 6
|
17天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
31 1
|
19天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
20天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。