当前位置: 首页 > article >正文

Linux基本指令(三)+ 权限

文章目录

  • 基本指令
    • grep
    • 打包和压缩
      • zip/unzip
      • Linux和windows压缩包互传
      • tar(重要)
      • Linux和Linux压缩包互传
    • bc
    • uname -r
    • 常用的热键
    • 关机
    • 外壳程序
  • 知识点
    • 打包和压缩
  • Linux中的权限
    • 用户权限

基本指令

grep

1. grep可以过滤文本行
done用于标记循环的结束,确保循环体在指定条件下正确执行,下图是一个打印的循环体的脚本

在这里插入图片描述

2. 把包含9的文本行过滤出来了

有三种写法,文本可以带双引号,单引号,或者都不带
root@hcss-ecs-93fe:~/hello# grep "9" log.txt
grep '9' log.txt
grep 9 log.txt

在这里插入图片描述

3. grep -n 可以显示行号,grep -v,逆向的,可以将除匹配成功的以外的文本保留下来

grep -n "9" log.txt
grep -v "9" log.txt
把除9之外的文本保留下来了

在这里插入图片描述

4. grep -i “hello” log.txt,-i选项可以忽略大小写匹配,ignore,也就是大小写都会打印到显示器上

在这里插入图片描述

5. grep -v “hello” log.txt,把不匹配hello的选项显示出来

在这里插入图片描述

6. grep -vi “hello” log.txt,忽略大小写匹配,将匹配失败的显示出来

在这里插入图片描述

7. grep把所有的包含关键字"Removed"并且是从后往前找的10个信息打印出来

在这里插入图片描述

grep "Removed" var/log/messages | tail -10
grep "Removed" var/log/messages

8. ps ajx 可以查看历史进程
在进程中查找"muprocess"

在这里插入图片描述

9. * 匹配当前目录下的所有文件

grep -n "int main" *
在文本中查找指定的行 

在这里插入图片描述
在这里插入图片描述

打包和压缩

zip/unzip

检测zip有没有装上,version版本
在这里插入图片描述

// 安装zip和unzip
apt install -y zip unzip

1. 不带选项只能打包单个文件
2. 比如说目录只能打包这个空目录

zip lesson.zip lesson
// 将lesson打包成lesson.zip
unzip lesson.zip
// 将lesson解压解包到当前文件夹

3. 要打包目录要带上-r选项

zip -r lesson.zip lesson

4. 解压到指定的目录下需要-d选项

// 将lesson.zip解压到指定的/root目录下
unzip lesson.zip -d /root

Linux和windows压缩包互传

安装sz和rz命令
apt install -y lrzsz

1. rz:用于远端设备发送文件到本地计算机(例如windows中的压缩包传到Linux中)
2. sz:用于从本地计算机发送文件到远端设备
(例如Linux中的压缩包传到windows中)

sz hello.zip
// 发送压缩包到windows中

在这里插入图片描述

rz 
// 从windows中接收压缩包到Linux中

在这里插入图片描述

tar(重要)

// 将srcdir打包压缩为xxx.tgz的压缩包
tar 选项 xxx.tgz srcdir

1. 选项:c 新建一个打包文件
z 把打包文件进行压缩
f 指定文档名,使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
x 解开一个压缩文件
2. tar命令默认是递归的

打包压缩文件
tar czf lesson.tgz lesson
解压压缩包
tar xzf lesson.tgz

3. -v选项可以展示解包/压缩的过程并且显示文件

在这里插入图片描述
在这里插入图片描述

4. 创建一万个普通文件

在这里插入图片描述

5. tar xzf lesson.tgz -C /root
将lesson.tgz解压到指定目录下

tar -xzf lesson.tgz -C /root
// 选项的前面可以带-也可以不带-

Linux和Linux压缩包互传

1. scp 远程拷贝的命令
2. 拷贝完之后,需要输入另一台Linux机器的密码,之后就可以在另一台机器上看到压缩包

在这里插入图片描述

bc

1. bc相当与Linux当中简单的计算器

在这里插入图片描述
作用:
在这里插入图片描述

uname -r

1. uname用来获取电脑和操作系统的相关信息
2. uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息
3. -a或‒all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

在这里插入图片描述

  • 怎么在Linux环境下查看你的体系结构和系统内核版本呢?

uname -r
体系结构是指一个系统的基本组织结构,包括其组件、组件之间的关系、组件与外部环境的关系,以及指导系统设计和演进的原则,例如x64,AMD
体系结构就是芯片结构

  1. x86_32 x86_64(x64)
  2. 新老内核的问题
    一般公司都会选择老内核,因为比较稳定

系统内核版本
内核版本号通常由四部分组成:主版本号.次版本号.修订版本号-补丁版本号
红色的为体系结构
蓝色的为内核版本
在这里插入图片描述

常用的热键

1. \ 是续行符,相当于 ls -a -l
2. 如果误触了\,想要马上回到新的命令行,ctrl+c终止当前程序
3. 上下键查看历史命令
4. tab键快速按两下,可以自动地进行命令搜索和命令补全

在这里插入图片描述
tab
在这里插入图片描述

5. ctrl + r搜索历史命令

在这里插入图片描述

6. ctrl + d 退出当前用户
7. history 显示历史命令,Linux会记录我们的历史命令

关机

1.一些关机的命令: shutdown 关机 halt 挂起 reboot 重启
2. 云服务器永不关机,除非维护了或者不用了

shutdown -h 立即关机
shutdown -h -t 秒数 
意味着多少秒关机

外壳程序

在这里插入图片描述
在这里插入图片描述
为什要存在外壳程序:

  • 方便用户操作,用户不能直接访问操作系统,要用Shell作为中间商
  • 如果用户输入了一个错误指令,外壳就把指令拦截了下来,相当于保护了内核

在这里插入图片描述

bash是Linux当中的外壳程序,bash在Linux中是一个死循环,shell是外壳程序的统称

在这里插入图片描述

  • 总结

  • 外壳程序是操作系统外部的一套软件

  • 将使用者的命令翻译给核心(Linux)(kernel)处理

  • 同时,将核心(Linux)的处理结果翻译给使用者

知识点

打包和压缩

  • 什么是打包和压缩 ?

1. 打包:文件合并,将多个文件合并为一个文件
2.压缩:减少体积

  • 为什么要打包和压缩 ?

1.打包:防止文件丢失
2. 压缩:减少体积,节省存储空间,可以有效地减少网络传送的时间

  • 怎么打包和压缩 ?

1. 打包和压缩不做明显的区分,因为在Linux中打包和压缩分开看很麻烦

Linux中的权限

用户权限

1. Linux中的用户:root用户(超级用户)or 普通用户
2. windows:管理员(admin)or 普通用户
3. 超级用户:权限高 普通用户:权限低,受管控

身份切换:普通用户编程超级用户,要输入超级用户的密码
su ->将普通用户转为超级用户

在这里插入图片描述
在这里插入图片描述

  • exit / ctrl + d:都可以从超级用户回退到普通用户或者让普通用户回退到超级用户
  • su:不会让用户重新登录,只是身份的切换,不会影响当前所处的目录,还是当前所处的路径
  • su -:是让用户重新登录了,会让所处的路径发生变化

在这里插入图片描述
在这里插入图片描述

  • who是当前有哪些人在登录
    在这里插入图片描述

  • 超级用户用命令回退到普通用户怎么做?
    1、su 用户名:可以不输密码,直接回退到指定的普通用户

在这里插入图片描述

相关文章:

Linux基本指令(三)+ 权限

文章目录 基本指令grep打包和压缩zip/unzipLinux和windows压缩包互传tar(重要)Linux和Linux压缩包互传 bcuname -r常用的热键关机外壳程序 知识点打包和压缩 Linux中的权限用户权限 基本指令 grep 1. grep可以过滤文本行 done用于标记循环的结束&#x…...

容器化部署tomcat

容器化部署tomcat 需求在docker容器中部署tomcat,并通过外部机器访问tomcat部署的项目 容器化部署要先装好docker容器(docker安装配置) 实现步骤: 拉取tomcat docker pull tomcat用于列出本地Docker主机上存储的所有镜像 docker images在root目录里面创建tomc…...

vscode软件中引入vant组件

一、vant简介 Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 官网:介绍 - Vant Weapp 里面的快速上手的教程&a…...

DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?

一、引言 在当今科技飞速发展的时代,人工智能(AI)已然成为推动各领域变革的核心力量。而在人工智能的众多分支中,自然语言处理(NLP)因其与人类日常交流和信息处理的紧密联系,成为了最受瞩目的领…...

Ubuntu 22.04 Install deepseek

前言 deepseekAI助手。它具有聊天机器人功能,可以与用户进行自然语言交互,回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括: 强大的语言理解能力:能够理解和生成自然语言,与用户进行流畅的对话。多领域知识&…...

如何将公钥正确添加到服务器的 authorized_keys 文件中以实现免密码 SSH 登录

1. 下载密钥文件 2. RSA 解析 将 id_ed25519 类型的私钥转换为 RSA 类型,要将 ED25519 私钥转换为 RSA 私钥,需要重新生成一个新的 RSA 密钥对。 步骤: 生成新的 RSA 密钥对 使用 ssh-keygen 来生成一个新的 RSA 密钥对。比如,执…...

深入理解设计模式之解释器模式

深入理解设计模式之解释器模式 在软件开发的复杂世界中,我们常常会遇到需要处理特定领域语言的情况。比如在开发一个计算器程序时,需要解析和计算数学表达式;在实现正则表达式功能时,要解析用户输入的正则表达式来匹配文本。这些场景都涉及到对特定语言的解释和执行,而解…...

【WebGL】attribute方式实例化绘制

背景 一般有attribute和uniform两种方式进行实例化绘制 attribute方式实例化 这里需要注意 bufferData和bufferSubData方式的用法顺序和参数 gl.bufferData(target, sizeOrData, usage); sizeOrData(实例化配合bufferSubData 更新数据一般使用这种先&#xff09…...

线代[8]|北大丘维声教授《怎样学习线性代数?》(红色字体为博主注释)

文章目录 说明一、线性代数的内容简介二、学习线性代数的用处三、线性代数的特点四、学习线性代数的方法五、更新时间记录 说明 文章中红色字体为博主敲录完丘教授这篇文章后所加,刷到这篇文章的读者在首次阅读应当跳过红色字体,先通读一读文章全文&…...

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下,开发一款性能卓越且易于上手的蓝牙音箱,成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC,无疑为行业带来了全新的解决方案,以其诸多独特卖点,迅…...

C#从入门到精通(34)—如何防止winform程序被同时打开多次

前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发上位机软件的过程中,评判一个人软件写的好不好,有一…...

TIP: Flex-DLD

Article: Flex-DLD: Deep Low-Rank Decomposition Model With Flexible Priors for Hyperspectral Image Denoising and Restoration, 2024 TIP. 文章的主要思想是用network来学low-rank decomposition的两个matrix(input是random input). 文章的framew…...

如何在 ubuntu 上使用 Clash 与 docker 开启代理拉起

如何在 ubuntu 上使用 Clash https://github.com/doreamon-design/clash/releases上面是clash 的地址 clash_2.0.24_linux_386.tar.gz 下载 386 的 如果你的电脑是inter tar -xzvf clash_2.0.24_linux_386.tar.gz 启动 ./clash 然后会在电脑上生成一个config的文件 /home/xxx/…...

MFC开发:如何创建第一个MFC应用程序

文章目录 一、概述二、MFC 的主要组件三、创建一个MFC窗口四、控件绑定消息函数 一、概述 MFC 是微软提供的一个 C 类库,用于简化 Windows 应用程序的开发。它封装了 Windows API,提供面向对象的接口,帮助开发者更高效地创建图形用户界面&am…...

react hook useReducer

useReducer useReducer 是 React 中用于状态管理的 Hook,与 useState 不同,它更适合处理复杂的状态逻辑. const [state, dispatch] useReducer(reducer, initialArg, init?) reducer 是一个处理函数,用于更新状态, reducer 里面包含了两个…...

Java与C语言中取模运算符%的区别对比

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 💯前言💯C语言中的取模运算符 %基本行为示例 注意事项示例:负数取模 💯Java中的取模运算符 %基本行为示例 对浮点数的支持示例:浮点数取模 符…...

Zabbix 7.2实操指南:基于OpenEuler系统安装Zabbix 7.2

原文出处:乐维社区 部署环境 openEuler 22.03 LTS PHP 8.0 Apache Mysql 8.0 MySQL数据库 6.0 以上版本需要安装mysql8.0以上版本的数据库(以mysql为例子)。 欧拉系统自带 mysql8.0 的源,无需要安装额外的源。 安装mysql …...

Springboot的简单推荐实现

以springboot 推荐社团招新为例子 使用 Spring Boot 构建社团招新推荐系统,用户注册后选择兴趣,系统根据兴趣推荐社团。 实现包括用户注册、兴趣选择和基于标签匹配的推荐算法。 系统使用 JPA 管理数据库,Spring Security 确保安全&#xff0…...

如何使用Python快速开发一个带管理系统界面的网站-解析方案

如果你想用 Python 开发一个 管理系统界面 的网站,并且希望界面美观,可以考虑以下几个框架和库: 1. Streamlit(快速、简洁) 适合:数据分析、仪表盘、内部管理系统特点: 写法简单,类…...

深入剖析抽象工厂模式:设计模式中的架构利器

深入剖析抽象工厂模式:设计模式中的架构利器 在软件开发领域,设计模式是解决常见问题的通用方案,而抽象工厂模式作为创建型设计模式的重要一员,在构建复杂软件系统时发挥着关键作用。它为创建一系列相关或相互依赖的对象提供了一…...

面试基础-如何设计一个短链接系统

设计一个每秒处理 100 万个请求(WQPS)的短链系统需要综合考虑性能、可用性和可扩展性。以下是设计方案: 1. 系统架构设计 采用微服务架构,将功能模块化,便于水平扩展和故障隔离。 核心组件: 短链生成服务…...

Win11 24h2 不能正常使用ensp的问题(已解决)

因为Win11 24h2的内核大小更改,目前virtualbox在7.1.4中更新解决了。所以Win11 24H2系统版本无法使用 5.x.xx的virtualbox版本,virtualbox对于这个5.x.xx版本早已停止维护,所以这个以后不会有调整。 对应的报错代码是 virtualbox错误代码&…...

蓝桥杯——按键

一:按键得原理图 二:按键的代码配置 step1 按键原理图对应引脚配置为输入状态 step2 在GPIO中将对应引脚设置为上拉模式 step3 在fun.c中写按键扫描函数 写完后的扫描函数需放在主函数中不断扫描 扫描函数主要通过两个定义变量的值来判断&#xf…...

Linux环境基础开发工具的使用(三)

五、Linux项目自动化构建工具-make/Makefile make:是一条指令。 makefile:是一个当前目录下的文件。 第一行:依赖关系。 第二行:依赖方法。 clean是空依赖关系。 编译文件清理 背景 会不会写makefile,从一个侧面说…...

vue中将el-table导出为excel文件

在 Vue Element UI 中,el-table 数据导出 Excel 文件,可以使用 xlsx(SheetJS)库进行处理。以下是详细的实现方法,包括安装依赖、代码示例和优化建议。 1. 安装依赖 首先,安装 xlsx 库: 复制…...

electron提升软件运行权限,以管理员权限运行

大家有任何想法,都可以联系博主沟通。 本系列为实战文章,最终实现的桌面工具软件,获取方式:百度网盘地址:https://pan.baidu.com/s/1yrl0jYpti7QCn8CHBRT2lw?pwd1234 正文开始 前言一、提升electron运行权限的三种方…...

力扣LeetCode: 2506 统计相似字符串对的数目

题目: 给你一个下标从 0 开始的字符串数组 words 。 如果两个字符串由相同的字符组成,则认为这两个字符串 相似 。 例如,"abca" 和 "cba" 相似,因为它们都由字符 a、b、c 组成。然而,"aba…...

安科瑞能源物联网平台助力企业实现绿色低碳转型

安科瑞顾强 随着全球能源结构的转型和“双碳”目标的推进,能源管理正朝着智能化、数字化的方向快速发展。安科瑞电气股份有限公司推出的微电网智慧能源管理平台(EMS 3.0),正是这一趋势下的创新解决方案。该平台集成了物联网&…...

Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污…...

动态链接器(九):.init和.init_array

ELF文件中的.init和.init_array段是程序初始化阶段的重要组成部分,用于在main函数执行前完成必要的初始化操作。 1 .init段和.init_array 段 1.1 作用 .init段包含编译器生成的初始化代码,通常由运行时环境(如C标准库的启动例程&#xff0…...