【Linux基础】vim、常用指令、组管理和组权限

news2024/11/19 22:45:24

Linux基础

  • 1、目录结构
  • 2、vi和vim
  • 3、常用指令
    • 运行级别
    • 找回密码
    • 帮助指令
    • 时间日期指令
    • 搜索查找
    • 文件目录操作
    • 磁盘管理指令
    • 压缩和解压缩
  • 4、组管理和组权限
    • 用户操作指令
    • 权限

1、目录结构

Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
在Linux世界里面,一切皆为文件。Linux将计算机硬件做成文件进行管理。
此处介绍部分常用目录,了解即可:

  • /bin 是Binary的缩写,此目录存放常用命令
  • /sbin s为Super User的意思,存放系统管理员使用的系统管理程序
  • /home 存放普通用户的主目录,在系统中,每个用户都会有属于自己的目录
  • /root 系统管理员目录,也称做超级权限者的用户主目录
  • /lib 系统开机所需最基本的动态连接共享库
  • /etc 所有系统管理所需配置文件和子目录
  • /user 用户的众多应用程序和文件放于此目录
  • /boot 存放启动Linux时使用的核心文件,包括一些连接文件以及镜像文件

2、vi和vim

vi是Linux中内置的文本编辑器,而vim则是从vi中发展出来的,其本质同样为文本编辑器。
vim具有程序编辑的能力,可以看做是V的增强版本,可以主动的以字体颜色辨别语法的正确性方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vi和vim总共有三种模式:

  • 正常模式:用vim打开文件则直接进入该模式,该模式为默认模式。在此模式之中,可以使用键盘按键操控光标。
  • 插入模式:按下i 、I、o、O、a、A、r、R等任意字母后进入编辑模式。
  • 命令行模式:输入esc再输入**:**,在此模式中可以使用指令完成读取、存盘、替换、离开vim、显示行号等操作。

常用文件操作命令
创建或打开文件的指令为:

vim 文件名

读取指定文件:

cat 文件名

删除指定文件:

rm 文件名

命令模式中常用指令

  • :wq(保存并退出)
  • :q (仅退出)
  • :q! (强制退出)
  • :w (仅保存)
  • :set nu (显示行号)
  • :set paste(设置粘贴模式)

3、常用指令

运行级别

运行级别就是操作系统当前正在运行的功能级别,级别是从 0 到 6,另外加上S、s级别。
多数的桌面的 Linux 系统缺省的 runlevel 是 5,用户登陆时是图形界面,而多数的服务器版本的 Linux 系统缺省的 runlevel 是 3,用户登陆时是字符界面。

  • 运行级别0:关机,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护【找回丢失密码】
  • 运行级别2:多用户状态没有网络服务
  • 运行级别3:多用户状态有网络服务
  • 运行级别4:系统未使用,保留给用户
  • 运行级别5:图形界面
  • 运行级别6:系统重启,系统默认运行级别不能设为6,否则不能正常启动
  • S、s Single user mode

Single user mode(单用户模式):是在类似在Linux系统上工作时的一种拥有超级用户权限的模式。通常在开机选单给予1或S参数能进入这个模式。这个模式只在面对主机实体时才有机会透过开机选单进入,也因此确保超级权限授予的对象是能接触到主机的超级用户。此操作通常用于维护硬盘分区或更改超级用户密码等需在磁碟挂载前操作的维护。
关于单用户模式的简介和使用可以参考这篇文章,本文的定义也从此处引用:参考链接

涉及基本指令
切换运行级别

init 数字

查看当前运行级别

systemctl get-default

设置默认运行级别,系统内置默认3、5

systemctl set-default TARGET.target

找回密码

开机选择系统界面按下e,进入后找到对应位置,输入勾起的语句。
在这里插入图片描述
输入后按下ctrl+x,进入单用户模式。接着,在光标闪烁的位置中输入:mount -o remount, rw/(注意:各个单词间有空格),完成后按键盘的回车键(Enter)。
接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel(注意:touch与/后面有一个空格),完成后按键盘的回车键(Enter)
继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与/后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码。
完成后,系统会自动重启,新的密码生效了。

帮助指令

获得帮助信息

man 命令或配置文件

获得shell内置命令的帮助信息

help 命令

时间日期指令

date指令——显示当前日期
显示当前时间

date

显示当前年份

date + %Y

显示当前月份

date + %m

显示当前是哪一天

date + %d

显示显示显示当前年月日时分秒

date “+ %Y-%m-%d%H:%M:%S”

搜索查找

使用find指令进行搜索查找操作
按照指定的文件名查找模式查找该文件

find -name<查询方式>
find /home -name hello.txt  (查找home目录下的hello.txt文件)

查找属于指定用户名所有文件

find -user<用户名>
find/ -user nobody  (查找用户名为nobody的文件)

按照指定文件大小查找文件

find -size<文件大小>
find/ -size+200   (查找整个LInux系统下大于200M的文件,内容为+n则查找内容大于n、-n小于n、n等于n,单位有k、M、G)

locate快速定位文件路径

locate 搜索文件
locate hello.txt

文件目录操作

  • pwd (查看当前所在目录

  • cd (切换工作目录

  • mkdir (创建工作目录

  • mkdir -p 新目录的路径(创建多层

  • touch 文件名 (创建文件

  • rm(删除文件/文件夹):

    • -r (r选项表示递归,在删除文件.时必须使用-r)
    • -f (用户删除内容不会弹出提示表示force,强制删除。普通用有提示,所以一般普通用户只有root管理员用户删除内容用不到-f选项)
  • cat Linux路径(查询文件内容

  • cp [-r p] 参数1(表示:被复制的文件或文件夹) 参数2(表示:要复制去的地方)(语句作用:复制文件夹):

    • -r(复制目录,复制文件夹必须使用-r)
    • -p (保留文件属性)
  • mv 参数1 参数2 (移动文件/文件夹):参数1,Linux路径,表示被移动的文件或文件夹;参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在。

  • wc [-c -m -l -w] 文件路径(统计):

    • -l 统计行数
    • -w 统计单词数量
    • -c 统计bytes数量
    • -m 统计字符数量
  • echo 输出的内容(输出指定内容):被反引号**‘ ’**包围的内容会被当作命令执行,所以若要输出当前工作目录,要使用 echo ‘pwd`

  • history (查看已经执行过的历史命令,也可以执行历史指令

磁盘管理指令

Linux 磁盘管理好坏直接关系到整个系统的性能问题。
Linux 磁盘管理常用三个命令为 df、du 和 fdisk。

  • df(英文全称:disk free):列出文件系统的整体磁盘使用量
    df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
    选项与参数:
    • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
    • -k :以 KBytes 的容量显示各文件系统;
    • -m :以 MBytes 的容量显示各文件系统;
    • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
    • -H :以 M=1000K 取代 M=1024K 的进位方式;
    • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
    • -i :不用硬盘容量,而以 inode 的数量来显示
  • du(英文全称:disk used):检查磁盘空间使用量
    Linux du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍 Linux du 命令。
    选项与参数:
    • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
    • -h :以人们较易读的容量格式 (G/M) 显示;
    • -s :列出总量而已,而不列出每个各别的目录占用容量;
    • -S :不包括子目录下的总计,与 -s 有点差别。
    • -k :以 KBytes 列出容量显示;
    • -m :以 MBytes 列出容量显示;
  • fdisk:用于磁盘分区,fdisk 是 Linux 的磁盘分区表操作工具。
    选项与参数:
    • -l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。

压缩和解压缩

gzip指令用于压缩文件,只能将文件压缩为*.gz文件,gunzip指令用于解压。

gzip 文件
gunzip 文件.gz

zip指令用于压缩文件,unzip指令用于解压。
压缩文件和目录:

zip [选项]XXX.zip

常用选项:
-r:递归压缩,即压缩目录

解压缩文件:

unzip [选项]XXX.zip

常用选项:
-d<目录>:指定解压后的文件的存放目录

tar指定打包文件,最后打包好的文件为.tar.gz文件

tar [选项] XXX.tar.gz 打包内容

选项:

  • -c:产生.tar打包文件
  • -v:显示详细信息
  • -f:指定压缩后的文件名
  • -z:打包同时压缩
  • -x:解包.tar文件

4、组管理和组权限

用户操作指令

显示当前目录pwd
关机重启命令

Shutdown -h now   立刻进行关机
Shudown -h 1      1分钟后关机
Shutdown -r now   现在重新启动计算机
halt              关机,作用和上面一样。
reboot            现在重新启动计算机
sync              把内存的数据同步到磁盘

切换用户登录和注销
注意:登录时尽量少用root帐号登绿,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用su -用户名命令来切换成系统管理员身份。
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d。
注销用户:在提示符下输入logout
临时授权管理员身份
sudo 其他命令 (临时授权)
为普通用户配置sudo认证

  • 切换到root用户,执行visudo命令,自动通过vi打开:/etc/sudoers
  • 在文件最后添加:itheima ALL=(ALL)
  • NOPASSWD:ALL 其中NOPASSWD:ALL 表示使用sudo命令,无需使用密码
  • 通过wq指令保存退出 切换会普通用户
    ** 添加用户**
useradd 用户名
useradd -d 目录 用户名(指定用户文件的家目录)

添加、修改用户密码

passwd 用户名

修改密码

passwd 用户名

删除用户

userdel 用户名(保留用户家目录)
userdel -r 用户名(删除用户家目录)

查询用户

Id 用户名

查询当前用户

whoami

用户组

groupadd 组名 (新增组)
groupdel 组名 (删除组)
Useradd -g 用户组 用户名(增加用户时直接上组)
usermod -g 用户组 用户名 (修改用户的组)

改变用户所在组
在Linux中的每个用户必须属于一个组,不能独立组外。在linux中每个文件有所有者、所在组、其它组的概念。

usermod -g 组名 用户名
Usermod -d 目录名 用户名 改变该用户登陆的初始目录。

权限

  • 文件/目录所有者般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
  • 除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。改变用户所在组在添加用户时,可以指定将该用户添加到哪个组中,同样的,用root的管理权限可以改变某个用户所在的组。

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
在这里插入图片描述
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。
使用权限 : 所有使用者
语法

chmod [-cfvR] [--help] [--version] mode file...

mode : 权限设定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • ‘+’ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
    以上内容来源链接为菜鸟教程

权限数字表示
权限可以采用数字进行表示。第一位表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。
在这里插入图片描述
修改权限

chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
chgrp newgroup 文件/目录 改变所有组

-R 如果是目录则使其下所有子文件或目录递归生效

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

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

相关文章

《Docker 简易速速上手小册》第7章 高级容器管理(2024 最新版)

文章目录 7.1 容器监控与日志7.1.1 重点基础知识7.1.2 重点案例&#xff1a;监控 Flask 应用7.1.3 拓展案例 1&#xff1a;使用 ELK Stack 收集和分析日志7.1.4 拓展案例 2&#xff1a;使用集成监控工具 7.2 性能调优与资源限制7.2.1 重点基础知识7.2.2 重点案例&#xff1a;Fl…

爬取链家二手房房价数据存入mongodb并进行分析

实验目的 1.使用python将爬虫数据存入mongodb&#xff1b; 2.使用python读取mongodb数据并进行可视化分析。 实验原理 MongoDB是文档数据库&#xff0c;采用BSON的结构来存储数据。在文档中可嵌套其他文档类型&#xff0c;使得MongoDB具有很强的数据描述能力。本节案例使用的…

Flutter Slider自定义滑块样式 Slider的label标签框常显示

1、自定义Slider滑块样式 Flutter Slider控件的滑块系统样式是一个圆点&#xff0c;thumbShape默认样式是RoundSliderThumbShape&#xff0c;如果想要使用其它的样式就需要自定义一下thumbShape&#xff1b; 例如需要一个上图样式的&#xff08;圆点半透明圆形边框&#xff09…

Springboot+vue的社区医疗综合服务平台(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的社区医疗综合服务平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的社区医疗综合服务平台&#xff0c;采用M&#xff08;m…

Debezium发布历史149

原文地址&#xff1a; https://debezium.io/blog/2023/06/21/debezium-2-3-final-released/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Debezium 2.3.0.Final Released June 21, 2023 by Chris Cranford re…

平衡,才是世界生生不息的真谛

凤凰涅槃&#xff0c;浴火重生。这句话是很有哲理的&#xff0c;可以运用到命运中。而对于命运&#xff0c;以中为最好&#xff0c;即是平衡。然而&#xff0c;每一个人&#xff0c;都是要经历命运的锤炼&#xff0c;无论怎样锤炼&#xff0c;都要保持一颗善良的心&#xff0c;…

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址&#xff1a;【黑马程序员前端TypeScript教程&#xff0c;TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…

2024年最新汉化版电脑数据恢复软件EasyRecovery易恢复14

一、功能特点 2024 EasyRecovery易恢复软件&#xff0c;是一款广受欢迎的数据恢复工具。其全面的功能特点让它在数据恢复领域占有一席之地。 EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win最新版本下载:https://wm.makeding.c…

MATLAB环境下基于粒子群优化算法和离散小波变换的心电信号降噪

由于现实环境的复杂性以及信号获取设备的非理想特性等原因&#xff0c;导致人们在获得信号的过程中会引入各种各样的噪声成分&#xff0c;这不但会使得信号质量达不到实际要求&#xff0c;而且会掩盖信号中的重要细节。这也就要求我们在对数字信号进行具体地分析处理之前&#…

第九篇【传奇开心果系列】python文本和语音相互转换库技术点案例示例:SpeechRecognitio库开发会议记录和转录工具经典案例

传奇开心果博文系列 系列博文目录python文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、SpeechRecognition库多种语音识别引擎支持示例代码四、SpeechRecognition库实时语音转录示例代码五、SpeechRecognitio库转录文本中提取关键词…

改进Yolov5目标检测与单目测距 yolo速度测量-pyqt界面-yolo添加注意力机制

当设计一个结合了 YOLOv5 目标检测、单目测距与速度测量以及 PyQt 界面的毕业设计时&#xff0c;需要考虑以下几个方面的具体细节&#xff1a; 计算机视觉、图像处理、毕业辅导、作业帮助、代码获取&#xff0c;私聊会回复! YOLOv5 目标检测&#xff1a; 首先&#xff0c;选择…

【Java程序设计】【C00312】基于Springboot的无人智慧超市管理系统(有论文)

基于Springboot的无人智慧超市管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的智慧无人超市管理系统&#xff0c;本系统有管理员、用户二种角色权限&#xff1b; 管理员&#xff1a;系统首页、个人中心、…

Java EE改名Jakarta EE,jakarta对程序开发的影响

一、前言 很多Java程序员在使用新版本的Spring6或者springboot3版本的时候&#xff0c;发现了一些叫jakarta的包。我在阅读开源工作流引擎camunda源代码的时候&#xff0c;也发展了大量jakarta的工程包。 比如&#xff1a;camunda的webapps编译工程就提供了2种方式javax和jaka…

美国硅谷大带宽服务器|大带宽服务器租赁贵吗?

在数字化时代&#xff0c;服务器成为了支撑各种在线业务和应用程序的重要基石。尤其对于那些需要处理大量数据、保证快速响应和稳定连接的企业或个人来说&#xff0c;大带宽服务器成为了不可或缺的选择。而美国硅谷&#xff0c;作为全球科技创新的摇篮&#xff0c;其服务器租赁…

Mysql--索引分类

Mysql--索引分类 1. 索引分类2. 聚集索引&二级索引 1. 索引分类 在MySQL数据库&#xff0c;将索引的具体类型主要分为以下几类&#xff1a;主键索引、唯一索引、常规索引、全文索引。 2. 聚集索引&二级索引 而在在InnoDB存储引擎中&#xff0c;根据索引的存储形式&am…

机器学习基础(五)监督与非监督学习的结合

导语&#xff1a;上一节我们详细探索非监督学习的进阶应用&#xff0c;详情可见&#xff1a; 机器学习基础&#xff08;四&#xff09;非监督学习的进阶探索-CSDN博客文章浏览阅读613次&#xff0c;点赞15次&#xff0c;收藏13次。非监督学习像一位探险家&#xff0c;挖掘未标…

通过底层原理理解Java是值传递还是引用传递?

本文学习目标或者巩固的知识点 参数传递方式 值传递引用传递指针传递 彻底理解Java的值传递和引用传递 从底层的角度分析值传递会发生复制行为 Java的参数传递例子 快手的一面面试曾经问到过此类题目&#xff0c;所以记下此篇加深印象。 问&#xff1a;求下面main方法中的输…

用c# 自己封装的Modbus工具类库源码

前言 Modbus通讯协议在工控行业的应用是很多的&#xff0c;并且也是上位机开发的基本技能之一。相关的类库也很多也很好用。以前只负责用&#xff0c;对其并没有深入学习和了解。前段时间有点空就在这块挖了挖。想做到知其然还要知其所以然。所以就有了自己封装的Modbus工具类库…

【鸿蒙开发】第十四章 Stage模型应用组件-任务Mission

1 任务(Mission)管理场景 任务&#xff08;Mission&#xff09;管理相关的基本概念如下&#xff1a; AbilityRecord&#xff1a;系统服务侧管理一个UIAbility实例的最小单元&#xff0c;对应一个应用侧的UIAbility组件实例。系统服务侧管理UIAbility实例数量上限为512个。 Mi…

C# winfroms使用socket客户端服务端代码详解

文章目录 1️⃣ 通信相关说明1.1服务端与客户端1.2 信息发送原理1.3 信息接收原理 2️⃣ socket代码2.1 客户端代码2.2 服务端代码 3️⃣ 定时任务处理报文3.1 Timers定时任务 优质资源分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_4315141…