数据处理与统计分析篇-day02-Linux进阶

news/2024/9/18 14:54:12/ 标签: linux, 运维, 服务器, 权限, 软硬连接, shell, ssh

day02-Linux进阶

补充昨日内容

Linux基础

文件编辑

命令模式

编辑模式

esc回到命令模式

正常编辑

底行(底线)模式

查看Linux命令帮助文档

# --help   可以查看命令的详细信息
命令名 --help
​
# 例如:   ls --help
​
# man      可以查看命令的主要(简单)信息
man 命令名
​
# 例如
man ls

Linux进阶

一. 权限

权限入门

# 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

用户和用户组

用户相关:

useradd [-g] [组名] 用户名没有指定祖名, 则: 新建组(组名为用户名)指定组名, 就放到指定的组中
passwd 用户名
getent passwd               # 查看所有用户
id 用户名                   # 查看用户信息
# 结果如下  uid=用户id gid=组id 组=用户所在的组
uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan)
​
usermod -aG 用户组 用户名     # 把用户添加到指定组
userdel -r 用户名            # 删除用户

用户组相关:

groupadd 组名             # 新建组
groupdel 组名             # 删除组
getent group             # 查看所有组

权限控制

文件或文件夹的用户权限图示:

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限

数字的细节如下:r记为4,w记为2,x记为1,可以有:

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

所以751表示: rwx(7) r-x(5) --x(1)

ls -l文件图示

chmod

chmod [-R] 权限 文件或者文件夹路径  
不加[-R]:只修改当前一级, 加[-R]:修改当前和其所有子集
​
chmod u=x,g=w,o=r-x 1.txt
chmod u-w,g-w,o+w 1.txt
chmod 567 1.txt

chown修改拥有者

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

二. 实用操作

常用快捷键

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

安装软件

方式1:yum

# 全称叫: 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方式

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

方式3: 手动下载安装包

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

服务管理命令

# 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即可.

软连接和硬链接

软连接

# 类似于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

硬链接

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

IP相关

# 查看本机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
192.168.88.161 node1 node1.itcast.cn
​
# Linux配置路径.    vim /etc/hosts
192.168.88.161 node1 node1.itcast.cn
​
# 两个好玩儿的命令.
reboot              # 重启
shutdown -h now     # 关机

网络传输

# 测试网络是否通畅
ping [-c num] 域名
​
# 例如
ping -c 3 www.baidu.com     # ping测试连接, 发送3个数据包
​
# wget  可以联网下载资源.
# 格式
wget url地址
​
# curl 模拟浏览器,向url地址发出请求, 获取响应信息.
curl url地址
​
curl www.baidu.com >> baidu.txt
​
# 端口号, 指的是程序在设备上的唯一标识, 范围: 0 ~ 65535, 其中0~1023尽量不要用.
netstat -anp    # 查看本机所有的端口号, all network port
​
# 例如
netstat -anp | grep sshd    # 查看本机和 sshd服务相关的端口号
netstat -anp | grep 3306    # 查看3306端口号的占用情况

进程相关

# 进程介绍
程序在系统中的表现形式, 即: 每个进程都是一个应用程序,可以理解为是: *.exe
​
# 查看本机所有进程
ps -ef      e:全部进程, f:完全格式展示
​
# 查看本机和某些服务相关的进程
ps -ef | grep sshd
ps -ef | grep mysqld
​
# 强制杀死某些进程
kill -9 进程的pid编号

环境变量

# 查看Linux的环境变量
env     # 来源于: environment, 环境.
​
# 设置变量
变量名=变量值     # 等号两端没有空格.
​
# 如何使用变量值
${变量名}      # 如果是单独用的, 大括号可以省略不写.
​
echo ${变量名}
​
# 如何配置环境变量.
vim /etc/profile
export 变量名=变量值    # 按i进入编辑模式开始修改, 最后 :wq保存退出
​
source /etc/profile   # 刷新配置文件.

上传和下载

# 1. 安装 lrzsz包.
yum -y install lrzsz        # rz: 上传.   sz: 下载.
​
# 2. 上传.        
# 方式1: 在终端命令行处, 写: rz, 然后敲回车.       注意: 中文可能会乱码.选中要上传的文件, 上传即可.# 方式2; 拖拽上传.   推荐.
​
​
# 3. 下载.
# 方式1: sz命令方式.              注意: 中文可能会乱码.
​
# 方式2: 选中文件, 右键下载. 

压缩和解压缩

# 了解, 区分压缩协议的好坏, 可以参考3个维度:
1. 压缩比(即: 压缩后文件大小)
2. 压缩速度.    # 写
3. 解压速度.    # 读
​
​
# tarball方式, 压缩 和 解压缩  (速度快, 压缩比大)  
# 细节, 如果加-z了, 则后缀名一般写, *.tar.gz   不加-z, 后缀名一般写 *.tar
# 压缩
tar -zcvf 压缩包名 要被压缩的文件...
​
# 解压
tar -zxvf 压缩包名 -C 解压后的路径
​
# 参数解释:
-z 使用gzip协议, 可以不写, 使用默认压缩方式. (只是归档, 大小可能变大)
-x 解压
-C 解压到指定路径
-c 压缩
-v verbose, 显示详细(过程)
-f file, 压缩文件
​
​
​
# zip方式, 压缩 和 解压缩.      (相对速度慢, 压缩比小) 
# 压缩
zip [-r] 压缩包名.zip 要被压缩的文件或者目录   # -r: 递归
​
# 解压缩
unzip 压缩包名 -d 解压到的路径

shell脚本

vim my.sh
​
# my.sh文件中编写如下内如:
​
#!/bin/bash
​
name='zhangsan'
age=23
​
echo "姓名: ${name}"
echo "年龄: ${age}"
​
# 执行my.sh
方式1
sh my.sh
​
方式2
source my.sh
​
方式3(需要增加权限: chmod 777 my.sh)
相对路径: ./my.sh
绝对路径: /root/day02/my.sh

http://www.ppmy.cn/news/1524835.html

相关文章

3个WebSocket的.Net开源项目

推荐3个有关Websocket的.Net开源项目。 一、FreeIM 一个使用Websocket协议实现的、高性能即时聊天组件,可用于群聊、好友聊天、游戏直播等场景。 1、跨平台:基于.NetCore开发,支持Windows、Mono、Liunx、Windows Azure、Docker。 2、支持…

Uni-app 开发鸿蒙 App 全攻略

一、开发前的准备工作 开发鸿蒙 App 之前,我们需要做好充分的准备工作。首先是工具的安装与配置。 Node.js 的安装:推荐使用 LTS 版本的 Node.js。可以前往 Node.js 的官方网站下载适合自己操作系统的安装包,如 Windows 用户根据自己的系统版…

DL/T645-2007 通信库(C#版本)

DL/T645-2007 通信库(C#版本) 文章目录 DL/T645-2007 通信库(C#版本)DL/T645-2007 介绍主要内容介绍:应用场景:标准的意义: DL/T645-2007 通信库(C#版本)接口展示测试用例…

jest需要mock自定义hook导出的数据,同一个测试文件不同的用例需要不同的数据,该怎么mock

当在同一个测试文件中针对不同的测试用例需要mock自定义Hook导出不同的数据时,你可以使用Jest的动态mock功能或者利用Jest的beforeEach、beforeAll等钩子函数来设置不同的mock行为。 这里是一个使用Jest的beforeEach钩子函数来为每个测试用例设置不同mock数据的示例…

JavaWeb使用web.xml配置Servlet路径映射的相关操作以及易错问题分析与解决

前言 我们在使用Servlet创建JavaWeb项目时,想要绑定url路径和Servlet的映射关系,需要在web.xml中配置映射关系。Servlet从2.5版本开始支持注解。具体来说,Servlet 2.5引入了注解配置方式,使得Servlet应用程序的配置更加简单、灵活…

PHP一键约课高效健身智能健身管理系统小程序源码

一键约课,高效健身 —— 智能健身管理系统让健康触手可及 🏋️‍♀️ 告别繁琐,一键开启健身之旅 你还在为每次去健身房前的繁琐预约流程而烦恼吗?现在有了“一键约课高效健身智能健身管理系统”,所有问题都迎刃而解…

C# 通过拖控件移动窗体

目录 引言一、通过控件事件移动窗体1、创建窗体界面2、添加控件事件3、添加代码 二、通过windowsAPI移动窗体1、 构建窗体和添加事件2、代码展示 三、其它方式 引言 在C#Form窗体设计中,如果我们不需要使用默认边框设计自己个性化的窗体(FromBorderStyl…

代码随想录 第九章 动态规划part03 01背包问题 一维 416. 分割等和子集

01背包问题 一维 #include <bits/stdc.h> using namespace std; int main(){int n, bagWeight;cin >> n >> bagWeight;std::vector<int> value(n, 0);std::vector<int> weight(n, 0);for (int i 0; i < n; i) cin >> weight[i];for (…

mysql性能优化-云服务与数据库即服务(DBaaS)优化

一、云服务与DBaaS概述 1.1 云服务的特性 云服务&#xff08;Cloud Service&#xff09;通过虚拟化技术提供了灵活的计算资源&#xff0c;按需分配且弹性伸缩。相比传统的自建数据中心&#xff0c;云服务具备以下优势&#xff1a; 弹性伸缩&#xff1a;根据业务需求&#xf…

Python发邮箱:如何配置SMTP服务器发邮件?

Python发邮箱基础教程&#xff1f;python如何实现发送邮件功能&#xff1f; 无论是工作中的项目协作&#xff0c;还是生活中的日常交流&#xff0c;电子邮件都能快速传递信息。而使用Python发邮箱&#xff0c;更是让这一过程自动化、高效化。AokSend将详细介绍如何配置SMTP服务…

使用Python和Proxy302代理IP高效采集Bing图片

目录 项目背景一、项目准备环境配置 二、爬虫设计与实现爬虫设计思路目标网站分析数据获取流程 代码实现1. 初始化爬虫类&#xff08;BingImageSpider&#xff09;2. 创建存储文件夹3. 获取图像链接4. 下载图片5. 使用Proxy302代理IP6. 主运行函数 运行截图 三、总结 项目背景 …

上海泗博EtherNet/IP转PROFIBUS DP网关EPS-320IP成都地铁项目应用案例

背景&#xff1a; 地铁&#xff0c;作为城市的活力脉搏&#xff0c;不仅是衔接城市生活的关键纽带&#xff0c;更是现代城市交通体系中不可或缺的核心组成部分。因此&#xff0c;确保地铁的稳定运行对任何一座城市都至关重要。 上海泗博自动化&#xff0c;作为与成都地铁项目合…

Linux从入门到开发实战(C/C++)Day11-aio

什么是aio&#xff1a;异步io&#xff0c;让io过程异步进行&#xff0c;从而提升读写效率 涉及状态切换&#xff1a;用户态、内核态 如何进行aio读操作&#xff1a; 执行异步操作的时候&#xff0c;函数直接返回&#xff08;可以先去做其他事情&#xff09; 同…

机器学习特征-学习篇

一、特征概念 1. 什么是特征 特征是事物可供识别的特殊的征象或标志 在机器学习中&#xff0c;特征是用来描述样本的属性或观测值的变量。它们可以是任何类型的数据&#xff0c;包括数字、文本、图像、音频等。 作用&#xff1a; 特征是训练和评估机器学习模型的基础。好的特…

VScode 的简单使用

目录 1. VScode 的使用 1.1 常用插件 1.2 常用快捷键 1. VScode 的使用 1.1 常用插件 1.2 常用快捷键 也可以“ CTRLD ”&#xff1b;使用“CTRL滚轮”即可&#xff1b; ctrl /-&#xff0c;是用来展开/收起代码的&#xff1b; 比如&#xff1a;js 的多行注释是 shiftalt…

电脑开机速度慢怎么解决?

电脑开机速度慢怎么解决&#xff1f;电脑开机速度慢的原因可以是多方面的&#xff0c;以下是一些常见的原因&#xff1a; 启动项过多&#xff1a; 许多软件在系统启动时会自动启动&#xff0c;导致启动项过多&#xff0c;从而延长了开机时间。过时的驱动程序&#xff1a; 设备…

NFTScan | 09.02~09.08 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2024.09.02~ 2024.09.08 NFT Hot News 01/ 数据&#xff1a;NFT 8 月销售额跌破 4 亿美元&#xff0c;创年内新低 9 月 2 日&#xff0c;数据显示&#xff0c;8 月 NFT 的月销售额仅为 …

【计算机网络 - 基础问题】每日 3 题(一)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

Spring Boot 注解探秘:Bean 管理的艺术

在 Spring Boot 应用开发中&#xff0c;Bean 的管理是核心功能之一。Spring Boot 提供了一套强大的注解系统&#xff0c;帮助开发者轻松管理 Bean 的生命周期和依赖注入。本文将深入探讨 Spring Boot 中常用的 Bean 处理注解及其应用场景。 一、Component注解 Component是一个…

第L6周:机器学习-随机森林(RF)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 1.什么是随机森林&#xff08;RF&#xff09; 随机森林&#xff08;Random Forest, RF&#xff09;是一种由 决策树 构成的 集成算法 &#…