Linux 操作系统速通

一、安装虚拟机

1. VmWare 安装下载

vmware workstation pro 16 下载

win + R 输入 ncpa.cpl 确保网卡正常

2. CentOS 系统下载

CentOS 系统下载

将 CentOS 系统安装到虚拟机

 

3. 查看虚拟机 IP

命令 ifconfig

4. finalShell 安装下载

finalShell 下载

输入用户名一般是 root,密码,虚拟机 ip 地址,端口不用变。

5. 虚拟机快照

保存稳定版的虚拟机状态,如果后续虚拟机宕机不可用了,可以回退状态。

在虚拟机关机状态下,保存快照,保存的速度快很多。

二、Linux 基础命令

Linux 中顶级目录只有一个 /,他表示根目录。所有的文件夹、文件都是在这个根目录下的。

Home 目录表示每个用户在 Linux 系统里属于自己的文件夹目录。路径在 /home/用户名

1. 命令基础格式

command [-options] [paramter]

command:命令本身

-options:可选,控制命令行为细节

paramter:可选,指向目标

示例:ls 是命令,-l 是选项,/home 是目标,表示以列表形式展示/home 下内容

ls -l /home

2. 特殊路径符

.:当前工作目录

..:上级工作目录

~:home 工作目录

cd ~/demo

3. 命令总结

3.1 ls

列出目录下的内容

ls [-a -l -h] [路径]

ls:以平铺的形式列出当前工作目录的内容

ls -a:列出全部文件,包括隐藏文件

ls -l:以列表新式展示更多信息

ls -h:易于阅读的形式,配合-a -l 使用

ls -alh /home

3.2 cd

切换工作目录,当没有路径参数时,表示回到用户的 home 目录

cd [路径]

cd /home

3.3 pwd

展示当前工作目录

pwd

3.4 mkdir

创建目录

mkdir [-p] [路径]

-p:自动创建不存在的父目录

mkdir -p /www/pages

3.5 touch

创建文件

touch 路径

touch /www/pages/index.html

3.6 cat

查看文件

cat 路径

cat index.html

3.7 more

查看文件,支持翻页

more 路径

more index.html

3.8 cp

复制文件、文件夹

cp [-r] 被复制路径 复制去路径

-r:用于复制文件夹时使用,表示递归

cp -r /www/pages /www/page

3.9 mv

移动文件、文件夹

mv 被移动文件或文件夹 移动去文件文件夹

mv /www/page /www/pages

3.10 rm

删除文件、文件夹。可以使用通配符 \*,删除匹配的文件。

rm [-r -f] 路径 路径 ... 路径

-r:删除文件夹

-f:强制删除

rm -rf /www/pages/page

3.11 which

查看命令存放在哪里

which 命令

which ls

3.12 find

搜索指定文件,可是使用通配符 \* 进行搜索

find 查找路径 -name 文件名

find /www -name pages

find 查找路径 -size +|-n[kMG]

+|-:大于小于

n:数字

kMG:kb、mb、gb 单位

find /www -size +10M

3.13 grep

从文件中通过关键字过滤文件行

grep [-n] 关键字 路径

-n:可选,表示在结果中显示行号

grep -n yqcoder demo.text

3.14 wc

统计文件行数、单词数

wc [-c -m -l -w] 路径

-c:统计 bytes 数

-m:统计字符数

-l:统计行数

-w:统计单词数

wc -cmlw demo.text

3.15 管道符

管道符:|

将管道左边命令结果作为右边命令输入

ls /usr/bin | wc -l

3.16 echo

在命令行中输出指定内容

echo 输出内容

echo "hi yqcoder"

3.17 tail

查看文件尾部内容,更新文件的最新更改

tail [-f -num] 路径

-f:持续跟踪

-num:查看尾部多少行,默认 10 行

tail -f demo.text

3.18 重定向符

> :将左侧命令的结果,覆盖写入右侧的指定文件中

> > :将左侧命令的结果,追加写入右侧的指定文件中

echo 'hi yqcoder' >> demo.text

3.19 反引号

反引号包裹的内容会当作命令指向

echo`pwd`

4. vim 文本编辑器

vim 文件路径

进入 vim 文本编译器,默认是命令模式,按 i 进入输入模式,按 esc 从输入命令模式,按 shift + : 进入底线命令模式

vim demo.text

4.1 命令模式

i:插入,进入输入模式

a:当前光标位置进入输入模式

I:当前行头进入输入模式

A:当前行尾进入输入模式

o:当前行的下一行进入输入模式

O:当前行的上一行进入输入模式

k:光标向上

j:光标向下

h:光标向左

l:光标向右

0:移动光标到行头

$:移动光标到行尾

PgUp:向上翻页

PgDn:向下翻页

/:进入搜索模式

n:向下继续搜索

N:向上继续搜索

dd:删除整行

ndd:n 表示数字,删除当前行下的多少行

yy:复制当前行

nyy:复制当前行下的多少行

p:粘贴

u:撤销

ctrl + r:反向撤销

gg:跳到行首

G:跳到行尾

dG:从当前行向下全删除

dgg:从当前行开始向上全删除

d$:从光标开始到当前行尾全删除

d0:从光标开始到当前行头全删除

4.2 输入模式

编辑文件内容

4.3 底线命令模式

wq:保存并退出

w:仅保存

q:仅退出

q!:强制退出

set nu:显示行号

set paste:设置粘贴模式

三、Linux 用户和权限

root 用户为最大权限用户,普通用户没权限的操作,它都有。

1. 切换用户

1.1 su

切换用户

su [-] [用户名]

-:可选,切换用户后加载环境变量

用户名:可选,切换用户,不填切换到 root

su - ycoder

1.2. exit

退回上一个用户,快捷键 ctrl + d

exit

1.3. sudo

为普通命令授权,临时以 root 身份执行,需要给普通用户配置 sudo 认证。

sudo 认证:切换到 root,运行 visudo。在最后添加 ycoder ALL=(ALL) NOPASSWD:ALL

sudo 命令

sudo mkdir /ycoder

1.4 查看用户列表

ls /home

2. 用户/用户组权限

需要 root 用户执行

2.1 groupadd

创建用户组

groupadd 用户组名

groupadd kf

2.2 groupdel

删除用户组

groupdel 用户组名

groupdel kf

2.3 useradd

创建用户

useradd [-g -d] 用户名

-g:指定用户组

-d:指定 home 路径

useradd yqcoder -g kf -d /home/yqcoder/user

2.4 userdel

删除用户

userdel [-r] 用户名

-r:删除用户的 home 目录

userdel -r yqcoder

2.5 id

查看用户所属组

id [用户名]

id yqcoder

2.6 usermod

修改用户所属组

usermod -aG 用户组 用户名

usermod -aG kf yqcoder

2.7 getent

查看所有组

getent group

查看所有用户

getent passwd

3. 权限控制信息

[-dl][r-][w-][x-][r-][w-][x-][r-][w-][x-]

[-dl]:- 表示文件,d 表示文件夹,l 表示软连接

第一个[r-][w-][x-]:所属用户权限,r 读权限,w 写权限,x 执行权限

第二个[r-][w-][x-]:所属用户组权限

第三个[r-][w-][x-]:其他用户权限

ls -l

4. 修改权限

4.1 chmod

修改文件权限

chmod [-R] 权限 文件或文件夹

-R:对文件夹内素有内容应用相同操作

chmod -R u=rwx,g=rwx,o=rwx demo.text

4.2 快捷方式

将 r 记为 4,w 记为 2,x 记为 1,- 记为 0。那么上面的命令等同于:

chmod -R 777 demo.text

4.3 chown

修改文件所属用户和用户组权限

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

-R:对文件夹内素有内容应用相同操作

chmod -R yqcoder:kf demo.text

四、Linux 实用操作

1. 快捷键

ctrl + c:强制停止

ctrl + d:退出登出

history:查看历史命令

!命令前缀:自动匹配上一个命令

ctrl + r:搜索历史命令

ctrl + a:光标移动到命令开始

ctrl + e:光标移动到命令结束

ctrl + 左:左跳单词

ctrl + 右:右跳单词

ctrl + l:清屏

clear:清屏

2. yum 软件安装

RPM 包软件管理器,用于安装 Linux 软件。需要使用 root 用户且联网操作。

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

-y:可选,无需手动确认安装或卸载

install:安装

remove:卸载

search:搜索

yum search wget

3. systemctl

控制软件的启动、关闭、开机自启,能被 systemtl 管理的软件称之为服务。比如:NetworkManager 主网络服务、network 副网络服务、firewalld 防火墙服务、sshd,ssh 服务

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

start:启动

stop:关闭

status:查看状态

enable:开启开机自启

disable:关闭开机自启

systemctl status firewalld

4. ln

创建软连接,将文件、文件夹连接到其他位置。类似于快捷键。

ln -s 被链接文件 连接目的地

-s:创建软连接

ln -s /etc/yum.conf ~/yum.conf

5. date

查看系统的时间

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

-d:按照给定的字符串显示日期,一般用于日期计算。year、Month、day、hour、minute、second

格式化字符串:%Y 年、%y 年份后两位、%M 月份、%d 日、%H 小时、%M 分钟、%S 秒、%s 时间戳

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

计算明天的日期

date -d "+1 day"

6. IP 地址、主机名

6.1 IP 地址

ifconfig

6.2 主机名

查看主机名

hostname

修改主机名

hostnamectl set-hostname 主机名

hostnamectl set-hostname centos

6.3 域名解析

域名解析流程:先看本机记录 window 在 C:\Windows\System32\drivers\etc\hosts 下、Linux 在/etc/hosts 下,如果没有,联网询问 DNS。

7. 网络传输

7.1 ping

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

ping [-c num] ip 或主机名

-c:检查次数

ping -c 4 baidu.com

7.2 wget

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

wget [-b] url

-b:后台下载,下载进度在 wget-log 文件

wget -b url

7.3 curl

发送 http 网络请求,用于下载文件,获取信息

curl [-O] url

-O:url 是下载连接时,保存文件

获取主机公网 IP

curl cip.cc

7.4 端口

公认端口:1-1023,用于系统内置或知名程序预留端口,如 22 SSH 服务,443 HTTPS 服务

注册端口:1024-49151,用于松散的绑定一些程序/服务

动态端口:49152-65535,临时使用

7.5 nmap

查看端口占用情况

安装

yum -y install nmap

使用

nmap 127.0.0.1

7.6 netstat

查看指定端口占用情况

安装

yum -y install net-tools

netstat -anp | grep 端口号

netstat -anp | grep 22

7.7 新增开放端口

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanentsudo firewall-cmd --reload

7.8 查看开放端口

sudo firewall-cmd --zone=public --list-ports

8. 进程管理

8.1 ps

查看进程

进程信息表示:UD 所属用户 ID,PID 进程 ID,PPID 进程父 ID,C CUP 占用率,STIME 启动时间,TTY 终端序号,TIME 占用 CPU 时间,CMD 启动路径

ps [-e -f]

-e:显示全部进程

-f:展示更多信息

ps -ef

8.2 kill

关闭进程

kill [-9] 进程 ID

-9:强制关闭

kill -9 123

9. 主机状态

9.1 top

查看 CPU、内存占用

top

9.2 df

查看硬盘使用情况

df [-h]

-h:单位显示

df -h

9.3 iostat

查看 CUP、磁盘相关信息

iostat [-x] [num1] [num2]

-x:显示更多信息

num1:数字,刷新间隔

num2:数字,刷新几次

iostat -x 1 3

9.4 sar

查看网络相关统计

sar -n DEV num1 num2

-n:查看网络

DEV:查看网络接口

num1:刷新间隔

num2:时间次数

sar -n DEV 1 3

10. 环境变量

10.1 env

查看环境变量

env

10.2 $

获取环境变量值

echo $PATH

10.3 export

临时设置环境变量

export 变量名=变量值

export name=yqcoder

10.4 永久生效环境变量

针对用户:修改 ~/.bashrc

针对全部用户:/etc/profile

export PATH=$PATH:自定义路径

export PATH=$PATH:/root/myenv

11. 上传、下载

安装 lrzsz

yum -y install lrzsz

11.1 rz

上传

rz

11.2 sz

下载

sz 文件名

sz /www/dist

12. 压缩、解压

12.1 tar

归档文件,将多个文件组装到一个.tar 文件中,文件大小没多少变化。

tar [-c -v -x -f -z -C] 包名 路径...路径

-c:压缩

-v:查看进度

-x:解压

-f:放在最后,要压缩的文件后解压的文件

-z:gzip 格式

-C:解压目的地

将 1.txt 2.txt 压缩成 a.tar

tar -cvf a.tar 1.txt 2.txt

将 1.txt 2.txt 压缩成 a.tar.gz

tar -zcvf a.tar.gz 1.txt 2.txt

解压 a.tar 到 txt 文件夹

tar -xvf a.tar -C txt

解压 a.tar.gz 到 txt 文件夹

tar -zxvf a.tar.gz -C txt

12.2 zip

zip 压缩包

zip [-r] 路径...路径

-r:压缩文件夹是需使用

将 dist 压缩成 dist.zip

zip -r dist.zip dist

12.3 unzip

解压

unzip 压缩包 [-d] 路径

unzip dist.zip -d admin

五、安装部署软件

切换到 root 用户

1. MySQL8.0

1.1 查看是否安装 mysql

rpm -qa | grep -i mysql

1.2 查看 mysql 运行状态

service mysql status

1.3 查看 mysql 对应文件夹

find / -name mysql

1.4 删除安装包

rpm -ev mysql80-community-release-el7-7.noarch

1.5 删除系统中关联文件夹

rm -rf mysql关联文件

1.6 下载 mysql 安装包

wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm

1.7 安装 mysql 安装包

yum install mysql80-community-release-el8-3.noarch.rpm

1.8 查看 mysql 安装

yum repolist all | grep mysql

1.9 安装 mysql 服务器

yum install mysql-community-server

1.10 安装服务报错执行

当执行安装 mysql 服务器报错时执行,然后再执行安装 mysql 服务器命令。

yum module disable mysql

1.11 启动 mysql 服务

systemctl start mysqld

1.12 检查 mysql 服务状态

systemctl status mysqld

1.13 mysql 开机自启

systemctl enable mysqldsystemctl daemon-reload

1.14 获取登录密码

grep 'temporary password' /var/log/mysqld.log

1.15 本地登录 mysql

mysql -uroot -p

1.16 修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd123';

1.17 设置用户密码策略的安全强度

set global validate_password.policy=LOW;

1.18 设置密码长度不少于 4

set global validate_password.length=4;

1.19 查看密码策略

SHOW VARIABLES LIKE 'validate_password%';

1.20 刷新密码生效

flush privileges;

1.21 查看数据库用户

select user,host from user;

1.21 更改远程连接权限

update user set host='192.168.181.128' where user='root';update user set host='%' where user='root';

1.22 授权 root 远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;

2. Nginx

2.1 安装 EPEL 存储库

yum install epel-release

2.2 安装 Nginx

yum install nginx

2.3 启动 Nginx 服务

systemctl start nginx

2.4 设置 Nginx 服务开机自启

systemctl enable nginx

2.5 查看 Nginx 配置

cat /etc/nginx/nginx.conf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/393150.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Html实现全国省市区三级联动

目录 前言 1.全国省市区的Json数据 2.找到Json数据文件(在此博文绑定资源)之后,放到resource目录下。 3.通过类加载器加载资源文件,读取Json文件 3.1 创建JsonLoader类 3.2 注入JsonLoader实体,解析Json文件 4.构建前端Html页面 5.通过…

如何在国外市场推广中国游戏

在国外市场推广中国游戏需要一种考虑文化差异、市场偏好和有效营销渠道的战略方法。以下是成功向国际观众介绍和推广中国游戏的关键步骤和策略: 进行市场调研 了解目标市场:首先确定哪些外国市场对你的游戏最具潜力。考虑类似游戏类型的受欢迎程度、玩…

通过数组中元素或者key将数组拆分归类成新的二维数组

处理前的数组: 处理后的数组: 你希望根据 riqi 字段将这个数组拆分成多个二维数组,每个二维数组包含相同日期的项。在ThinkPHP中,你可以使用PHP的数组操作来实现这一拆分操作。以下是如何按照 riqi 字段拆分成新的二维数组的示例代码: $splitArrays = [];foreach ($list…

YOLOv6训练自己的数据集

文章目录 前言一、YOLOv6简介二、环境搭建三、构建数据集四、修改配置文件①数据集文件配置②权重下载③模型文件配置 五、模型训练和测试模型训练模型测试 总结 前言 提示:本文是YOLOv6训练自己数据集的记录教程,需要大家在本地已配置好CUDA,cuDNN等环…

opencascade TopoDS、TopoDS_Vertex、TopoDS_Edge、TopoDS_Wire、源码学习

前言 opencascade TopoDS转TopoDS_Vertex opencascade TopoDS转TopoDS_Edge opencascade TopoDS转TopoDS_Wire opencascade TopoDS转TopoDS_Face opencascade TopoDS转TopoDS_Shell opencascade TopoDS转TopoDS_Solid opencascade TopoDS转TopoDS_Compound 提供方法将 TopoDS_…

Spring快速学习

目录 IOC控制反转 引言 IOC案例 Bean的作用范围 Bean的实例化 bean生命周期 DI 依赖注入 setter注入 构造器注入 自动装配 自动装配的方式 注意事项; 集合注入 核心容器 容器的创建方式 Bean的三种获取方式 Bean和依赖注入相关总结 IOC/DI注解开发 注解开发…

抽象代数精解【8】

文章目录 希尔密码矩阵矩阵基本概念行列式基本概念特殊矩阵关于乘法运算构成群 加解密原理密钥加密函数解密函数 Z 26 上的运算( Z 256 与此类似) Z_{26}上的运算(Z_{256}与此类似) Z26​上的运算(Z256​与此类似&…

sql注入知识整理

sql注入知识整理 一、SQL注入概念 SQL注入就是用户输入的一些语句没有被过滤,输入后诸如这得到了数据库的信息SQL 注入是一种攻击方式,在这种攻击方式中,在字符串中插入恶意代码,然后将该字符串传递到 SQL Server 数据库引擎的实…

递归.python

目录 一、认识递归 二、阶乘问题 三、经典例题:汉诺塔问题 一、认识递归 递归:即方法(函数)自己调用自己的一种特殊编程写法。 函数调用自己,即称之为递归调用。 def func(): If ....: func() return ..... 递归…

ESP8266使用舵机以及16路PWM舵机PCA 9685的使用方式

PWM全称 50Hz也就是一秒内变换50次 根据上面的公式 一个高电平一个低电平叫一个脉冲。 例如每个脉冲占20毫秒,那么他的频率是多少? 就是用1去除以他的周期,也就是我们上面说的20,那么就是除0.02,1秒等于1000毫秒,20…

PostgreSQL11 | 触发器

本文章代码已在pgsql11.22版本上运行且通过,展示页由pgAdmin8.4版本提供 上一篇总结了原著的第十章有关pgsql的视图的用法,本篇将总结pgsql的触发器的用法。 触发器 使用触发器可以自动化完成一些在插入数据或修改数据时,某些需要同期同步的…

bat批处理文件 —— 用于自动化环境配置和项目执行

文章目录 一、什么是 bat ?1.1、支持 bat 的编辑软件1.2、常用命令 三、项目实战3.1、入门案例3.2、(自动化)环境配置与python库安装3.3、将 bat 当成一个简易的 .exe 可执行文件 四、标识符详解4.1、rem:添加注释4.2、echo off&a…

8.15 C++作业

输入一组字符&#xff0c;实现各字符的归类统计 #include <iostream> #include <string.h>using namespace std;namespace xiaoli {string str;int len; } using namespace xiaoli;int main() {getline(cin,str);//识别空格len str.size();int a0,b0,c0,d0,e0;fo…

【多线程-从零开始-肆】线程安全、加锁和死锁

进程状态 进程状态&#xff1a; 就绪&#xff1a;正在 CPU 上执行&#xff0c;或者随时可以去 CPU 上执行阻塞&#xff1a;暂时不能参与 CPU 的执行 Java 的线程&#xff0c;对应状态做了更详细的区分&#xff0c;不仅仅是就绪和阻塞了 六种状态&#xff1a; NEW 当前 Thread…

【PXE+kickstart】linux网络服务之自动装机

PXE&#xff1a; 简介&#xff1a;PXE(Preboot execute environment 是一种能够让计算机通过网络启动的引导方式&#xff0c;只要网卡支持PXE协议即可使用Kickstart 是一种无人值守的安装方式&#xff0c;工作原理就是预先把原本需要运维人员手工填写的参数保存成一个 ks.cfg 文…

基于强化学习算法玩CartPole游戏

什么事CartPole游戏 CartPole&#xff08;也称为倒立摆问题&#xff09;是一个经典的控制理论和强化学习的基础问题&#xff0c;通常用于测试和验证控制算法的性能。具体来说&#xff0c;它是一个简单的物理模拟问题&#xff0c;其目标是通过在一个平衡杆&#xff08;倒立摆&a…

PCIe学习笔记(15)

设备就绪状态 (Device Readiness Status&#xff0c;DRS)消息 &#xff08;Device Readiness Status (DRS) 是PCIe规范中引入的一种机制&#xff0c;旨在改进设备初始化和就绪状态的检测与报告。 在以往的PCIe版本中&#xff0c;系统通常依赖于固定的超时机制来判断设备是否已…

【ML】transform 之 encode 及其实现细节

transform 之 encode 及其实现细节 1. transform (seq2seq) 是什么2. transform (seq2seq) 具体如何实现3. transform (seq2seq) 可以解决哪些类型的问题4. 补充问题4.1 残差连接&#xff08;Residual Connection&#xff09;是什么如何实现4.1.2 残差连接的具体实现&#xff1…

2024年武汉东湖高新区职称第二批次开始了

众所周知&#xff0c;武汉市东湖高新区职称一年两批次&#xff0c;今年下半年第二批水平能力测试报名也已经开始了&#xff0c;请注意报名时间&#xff0c;别错过&#xff01;&#xff01; 2024年武汉东湖高新区第二批次水测报名时间&#xff1a;&#xff08;一&#xff09;网上…

第十一章 数据仓库和商务智能 10分

11.1.0语境关系图 11.1 Q 建立数据仓库&#xff0c;有哪些步骤&#xff1f;如何建设&#xff1f;【6 个步骤非常重要&#xff01;必须知道】 1. 理解需求&#xff08;P&#xff09;&#xff08;目的明确&#xff0c;ETL&#xff09; (1) 考虑业务目标和业务战略。 (2) 确定业…