0基础跟德姆(dom)一起学AI 数据处理和统计分析02-Linux进阶

* vi编辑器
* 权限相关
* 进程,网络相关
* 压缩和解压缩
* 软件安装-yum方式
* 其它命令

---

1.过滤和管道命令

```shell
# grep命令, 用来过滤的
# 格式
grep [-n] 关键字 文件路径     # 从文件中过滤出要查找的内容, -n:表示带行号.

# | 管道符, 即: 把前边命令的执行结果, 当做后边命令的数据源来处理.  类似于电子厂"流水线"

```

2.输出, 重定向, 反引号

```shell
# echo        类似于Python的print(), 就是把结果打印到:终端上的.
echo 'hello world'

# 反引号      可以把Linux命令(字符串形式)当做Linux命令来处理. 
echo pwd    # 输出的内容是: pwd
echo `pwd`    # 输出的内容是: pwd命令的执行结果, 例如: /root

# tail        查看文件末尾内容的, 一般用于查看: 日志信息
# 格式
tail [-f -num] 文件名    # -num: 表示查看文件末尾几行数据, 默认是: 10行
                      # -f:   表示动态持续追踪.

tail -100f log.txt      # 动态查看log.txt文件末尾的100行数据

                      
# head        查看文件头几行内容的.
[root@node1 ~]# head 2.txt 
总用量 24
lrwxrwxrwx.   1 root root    7 4月  12 10:56 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 4月  12 11:01 boot
drwxr-xr-x.  20 root root 3240 4月  13 08:43 dev
drwxr-xr-x.  85 root root 8192 4月  13 08:43 etc
drwxr-xr-x.   2 root root    6 4月  11 2018 home
lrwxrwxrwx.   1 root root    7 4月  12 10:56 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 4月  12 10:56 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
[root@node1 ~]# head -3 2.txt     # 查看前3行
总用量 24
lrwxrwxrwx.   1 root root    7 4月  12 10:56 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 4月  12 11:01 boot


# 重定向,  > 表示覆盖,  >> 表示追加
[root@node1 ~]# echo 'itheima is a brand of itcast.' >> 1.txt   # 追加
[root@node1 ~]# echo 'itcast stock code is 003032.' > 1.txt        # 覆盖

```

3.vi编辑器介绍

* 概述

  它指的是 Virtual Interface, 是Linux自带的经典的文本编辑器, 类似于 微软自带的记事本.

  我们一般用vim, 它是vi的升级版, 关键字会高亮显示, 更适合编辑. 用法都是一样的.

* vim编辑器入门

  ```shell
  # 1. 开始编辑文件.   vi  或者 vim均可
  vim 1.txt           # 文件存在就编辑, 不存在就创建.
  
  # 2. 按下字母i, 进入到 编辑模式.   insert: 插入
  i
  之后就可以愉快的编辑内容了.
  
  # 3. 编辑之后, 按下 Esc键, 取消编辑模式, 回退到 命令模式.
  
  # 4. 输入 :wq 进入到 底线模式(底行模式), 保存退出即可. 
  
  # 5. 此时就可以通过 cat命令查看文件内容了.
  ```

* vi编辑器常用的命令, 如下图

* 扩展: Notepad++直连Linux系统, 修改文件内容

  1. 确保你的 Notepad++(高级记事本软件) 版本是: 7.8.4,  可能其它版本也行, 但是我没测试.

  2. 安装 nppftp 插件.

  3. 具体的连接动作

4.如何查看Linux的帮助文档

```shell
# --help   可以查看命令的详细信息
命令名 --help

# 例如:   ls --help

# man       可以查看命令的主要(简单)信息
man 命令名

# 例如
man ls
```

5.权限入门(了解)

```shell
# 1. 创建用户
useradd 用户名

# 2. 给用户设置密码
passwd 用户名

# 3. 查看本机所有用户
getent passwd        # get environment

# 格式为: 用户名:描述信息(无):组id:用户id::组所在的家目录:Shell解析器.
zhangsan:x:1000:1000::/home/zhangsan:/bin/bash


# 4. 切换用户
su 用户名        # root -> 其它, 无需密码.  其它情况, 需要密码.

# 5. 临时借调权限(赋权)
sudo Linux命令    # 有效期一般为: 5 ~ 30分钟

# 6. 赋权需要通过root账号, 来设置 /etc/sudoers 文件
vim /etc/sudoers        # 在文件的第 100 行左右设置.

# 7. 登出账号
exit 或者 ctrl + D
```

6.用户和用户组相关命令

```shell
# 1. 创建用户
useradd [-g 组名] 用户名  # 创建新用户, 添加到指定的组. 
                        # 如果没有指定组, 则会创建1个和该用户一模一样的组, 然后把该用户添加进去. 
                        
# 2. 查看所有的用户组
getent group

# 3. 查看用户信息
id 用户名

# 结果如下  uid=用户id gid=组id 组=用户所在的组
uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan)


# 4. 创建用户组.
groupadd 组名

# 5. 修改(添加)用户, 到: 不同的组
usermod -aG 组名 用户名        # append group, 添加到组

# 6. 删除组
groupdel 组名            # 必须是空组, 组内不能有用户.

# 7. 删除用户
userdel [-r] 用户名    # delete: 删除,  删除用户, -r会同步删除 /home/该用户名 这个文件夹.
```

7.权限介绍图解

* 修改权限

  ```shell
  # 格式
  chmod [-R] 数字 文件或者目录路径        # -R表示递归, 针对于目录有效.
  
  # 例如
  chmod 777 1.txt
  chmod -R 777 aa
  ```

* 修改属主, 属组

  ```shell
  # 格式
  chown [-R] [用户名][:][用户组] 文件或者目录路径    # -R表示递归.
  
  chown zhangsan 1.txt
  ```

8.Linux常用快捷键

```shell
ctrl + c    # 取消执行
ctrl + d    # 强制登出
ctrl + l    # 字母L, 清屏, 等价于 clear
ctrl + a    # 光标移动到行首
ctrl + e    # 光标移动到行尾
ctrl + ←    # 光标向前移动1个单词
ctrl + →    # 光标向后移动1个单词
ctrl + r    # 检索
history        # 查看历史命令
!命令前缀     # 根据前缀匹配最近的哪个命令.

```
9.Linux的软件安装

* 方式1: yum方式

  ```shell
  # 全称叫: Yellow Dog Updater, Modified, 黄狗更新程序.
  它是RPM方式的升级版, 即: 会联网自动检索要安装的 工具, 并会自动解决依赖.
  
  # 格式
  yum [-y] install | remove | search 要安装的工具名
  
  # 解释
  -y        需要输入yes or no的时候, 全部输入yes
  install    安装
  remove    卸载
  search    查找, 如果不存在就会自动安装.
  
  # 例如:
  yum -y install wget
  yum -y install lrzsz        # 负责上传 和 下载的.
  
  # wget命令, 可以根据http地址, 下载其对应资源.
  wget http连接
  wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.10.159.tar.gz
  ```

* 方式2: RPM方式

  ```shell
  它是IBM公司的RedHat提供的一种包管理器, 全称叫: RedHat Package Management(小红帽包管理器).
  会根据下载链接, 去联网下载资源.
  
  # 弊端
  不能自动解决依赖关系, 需要手动解决依赖.
  
  # 例如: 安装MySQL
  ```

* 方式3: 手动下载安装包, 上传, 解压, 配置即可.

  ```shell
  # 比较灵活, 可以自己通过windows系统下载安装包, 然后上传到Linux系统中.
  # 解压, 修改配置文件即可. 
  
  # 例如
  安装JDK...
  ```

9.服务管理命令

```shell
# systemctl        它可以控制某些软件, 服务的状态, 开启, 关闭...
# 语法
systemctl start | restart | stop | disable | enable | status 服务名

# 常见的服务名
sshd        远程连接协议, FinalShell就是通过它连接的虚拟机.
firewalld    防火墙服务
network        副网络服务
NetworkManager    主网络服务, 如果某天, 你的IP突然变成 127.0.0.1 就是它的问题.

# 遇到的问题, 啥也没做, ip突然改成了 127.0.0.1, 怎么办? 
systemctl stop NetworkManager        # 关闭主网络服务
systemctl disable NetworkManager    # 禁用主网络服务开启自启
systemctl restart network            # 重启副网络服务
ifconfig                            # 查看IP即可.
```

10.软连接和硬链接

* 软件连

  ```shell
  # 类似于windows的快捷方式
  # 格式
  ln -s 要被连接的地址 软连接方式
  
  # 例如:
  ln -s 1.txt 2.txt    # 2.txt就是1.txt的软连接.
  
  [root@node1 ~]# ln -s 1.txt  2.txt
  [root@node1 ~]# ll
  总用量 23176
  -rw-r--r--. 1 root root       12 4月  13 16:00 1.txt
  lrwxrwxrwx. 1 root root        5 4月  13 16:01 2.txt -> 1.txt
  -r--------. 1 root root    68746 3月  15 2020 a.jpg
  lrwxrwxrwx. 1 root root       42 4月  13 15:58 ip -> /etc/sysconfig/network-scripts/ifcfg-ens33
  -rw-r--r--. 1 root root 23658093 4月  13 15:18 linux-5.10.159.tar.gz
  [root@node1 ~]# 
  [root@node1 ~]# cat 1.txt 
  hello world
  [root@node1 ~]# echo 112233 >> 2.txt
  [root@node1 ~]# 
  [root@node1 ~]# cat 1.txt 
  hello world
  112233
  ```

* 硬链接

  ```shell
  # 作用
  相当于 动态 备份文件中的内容, 提高容错率.
  
  # 格式
  ln  要被连接的地址 硬连接方式        # 不写 -s就是硬链接, 写了就是软连接.
  
  # 例如:
  ln 1.txt 2.txt    # 2.txt 是 1.txt的硬链接, 无论改哪个文件, 两个文件都会同步一起修改.
  ```

11.IP相关

```shell
# 查看本机ip
ifconfig

# 如何修改ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33

# 查看主机名, 即: 机器的名字
hostname

# 修改主机名.
# 方式1: hostnamectl
hostnamectl set-hostname 新的主机名        # 即刻生效.

# 方式2: 修改配置文件
vim /etc/hostname        # 重启有效.

# 配置域名映射, 目的是: 把 域名 当做 IP来用.
# windows的配置路径.  C:\Windows\System32\drivers\etc\hosts


# Linux配置路径.    vim /etc/hosts


# 两个好玩儿的命令.
reboot                # 重启
shutdown -h now        # 关机
```

12.进程相关

```shell
# 进程介绍
程序在系统中的表现形式, 即: 每个进程都是一个应用程序,可以理解为是: *.exe

# 查看本机所有进程
ps -ef

# 查看本机和某些服务相关的进程
ps -ef | grep sshd
ps -ef | grep mysqld

# 强制杀死某些进程
kill -9 进程的pid编
```

13.环境变量

```shell
# 查看Linux的环境变量
env        # 来源于: environment, 环境.

# 设置变量
变量名=变量值        # 等号两端没有空格.

# 如何使用变量值
${变量名}        # 如果是单独用的, 大括号可以省略不写.

# 如何配置环境变量.
vim /etc/profile
export 变量名=变量值      # 按i进入编辑模式开始修改, 最后 :wq保存退出

source /etc/profile      # 刷新配置文件.
```

14.上传和下载

```shell
# 1. 安装 lrzsz包.
yum -y install lrzsz        # rz: 上传.   sz: 下载.

# 2. 上传.        
# 方式1: 在终端命令行处, 写: rz, 然后敲回车.         注意: 中文可能会乱码.
  选中要上传的文件, 上传即可.
  
# 方式2; 拖拽上传.   推荐.


# 3. 下载.
# 方式1: sz命令方式.                注意: 中文可能会乱码.

# 方式2: 选中文件, 右键下载. 
```

15.压缩和解压缩

```shell
# 了解, 区分压缩协议的好坏, 可以参考3个维度:
1. 压缩比(即: 压缩后文件大小)
2. 压缩速度.    # 写
3. 解压速度.    # 读


# tarball方式, 压缩 和 解压缩    
# 细节, 如果加-z了, 则后缀名一般写, *.tar.gz   不加-z, 后缀名一般写 *.tar
# 压缩
tar -zcvf 压缩包名 要被压缩的文件...

# 解压
tar -zxvf 压缩包名 -C 解压后的路径

# 参数解释:
-z 使用gzip协议, 可以不写, 使用默认压缩方式. 
-x 解压
-c 压缩
-v verbose, 显示详细(过程)
-f file, 压缩文件

# zip方式, 压缩 和 解压缩.
# 压缩
zip [-r] 压缩包名.zip 要被压缩的文件或者目录    # -r: 递归

# 解压缩
unzip 压缩包名 -d 解压到的路径
```

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

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

相关文章

QT程序的安装包制作教程

在Windows平台上开发完qt c桌面应用程序以后,需要制作一个安装包,方便生产和刻盘交货,本文记录相关流程。 目录 一、安装Qt Installer Framework 二、准备可执行程序 2.1 生成Release程序 2.2 完成依赖库拷贝 三、创建安装包程序 一、…

C到C++入门基础知识

一:命名空间:namespace (一):命名空间的定义 注:命名空间只能定义在全局,不能定义在函数内部。 (1)类似于C语言的结构体,C语言的命名空间定义为&#xff1…

在 Mac 上安装虚拟机怎么样,安装虚拟机与直接安装 Windows 系统有区别吗?

随着跨系统操作的不断发展,虚拟机技术在生产力领域扮演着越来越重要的角色。Mac作为一款主流的操作系统,也有着运行虚拟机的能力。接下来给大家介绍Mac装虚拟机好不好,Mac装虚拟机和装Windows系统一样吗的具体内容。 Mac装虚拟机好不好 Mac…

大屏地图区域显示、复选框多选打点,自定义窗体信息(vue3+TS)

效果图: NPM 安装 Loader: npm i amap/amap-jsapi-loader --save 并设置 key 和安全密钥: import AMapLoader from amap/amap-jsapi-loader;//引入高德地图window._AMapSecurityConfig {securityJsCode: "「你申请的安全密钥」"…

基于YOLO深度学习和百度AI接口的手势识别与控制项目

基于YOLO深度学习和百度AI接口的手势识别与控制项目 项目描述 本项目旨在开发一个手势识别与控制系统,该系统能够通过摄像头捕捉用户的手势,并通过YOLO深度学习模型或调用百度AI接口进行手势识别。识别到的手势可以用来控制计算机界面的操作&#xff0…

单机docker-compose部署minio

单机多副本docker-compose部署minio 简单介绍 如果服务器有限可以单机挂载多硬盘实现多副本容错(生产不推荐) 部署好的文件状态 有两个重要文件 docker-compose.yaml和nginx.conf docker-compose.yaml是docker部署容器的配置信息包括4个minio和1个ng…

[数据集][目标检测]男女性别检测数据集VOC+YOLO格式9769张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):9769 标注数量(xml文件个数):9769 标注数量(txt文件个数):9769 标注…

Miracast/WifiDisplay开发相关的深入调研分析-android投屏实战开发

Miracast/WifiDisplay概念介绍 Miracast Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连(Wi-Fi Direct)为基础的无线显示标准。支持此标准的消费性电子产品(又称3C设备)可透过无线方式分享视频画面,例如…

CSS学习17--CSS3 过渡、2D变形、3D变形、动画

CSS3 过渡、2D变形、3D变形、动画 一、过渡二、2D变形 transform1.移动 translate2.缩放 scale3. 旋转 rotate4. 倾斜 skew 三、3D变形1. rotateX()rotateY() rotateZ()2. 体会透视 perspective3. translat…

虚拟现实智能家居实训系统实训解决方案

随着科技的飞速发展,智能家居已成为现代生活的重要组成部分,它不仅极大地提升了居住的便捷性与舒适度,还推动了物联网、大数据、人工智能等前沿技术的融合应用。为了满足市场对智能家居专业人才日益增长的需求,虚拟现实智能家居实…

搭建 WordPress 及常见问题与解决办法

浪浪云活动链接 :https://langlangy.cn/?i8afa52 文章目录 环境准备安装 LAMP 堆栈 (Linux, Apache, MySQL, PHP)配置 MySQL 数据库 安装 WordPress配置 WordPress常见问题及解决办法数据库连接错误白屏问题插件或主题冲突内存限制错误 本文旨在介绍如何在服务器上…

Linux下vscode配置C++和python编译调试环境

Visual Studio Code (简称 VSCode) 是由微软开发的一款免费、开源、跨平台的代码编辑器。它支持 Windows、macOS 和 Linux 操作系统,并且内置对多种编程语言的支持,包括但不限于 C/C、Python、JavaScript、TypeScript、Java 和 Go 等。VSCode 主要用于编…

HarmonyOS ArkUI 构建布局

文章目录 一、构建布局1.线性布局 (Row/Column)1.1 Blank空白填充组件1.2 layoutWeight 自适应缩放1.3 自适应延伸 2.弹性布局 (Flex)3.栅格布局 (GridRow/GridCol)3.创建列表 (List) 一、构建布局 1.线性布局 (Row/Column) 线性布局文档 通过线性容器Row和Column构建 Column…

SpringBoot项目获取统一前缀配置以及获取非确定名称配置

SpringBoot项目获取统一前缀配置以及获取非确定名称配置 在SpringBoot项目中,我们经常看到统一前缀的配置,我们该怎么统一获取 my.config.a.namexiaoming my.config.a.age18 my.config.a.addressguangdong my.config.b.namexiaomli my.config.b.age20 my…

《深度学习》OpenCV 高阶 图像金字塔 用法解析及案例实现

目录 一、图像金字塔 1、什么是图像金字塔 2、图像金字塔作用 1)金字塔尺度间的图像信息补充 2)目标检测与识别 3)图像融合与拼接 4)图像增强与去噪 5)图像压缩与编码 二、用法解析 1、向下采样 1)概念…

使用SQL语句查询MySQL数据表

6.1 创建单表基本查询 1&#xff0e;Select 语句的语法格式及其功能 &#xff08;1&#xff09;Select 语句的一般格式。 Select < 字段名称或表达式列表 > From < 数据表名称或视图名称 > [ Where < 条件表达式 > ] [ Group By < 分组的字段名称…

xss-labs-master通关教程

一.level1 先来进行一下代码审计 <?php ini_set("display_errors", 0);//关闭错误显示 $str $_GET["name"]; //接受URL来的get形式的name传参 echo "<h2 aligncenter>欢迎用户".$str."</h2>";//在网页输出&#x…

STM32 之 SDRAM 详解

目录 前言 一、SDRAM 简介 二、SDRAM的组成原理 2.1存储单元阵列 2.1.1地址译码 2.1.2存储电容 2.2控制逻辑 2.2.1时钟同步 2.2.2命令解码 2.2.3模式寄存器 2.3数据输入 / 输出缓冲 2.3.1数据总线 2.3.2数据锁存 2.4刷新电路 2.4.1自动刷新 2.4.2自刷新 三、S…

SaaS化多租户实现的两种方法

SaaS化多租户实现的两种方法 SaaS系统的定义 SaaS&#xff0c;全称为Software-as-a-Service&#xff08;软件即服务&#xff09;&#xff0c;是一种基于云计算的软件交付模式。而SaaS系统&#xff0c;即是通过这种模式提供给用户的软件系统。即多租户系统&#xff0c;每个租户…

腾讯云升级多个云存储解决方案 以智能化存储助力企业增长

9月6日&#xff0c;在腾讯数字生态大会腾讯云储存专场上&#xff0c;腾讯云升级多个存储解决方案&#xff1a;Data Platform 数据平台解决方案重磅发布&#xff0c;数据加速器 GooseFS、数据处理平台数据万象、日志服务 CLS、高性能并行文件存储 CFS Turbo 等多产品全新升级&am…