3-Linux实操

news2024/11/26 5:47:19

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

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

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

相关文章

新能源汽车直流充电桩和交流充电桩的区别

直流充电桩和交流充电桩的区别 你是否曾经想过,为什么有的电动汽车可以在半小时内充满电,而有的却需要几个小时?其实,这都取决于它们所使用的充电桩的不同。那么,直流充电桩和交流充电桩到底有哪些区别呢? 首先,工作…

网络变压器配套使用的网口连接器的选型注意事项及选购关注要点

Hqst盈盛(华强盛)电子导读:采购人员在网口连接器选型中如何选用到合适的产品,选用时要注意到哪些事项,这节将结合网口连接器实物和大家一起探讨,希望对大家有些帮助。 我们可以通过对下面五个方面的详细了解…

网工内推 | 售前、售后工程师,IE认证优先

01 广州佳杰科技有限公司 招聘岗位:IT售前工程师 职责描述: 1、负责所在区域 IT 产品的售前技术支持工作,包括客户交流、方案编写、配置报价、投标应标、测试、赋能等; 2、与厂商相关人员建立和保持良好的关系,相互配合,提高项目成功率和厂商满意度; 3、…

每日一题——链表中倒数最后k个结点

题目 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 数据范围:0≤n≤$105,0≤ai≤109,0≤k≤109 要求:…

MongoDB索引结构,到底是B-Tree还是B+Tree,请看这里!!

起因 网上关于MongoDB的索引结构到底是b树,还是b树的争论有很多,无法统一结论。 由来 MongoDB从3.2版本开始默认采用了WiredTiger存储引擎,网上很多说法是此引擎是BTree的索引结构,甚至有图有真相。但是认为MongoDB一直是B-Tre…

Docker compose(容器编排)

Docker compose(容器编排) 一、安装Docker compose 1.安装Docker compose Docker Compose 环境安装 Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose#下载 curl -L https://github.com/docker/co…

htmlCSS-----定位

目录 前言 定位 分类和取值 定位的取值 1.相对定位 2.绝对位置 元素居中操作 3.固定定位 前言 今天我们来学习html&CSS中的元素的定位,通过元素的定位我们可以去更好的将盒子放到我们想要的位置,下面就一起来看看吧! 定位 定位posi…

HR SaaS厂商,进入决赛圈

在愈发需要降本增效的节点,数字化的价值也更在被越来越多的企业重新审视,这种重视不再是之前或有或无的可选项,而是基于真正人效比维度的必选项 作者|斗斗 编辑|皮爷 出品|产业家 SaaS行业,正在发生一些微妙的变化。 以HR …

如何提高小程序UV?实用策略助你增加用户规模和活跃度

摘要:小程序的UV(Unique Visitors)是衡量用户规模和活跃度的重要指标,对于开发者和运营者来说具有重要意义。本文将分享一些实用策略,帮助你提高小程序的UV,增加用户规模和活跃度。从优化推广渠道、提升用户…

css实现鼠标滑动左下角弹框带动画效果

代码 <div classNamekuang></div> css代码 .kuang {height: 500px;width: 400px;// background-color: #fff;position: absolute;z-index: 10;bottom: 0;transform: translateX(-390px)}.kuang:hover {animation: myanimation 3s linear 1;animation-fill-mode:f…

LT9211C 是一款MIPI/RGB/2PORT LVDS互转的芯片

LT9211C 1.描述&#xff1a; Lontium LT9211C是一个高性能转换器&#xff0c;可以在MIPI DSI/CSI-2/双端口LVDS和TTL之间相互转换&#xff0c;除了24位TTL到24位TTL&#xff0c;并且不推荐同步和DE的2端口10位LVDS和24位TTL之间的转换。LT9211C反序列化输入的MIPI/LVDS/TTL视…

认识雪花id

首先,个人理解,雪花id不是全球的,它只能保证一个分布式服务的范围内的ID是不重复的. 一.SnowFlake 雪花算法 SnowFlake 中文意思为雪花&#xff0c;故称为雪花算法。最早是 Twitter 公司在其内部用于分布式环境下生成唯一 ID。在2014年开源 scala 语言版本。 雪花算法的原理…

项目经理好,还是产品经理好?

我首先介绍一下产品经理和项目经理的区别&#xff0c;然后再说一下产品经理和项目经理的薪资差距&#xff0c;然后你自己决定做产品经理还是项目经理。 1、产品经理和项目经理的区别&#xff1a; 产品经理和项目经理的不同之处在于&#xff0c;产品经理注重思考&#xff0c;关…

操作系统18:磁盘I/O速度、磁盘可靠性、数据一致性

目录 1、提高磁盘I/O速度的途径 &#xff08;1&#xff09;磁盘高速缓存(Disk Cache) 1.1 - 数据交付(Data Delivery)方式 1.2 - 置换算法 1.3 - 周期性地写回磁盘 &#xff08;2&#xff09;提高磁盘I/O速度的其它方法 2.1 - 提前读 2.2 - 延迟写 2.3 - 优化物理块的…

存储简单了解

存储目前常用的有磁盘&#xff08;磁性存储器&#xff09;和固态硬盘&#xff08;半导体存储器&#xff09; 磁盘由盘片&#xff0c;磁头和移动磁头的机械装置组成。磁盘从空间结构上分为扇区和磁道&#xff0c;每个扇区存储大小一致。 固态硬盘由多个闪存芯片组成&#xff0c;…

性能测试怎么做?一文从5个方面带你做性能测试

大家好&#xff0c;今天小濠从5个方面来介绍性能测试 一、什么是性能测试 二、性能测试的目的 三、如何做性能测试 四、性能测试关注的指标 五、性能结果分析 一、什么是性能测试 是不断的通过不同场景的系统表现去探究系统设计与资源消耗之间的平衡。 我们可以认为性能测试是…

ARM day8 key1/2/3led

key_led.h #ifndef _KEY_H_ #define _KEY_H_#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//EXTI编号 typedef enum {EXTI0,EXTI1,EXTI2,EXTI3,EXTI4,EXTI5,…

D. Maximum Subarray

Problem - 1796D - Codeforces 思路&#xff1a;想了个假dp做法推了半天&#xff0c;果然是dp。考虑用dp[i][j]表示以i结尾的&#xff0c;并且选择j个&#xff0b;x的最长连续子序列&#xff0c;那么如果我不选择第i位&#xff0c;那么会有f[i][j]max(w[i]-x,f[i-1][j]w[i]-x)&…

理解基本的Android编程(2/2)

6、Android Activity 活动代表了一个具有用户界面的单一屏幕&#xff0c;如 Java 的窗口或者帧。 如果你曾经用 C,C 或者 Java 语言编程&#xff0c;你应该知道这些程序从 main() 函数开始。很类似的&#xff0c;Android 系统初始化它的程序是通过活动中的 onCreate() 回调的…

IO进程线程day2(2023.7.26)

一、Xmind整理&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;全缓冲 //由于编译器优化&#xff0c;只打开不操作&#xff0c;此时不会真正申请缓冲区。 fputc(a, fp); printf("%ld\n", fp->_IO_buf_end - fp->_IO_buf_base ); 刷新条件&#xff…