一、Linux用户
- root用户:超级管理用户,拥有已接近完整的系统控制,谨慎登录
- 普通用户:非特殊权限用户,需要经过授权才有一定的特殊权限
二、什么是Shell
- Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
- shell也被称为LINUX的命令解释器(command interpreter)
- shell是一种高级程序设计语言
- CentOS默认使用bash shell
- 显示当前使用的shell :echo ${SHELL}
- 显示当前系统使用的所有shell :cat /etc/shells
三、Linux文件系统及目录结构
1. 文件系统的特性
- 文件名称区分大小写
- 以.开头的文件为隐藏文件
- 数据分为两类:元数据(metadata)及数据(data)
- 按HFS(国际文件分层标准)分层
2. Linux常见文件颜色表示
颜色 | 文件类型 |
---|---|
蓝色 | 目录/文件夹 |
绿色 | 可执行文件 |
红色 | 压缩文件 |
浅蓝色 | 链接文件 |
灰色 | 其它文件 |
白色 | 其它文件(文本文件) |
红色闪烁 | 链接的文件有问题 |
3. 文件系统结构
- /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载(bootloader, grub)都存放于此目录
- /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
- /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
- /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
- /lib64:专用于x86_64系统上的辅助共享库文件存放位置
- /etc:配置文件目录 - /home/USERNAME:普通用户家目录
- /root:管理员的家目录
- /media:便携式移动设备挂载点,可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了
- /mnt:临时文件系统挂载点
- /dev:设备文件及特殊文件存储位置
- /opt:第三方应用程序的安装位置
- /srv:系统上运行的服务用到的数据
- /tmp:临时文件存储位置
- /usr:非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
更详细的说明:https://www.runoob.com/linux/linux-system-contents.html
4. 基本操作及概念
元数据:
在 Linux 文件系统中,在创建文件系统时,就将存储区域划分为两个部分,一部分用 来保存文件系统的元数据(文件的属性信息,由 inode( index node)组成的一个表),另一个是用来保存文件数据(文件的实际内容)。每个 inode 都有一个唯一的 ID,被称为 inode number,用于标识系统中的文件
命令提示符:
“# 管理员 ”
$ 普通用户
常用命令
命令 | 语法 | 说明 | 示例 | 操作用户 |
---|---|---|---|---|
alias | 添加:alias[别名]=[指令名称] 删除:unalias [-a][别名] | 1.指令别名 2.仅对当前shell进程有效(~/.bashrc) 3.若要永久有效,需要在配置文件中修改(/etc/bashrc) | scdxt=“cd” | root |
shutdown | shutdown [-t seconds] [-rkhncfF] time [message] | 关机或重启 -r重启,-c取消,-t延时关机时间 | ||
who | who - [husfV] [user] | 系统当前所有的登录会话 | who | |
echo | echo [-neE][字符串] | 显示字符 | ||
ls | ls [options] [files_or_dirs] | 列出当前目录的内容或指定目录 | ls -a 显示影藏文件 ls -l 列出文件权限及所属信息 | |
stat | stat [文件或目录] | 显示文件的状态信息 | access time:访问时间 modify time: 修改时间 change time: 改变时间(元数据发生改变) | |
touch | touch file | 改变文件或目录的时间属性,如果文件不存在,新建一个 | touch testfile | |
df | df [选项]… [FILE]… | 系统上的文件系统磁盘使用情况统计 | df -i | 不限制用户 |
ln | ln [参数][源文件或目录][目标文件或目录] | 为某一个文件在另外一个位置建立一个同步的链接 | ln -s xtaa xt /ln xtaa xt | 不限制用户 |
硬链接及软链接:
类型 | 特点 |
---|---|
硬链接 | 1.以副本的形式增加,不占用空间 2.在同一个文件系统中 3.inode节点增加 4.不允许给目录创建硬链接5.文件必需存在 |
软链接 | 1.路径的形式存在,类似于Windows操作系统中的快捷方式 2.跨文件系统 3.inode节点不增加 4.允许给目录创建硬链接 5.一个不存在的文件名进行链接 |
四、Linux用户及组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,每个用户账号都拥有一个唯一的用户名和各自的口令
1. ID
使用id命令可以查询用户ID、主组及属组ID
- uid: 用户ID
- gid: 主组((primary group),用户必须属于一个且只有一个主组,组名同用户名,且仅包含一个用户,私有组
- groups: 属组,一个用户可以属于零个或多个辅助组
2. id值范围
类型 | 取值 | |
---|---|---|
用户(user) | 管理员 | 0 [root] |
系统用户(对守护进程获取资源进行权限分配) | 1-499, 1-999 | |
登录用户(交互式登录) | 500+, 1000+ | |
组(group) | 管理员组 | 0 [root] |
系统组 | 1-499, 1-999 | |
普通组 | 500+, 1000+ |
3. 用户账号有关的系统文件
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)**
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
- 口令:linux只显示x,加密后的口令存放于/etc/shadow文件中
- 用户标识号:gid
- 组标识号:gid
- 注释描述:账号描述信息
- 主目录:家目录
- /etc/shadow:用户密码及其相关属性
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- 最后一次修改时间:从1970年1月1日起到密码最近一次被更改的时间
- 最小时间间隔:密码再过几天可以被变更(0表示随时可被变更)
- 最大时间间隔:密码再过几天必须被变更(99999表示永不过期)
- 警告时间:密码过期前几天系统提醒用户(默认为一周)
- 不活动时间:密码过期几天后帐号会被锁定
- 失效时间:从1970年1月1日算起,多少天后帐号失效
- /etc/group:组及其属性信息
组名:口令:组标识号:组内用户列表
3. 用户及组的操作
1、 增/删/改用户及组
类型 | 操作 | 命令 | 示例 | 帮助 |
---|---|---|---|---|
用户 | 新增 | useradd 选项 用户名 | useradd -d /home/xt -m xt | useradd --help |
删除 | userdel 选项 用户名 | userdel -r xt | userdel --help | |
修改 | usermod 选项 用户名 | usermod -d /home/xt1 -m xt | usermod --help | |
组 | 新增 | groupadd 选项 用户组 | groupadd xt | |
修改 | groupmod 选项 用户组 | groupmod -g 102 group2 | ||
删除 | groupdel 用户组 | groupdel group1 |
2、 切换用户或以其他用户身份执行命令
语法:
su [options…] [-] [user [args…]]
示例:
su username:非登录式切换,即不会读取目标用户的配置文件,不改变
当前工作目录
su - username:登录式切换,会读取目标用户的配置文件,切换至家目
录,完全切换
换身份执行命令:
su [-] UserName -c 'COMMAND'
3、 设置密码
passwd [OPTIONS] UserName: 修改指定用户的密码
常用选项:
-d:删除指定用户密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
-f: 强制操作
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
echo "PASSWORD" | passwd --stdin USERNAME
四、文件权限
1、修改文件所有者
语法:
用法:chown [参数] user[:group] 文件
参数说明:
user:新的文件拥有者的使用者 ID
group:新的文件拥有者的使用者组(group)
-c:显示更改的部分的信息
-f:忽略错误信息
-h:修复符号链接
-v:显示详细的处理信息
-R:处理指定目录以及其子目录下的所有文件
–help:显示辅助说明
–version:显示版本
示例:
[root@s11 test]# touch 1.txt
[root@s11 test]# ll
total 0
-rw-r–r-- 1 root root 0 Nov 22 15:52 1.txt
drwxrwxr-x 2 test test 6 Nov 21 18:24 a
[root@s11 test]# chown test.test 1.txt
[root@s11 test]# ll
total 0
-rw-r–r-- 1 test test 0 Nov 22 15:52 1.txt
drwxrwxr-x 2 test test 6 Nov 21 18:24 a
https://blog.csdn.net/carefree2005/article/details/121473234
2、修改文件所有者
语法:
chgrp [选项] [组] 文件…
选项说明:
-c或——changes:效果类似“-v”参数,但仅会显示更改的部分;
-f或–quiet或——silent:不显示错误信息;
-h或–no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-v或——verbose:显示指令执行过程;
–reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
示例:
3、修改文件操作权限
语法
chmod [-cfvR] [–help] [–version] mode file…
参数说明:
mode:权限设定字串,格式如下
[ugoa…][[±=][rwxX]…][,…]
符号授权模式:
chomd who opt per file
who(用户类型),operator(操作符), permission(权限),file(文件)
参数 | 符号 | 表示 |
---|---|---|
who(用户类型) | u | 所有者(user) |
g | 所属组(group) | |
o | 其它(other) | |
a | 所用用户(all ) , 相当于ugo | |
opt(操作符) | + | 为指定的用户类型增加权限 |
- | 去除指定用户类型的权限 | |
= | 设置指定用户权限的设置,即将用户类型的所有权限重新设置 | |
per(权限) | r | 可读 |
w | 可写 | |
x | 可执行 | |
示例: | ||
八进制数据授权模式:
详细说明:https://www.runoob.com/linux/linux-comm-chmod.html