linux常见命令、组管理和权限管理

Linux的安装、目录结构介绍,以及shell5 远程连接:https://blog.csdn.net/weixin_45606067/article/details/107834549
vim编辑器、开关机、用户管理常见命令:https://blog.csdn.net/weixin_45606067/article/details/107845432

九、实用指令

1. 指定运行级别

运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启

常用运行级别是 3和 5,要修改默认的运行级别可改文件。

/etc/inittab 的 id:5:initdefault 这一行中的数字。

2. 切换到指定运行级别的指令

基本语法

init [012356]
linux常见命令、组管理和权限管理_第1张图片

应用实例

1)通过 init来切换不同的运行级别,比如动 5->3 ,然后关机

init 3
init 5
init 0

面试题

如何找回 root密码,如果我们不小心,忘记 root密码,怎么找回。

思路:进入到单用户模式,然后修改 root密码。因为进入单用户模式,root不需要密码就可以登录。

总结:

开机 -> 在引导时输入回车键 -> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e- > 在这行最后输入 1,再输入回车键 -> 再次输入 b,这时就会进入到单用户模式。

这时,我们就进入到单用户模式,使用 passwd指令来修改 root密码。

3.帮助指令

3.1 介绍

当我们对某个指令不熟悉时,我们可以使用 Linux提供的帮助指令来了解这个指令的使用方法。

3.2 man获得帮助信息

基本语法

man [命令或配置文件](功能描述:获得帮助信息)

应用实例

1)查看 ls命令的帮助信息
在这里插入图片描述

3.3 help指令

基本语法

help命令(功能描述:获得 shell内置命令的帮助信息)

应用实例

1)查看 cd命令的帮助信息
linux常见命令、组管理和权限管理_第2张图片

3.4 当一个指令不熟悉如何学习的建议

百度帮助更直接

虽然上面两个都可以来获取指令帮助,但是需要英语功底,如果英语不太好的,我还是推荐大家直接百度靠谱。

4.文件目录类

4.1pwd指令

基本语法

pwd (功能描述:显示当前工作目录的绝对路径)

应用实例

1)显示当前工作目录的绝对路径
在这里插入图片描述

4.2 ls指令

基本语法

ls [选项][目录或是文件]

常用选项

-a:显示当前目录所有的文件和目录,包括隐藏的。

-l:以列表的方式显示信息

应用实例

1)查看当前目录的所有内容信息
linux常见命令、组管理和权限管理_第3张图片
linux常见命令、组管理和权限管理_第4张图片

4.3 cd指令

基本语法

cd [参数] (功能描述:切换到指定目录)

常用参数

cd ~ 或者 cd:回到自己的家目录

cd … 回到当前目录的上一级目录

绝对路径和相对路径

如何理解绝对路径和相对路径:
linux常见命令、组管理和权限管理_第5张图片

应用实例

1)使用绝对路径切换到 root 目录

cd /root

2)使用相对路径到 /root 目录

这里我们需要知道该用户目录在哪个目录下,才能写出这个指令,假设在/usr/lib。

cd ../../root

3)表示回到当前目录的上一级目录

cd ..

4)回到家目录

cd
cd ~

4.4 mkdir指令

指令介绍

mkdir指令用于创建目录(make directory)

基本语法

mkdir [选项] 要创建的目录

常用选项

-p:创建多级目录

应用实例

1)创建一个目录 /home/dog
linux常见命令、组管理和权限管理_第6张图片

2)创建多级目录 /home/animal/tiger
linux常见命令、组管理和权限管理_第7张图片

4.5 rmdir指令

指令介绍

rmdir指令删除空目录

基本语法

rmdir [选项] 要删除的空目录

应用实例

1)删除一个目录 /home/dog
linux常见命令、组管理和权限管理_第8张图片
使用细节

rmdir删除的是空目录,如果目录下有内容时无法删除的。

提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录。
linux常见命令、组管理和权限管理_第9张图片

4.6 touch指令

指令介绍

touch指令创建空文件

基本语法

touch 文件名称

应用实例

1)创建一个空文件 hello.txt
在这里插入图片描述
2)创建两个空文件 ok1.txt ok2.txt
在这里插入图片描述

4.7 cp指令【重要】

指令介绍

cp 指令拷贝文件到指定目录

基本语法

cp [选项] source dest

常用选项

-r:递归复制整个文件夹

应用实例

1)将 /home/aaa.txt 拷贝到 /home/bbb目录下[拷贝单个文件]
linux常见命令、组管理和权限管理_第10张图片

2)递归复制整个文件夹,举例

将 /home/test 整个目录拷贝到 /home/zwj 目录
linux常见命令、组管理和权限管理_第11张图片
使用细节

强制覆盖不提示的方法:\cp
linux常见命令、组管理和权限管理_第12张图片
技术小技巧

可以通过上下箭头的键,调出原来使用过的指令。

4.8 rm指令

指令介绍

rm指令移除【删除】文件或目录

基本语法

rm [选项] 要删除的文件或目录

常用选项

-r:递归删除整个文件夹

-f :强制删除不提示

应用实例

1)将 /home/aaa.txt 删除
在这里插入图片描述

2)递归删除整个文件夹 /home/bbb
在这里插入图片描述
使用细节

强制删除不提示的方法:带上 -f 参数即可
在这里插入图片描述

4.9 mv指令

指令介绍

mv 移动文件与目录或重命名

基本语法

mv oldNameFile newNameFile(功能描述:重命名)

mv /temp/movefile /targetFolder (功能描述:移动文件)

应用实例

1)将 /home/aaa.txt文件重新命名为 pig.txt
linux常见命令、组管理和权限管理_第13张图片
2)将 /home/pig.txt文件移动到 /root目录下
linux常见命令、组管理和权限管理_第14张图片

4.10 cat指令

指令介绍

cat查看文件内容,是以只读的方式打开。

基本语法

cat [选项] 要查看的文件

常用选项

-n:显示行号

应用实例

1)/etc/profile文件内容,并显示行号
在这里插入图片描述
使用细节

cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more

cat文件名 | more [分页浏览]

4.11 more指令

指令介绍

more指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明

基本语法

more 要查看的文件

应用实例

1)采用 more查看文件 /etc/profile
在这里插入图片描述
快捷键

操作 功能说明
空白键(space) 代表向下翻一页
Enter 代表向下翻[一行]
q 代表立即离开more,不在显示该文件内容
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号

4.12 less指令

指令介绍

less指令用来分屏查看文件内容,它的功能与 more指令类似,但是比 more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

基本语法

less 要查看的文件

应用实例

1)采用 less 查看一个大文件文件 /opt/金庸-射雕英雄传 txt精校版.txt
linux常见命令、组管理和权限管理_第15张图片

快捷键

操作 功能说明
空白键 向下翻动一页
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
/字串 向下搜寻[字符]的功能:n:向下查找;N:向上查找;
?字串 向上搜寻[字符]的功能:n:向上查找;N:向下查找;
q 离开less这个程序

4.13 >指令和 >>指令

指令介绍

> 指令和 >> 指令

> 输出重定向 :会将原来的文件的内容覆盖。

>> 追加:不会覆盖原来文件的内容,而是追加到文件的尾部。

基本语法

1)ls -l > 文件(功能描述:列表的内容写入文件 a.txt中(覆盖写))
linux常见命令、组管理和权限管理_第16张图片
说明:ls -l > a.txt ,将 ls -l的显示的内容覆盖写入到 a.txt文件,如果该文件不存在,就创建该文件。

2)ls -al >>文件(功能描述:列表的内容追加到文件 aa.txt的末尾)
linux常见命令、组管理和权限管理_第17张图片
3)cat文件1 > 文件2(功能描述:将文件 1的内容覆盖到文件 2)
linux常见命令、组管理和权限管理_第18张图片
4)echo “内容” >>文件

应用实例

1)将 /home目录下的文件列表写入到 /home/info.txt中
linux常见命令、组管理和权限管理_第19张图片
2)将当前日历信息追加到 /home/mycal文件中 [提示 cal ]
在这里插入图片描述

4.14 echo指令

指令介绍

echo输出内容到控制台。

基本语法

echo [选项][输出内容]

应用实例

1)使用 echo指令输出环境变量,输出当前的环境路径
在这里插入图片描述
2)使用 echo指令输出 hello,world!

echo hello,world!

4.15 head指令

指令介绍

head用于显示文件的开头部分内容,默认情况下 head指令显示文件的前 10行内容

基本语法

head 文件 (功能描述:查看文件头 10行内容)

head -n 5文件 (功能描述:查看文件头 5行内容,5可以是任意行数)

应用实例

1)查看/etc/profile的前面 5 行代码
linux常见命令、组管理和权限管理_第20张图片

4.16 tail指令

指令介绍

tail用于输出文件中尾部的内容,默认情况下 tail指令显示文件的后 10行内容。

基本语法

  1. tail 文件 (功能描述:查看文件后 10行内容)

  2. tail -n 5 文件(功能描述:查看文件后 5行内容,5可以是任意行数)

  3. tail -f 文件 (功能描述:实时追踪该文档的所有更新,工作经常使用)

应用实例

1)查看/etc/profile最后 5行的代码
linux常见命令、组管理和权限管理_第21张图片
2)实时监控 mydate.txt ,看看到文件有变化时,是否看到,实时的追加日期
linux常见命令、组管理和权限管理_第22张图片

4.17 ln指令

指令介绍

软链接也叫符号链接,类似于 windows里的快捷方式,主要存放了链接其他文件的路径。

基本语法

ln -s [原文件或目录] [软链接名](功能描述:给原文件创建一个软链接)

应用实例

1)在/home目录下创建一个软连接 linkToRoot,连接到 /root目录
linux常见命令、组管理和权限管理_第23张图片
2)删除软连接 linkToRoot
linux常见命令、组管理和权限管理_第24张图片

细节说明

当我们使用 pwd指令查看目录时,仍然看到的是软链接所在目录。

4.18 history指令

指令介绍

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

基本语法

history (功能描述:查看已经执行过历史命令)

应用实例

1)显示所有的历史命令
在这里插入图片描述

2)显示最近使用过的 10个指令。
linux常见命令、组管理和权限管理_第25张图片

3)执行历史编号为 5的指令
linux常见命令、组管理和权限管理_第26张图片

5. 时间日期类

5.1 date指令-显示当前日期

基本语法

  1. date(功能描述:显示当前时间)

  2. date +%Y(功能描述:显示当前年份)

  3. date +%m(功能描述:显示当前月份)

  4. date +%d(功能描述:显示当前是哪一天)

  5. date “+%Y-%m-%d %H:%M:%S”(功能描述:显示年月日时分秒)

应用实例

1)显示当前时间信息

date

2)显示当前时间年月日

date "+%Y-%m-%d"

3)显示当前时间年月日时分秒

date "+%Y-%m-%d %H:%M:%S"

5.2 date指令-设置日期

基本语法

date -s 字符串时间

应用实例

设置系统当前时间,比如设置成 2020-10-10 11:22:22

date -s "2020-10-10 11:22:22"

5.3 cal指令

指令介绍

查看日历指令

基本语法

cal [选项] (功能描述:不加选项,显示本月日历)

应用实例

1)显示当前日历

cal

2)显示 2019年日历

cal 2019

6. 搜索查找类

6.1 find 指令

指令介绍

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

基本语法

find [搜索范围][选项]

选项说明

选项 功能
-name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找数据指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件

应用实例

1)按文件名:根据名称查找/home目录下的 hello.txt文件
linux常见命令、组管理和权限管理_第27张图片
2)按拥有者:查找/opt目录下,用户名称为 nobody的文件
在这里插入图片描述
3)查找整个 linux系统下大于 20m的文件(+n大于 -n小于 n等于)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4)1m = 1024k
linux常见命令、组管理和权限管理_第28张图片

5)查询 /目录下,所有 .txt的文件
linux常见命令、组管理和权限管理_第29张图片

6.2 locate指令

指令介绍

locate指令可以快速定位文件路径。 locate指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

基本语法

locate 搜索文件

特别说明

由于 locate指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb指令创建 locate数据库

应用实例

1)请使用 locate指令快速定位 hello.txt文件所在目录
linux常见命令、组管理和权限管理_第30张图片

6.3 grep指令和管道符号 |

指令介绍

grep过滤查找,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法

grep [选项]查找内容源文件

常用选项

选项 功能
-n 显示屁屁行及行号
-i 忽略字母大小写

应用实例

1)请在 hello.txt 文件中,查找 “yes” 所在行,并且显示行号。
linux常见命令、组管理和权限管理_第31张图片

7. 压缩和解压类

7.1 gzip/gunzip指令

指令介绍

gzip用于压缩文件, gunzip用于解压的。

基本语法

gzip文件(功能描述:压缩文件,只能将文件压缩为*.gz文件)

gunzip文件.gz(功能描述:解压缩文件命令)

应用实例

1)gzip压缩,将 /home下的 hello.txt文件进行压缩
linux常见命令、组管理和权限管理_第32张图片
2)gunzip压缩,将 /home下的 hello.txt.gz文件进行解压缩
linux常见命令、组管理和权限管理_第33张图片
细节说明

当我们使用 gzip对文件进行压缩后,不会保留原来的文件

7.2 zip/unzip指令

指令介绍

zip用于压缩文件, unzip用于解压的,这个在项目打包发布中很有用的

zip基本语法

zip [选项] XXX.zip将要压缩的内容(功能描述:压缩文件和目录的命令)

zip常用选项

-r:递归压缩,即压缩目录

unzip基本语法

unzip [选项] XXX.zip(功能描述:解压缩文件)

unzip常用选项

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

应用实例

1)将 /home下的所有文件进行压缩成 mypackage.zip
linux常见命令、组管理和权限管理_第34张图片
2)将 mypackge.zip解压到 /opt/tmp目录下
linux常见命令、组管理和权限管理_第35张图片

7.3 tar指令

指令介绍

tar指令是打包指令,最后打包后的文件是 .tar.gz的文件。

基本语法

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

(功能描述:打包目录,压缩后的文件格式.tar.gz)

选项说明

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

应用实例

1)压缩多个文件,将 /home/a1.txt和 /home/a2.txt压缩成 a.tar.gz
linux常见命令、组管理和权限管理_第36张图片
2)将/home的文件夹压缩成 myhome.tar.gz
linux常见命令、组管理和权限管理_第37张图片
3)将 a.tar.gz解压到当前目录
linux常见命令、组管理和权限管理_第38张图片
4)将 myhome.tar.gz解压到 /opt/目录下

指定解压到的那个目录,事先要存在才能成功,否则会报错
linux常见命令、组管理和权限管理_第39张图片

十、组管理和权限管理

1. Linux组基本介绍

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

1)所有者

2)所在组

3)其它组

4)改变用户所在的组

2. 文件 / 目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

2.1 查看文件的所有者

基本语法

ls -ahl

应用实例

1)创建一个组 police,再创建一个用户 tom,将 tom放在 police组,然后使用 tom来创建一个文件 ok.txt
linux常见命令、组管理和权限管理_第40张图片
linux常见命令、组管理和权限管理_第41张图片

2.2 修改文件所有者

基本语法

chown 用户名 文件名

应用案例

1)使用 root创建一个文件 apple.txt,然后将其所有者修改成 tom
linux常见命令、组管理和权限管理_第42张图片

3. 组的创建

基本指令

groupadd 组名

应用实例

创建一个组 monster

创建一个用户 fox,并放入到 monster组中
linux常见命令、组管理和权限管理_第43张图片

4. 文件 / 目录所在组

当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。

查看文件/目录所在组

基本指令

ls–ahl

应用实例

修改文件所在的组

基本指令

chgrp 组名文件名

应用实例

1)使用 root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police组
linux常见命令、组管理和权限管理_第44张图片

5. 其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

6. 改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root的管理权限可以改变某个用户所在的组。

基本语法

usermod –g 组名 用户名

usermod –d 目录名用户名改变该用户登陆的初始目录

应用实例

1)创建一个土匪组(bandit)将 tom 这个用户从原来所在的 police组,修改到 bandit(土匪)组。
linux常见命令、组管理和权限管理_第45张图片

7. 权限的基本介绍

ls -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

0-9位说明:

1)第 0位确定文件类型(d:目录, -:文件 , l:链接 , c :字符设备, b:块文件)

2)第 1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User

3)第 4-6位确定所属组(同用户组的)拥有该文件的权限,—Group

4)第 7-9位确定其他用户拥有该文件的权限 —Other

linux常见命令、组管理和权限管理_第46张图片

8. rwx权限详解

rwx作用到文件

1)[ r ]代表可读(read):可以读取,查看

2)[ w ]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。

3)[ x ]代表可执行(execute):可以被执行

rwx作用到目录

1)[ r ]代表可读(read):可以读取,ls查看目录内容

2)[ w ]代表可写(write):可以修改,目录内创建+删除+重命名目录

3)[ x ]代表可执行(execute:可以进入该目录

9. 文件及目录权限实际案例

ls -l 中显示的内容如下:(记住)

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么:

第一个字符代表文件类型:文件(-),目录(d),链接(l)

其余字符每 3个一组(rwx)读(r)(w)执行(x)

第一组 rwx :文件拥有者的权限是读、写和执行

第二组 rw- :与文件拥有者同一组的用户的权限是读、写但不能执行

第三组 r-- :不与文件拥有者同组的其他用户的权限是读不能写和执行

可用数字表示为: r=4,w=2,x=1因此 rwx=4+2+1=7
linux常见命令、组管理和权限管理_第47张图片

10.修改文件权限-chmod

基本说明

通过 chmod指令,可以修改文件或者目录的权限

第一种方式:+、-、=变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)

1)chmod u=rwx,g=rx,o=x 文件目录名

2)chmod o+w 文件目录名

3)chmod a-x 文件目录名

案例演示

1)给 abc 文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限
linux常见命令、组管理和权限管理_第48张图片
2)给 abc文件的所有者除去执行的权限,增加组写的权限
linux常见命令、组管理和权限管理_第49张图片
3)给 abc文件的所有用户添加读的权限
linux常见命令、组管理和权限管理_第50张图片

第二种方式:通过数字变更权限

规则:r=4 w=2 x=1

chmod u=rwx,g=rx,o=x

相当于 chmod 751 文件目录名

案例演示

1)将 /home/abc.txt文件的权限修改成 rwxr-xr-x,使用给数字的方式实现

分析:rwx = 4+2+1 = 7

​ r-x = 4+1=5

​ r-x = 4+1 =5

chmod 755 /home/abc.txt

11. 修改文件所有者-chown

基本介绍

chown newowner file改变文件的所有者

chown newowner:newgroup file改变用户的所有者和所有组

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

案例演示

1)请将 /home/abc .txt文件的所有者修改成 tom
linux常见命令、组管理和权限管理_第51张图片
2)请将 /home/kkk目录下所有的文件和目录的所有者都修改成 tom

首选我们应该使用 root操作。
linux常见命令、组管理和权限管理_第52张图片

12. 修改文件所在组-chgrp

基本介绍

chgrp newgroup file 改变文件的所有组

案例演示

1)请将 /home/abc .txt文件的所在组修改成 bandit (土匪)

chgrp bandit /home/abc.txt

2)请将 /home/kkk目录下所有的文件和目录的所在组都修改成 bandit(土匪)

chgrp -R bandit /home/kkk

13. 练习

最佳实践-警察和土匪游戏

police , bandit

jack, jerry:警察

xh, xq:土匪

(1)创建组

groupadd police
groupadd bandit

(2)创建用户

useradd -g police jack
useradd -g police jerry
useradd -g bandit xh
useradd -g bandit xq
passwd jack
passwd jerry
passwd xh
passwd xq

(3)jack创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限

chmod 640 jack01.txt

(4) jack修改该文件,让其它组人可以读,本组人可以读写者

chmod o=r,g=rw jack01.txt

(5) xh投靠警察,看看是否可以读写

先用 root修改 xh 的组

usermod -g police xh

使用 jack给他的家目录 /home/jack的所在组一个 rx的权限

chmod g=rx jack/

xh需要重新注销在到 jack目录就可以操作 jack的文件

ls -l
vim jack01.txt

练习文件权限管理

建立两个组(神仙,妖怪)

建立四个用户(唐僧,悟空,八戒,沙僧)

设置密码

把悟空,八戒放入妖怪唐僧沙僧在神仙

用悟空建立一个文件(monkey.java该文件要输出 i am monkey)

给八戒一个可以 r w的权限

八戒修改 monkey.java加入一句话( i am pig)

唐僧沙僧对该文件没有权限

把沙僧放入妖怪组

让沙僧修改该文件 monkey,加入一句话 (“我是沙僧,我是妖怪!”);

练习2

1用 root登录,建立用户 mycentos,自己设定密码

2.用 mycentos登录,在主目录下建立目录 test/t11/t1

3.在 t1中建立一个文本文件 aa,用 vi编辑其内容为 ls–al

4.改变 aa的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aa

5.删除新建立的目录 test/t11/t1

6.删除用户 mycentos及其主目录中的内容

7.将 linux设置成进入到图形界面的

8.重新启动 linux或关机


如果有收获!!! 希望老铁们来个三连,点赞、收藏、转发。
创作不易,别忘点个赞,可以让更多的人看到这篇文章,顺便鼓励我写出更好的博客

你可能感兴趣的:(Linux,linux,linux常用指令,linux组管理,linux权限管理)