目录
二、Linux操作系统安装(CentOS 7)—VMware Workstation Pro 16
一、Linux操作系统介绍
Linux常见发行版本:Red Hat、CentOS、Ubuntu、Debian、SuSE、Mandrake、Caldera、Turbo、Gentoo、Linpus、Fedora、Deepin、Kali
二、Linux操作系统安装(CentOS 7)—VMware Workstation Pro 16
1、创建虚拟机→自定义
2、兼容性默认
3、稍后安装操作系统![](https://img-blog.csdnimg.cn/1b8e8dc907b449c5bbe9c5e26fa946dd.png)
4、操作系统→CentOS 7 64位
5、命名储存位置设置
6、处理器配置默认
7、网络连接默认
8、I/O控制默认
9、磁盘默认
10、创建新的虚拟磁盘
11、磁盘大小默认→将虚拟磁盘存储为单个文件
12、默认下一步直到点击完成
13、为创建的虚拟机选择镜像→开启此虚拟机
14、软件勾选→GNOME桌面(附加选项全勾选)
15、网络和主机名→打开连接(以太网)
16、用户设置→ROOT密码→创建用户
17、许可确认→完成配置
18、选择登录root,或者自己建的用户
①登录自建用户
②登录root用户
19、初始化
后面的弹窗关闭掉即可
三、Linux目录结构
Linux操作系统没有盘符概念,所有文件全在根目录或者”/”下.
绝对路径:以根目录为起点
相对路径:以当前目录为起点
【同一文件不同路径表示方式】
绝对路径:/home/xxx/1.txt
相对路径:./xxx/1.txt
四、文件操作命令
【打开终端】
方法一:
方法二:
【命令参数查看:man [命令] 如查看ls命令:man ls】
1、pwd命令
命令 | 描述 |
pwd | 显示当前目录绝对路径 |
cd | 改变当前工作目录 |
cd ~ | 进入家目录 |
su – [用户名] | 切换目录 |
cd / | 回到根目录 |
cd .. | 回到上一级目录 |
cd . | 当前目录 |
.[文件名] | 文件前面有.的为隐藏文件 |
2、ls命令
用法:ls [参数] [目录(可选)]
ls命令显示指定工作目录下的内容,如果不提供参数,ls将列举当前目录
clear命令清除当前屏幕
命令 | 参数 | 描述 |
ls | 列举当前目录文件(不包括隐藏文件) | |
-a | 列举当前目录所有文件 | |
-l | 列举当前目录文件详细信息 | |
-al | 列举当前目录所有文件详细信息 |
【示例】
列举当前目录文件:ls
3、touch命令
用法:touch [文件名]/[路径加文件名]
4、mkdir命令
用法:mkdir [参数] [目录名] /[路径加目录名]
命令 | 参数 | 描述 |
mkdir | 创建一个目录 | |
-p | 创建多层目录 |
【示例】
当前目录创建一个目录名为dir的目录:mkdir dir
创建多重目录:mkdir -p dir/dir1/dir2/dir3/dir4
当前目录创建ccc目录:mkdir ./ccc
当前目录ccc下创建ddd目录:mkdie ./ccc/ddd
注:mkdir ./ccc/ddd/eee/fff命令不可行,需要使用参数-p。
5、cp命令
用法:cp [选项] [源文件] [目标文件]
命令 | 参数 | 描述 |
cp | 复制文件 | |
-p | 修改时间访问权限一同复制 | |
-r | 源目录下所有文件与目录一同复制 |
【示例】
复制当前目录下aaa到/var下:cp ./aaa /var/
复制当前目录下aaa到/var并重命名为bbb:cp ./aaa /var/bbb
6、mv命令
用法:mv [参数] [源文件/目录] [目标文件/目录]
命令 | 参数 | 描述 |
mv | 移动或重命名目录或文件 | |
-b | 覆盖文件前备份 | |
-f | 不询问且强制覆盖已存在目标文件 |
【示例】
移动当前目录下3到当前目录下1:mv ./3 ./1
不询问强制移动当前目录下3到当前目录下1:mv -f ./3 ./1
7、rm命令
用法:
命令 | 参数 | 描述 |
rm | 删除一个文件或者目录 | |
-r | 遍历删除目录 | |
-f | 强制删除文件 | |
-i | 进行任何删除操作前必须先确认 |
【示例】
删除file文件:rm file
强制删除file文件:rm -f file
遍历删除目录dir:rm -r dir
强制遍历删除目录dir:rm -rf dir
询问用户是否删除file文件:rm -i file
五、文件编辑命令
1、cat/tac命令
用法:cat/tac [参数] [文件名]
命令 | 参数 | 描述 |
cat | 首行正向输出文件内容 | |
tac | 尾行逆向输出文件内容 | |
-b | 列出行号,忽略空白行 | |
-n | 列出行号,不忽略空白行 |
2、more命令
用法:more [文件名]
按键 | 描述 |
<空格> | 向下翻一页 |
<b> | 往前查看一页 |
<回车> | 向下翻一行 |
<q> | 退出 |
3、head/tail命令
用法:head/tail [文件名]
命令 | 参数 | 描述 |
head | 查看前N行 | |
tail | 查看后N行 | |
-n | 查看行数 |
【示例】
查看1.txt前10行:head -n 10 1.txt
查看1.txt后10行:tail -n 10 1.txt
只查看1.txt文件100行以及以后的数据:tail -n +100 1.txt
4、grep命令
用法:grep [参数] [关键字] [查找范围]
命令 | 参数 | 描述 |
grep | 字符串匹配 | |
-e | 指定字符串作为查找内容 | |
-n | 查找内容后显示行号 | |
-r | 递归查找符合条件的内容 |
【示例】
显示aaa、bbb包含在xxx文件中的内容:grep -e aaa -e bbb /etc/xxx
显示aaa包含在xxx文件中的内容并输出行号:grep -ne aaa /etc/xxx
5、vi编辑器
①Vi编辑器介绍
Vi是Linux操作系统中最通用的文本编辑器,Vim编辑器是从Vi发展出来的一个性能更强大的文本编辑器。Vi编辑器有一般模式、编辑模式和命令模式。
编辑命令:vi [文件名]
②一般模式
按键(字母双写为双击区分大小写) | 描述 |
yy | 复制行 |
p | 粘贴复制的内容 |
dd | 删除行 |
x | 删除光标所在的字符 |
X | 删除光标的前一个字符 |
h j k l | 上 下 左 右 |
J | 直接跳转文件最后一行开头 |
jj | 直接跳转文件第一行开头 |
u | 撤销上一步操作 |
Ctrl + r | 取消撤销操作 |
Ctrl + f | 向下翻页 |
Ctrl + b | 向上翻页 |
<数字> + G | 光标移动到数字行 |
ZZ | 保存文件并退出 |
:q! | 强制退出并保存内容 |
/[搜索内容] | 搜索内容 |
n | 搜索时,查看下一个搜索内容 |
N | 搜索时,查看上一个搜索内容 |
③编辑模式
按键(字母双写为双击区分大小写) | 描述 |
a | 当前光标后一个字符进入编辑模式 |
i | 当前光标进入编辑模式 |
o | 在当前光标下一行进入编辑模式 |
:w | 保存文件退出 |
:q | 退出返回不保存 |
:wq | 保存并退出 |
<Esc> | 退出编辑模式 |
六、用户和组
1、用户分类与组关系
①Linux用户分类
Linux用户类型 | 超级用户 | 系统用户 | 普通用户 |
对应UID范围 | 0 | 1—999 | 1000+ |
②用户和用户组对应关系
一对一、一对多、多对一、多对多
2、用户操作命令
①基本命令
命令 | 描述 |
whoami | 查看当前登录用户名 |
id | 查看当前用户身份信息 |
id [指定用户] | 查看指定用户身份信息 |
sudo | 以管理员身份执行命令 |
sudo -i | 切换为root用户执行命令 |
su – [指定用户] | 切换为指定用户 |
②useradd
用法:useradd [参数] [用户名]
描述:Useradd创建新的用户,默认的用户家目录会被存放在/home目录中,而且默认会创建一个与该用户同名的基本用户组
命令 | 参数 | 描述 |
useradd | 创建新用户 | |
-d | 指定新用户家目录 | |
-u | 指定新用户UID | |
-g | 指定新用户到某组 |
【示例】
指定新用户a到家目录/home/aaa:useradd -d /home/aaa a
指定新用户w的UID为2000:useradd -u 2000 w
指定新用户e到xxx组:useradd -g xxx e
③usermod
用法:usermod [参数] [用户名]
命令 | 参数 | 描述 |
usermod | 修改用户属性 | |
-dm | 重新指定用户家目录并转移数据 | |
-u | 修改用户UID | |
-g | 修改用户所属组 | |
-G | 附加用户到某组 | |
-l | 修改用户名称 |
【示例】
将ddd用户UID修改为2021:usermod -u 2021 ddd
将用户ddd移动到xxx组中:usermod -g xxx ddd
将用户ddd附加到www组中:usermod -G www ddd
将用户添加到wheel组:usermod -G wheel [用户名]
将用户www修改为ddd:usermod -l ddd www
④userdel
用法:userdel [参数] [用户名]
命令 | 参数 | 描述 |
userdel | 删除用户 | |
-r | 删除用户同时删除用户家目录 |
【示例】
删除用户q不删除家目录:userdel q
删除用户w删除家目录:userdel -r w
⑤passwd
用法:passwd [参数] [用户名]
命令 | 参数 | 描述 |
Passwd | 更改用户密码 | |
-l | 锁定用户,禁止用户登录 | |
-u | 解除锁定,允许用户登录 | |
-d | 使该用户可使用空密码登录系统 | |
-e | 强制用户下次登录时修改密码 |
【示例】
修改指定用户密码:passwd [用户名]
锁定某用户:passwd -l [用户名]
解锁某用户:passwd -u [用户名]
3、用户配置及密码文件
①/etc/passwd
该文件时系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件进行操作。密码字段中的’x’表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件中。
【文件格式】
用户名:密码:UID:GID:描述性信息:主目录:默认Shell
②/etc/shadow
该文件用于存储Linux系统中的密码信息,又称为“影子文件”。该文件只有root用户拥有读权限,其他用户没有任何权限。
【文件格式】
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
4、组操作命令
①groupadd
用法:groupadd [参数] [用户名]
命令 | 参数 | 描述 |
groupadd | 创建组 | |
-g | 创建组并指定组ID | |
-r | 创建系统用户组 |
【示例】
创建xxx组:groupadd xxx
创建GID为1008的xxx组:groupadd -g 1008 xxx
创建系统用户组xxx:groupadd -r xxx
②groupmod
用法:groupmod [参数] [用户名]
命令 | 参数 | 描述 |
groupmod | 修改用户组相关信息 | |
-g | 修改组ID | |
-n | 修改组名 |
【示例】
修改xxx组ID为2008:groupmod -g 2002 xxx
修改xxx组名为yyy:groupmod -n yyy xxx
③groupdel
用法:groupdel [组名]
描述:groupdel命令可以删除指定组,如果目标组还是某用户主组,则无法使用该命令删除。
5、组配置及密码文件
①/etc/group
该文件是用户组配置文件,用户组的所有信息都存放在此文件。和/etc/passwd文件一样,这里的“x”仅仅是密码标识,真正加密后的组密码默认保存在/etc/gshadow中。
【文件格式】
组名:密码:GID:该用户组内用户列表
②/etc/gshadow
该文件用于存储Linux系统中的组密码信息,又称为“组影子文件”。该文件只有root用户拥有读权限,其他用户没有任何权限。
【文件格式】
组名:加密密码:组管理员:组内用户列表
七、Linux权限管理
1、Linux权限介绍
只有root用户和文件用户拥有者才可以修改文件访问权限。
①每个文件的权限针对三类对象进行定义
u:文件所有者
g:文件所有组
o:其他所有者或所有组
②每个文件针对访问者定义了三种主要权限
r:读:4
w:写/修改:2
x:执行:1
2、权限操作命令
①chomd
用法:chmod [权限值] [修改对象]
命令 | 参数 | 描述 |
chomd | 更改文件权限 | |
-R | 递归变更目录下所有文件权限 |
【示例】
去除根目录下文件/libai所有者写权限:chmod u-w /libai
对所有组加上对文件/libai的可写权限:chmod g+w /libai
对其他用户加上对文件/libai的可执行权限:chmod o+x /libai
修改各对应组权限:chmod 765 /libai
修改文件夹/dufu权限。但是不修改子目录权限:chomd 744 /dufu
修改文件夹/dufu权限及子目录权限:chmod -R 777 /dufu
②chown
用法:chown [参数] [用户] [文件名]
命令 | 参数 | 描述 |
chown | 更改文件所有者 | |
-R | 递归变更目录下所有文件所有者 |
【示例】
修改/dufu/所有者为hyf,但不修改子目录权限:chown hyf /dufu/
修改/dufu/所有者为hyf,并修改子档案文件权限:chown -R hyf /dufu/
③chgrp
用法:chgrp [参数] [用户] [文件名]
命令 | 参数 | 描述 |
chgrp | 更改文件所属组 | |
-R | 递归变更目录下所有文件所属组 |
【示例】
修改/dufu/所属组为hyf,但不修改子目录权限:chgrp hyf /dufu/
修改/dufu/所属组为hyf,并修改子档案文件权限:chgrp -R hyf /dufu/
3、Linux隐藏权限命令
①chattr
用法:chattr [参数] [文件]
命令 | 参数 | 描述 |
chattr | 设置文件的隐藏权限 | |
+/- a | 仅允许追加内容,无法覆盖/删除内容 |
【示例】
追加隐藏权限到/libai文件:chattr +a /libai
撤销/libai文件隐藏属性:chattr -a /libai
②lsattr
用法:lsattr [文件]
描述:在Linux系统中,文件的隐藏权限必须使用lsattr命令来查看,而ls命令无法查看