Linux从安装到实战 常用命令 Bash常用功能 用户和组管理

 

1.0初识Linux

1.1虚拟机介绍

1.2VMware Workstation虚拟化软件

下载CentOS;

1.3远程链接Linux系统 &FinalShell

链接finalshell半天没连接进去

他说ip adress 看IP地址是在虚拟机上

win11主机是 终端输入: ifconfig

VMware虚拟机的设置 & ssh连接_sngee的博客-CSDN博客_vmware ssh连接

瑞吉外卖:P122 等开学学这个的时候再看吧//不爱看了 直接看老师PPT把

1.4拓展WSL(Ubuntu)环境

编辑Win11>可选功能>更多Windows tmd! Ubuntu一直各种报错

1.5虚拟机快照(关机之后制作快照 效率高)

Ctrl+l 清屏快捷键;

学校内容:Shell命令概述

shell作用及常见种类

2.1-Linux目录结构

2.2-Linux命令基础

2.3-ls命令入门

2.4-ls命令的参数和选项 [-a -l -h]

蓝色,第一列开头d 表示文件夹; 白色,第一列开头-表示单个文件

Linux 基础-文件属性与权限_linux查看文件属性_嵌入式视觉的博客-CSDN博客

ls -al查看文件属性与权限

2.5-cd(切换目录)-pwd(查看当前目录)命令

2.6-相对/绝对路径&特殊路径符

2.7-mkdir&du命令

2.8-touch(创)-file-cat&more(查)

cat命令本来用于连接多个文件的内容,但在实际使用中更多的用于查看文件内容

当文件内容较多时,使用cat命令往往只能看到文件的最后一部分内容,而无法分页逐屏显示,

more命令结合管道操作使用时(例如:ls -R /etc | more)无法向上翻页,但less命令可以

在分页阅读界面中,到文件末尾时more命令会自动退出,less命令不会

more和less都可以用于分页查看文本内容,具体使用哪一个看用户习惯

2.9-cp-mv-rm-通配符

2.10-grep-wc-管道符|

wc test.txt ; 默认就是全读相当于”-lwc“,会同时统计行数、单词数、字节数(含空格、回车符号)

2(行数l) 11(单词数,根据空格判断w) 59(当前文件字节数目c) test.txt(文件路径) ;

2.11-which-find搜索

“echo $PATH”可以查看PATH变量指定的内容

按名称查找:关键字为“-name”,根据目标文件的部分名称查找,允许使用“*”及“?”通配符。

按文件大小查找:关键字为“-size”,根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括k(注意是小写)、M、G。

文件属主查找:关键字为“-user”,根据文件是否属于目标用户进行查找。

文件类型查找:关键字为“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)

2.12-echo(输出)-反引号'-

-重定向符>-head(头)tail(尾)

tail命令结合“-f”选项使用时,可以用于跟踪日志文件末尾的内容变化,实时显示更新的日志内容

2.13-vi编辑器

1)命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作

2)输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息

3)末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符

ln建立连接-命令帮助

符号链接文件的作用相当于Windows系统中的“快捷方式”

对比讲解获得命令帮助的四个方法,使学员能够有效的获得命令的用法信息,为提高自学能力打下基础

man命令不仅能够查看命令帮助,还能够查看配置文件帮助,例如“man resolv.conf”

本页重点演示help、man的用法

Bash-3.1 中l默认包括56条内部指令:

bash, :, ., [, alias, bg, bind, break, builtin, cd, command, compgen,

complete, continue, declare, dirs, disown, echo, enable, eval, exec,

exit, export, fc, fg, getopts, hash, help, history, jobs, kill, let,

local, logout, popd, printf, pushd, pwd, read, readonly, return, set,

shift, shopt, source, suspend, test, times, trap, type, typeset,

ulimit, umask, unalias, unset, wait

Help cd ----bash内部命令

Ls –help

Man ls man cd

Info ls

gzip&bzip2-tar

对比讲解gzip和bzip2命令的用法,注意说明生成文件的后缀名称

gzip和bzip2命令使用的压缩算法有一定区别,但命令使用格式基本类似,通常认为bzip2的压缩效率要更好一些

这两个命令工具通常并不单独使用,而是与tar命令结合起来使用

tar命令详解

制作归档文件的意思是将许多零散的文件做成一个包(可以压缩,也可以不压缩)

小写字母“-p”选项用于保持原始文件权限等信息,大写字母“-P”选项用于保持原始文件的绝对路径,参考“man tar”帮助

使用tar命令时,选项前的“-”号引导字符可以省略

在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(见下页),以便节省磁盘空间,

less命令是对文件或其它输出进行分页显示的工具

Bash常用功能

命令历史

正确使用历史命令可以有效提高命令行输入的效率,例如:如果之前不久执行过“service network restart”命令,则重新修改了网卡的配置文件以后,通常只需要执行“!ser”操作即可调用该历史命令,以重启network服务

合理控制历史命令的条数可以提高安全性,root用户的命令历史一般建议设置为少于100条

命令别名

手动使用alias命令设置的别名只在当前Shell环境中有效

若需每次登录Shell环境时设置的别名都有效,需要修改宿主目录中的“.bashrc”文件,添加相应别名设置

正则表达式

创建grep命令

管道和重定向

Bash的标准输入输出

Linux系统是使用文件来描述系统的硬件、设备等资源的(例如已经学习过的硬盘、分区、光盘等)

充分了解输入输出设备可以更好的理解Shell的运行,为学习重定向操作、灵活编写系统管理脚本作好铺垫

/dev/stdin、/dev/stdout、/dev/stderr 这三个文件实际上也是一个符号链接,为了便于学员理解,这里无需讲解实际位置

Bash的重定向操作

在实际的Linux操作过程中,也可以变更输入输出内容的方向,而并不使用默认的标准输入输出设备(键盘和显示器),这种操作称为“重定向”

输出重定向实例

Bash的管道操作

awk命令用于以空格或制表位作为分隔,输出指定区域的字段数据,例如 ‘{print $2,$4}’ 表示只输出第2、4个字段的数据内容

关于awk命令的其他帮助信息,请自行参阅man手册页

阶段练习

1. 列出 /usr/share/doc 中以数字4结尾的文件.

2. 打印 /etc/hosts 中包含数字的所有行

3. 打印 /etc/hosts 中包含 127.0.0.1 的行

4. 打印 /etc/passwd 中冒号之间是三位数的行

ls /usr/share/doc I grep ‘4$’

grep ‘[0-9]’ /etc/hosts

grep ‘127\.0\.0\.1’ /etc/hosts

grep ‘:[0-9][0-9][0-9]:’ /etc/passwd

3.0第五章 用户和组管理

root用户的UID的固定值为0、root组帐号的GID号为固定值0

1~499的UID、GID默认保留给程序用户使用,普通用户/组使用的UID、GID号在500~60000之间

3.0.1用户账号文件-passwd-shadow

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改

在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患

后来经改进后,将密码转存入专门的shadow文件中(见下页)并严格控制权限,而passwd文件中仅保留密码占位符“x”

默认只有root用户能够读取文件中的内容,并且不允许root直接编辑该文件中的内容

上次修改密码的时间,表示从1970年01月01日(可理解为Unix系统的诞生日)算起到最近一次修改密码时间隔的天数

useradd-用户初始配置文件

设置/更改用户口令-passwd

“未设置密码”的用户帐号尚未完成初始化,处于不可登录状态,这与“空密码”的情况(已经为用户设置密码,但密码字串为空)是不同的

—— “未设置密码”的用户将被禁止登录系统,而拥有“空密码”的用户是可以在本地终端登录的

普通用户也可以使用passwd命令,但只能更改自己的密码,密码要求有一定的复杂性(如不要直接使用英文单词,长度保持在6位以上),否则系统可能拒绝进行设置

usermod修改-userdel删除用户账号

chage改变用户密码期限

Chage –d 0 用户账号名 ----过期密码(下次登陆前必须更改密码)----等同于命令:passwd –e

Chage -l 用户账号名 -----查看该用户的密码信息

Chage –E 0马上过去,-1 永不过期

3.0.2组帐号文件 -group、gshadow

组帐号相关的配置文件也有2个,分别是/etc/group、/etc/gshadow

/etc/gshadow文件的应用极少,仅作简单介绍即可

group文件内的最后一个字段中列出属于该组的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔

amp 群组是添加 lamp 用户时默认创建的群组,在 root 管理员使用 useradd 命令创建新用户时,若未明确指定该命令所属的初始组,useradd 命令会默认创建一个同用户名相同的群组,作为该用户的初始组。正因为 lamp 群组是 lamp 用户的初始组,该用户一登陆就会自动获取相应权限,因此不需要在 /etc/group 的第 4 个字段额外标注。但是,附加组就不一样了,从例子中可以看到,我们将 lamp 用户加入 users 群组中,由于 users 这个群组并不是 lamp 的初始组,因此必须要在 /etc/group 这个文件中找到 users 那一行,将 lamp 这个用户加入第 4 段中(群组包含的所有用户),这样 lamp 用户才算是真正加入到 users 这个群组中。在这个例子中,因为 lamp 用户同时属于 lamp 和users 两个群组,所在,在读取\写入\运行文件时,只要是 user 和 lamp 群组拥有的功能,lamp 用户都拥有。一个用户可以所属多个附加组,但只能有一个初始组。那么,如何知道某用户所属哪些群组呢?使用 groups 命令即可。例如,我们现在以 lamp 用户的身份登录系统,通过执行如下命令即可知晓当前用户所属的全部群组:[root@localhost ~]# groupslamp users

通过以上输出信息可以得知,lamp 用户同时属于 lamp 群组和 users 群组,而且,第一个出现的为用户的初始组,后面的都是附加组,所以 lamp 用户的初始组为 lamp 群组,附加组为 users 群组。

添加组帐号

添加、删除组成员

使用“-M”选项时可以为指定组帐号定义成员列表(注意:会覆盖原有组成员),需要添加多个用户到指定的组中时非常方便

3.1-root用户-su-sudo

切换root用户:

su - root

123456

退回普通用户: exit或Ctrl+d

sql链接Linux

sudo命令

可以让一条普通命令带有root权限,语法:

需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限

3.2-用户和用户组

用户管理

getent-查看有哪些用户

3.3-查看权限控制信息

认知权限信息

rwx

案例

3.4-chmod命令

权限的数字序号

3.5-chown命令设置文件/目录的归属

需要设置文件或者目录的归属时,可以通过chown、chgrp命令进行

chown命令既可以修改属主,也可以修改属组,而chgrp命令只用于修改属组信息(因此并不常用

!粘滞位SBIT

粘滞位主要是为公共目录(例如权限为777的)设置,作用是用户不能删除该目录中其他用户的文件(root用户除外)。sticky只对目录有效

SUID-SGID

如果现在需要在一个部门内设置共享目录,让部门内的所有人员都能够读取目录中的内容,那么就可以创建部门共享目录后,在该目录上设置SGID特殊权限位。这样,部门内的任何人员在里面创建的任何文件都会归属于该目录的所属组,而不再是自己的基本用户组。

ACL

也就是说,如果你有一个目录,需要给一堆人使用,每个人或每个群组所需要的权限并不相同时,在过去,传统的Linux三种身份的三种权限是无法达到的,因为基本上,传统的Linux权限只能针对一个用户、一个群组及非此群组的其他人设定权限而己,无法针对单一用户或个人来设计权限。而ACL的出现就是为了解决这个问题,实现更加细化的账户文件权限控制。

SUID:当设置了SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。chmod u+s 文件

SGID:与上面的内容类似。用于设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的组属性.文件运行时运行者将具有所属组的特权chmod g+s 目录(针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的

)sticky-bit:该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除其他用户创建的文件。sticky 位要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映象。这样做是为了节省大型程序的启动时间。但是会占用系统资源

粘滞位权限便是针对此种情况设置,当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,正好可以保持⼀种动态的平衡:允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据

Chmod o+t /tmp

对于目录,默认权限=777-umask对于文件,默认权限=666-umask(文件默认无执行权限)

Umask 看权限

Umask –p 0022 (即目录是755,文件是644) 第一个0不用管

设定了ACL权限之后,我们查看该文件权限的时候会发现多了一个+号。

# 删除acltest1的所有acl权限设置

setfacl -b acltest1

tune2fs是linux下面重要的文件系统调整工具,其中的几个选项解释如下:

-c:表示文件系统在mount次数达到设定后,需要运行fsck检查文件系统。-i:文件系统的检查间隔时间。系统在达到时间间隔时,自动检查文件系统。-l:显示文件系统的很多参数。-j:转换为ext3文件系统。-m: Set the percentage of reserved filesystem blocks。 设置保留的空间百分比-o: Set or clear the indicated default mount options in the filesystem.设置默认加载参数

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Pytorch]卷积运算conv2d

文章目录 [Pytorch]卷积运算conv2d一.F.Conv2d二.nn.Conv2d三.nn.Conv2d的运算过程 [Pytorch]卷积运算conv2d 一.F.Conv2d torch.nn.functional.Conv2d()的详细参数: conv2d(input: Tensor, weight: Tensor, bias: Optional[Tensor]None, stride: Union[_int, _s…

如何在 Android 上恢复已删除的视频|快速找回丢失的记忆

想知道是否有任何成功的方法可以从 Android 手机中检索已删除的视频?好吧,本指南将向您展示分步说明,让您轻松从手机中找回丢失的视频文件! 您是否不小心从 Android 智能手机中删除了珍贵的生日视频?难道是无处可寻吗…

【计算机视觉|语音分离】期望在嘈杂环境中聆听:一个用于语音分离的不依赖于讲话者的“音频-视觉模型”

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Looking to Listen at the Cocktail Party: A Speaker-Independent Audio-Visual Model for Speech Separation 链接:Looking to listen at the cocktail party: a speaker-in…

驱动工作原理

驱动原理 在Linux操作系统中,硬件驱动程序中实现对硬件直接操作,而用户空间,通过通用的系统调用接口(open() 打开相应的驱动设备,ioctl()控制相应的功能等),实现对硬件操作,应用程序没有直接操作…

MySQL事务管理

MySQL事务管理 MySQL增删查改时的问题一.什么是事务?二.为什么会出现事务?三.事务的其他属性1. 事务的版本支持2. 事务的提交方式 四.事务的准备工作五.事务的操作1. 事务的正常操作2. 事务的异常验证与产出结论 六.事务的隔离级别1. 事务隔离级别概念2.…

Linux-centos花生壳实现内网穿透

Linux-centos花生壳实现内网穿透 官网教程 1.安装花生壳 下载网址 点击复制就可以复制下载命令了 wget "https://dl.oray.com/hsk/linux/phddns_5.2.0_amd64.rpm" -O phddns_5.2.0_amd64.rpm# 下载完成之后会多一个rpm文件 [rootlocalhost HuaSheng]# ls phddns_…

ios_base::out和ios::out、ios_base::in和ios::in、ios_base::app和ios::app等之间有什么区别吗?

2023年8月2日,周三晚上 今天我看到了这样的两行代码: std::ofstream file("example.txt", std::ios_base::out);std::ofstream file("example.txt", std::ios::out);这让我产生了几个疑问: 为什么有时候用ios_base::o…

一篇文章了解类成员定义表结构

文章目录 一篇文章了解类成员定义表结构 %Dictionary.ClassDefinition - 类定义表简介索引示例表结构 %Dictionary.ForeignKeyDefinition - 外键定义表简介索引示例表结构 %Dictionary.IndexDefinition - 索引定义表简介索引示例表结构 %Dictionary.MethodDefinition - 方法定义…

前端js--旋转幻灯片

效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><link rel"stylesheet" href"…

基于RASC的keil电子时钟制作(瑞萨RA)(8)----按键修改数码管时间

基于RASC的keil电子时钟制作8_按键修改数码管时间 概述硬件准备视频教程配置按键管脚按键设置主程序timer_smg.ctimer_smg.h 概述 前几节课程已经单独驱动了数码管和RTC&#xff0c;同时已经整合成了能够用数码管显示具体时间&#xff0c;但是无法修改时间&#xff0c;这节就来…

【C# 基础精讲】为什么选择C# ?

C#&#xff08;C Sharp&#xff09;是由微软开发的一种通用、面向对象的编程语言。它最初于2000年发布&#xff0c;自那时以来逐渐成为开发者的首选之一。C#的设计目标是提供一种简单、现代、可靠且安全的编程语言&#xff0c;使开发者能够轻松构建各种类型的应用程序。 为什么…

Android Studio 的Gradle版本修改

使用Android Studio构建项目时&#xff0c;需要配置Gradle&#xff0c;与Gradle插件。 Gradle是一个构建工具&#xff0c;用于管理和自动化Android项目的构建过程。它使用Groovy或Kotlin作为脚本语言&#xff0c;并提供了强大的配置能力来定义项目的依赖关系、编译选项、打包方…

Python-flask项目入门

一、flask对于简单搭建一个基于python语言-的web项目非常简单 二、项目目录 示例代码 git路径 三、代码介绍 1、安装pip依赖 通过pip插入数据驱动依赖pip install flask-sqlalchemy 和 pip install pymysql 2.配置数据源 config.py DIALECT mysql DRIVER pymysql USERN…

抖音seo矩阵系统源代码开发搭建技术分享

抖音SEO矩阵系统是一个较为复杂的系统&#xff0c;其开发和搭建需要掌握一定的技术。以下是一些技术分享&#xff1a; 技术分享 抖音SEO矩阵系统的源代码可以使用JAVA、Python、PHP等多种语言进行开发。其中&#xff0c;JAVA语言的应用较为广泛&#xff0c;因为JAVA语言有良好…

Stephen Wolfram:ChatGPT 的训练

The Training of ChatGPT ChatGPT 的训练 OK, so we’ve now given an outline of how ChatGPT works once it’s set up. But how did it get set up? How were all those 175 billion weights in its neural net determined? Basically they’re the result of very large…

《UNIX 传奇:历史与回忆》读后感

《UNIX 传奇&#xff1a;历史与回忆》 是 bwk&#xff08;Brian W. Kernighan&#xff09;2019 年的新作&#xff0c;回忆了 UNIX 在大半个世纪的风雨历程&#xff0c;是一本引人入胜的书籍。通过对 UNIX 操作系统的历史和发展进行详细的叙述和回顾&#xff0c;让我对这个操作系…

SpringBoot整合redis集群实现读写分离(哨兵模式)

1 首先要在Linux虚拟机上安装redis # 安装包存放目录 cd /usr/local/redis # 下载最新稳定版 wget https://download.redis.io/releases/redis-6.2.6.tar.gz # 解压 tar -zxvf redis-6.2.6.tar.gz # 进入解压后的目录 cd /usr/local/redis/redis-6.2.6/ # 编译 make # 执行 &q…

iOS——Block循环引用

Capturing ‘self’ strongly in this block is likely to lead to a retain cycle 典型的循环引用 self持有了blockblock持有了self(self.name) 这样就形成了self -> block -> self的循环引用 解决办法 强弱共舞 使用 中介者模式 __weak typeof(self) weakSelf sel…

以产品经理的角度去讲解原型图---会议OA项目

目录 一.前言 二.原型图 2.1 原型图是什么 3.1 原型图的作用 三.演示讲解 3.1 项目背景 3.2 项目介绍 3.2.1 会议管理&#xff08;会议的发起&#xff0c;通知&#xff09; 3.2.2 投票管理&#xff08;会议的流程重大决策记录&#xff09; 3.2.3 会议室管理 3.2.4 系统管…

谷粒商城第九天-对商品服务中所涉及到的表的思考

目录 一、总述 二、spu、sku、规格参数、销售属性之间的关系理解 三、相关表设计 1. 属性表 2. 基本属性分组表 3. 分组-基本属性关系表 ​4. spu基本属性值表 5. spu详情信息表 6. spu评论表 7. 商品sku值表 8. sku详情表 9. sku图片表 10. 分类表 11. 品牌表 …