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

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 如果是目录则使其下所有子文件或目录递归生效

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

StarRocks——滴滴OLAP的技术实践与发展方向

原文大佬的这篇StarRocks实践文章整体写的很深入&#xff0c;介绍了StarRocks数仓架构设计、物化视图加速实时看板、全局字典精确去重等内容&#xff0c;这里直接摘抄下来用作学习和知识沉淀。 目录 一、背景介绍 1.1 滴滴OLAP的发展历程 1.2 OLAP引擎存在的痛点 1.2.1 运维…

K线实战分析系列之十:市场进入犹豫不定状态——孕线形态

K线实战分析系列之十&#xff1a;市场进入犹豫不定状态——孕线形态 一、重要反转形态二、其他反转形态三、孕线形态四、孕线形态和吞没形态的区别五、十字孕线形态六、总结孕线形态 一、重要反转形态 伞形线吞没形态乌云盖顶刺透形态启明星形态黄昏星形态十字启明星与十字黄昏…

Java之线程池:线程池常用类、接口;线程池执行流程,配置参数,分类

线程池 什么是线程池&#xff1f; 线程池&#xff1a;一种基于池化思想管理和使用线程的机制 线程池常用类和接口 ExecutorService接口&#xff1a;进行线程池的操作访问Executors类&#xff1a;创建线程池的工具类ThreadPoolExecutor及其子类&#xff1a;封装线程池的核心参…

K线实战分析系列之九:顶底判断——流星和倒锤子线

K线实战分析系列之九&#xff1a;顶底判断——流星和倒锤子线 一、流星线二、倒锤子线三、总结流星形态和倒锤子形态 一、流星线 主要特征是实体比较小&#xff0c;位于低端位置&#xff0c;带着长上影线&#xff0c;就像流星划过天际时&#xff0c;拖着一个长长的尾巴&#xf…

Unity(第三部)新手绘制地形

1、创建地形 游戏对象3d对象地形 2、功能 1、 红框内按键为创建相邻地形、点击后相近地形会呈现高亮框、点击高亮区域可以快速创建地形 每块地形面积是1km*1km 2、第二个按钮是修改地形 下面的选择是修改类型 选项含义描述Raise or Lower Terrain升高或降低地形单击左键可…

STM32 TCP实现OTA

芯片&#xff1a;stm32f407 开发平台&#xff1a;stm32cubeide 上位机开发平台&#xff1a;visual studio 2017 1. FLASH分配 将flash划分为四个部分&#xff1a; bootloader: 0x8000000-0x800ffff app1: 0x8010000-0x805ffff app2: …

GEE入门篇|遥感专业术语(实践操作3):时间分辨率(Temporal Resolution)

目录 时间分辨率&#xff08;Temporal Resolution&#xff09; 1.Landsat 2.Sentinel-2 时间分辨率&#xff08;Temporal Resolution&#xff09; 时间分辨率是指特定传感器图像流的重访时间或时间节奏&#xff0c;重访时间是指卫星连续访问地球表面同一位置…

程序员副业接单做私活避坑指南

最近有不少读者私信我想接私活&#xff0c;想赚外快。 这篇文章系统的分享了对接单做私活这件事情的思考&#xff0c;也给出一些干货建议。希望让大家少走一些弯路&#xff0c;不要被坑。 先说结论 不建议大家在接单这个事情上投入太大精力&#xff0c;如果你“贼心不改”&am…

Nginx基本操作

目录 引言 一、Nginx配置文件详解 &#xff08;一&#xff09;配置文件 &#xff08;二&#xff09;模块 二、全局配置文件 &#xff08;一&#xff09;关闭版本或修改版本 1.关闭版本号 2.修改版本信息 &#xff08;二&#xff09;修改启动的进程数 &#xff08;三&…

MongoDB之客户端工具与核心概念及基本类型篇

MongoDB之客户端工具与核心概念及基本类型篇 文章目录 MongoDB之客户端工具与核心概念及基本类型篇1. MongoDB是什么?1. 关于MongoDB2. 相关客户端工具1. MongoDB Compass2. Studio 3T3. Navicat for MongoDB4. NoSQL Manager for MongoDB Professional 2.MongoDB相关概念2.1 …

Linux安装JDK,Tomcat,MySQL的安装以及项目部署

一、jdk安装配置 传入资源 连接后&#xff0c;创建存放资源的文件&#xff0c;将jdk&#xff0c;tomcat&#xff0c;Mysql的压缩包复制到文件中。 输入命令: cd javaCloudJun/software (进入要文件中) 输入命令 : pwd (查看当前的文件路径) 将文件路径复制到左边的搜索框中…

接口测试实战--自动化测试流程

一、项目前期准备 常见项目软件架构: springMvc:tomcat里运行war包(在webapps目录下) springboot:java -jar xx.jar -xms(**) 运行参数 springCloud:k8s部署,使用kubectl create -f xx.yaml 接口自动化测试介入需越早越好,只要api定义好就可以编写自动化脚本; 某个…

掌握BeautifulSoup4:爬虫解析器的基础与实战【第91篇—BeautifulSoup4】

掌握BeautifulSoup4&#xff1a;爬虫解析器的基础与实战 网络上的信息浩如烟海&#xff0c;而爬虫技术正是帮助我们从中获取有用信息的重要工具。在爬虫过程中&#xff0c;解析HTML页面是一个关键步骤&#xff0c;而BeautifulSoup4正是一款功能强大的解析器&#xff0c;能够轻…

typecho 给文章创建目录树

受益于 shortcode 短代码插件和泽泽短代码中目录树的显示样式&#xff0c;形成了自己实现添加文章目录的思路&#xff1a; 一、文章目录树的结构 <div id"toc"><div class"toc-left"><div class"toc-btn" type"button&quo…

1.QT简介(介绍、安装,项目创建等)

1. QT介绍 Qt&#xff08;官方发音 [kju:t]&#xff09;是一个跨平台的C开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;程序 Qt 是纯 C 开发的&#xff0c;正常情况下需要先学习C语言、然后在学习C然后才能使用…

三院院士 Michael I. Jordan 指出:大模型在两个方向仍需 “努力“,补充过度自信问题和逆转诅咒问题

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 三院院士 Michael I. Jordan 指出&#xff1a;大模型在两个方向仍需 “努力“ Michael I. Jordan 的个人主页&#xff1a;https://people.eecs.berkeley.edu/~jordan/ 回顾过去的一年&#xff0c;大模…

【数据结构和算法初阶(c语言)】数据结构前言,初识数据结构(给你一个选择学习数据结构和算法的理由)

1.何为数据结构 数据结构(Data Structure)是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的 数据元素的集合。本质来讲就是在内存中去管理数据方式比如我们的增删查改。在内存中管理数据的方式有很多种&#xff08;比如数组结构、链式结构、树型结…

【Spring MVC】处理器映射器:AbstractHandlerMethodMapping源码分析

目录 一、继承体系 二、HandlerMapping 三、AbstractHandlerMapping 四、AbstractHandlerMethodMapping 4.1 成员属性 4.1.1 MappingRegistry内部类 4.2 AbstractHandlerMethodMapping的初始化 4.3 getHandlerInternal()方法&#xff1a;根据当前的请求url&#xff0c;…

linux安装sqoop

目录 下载配置 下载 本地下载好上传&#xff0c;解压&#xff0c;重命名&#xff0c;注意路径 tar -zxvf /opt/sqoop/sqoop-1.4.6.tar.gz -C /opt/ mv /opt/sqoop-1.4.6.bin__hadoop-2.0.4-alpha /opt/sqoop配置 环境变量 echo export SQOOP_HOME/opt/sqoop/ >> /etc…

FISCO BCOS(二)———配置及使用控制台

一、前言 FISCO BCOS是由金融区块链合作联盟&#xff08;深圳&#xff09;与微众银行共同发起的开源区块链项目&#xff0c;支持多链多账本&#xff0c;满足金融行业复杂业务需求。本文将介绍如何在Ubuntu操作系统上使用Linux命令配置FISCO BCOS的控制台并进行get/set操作。 目…