2.Linux用户和权限与实用操作
三. Linux 用户和权限
- 认知 root 用户
root (超级管理员):拥有最大的系统操作权限
• 普通用户的权限,一般在其 HOME 目录内是不受限的
• 一旦出了 HOME 目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
- su 命令:切换到 root 账户
su [-] [用户名]
• - 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
• 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到 root
• 切换用户后,可以通过 exit 命令退回上一个用户,也可以使用快捷键: ctrl + d
• 使用普通用户,切换到其它用户需要输入密码,如切换到 root 用户
• 使用 root 用户切换到其它用户,无需密码,可以直接切换 - sudo 命令:为普通的命令授权,临时以 root 身份执行
sudo 其他命令
• 在其它命令之前,带上 sudo ,即可为这一条命令临时赋予 root 授权
• 但是并不是所有的用户,都有权利使用 sudo ,我们需要为普通用户配置 sudo 认证
配置sudo认证:
su进入root->visudo->o->底部输入[用户名] ALL=(ALL) NOPASSWD:ALL->按esc ->:wq保存
- 用户、用户组管理
- 用户组管理:需 root 用户执行
groupadd 用户组名:创建用户组
groupdel 用户组名:删除用户组 - 用户管理:需 root
useradd [-g -d] 用户名:创建用户
• 选项: -g 指定用户的组,不指定 -g ,会创建同名组并自动加入,指定 -g 需要组已经存在,如已存在同名组,必须使用 -g
• 选项: -d 指定用户 HOME 路径,不指定, HOME 目录默认在: /home/ 用户名
userdel [-r] 用户名:删除用户
• 选项: -r ,删除用户的 HOME 目录,不使用 -r ,删除用户时, HOME 目录保留
id [ 用户名 ]:查看用户所属组
• 参数:用户名,被查看的用户,如果不提供则查看自身
usermod -aG 用户组 用户名:修改用户所属组,将指定用户加入指定用户组 - getent 命令
getent passwd:查看当前系统中有哪些用户
共有 7 份信息,分别是:
用户名 : 密码 (x): 用户 ID: 组 ID: 描述信息 ( 无用 ):HOME 目录 : 执行终端 ( 默认 bash)
getent group:查看当前系统中有哪些用户组
含 3 份信息,组名称 : 组认证 ( 显示为 x): 组 ID
-
查看权限控制
ls -l 可以以列表形式查看内容,并显示权限细节
![]()
举例: drwxr-xr-x ,表示:
• 这是一个文件夹,首字母 d 表示
• 所属用户 ( 右上角图序号 2) 的权限是:有 r 有 w 有 x , rwx
• 所属用户组 ( 右上角图序号 3) 的权限是:有 r 无 w 有 x , r-x ( - 表示无此权限)
• 其它用户的权限是:有 r 无 w 有 x , r-x
rwx
• r 表示读权限
• w 表示写权限
• x 表示执行权限 -
修改权限控制 - chmod
chmod 命令:修改文件、文件夹的权限信息 (只有文件、文件夹的所属用户或 root 用户可以修改)
chmod [-R] 权限 文件或文件夹
• 选项: -R ,对文件夹内的全部内容应用同样的操作
示例:
• chmod u=rwx,g=rx,o=x hello.txt ,将文件权限修改为: rwxr-x--x
• 其中: u 表示 user 所属用户权限, g 表示 group 组权限, o 表示 other 其它用户权限
快捷写法:chmod 751 hello.txt
r 记为 4 , w 记为 2 , x 记为 1 -
修改权限控制 - chown
chown 命令:修改文件、文件夹的所属用户和用户组 (只适用于 root 用户执行)
chmwn [-R] [用户][:][用户组] 文件或文件夹
• 选项, -R ,同 chmod ,对文件夹内全部内容应用相同规则
• 选项,用户,修改所属用户
• 选项,用户组,修改所属用户组
• : 用于分隔用户和用户组
示例:
• chown root hello.txt ,将 hello.txt 所属用户修改为 root
• chown :root hello.txt ,将 hello.txt 所属用户组修改为 root
• chown root:itheima hello.txt ,将 hello.txt 所属用户修改为 root ,用户组修改为 itheima
• chown -R root test ,将文件夹 test 的所属用户修改为 root 并对文件夹内全部内容应用同样规则
四. Linux 实用操作
- 各类小技巧(快捷键)
- ctrl + c 强制停止
- ctrl + d 退出或登出,退出账户的登录(不能用于退出 vi/vim)
- history 命令:查看历史输入过的命令
可以通过: ! 命令前缀,自动执行上一次匹配前缀的命令
可以通过快捷键: ctrl + r ,输入内容去匹配历史命令
• 回车键可以直接执行
• 键盘左右键,可以得到此命令(不执行) - 光标移动快捷键
• ctrl + a ,跳到命令开头
• ctrl + e ,跳到命令结尾
• ctrl + 键盘左键,向左跳一个单词
• ctrl + 键盘右键,向右跳一个单词 - 清屏
• 通过快捷键 ctrl + l ,可以清空终端内容
• 或通过命令 clear 得到同样效果
- 软件安装
- yum 命令:RPM 包软件管理器,用于自动化安装配置 Linux 软件,并可以自动解决依赖问题。(需要 root 权限,需要联网)
yum [-y] [install | remove | search] 软件名称
• 选项: -y ,自动确认,无需手动确认安装或卸载过程
• install :安装
• remove :卸载
• search :搜索y - \此时出现
cannot find a valid baseurl for repo:base/7/x86_64错误
使用网站:https://blog.csdn.net/g310773517/article/details/140321025 的第四种办法解决
使用阿里云或其他国内镜像源
1更新YUM仓库源为阿里云镜像源:
sudo nano /etc/yum.repos.d/CentOS-Base.repo
2将内容替换为以下内容:
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
保存文件并退出。3清理并重建缓存点击查看代码
sudo yum clean all
sudo yum makecache
sudo yum update
- Ubuntu 使用 apt 管理器
apt [-y] [install | remove | search] 软件名称
-
systemctl
Linux 系统很多软件(内置或第三方)均支持使用 systemctl 命令控制:启动、停止、开机自启
能够被 systemctl 管理的软件,一般也称之为:服务
systemctl start | stop | status | enables | disable 服务名
• start 启动
• stop 关闭
• status 查看状态
• enable 开启开机自启
• disable 关闭开机自启 -
软连接
- ln 命令:创建软连接
类似 Windows 系统中的《快捷方式》
ln -s 参数1 参数2
• -s 选项,创建软连接
• 参数 1 :被链接的文件或文件夹
• 参数 2 :要链接去的目的地
- 日期、时区
- date 命令:在命令行中查看系统的时间
date [-d] [+格式化字符串]
• -d 按照给定的字符串显示日期,一般用于日期计算
• 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
示例:
date +%Y-%m-%d %H:%M:%S:按照 2025-01-01 10:00:00 的格式显示日期 - date 命令进行日期加减
示例:
date -d "+1 day" +%Y%m%d:显示后一天的日期 - 修改Linux时区:修改时区为东八区时区
root权限下,输入rm -f /etc/localtime
`ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime - ntp 程序:自动校准系统时间
安装 ntp :yum -y install ntp
启动并设置开机自启:
•systemctl start ntpd
•systemctl enable ntpd
- IP地址,主机名
- 在 Linux 中修改主机名
hostname: 查看主机名
hostnamectl set-hostname 主机名:修改主机名(需 root ) - 固定IP
• 在 VMware Workstation (或 Fusion )中配置 IP 地址网关和网段( IP 地址的范围)
• 在 Linux 系统中手动修改配置文件,固定 IP
- 网络传输
- ping命令:检查指定的网络服务器是否是可联通状态
ping [-c num] ip或主机名
• 选项: -c ,检查的次数,不使用 -c 选项,将无限次数持续检查
• 参数: ip 或主机名,被检查的服务器的 ip 地址或主机名地址 - wget 命令 是非交互式的文件下载器,可以在命令行内下载网络文件
wget [-b] url
• 选项: -b ,可选,后台下载,会将日志写入到当前工作目录的 wget-log 文件
• 参数: url ,下载链接 - curl 命令:发送 http 网络请求,可用于:下载文件、获取信息等
curl [-O] url
• 选项: -O ,用于下载文件,当 url 是下载链接时,可以使用此选项保存文件
• 参数: url ,要发起请求的网络地址 - 端口
Linux 系统支持 65535 个端口,分为 3 类:
• 公认端口: 1~1023 ,通常用于一些系统内置或知名程序的预留使用,如 SSH 服务的22端口, HTTPS 服务的443端口
• 注册端口: 1024~49151 ,通常可以随意使用,用于松散的绑定一些程序\服务
*查看端口占用
nmap 命令:查看端口的占用情况
安装nmap:yum -y install nmap
语法:nmap 被查看的 IP 地址
netstat 命令:查看指定端口的占用情况
安装 netstat :yum -y install net-tools
语法:netstat -anp | grep 端口号
- 进程管理
- ps 命令:查看 Linux 系统中的进程信息
ps [-e -f]
选项: -e ,显示出全部的进程
选项: -f ,以完全格式化的形式展示信息(展示全部信息)
管道符配合 grep 来进行过滤,示例:
ps -ef | grep tail:即可准确的找到 tail 命令的信息 - kill 命令:关闭进程
kill [-9] 进程ID
选项: -9 ,表示强制关闭进程。
- 主机状态
- top 命令:查看 CPU 、内存使用情况,类似 Windows 的任务管理器
top
![]()
- df 命令:查看硬盘的使用情况
di [-h]
选项: -h ,以更加人性化的单位显示 - iostat :查看 CPU 、磁盘的相关信息
iostat [-x][num1][num2]
• 选项: -x ,显示更多信息
• num1 :数字,刷新间隔, num2 :数字,刷新几次 - sar 命令:查看网络的相关统计( sar 命令非常复杂,这里仅简单用于统计网络)
sar -n DEV num1 num2
选项: -n ,查看网络, DEV 表示查看网络接口
num1 :刷新间隔(不填就查看一次结束), num2 :查看次数(不填无限次数)
- 环境变量
- env 命令:查看当前系统中记录的环境变量
env - $ 符号:用于取”变量”的值。
比如:echo $PATH:可以取得 PATH 这个环境变量的值,并通过 echo 语句输出出来 - 自行设置环境变量
临时设置,语法:export 变量名 = 变量值
永久生效
• 针对当前用户生效,配置在当前用户的: ~/.bashrc 文件中
• 针对所有用户生效,配置在系统的: /etc/profile 文件中
• 并通过语法:source 配置文件,进行立刻生效,或重新登录 FinalShell 生效
- 上传、下载
在 FinalShell 软件的下方窗体中,提供了 Linux 的文件系统视图,可以方便的:
• 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑
• 浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到 Linux 中
- rz 、 sz 命令:进行文件传输
安装:yum -y install lrzsz
• rz 命令,进行上传,语法:rz
• sz 命令进行下载,语法:sz 要下载的文件
文件会自动下载到桌面的: fsdownload 文件夹中。
- 压缩、解压
.tar ,称之为 tarball ,归档文件,即简单的将文件组装到一个 .tar 的文件内,并没有太多文件体积的减少,仅仅是简单的封装
.gz ,也常见为 .tar.gz , gzip 格式压缩文件,即使用 gzip 压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
- tar 命令
tar [-c -v -x -f -z -C] 参数1 参数2 ...参数N
• -c ,创建压缩文件,用于压缩模式
• -v ,显示压缩、解压过程,用于查看进度
• -x ,解压模式
• -f ,要创建的文件,或要解压的文件, -f 选项必须在所有选项中位置处于最后一个
• -z , gzip 模式,不使用 -z 就是普通的 tarball 格式
• -C ,选择解压的目的地,用于解压模式 - tar压缩
示例:
•tar -cvf test.tar 1.txt 2.txt 3.txt:将 1.txt 2.txt 3.txt 压缩到 test.tar 文件内
•tar -zcvf test.tar.gz 1.txt 2.txt 3.txt:将 1.txt 2.txt 3.txt 压缩到 test.tar.gz 文件内,使用 gzip 模式 - tar解压
示例:
•tar -xvf test.tar:解压 test.tar ,将文件解压至当前目录
•tar -xvf test.tar -C /home/itheima: 解压 test.tar ,将文件解压至指定目录( /home/itheima )
•tar -zxvf test.tar.gz -C /home/itheima: 以 Gzip 模式解压 test.tar.gz ,将文件解压至指定目录( /home/itheima ) - zip 命令: 压缩文件为 zip 压缩包
zip [-r] 参数1 参数2 ...参数N
• -r ,被压缩的包含文件夹的时候,需要使用 -r 选项,和 rm 、 cp 等命令的 -r 效果一致
示例:
•zip test.zip a.txt b.txt c.txt将 a.txt b.txt c.txt 压缩到 test.zip 文件内
•zip -r test.zip test itheima a.txt将 test 、 itheima 两个文件夹和 a.txt 文件,压缩到 test.zip 文件内 - unzip 命令:解压 zip 压缩包
unzip [-d] 参数
• -d ,指定要解压去的位置,同 tar 的 -C 选项
• 参数,被解压的 zip 压缩包文件
示例:
•unzip test.zip,将 test.zip 解压到当前目录
•unzip test.zip -d /home/itheima,将 test.zip 解压到指定文件夹内( /home/itheima )


浙公网安备 33010602011771号