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

3-Linux实操

Linux实践操作

  • 开关机、重启、用户登陆注销
    • 关机&重启
    • 用户登陆和注销
  • 用户管理
    • 添加用户
    • 修改用户密码
    • 删除用户
    • 查询用户信息
    • 切换用户
    • 查看当前用户
    • 用户组的添加和删除
    • 用户和组相关文件
  • 实用指令
    • 指定运行级别
    • init 命令
    • 帮助指令
    • 文件目录类
    • 时间日期类
    • 搜索查找类🔍
    • 压缩和解压类

开关机、重启、用户登陆注销

关机&重启

  • 关机&重启之前的操作
    • sync 把内存的数据同步到磁盘上
  • 关机指令
    • shutdown -h now 立刻关机
    • shutdown -h 1 1分钟后关机
    • halt 关机
  • 重启指令
    • shutdown -r now 立刻重新启动计算机
    • reboot 重启

用户登陆和注销

注销只能在shell环境下进行使用

  • 登陆
    • 登陆普通用户 su - 用户名
    • 登陆root用户 sudo su 或者 su -root
  • 注销
    • 退出当前用户 logout

用户管理

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先想系统管理员申请一个账号,然后通过这个账号再进入系统。

添加用户

useradd 用户名

添加一个系统操作用户,当用户创建成功后,会自动在home目录下创建和用户同名的目录

useradd -d 指定目录 新的用户名

给新创建的用户指定存储路径,而不是存储在/home目录下(-d d就是directory 目录的意思)

image.png|center|600

修改用户密码

passwd 用户名
# 如果不加用户名,则默认是修改当前用户的密码

image.png|center|600

删除用户

现在的系统用户列表如下所示:
image.png|center|600

  • 删除用户但要保留用户文件
userdel 用户名 
  • 删除用户同时删除用户文件
userdel -r 用户名

查询用户信息

id 用户名

image.png|center|600

切换用户

如果当前用户的权限不够,可以通过 su - 用户名,切换到高权限用户,比如root用户

su - 切换用户名

❗️❗️注意:

  • 从权限高的用户切换到权限低的用户,不需要输入密码,如果从权限低的切换到权限高的用户,则需要输入切换的用户密码
  • 当需要返回到原来的用户时,可以使用exit/logout指令,进行退出

查看当前用户

whoami 或者 who am I

image.png|center|600

  • who am i 这个指令,显示的是第一次登陆系统的用户,如果通过su指令进行了用户的切换,则仍然会是第一次登陆系统的用户。

  • whoami 这个指令则会显示目前正在进行操作的用户

image.png|center|600

用户组的添加和删除

^ec4c90

用户组的作用在于:系统可以对有共性【权限】的多用户进行统一的管理

image.png|center|600

  • 新增组
    • groupadd 组名
  • 删除组
    • groupdel 组名
  • 增加用户时直接加上组
    • useradd -g 用户组 用户名

❗️❗️注意: 如果在增加用户时,没有指定组,则会在创建用户时,同时创建一个名为用户名的组。

image.png|center|600

  • 修改用户的组
    • usermod -g 用户组 用户名

用户和组相关文件

![[1-Linux目录结构#^4af414]]

  • /etc/passwd 文件

    • 用户user的配置文件,记录用户的各种信息
    • 每行信息的含义
    • 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登陆shell【[[shell编程|shell介绍]]】
    • image.png
  • /etc/shadow文件

    • 口令的配置文件
    • 每行的含义
    • 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • /etc/group文件

    • 组的配置文件,记录Linux包含组的信息
    • 每行的含义
    • 组名:口令:组标识号:组内用户列表

❗️❗️注意:口令一般是不可见的,表示形式为x或为空。

实用指令

指定运行级别

运行级别级别含义
0关机
1单用户状态(找回丢失的密码)
2多用户状态没有网络服务
3多用户状态有网络服务
4系统未使用保留给用户
5图形界面
6系统重启

init 命令

通过init命令来切换不同的运行级别

比如:init [0123456] 然后关机,再启动即可进行切换

比如 init 0 表示关机; init 6 表示系统重启

帮助指令

  • man 获得帮助信息
    • man [命令或配置文件]
    • 比如:查看 ls 命令的帮助信息 :man ls
    • 选项可以进行组合使用,比如组合 ls -a 和 ls -l 为: ls -al 或 ls -la 都可以
    • image.png|left|700
  • help 指令
    • 语法: help 命令
    • 获得shell内置命令的帮助信息
    • 查看cd命令的帮助信息
      • image.png|left|800

文件目录类

  • pwd 指令

    • 显示当前工作目录的绝对路径
    • image.png
  • ls指令

    • ls [选项] [目录或者文件]
    • 常用选项
      • -a:显示当前目录所有的文件和目录,包括隐藏的
      • -l :以列表的方式进行显示信息
  • cd 指令

    • 切换到指定目录
    • cd [参数]
      • cd ~ :回到自己的家目录中
      • cd … : 回到上一级目录
  • mkdir 指令

    • 创建目录
    • mkdir [选项] 要创建的目录
    • 常用选项
      • -p : 创建多级目录
    • image.png
  • rmdir 指令

    • 删除空目录
    • rmdir [选项] 要删除的空目录
    • ❗️删除的是空目录,如果目录下有内容时,则无法进行删除
  • 删除非空目录

    • rm -rf 要删除的目录
      • -r ( -R, --recursive):递归地删除目录及其内容
      • -f ( --force ): 强制删除,忽略是否有文件和相关参数
  • touch 指令

    • 创建空文件
    • touch 文件名
  • cp 指令

    • cp指令拷贝文件到指定目录
    • cp [选项] source dest
      • source 拷贝的源文件名
      • dest 拷贝到的目的位置
    • 常用选项
      • -r : 递归复制整个文件夹
    • 注意❗️:
      • 强制覆盖不提示的方法,在cp前面加上\
      • 例如:\cp 源文件 目的位置
  • rm 指令

    • 移除文件或目录
    • rm [选项] 要删除的文件或目录
    • 常用选项
      • -r ( -R, --recursive):递归地删除目录及其内容
      • -f ( --force ): 强制删除,忽略是否有文件和相关参数
    • 举例:删除非空目录
      • rm -rf 要删除的目录
      • 强制删除不提示的方法带上 -f 参数即可
  • mv 指令

    • 移动文件或目录 或 重命名
    • 重命名: mv oldname newname (在同一个目录下,才可以进行重命名)
    • 移动文件: mv 移动文件 目标目录 (不在同一个目录下,进行文件的移动操作)
  • cat 指令

    • 查看文件的内容
    • cat [选项] 要查看的文件
    • 常用选项
      • -n : 显示行号
    • ❗️注意:
      • 为了浏览方便,一般会带上 管道命令 | 其他指令
      • 例如: cat -n /etc/profile | [其他命令]
  • more 指令

    • 基于VI编辑器的文本过滤器,可以以全屏幕的方式,按页显示文本文件的内容。
    • more 要查看的文件
    • 使用more以后,可以使用的交互指令:
      • image.png|left|600
  • less 指令

    • 分屏查看文件内容,less指令在显示文件内容时,并不是将整个文件加载之后才显示,而是根据显示需要,加载的内容,对于显示大型文件具有较高的效率
    • less 需要显示的文件
    • 使用less以后,可以使用的交互指令:
      • image.png|left|600
      • 当输入/要查找的字符串时,查找到以后,输入n,可以继续向下查找匹配的字符串,输入N,可以继续向上查找匹配的字符串
      • 当输入?要查找的字符串时,查找到以后,输入n,可以继续向上查找匹配的字符串,输入N,可以继续向下查找匹配的字符串
  • echo 指令

    • 输入内容到控制台
    • echo [选项] [输出内容]
  • head 指令

    • 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行
    • 基本语法
      • head 文件名
      • head -n 5 文件名 查看文件头5行内容
  • tail 指令

    • 用于输出文件尾部内容,默认情况下,tail指令显示文件的前10行内容
    • 基本语法
      • tail 文件 查看尾部后10行的内容
      • tail -n 5 文件 查看尾部后5行的内容
      • tail -f 文件 实时追踪该文件的更新
  • > 指令

    • 输出重定向指令
    • 基础语法
      • ls -l > 文件 将列表的内容写入文件
      • cat file1 > file2 将文件1的内容覆盖到文件2中
  • >> 指令

    • 追加指令
    • 基础语法
      • ls -al >> 文件 将列表内容追加到文件的末尾
      • echo 内容 >> 文件 在文件尾部追加内容
  • ln 指令

    • 软链接,也称为符号链接,类似于windows中的快捷方式。
    • ln -s [原文件或目录] [软链接名]
      • 给一个原文件创建一个软链接
    • image.png|left|600
  • history 指令

    • 查看已经执行过的历史命令,也可以执行历史命令
    • history 显示所有的历史命令
    • history 10 显示最近的十条指令
    • !5 执行历史编号为5的指令

时间日期类

写shell脚本输出日志时可能会用到

  • data指令
    • 显示当前日期📅
    • 基本语法
      • date 显示当前日期
      • date "+%Y" 显示当前年份
      • date "+%m" 显示当前月份
      • date "+%d" 显示当前的天
      • date "+%Y-%m-%d %H:%M:%S" 具体到今天的每一分,每一秒。
    • 可选选项(设置日期)
      • data -s 字符串时间
  • cal 指令
    • 查看日历📅

搜索查找类🔍

  • find 指令
    • find指令将从指定目录向下递归地遍历各个子目录,将满足条件的文件或目录显示在终端
    • 基本语法:find [搜索范围] [选项]
    • 选项说明
      • -name 文件名 按照指定的文件名查找文件
      • -user 用户名 查找属于指定用户名的所有文件
      • -size 文件大小 按照指定的文件大小查找文件
        • 注意
          • 大于 - 小于 = 等于
        • 单位有: k M G
    • 比如:查找/home目录下的hello.txt文件
      • find /home -name hello.txt
  • locate 指令
    • lacate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称以及路径的locate数据库实现快速定位到给定的文件。locate指令无需便利整个文件系统,查询速度较快。
    • 注意:为了保证查询结果的准确度,管理员必须定期更新locate时刻。
    • 基本语法:locate 文件名称
    • 💡:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
  • which指令
    • 可以查看某个指令在哪个目录下
    • 例如: which ls
  • find 🆚 locate
    • find是在硬盘上查找
    • locate是在数据库中查找
  • grep指令和管道符号 |
    • grep 过滤查找
    • 管道符号:用于将前一个命令的处理结果输出给后面的命令进行处理。
    • 基本语法:grep [选项] 查找内容 源文件
    • 常用选项
      • -n : 显示匹配行以及行号
      • -i : 忽略字母大小写
    • 📋比如:在hello.txt 中,查找yes 所在行,并显示行号
      • 1⃣️ cat hello.txt | grep "yes"
      • 2⃣️ grep -n "yes" hello.txt
    • image.png|left|600

压缩和解压类

  • gzip 和 gunzip

    • gzip: 压缩文件 ,gunzip :解压文件
    • 仅仅是对文件进行操作,不包含目录
    • 基本语法:
      • gzip 文件 : 压缩文件,只能将文件压缩为*.gz文件
      • gunzip 文件.gz : 解压.gz文件
  • zip 和 unzip

    • 解压和压缩文件
    • 基本语法
      • zip [选项] xxx.zip 要压缩的内容 压缩文件和目录的命令
      • unzip [选项] xxx.zip 解压缩文件
    • 常用选项
      • zip : -r (recursive): 递归压缩(压缩目录
      • unzip: -d 目录 : 指定解压后文件的存放目录
  • tar 指令 ⭐️⭐️

    • tar是打包指令,最后打包后的文件是.tar.gz的文件
    • 基本语法
      • tar [选项] xxx.tar.gz 打包的内容
    • 选项说明
      • -c 产生.tar 的打包文件(–creat)
      • -v 显示详细信息
      • -f 指定压缩后的文件名
      • -z 打包的时候同时压缩
        • image.png
      • -x 解包.tar 文件(–extract)
    • 压缩文件:-z(gzip)c(产生打包文件)v(显示详细信息)f(指定压缩后的文件夹)
    • 解压文件:-z(gunzip)x(解包.tar文件)v(显示详细信息)f(文件夹)
    • 指定压缩目录和解压目录 -C
      • image.png

相关文章:

3-Linux实操

Linux实践操作 开关机、重启、用户登陆注销关机&重启用户登陆和注销 用户管理添加用户修改用户密码删除用户查询用户信息切换用户查看当前用户用户组的添加和删除用户和组相关文件 实用指令指定运行级别init 命令帮助指令文件目录类时间日期类搜索查找类🔍压缩和…...

Yarn 集群的架构和工作原理

Yarn 的基本设计思想是将 MapReduce V1 中的 JobTracker 拆分为两个独立的服务:ResourceManager 和 ApplicationMaster。 ResourceManager 负责整个系统的资源管理和分配,ApplicationMaster 负责单个应用程序的管理。 ResourceManager RM 是一个全局的资…...

PostgreSQL-视图-03-查询对象依赖关系视图-dba_dependencies

PostgreSQL查询对象依赖关系视图 -- PostgreSQL查询对象依赖关系视图drop view if exists tzq.dba_dependencies; create view tzq.dba_dependencies as with source_obj as (select sp.oid,sp.proname,unnest(string_to_array(regexp_replace(regexp_replace(lower(sp.prosrc…...

Vue style中的 scoped 属性

Vue 中存在 scoped 属性,HTML5中也存在一个 scoped 属性,而且,这两者都是针对 css 样式处理的属性,所以很多文章在 解释 Vue scoped 的时候,都会把两者混为一谈,直接进把 HTML5 scoped 的定义搬到 Vue scop…...

移动端适配rem

1.安装amfe-flexible和postcss-pxtorem, npm install amfe-flexible --save npm install postcss-pxtorem5.1.1 (这里我使用的postcss-pxtorem是5.1.1版本)或者在pageage.json中写入 "amfe-flexible": "^2.2.1","postcss-pxtorem": …...

Go语言开发小技巧易错点100例(八)

往期回顾: Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)Go语言开发小技巧&易错点100例(三)Go语言开发小技巧&易错点100例(四)Go…...

100个网络安全测试面试题

1、Burpsuite常用的功能是什么? 2、reverse_tcp和bind_tcp的区别? 3、拿到一个待检测的站或给你一个网站,你觉得应该先做什么? 4、你在渗透测试过程中是如何敏感信息收集的? 5、你平时去哪些网站进行学习、挖漏洞提交到…...

7.26 作业 QT

1.继续完善登录框&#xff0c;当登录成功时&#xff0c;关闭登录界面&#xff0c;跳转到新的界面中&#xff1a; 结果图&#xff1a; second.h: #define SECOND_H#include <QWidget> #include<QDebug> //信息调试类&#xff0c;用于打印输出的 #inc…...

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统 本文通过Python+opencv 实现这样的需求:输出位置和角度(x, y, r),并标记出轮廓基于传统图像处理算法实现,算法原理:输入图像 -> 灰度化 -> 二值化 -> 形态学处理 -> 轮廓提取 -> 树叶中心定位 -…...

IC设计工程师,参加IC面试应该注意哪些细节?

秋招已至&#xff0c;诸多IC设计企业&#xff0c;比如联发科、长鑫、大疆、燧原、地平线、复旦微、兆易创新、百度昆仑芯等&#xff0c;都已经陆续开启了提前批招聘。 很多人对各种关于秋招、面试、简历的比较感兴趣&#xff0c;所以今天就来跟大家分享关于秋招求职面试中的一…...

java poi导入Excel、导出excel

java poi导入Excel、导出excel 导出meven架包 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.1</version></dependency>导入Excel public void uploadFile(HttpServletRequ…...

【算法与数据结构】101、LeetCode对称二叉树

文章目录 一、题目二、递归法三、迭代法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归法 思路分析&#xff1a;这道题目标就是要对比左右两半的树是否对称&#xff0c;因此对比不是左右节点是否相等&…...

【N32L40X】学习笔记04-gpio中断库

gpio中断 该函数库的目的就是在统一的地方配置&#xff0c;将配置的不同项放置在一个结构体内部使用一个枚举来定义一个的别名 NVIC 寄存器 NVIC 相关的寄存器定义了可以在 core_cm4.h 文件中找到。我们直接通过程序的定义来分 析 NVIC 相关的寄存器&#xff0c;其定义如下…...

Godot 4 着色器 - Shader调试

我之前用OpenCV进行图像相关处理&#xff0c;觉得已经很不错&#xff0c;结合GDI可以实现流畅的动画效果 直到近来用Shader后才发现&#xff0c;着色器更上一层楼&#xff0c;原来这是入了GPU的坑 Shader编程限制很多&#xff0c;各种不支持&#xff0c;看在它性能不错功能炫…...

liunx时间慢几分钟,定时更新系统时间

#&#xff01;/bin/sh hwclock --hctosys echo "执行成功" 定时5分钟执行一次...

C# 委托详解

一.委托的概念 C#中委托也叫代理&#xff0c;委托提供了后期绑定机制(官方解释)&#xff0c;功能类似于C中的函数指针&#xff0c;它存储的就是一系列具有相同签名和返回类型的方法的地址&#xff0c;调用委托的时候&#xff0c;它所包含的所有方法都会被执行。 二.委托的用法…...

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址&#xff1a; Training language models to follow instructions with human feedbackchatGPT地址&#xff1a;openAI个人整理的PPT&#xff08;可编辑&#xff09;&#xff0c;下载地址&#xff1a;chatGPT学习分享PPT...

使用CRM进行数据分析的四大好处

使用CRM数据分析系统够帮助企业更好地了解客户需求和行为习惯&#xff0c;提供个性化的服务&#xff0c;从而提高客户满意度和忠诚度。使用CRM数据分析系统可以为企业带来一些好处&#xff0c;包括提高客户洞察力、加强营销策略、提高运营效率等。 1.提高客户洞察力&#xff1a…...

Excel“牛人”变现方案参考

有几种方式可以通过Excel技能实现变现&#xff1a; 1. 提供Excel咨询和培训服务&#xff1a;如果你对Excel非常熟悉&#xff0c;你可以提供咨询和培训服务&#xff0c;帮助他人解决Excel使用中的问题或提高他们的Excel技能。 2. 制作和销售Excel模板&#xff1a;你可以根据市…...

vscode和jetbrains IDEA添加免费的gpt代码生成插件

vscode和jetbrains IDEA添加免费的gpt代码生成插件 VSCODE添加代码智能生成插件 一、打开vscode添加扩展 打开vscode&#xff0c;点击扩展&#xff0c;搜索 aws toolkit ​​ 二、连接到AWS 如图&#xff0c;选择添加connectiong to aws 选择 Sign up or Sign in ​​ …...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...