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