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

news2024/9/23 3:32:36

 

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.coloradmin.cn/o/839827.html

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

相关文章

三、从官方源码精简出第1个FreeRTOS

1、官方源码下载 (1)进入FreeRTOS官网:FreeRTOS官网 (2)点击下载FreeRTOS。 (3)选择待示例的项目进行下载。 2、删减目录 (1)下载后解压的FreeRTOS文件如下图所示。 (2)删除下图中红框勾选的文件。 (3)删除"FreeRTOSv202212.01\FreeRTOS\Demo"目录下用…

做好“关键基础设施提供商”角色,亚马逊云科技加快生成式AI落地

一场关于生产力的革命已在酝酿之中。全球管理咨询公司麦肯锡在最近的报告《生成式人工智能的经济潜力:下一波生产力浪潮》中指出,生成式AI每年可能为全球经济增加2.6万亿到4.4万亿美元的价值。在几天前的亚马逊云科技纽约峰会中,「生成式AI」…

ubuntu22安装如何安装window软件(.exe)

ubuntu未提供相应程序安装包,如何使用的ubuntu22.04 安装window提供的exe程序呢? 这里我了解有两种方案: 使用模拟器进行window程序的运行,但是肯定会有相应的性能损耗如(wine)在linux上运行virtualbox或…

Michael.W基于Foundry精读Openzeppelin第20期——EnumerableMap.sol

0. 版本 [openzeppelin]:v4.8.3,[forge-std]:v1.5.6 0.1 EnumerableMap.sol Github: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.8.3/contracts/utils/structs/EnumerableMap.sol EnumerableMap库提供了Bytes32ToB…

【Linux系统编程】冯诺依曼体系结构

目录 前言 什么是冯诺依曼体系结构? 冯诺依曼体系结构如何进行数据处理的? 存储器在冯诺依曼体系中有什么作用? 冯诺依曼体系结构为什么要这样设计? 冯诺依曼结构总结 前言 相信对于冯诺依曼这个人的名字大家一定不会感到陌…

[RT-Thread]基于ART-PI的YMODEM协议在文件系统(LFS,FAT,RAMFS)下的文件传输及其注意事项

[写作为了记忆,个人最终输出的内容往往是遗忘后最容易捡起的内容,朝花夕拾故以此作文] 目录 [写作为了记忆,个人最终输出的内容往往是遗忘后最容易捡起的内容,朝花夕拾故以此作文] 前提 准备工作 内容 问题也就是注意事项 前提 准备工作 创建基于ART-PI开发板(STM32H750)…

Kernel Exception导致手机重启案例分析

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、高温触发 Kernel Exception 重启问题二、解决方案三、提高电池温度方案 一、 高温触发 Kernel Exception 重启问题 手机 电池温度 默认60度以上高温…

网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】

网页版Java五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】 在用户模块我们要清楚要完成的任务一、MyBatis后端操作数据库1. 需要在数据库创建用户数据库1. 用户id2. 用户名3. 密码4. 天梯积分5. 总场数6. 获胜场数 2. 创建用户类User和数据库…

网络开发-IO模型

基本概念 I/O即数据的读取&#xff08;接收&#xff09;或写入&#xff08;发送&#xff09;操作 通常用户进程中的一个完整I/O分为两个阶段 用户进程空间<-->内核空间内核空间<-->设备空间&#xff08;磁盘、网卡等&#xff09; I/O分为内存I/O、网络I/O和磁盘…

python机器学习(六)决策树(上) 构造树、信息熵的分类和度量、信息增益、CART算法、剪枝

决策树算法 模拟相亲的过程&#xff0c;通过相亲决策图&#xff0c;男的去相亲&#xff0c;会先选择性别为女的&#xff0c;然后依次根据年龄、长相、收入、职业等信息对相亲的另一方有所了解。 通过决策图可以发现&#xff0c;生活中面临各种各样的选择&#xff0c;基于我们的…

考研408 | 【计算机网络】物理层

导图&#xff1a; 一、通信基础 基本概念&#xff1a; 物理层接口特性&#xff1a;物理层解决如何在连接各种计算机的传输媒体上传输数据比特流&#xff0c;而不是指具体的传输媒体。 物理层主要任务&#xff1a;确定与传输媒体接口有关的一些特性 典型的数据通信模型 数据通…

SAP-MM-发票校验的重复校验功能

路径&#xff1a;SPRO-物料管理-后勤发票校验-收入发票-设置重复发票检查 按公司代码设置重复检查&#xff0c;可以按三个方式进行检查&#xff0c;公司代码、参照、发票日期&#xff0c;如果此处未维护就是按供应商&#xff08;XK02&#xff09;的六项进行检查 但是如果两处都…

latex插入不连续的中线

在上面的示例中&#xff0c;\cmidrule(lr){1-3} 表示在第 1 列到第 3 列之间添加不连续的中线&#xff0c;\cmidrule(lr){4-6} 表示在第 4 列到第 6 列之间添加不连续的中线&#xff0c;以此类推。你可以根据需要调整列的范围和对齐方式。

合并两个有序链表(leetcode)

题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]思路 每次递归都会比较当前两个节点的值&#xff0c;选择较小的节点作为合并后的链…

Java8 文件工具类 FileUtils(持续更新中)

1. Java8 文件处理 使用 Java8 的 java.nio.file 方法&#xff0c;来进行文件处理。 1.1. 读文件 所有内容一次读出来&#xff0c;结果为字符串。 1.1.1. 代码 /*** 读取文件** param path 文件路径* return 文件内容&#xff08;字符串&#xff09;*/public static String…

Python导出SqlServerl数据字典为excel

sql代码 SELECTtableName D.name ,tableIntroduce isnull(F.value, ),sort A.colorder,fieldName A.name,catogary B.name,bytes A.Length,lengths COLUMNPROPERTY(A.id, A.name, PRECISION),scales isnull(COLUMNPROPERTY(A.id, A.name, Scale), 0),isOrNotNull Cas…

差值结构的相互作用能

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由6张二值化的图片组成&#xff0c;让A&#xff0c;B中各有3个点&#xff0c;且不重合&#xff0c;统计迭代次数并排序。 其中有10组数据 差值结构 A-B 迭代次数 构造平均列 平均列…

2.4G芯片G350开发的遥控玩具解决方案

玩具从早期的简单功能&#xff0c;到现如今各种各样的智能操作&#xff0c;发展的速度也是飞速的。随着玩具市场的逐步完善与推进&#xff0c;中国的智能玩具市场也出现了很多远程遥控玩具。遥控玩具也是从最初的有线到现在的无线&#xff0c;从地上跑的到天上飞的&#xff0c;…

vue2-常用的修饰符有哪些应用场景?

1、修饰符是什么&#xff1f; 在程序的世界里&#xff0c;修饰符是用于限定类型以及类型成员的声明的一种 符号。 在vue中&#xff0c;修饰符处理了许多DOM事件的细节&#xff0c;让我们不再需要花大量的时间去处理这些重复的事情&#xff0c;而能有更多的精力专注于程序的逻辑…