news 2026/4/28 17:29:21

Python基础(Linux用户、权限、实用操作)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python基础(Linux用户、权限、实用操作)

认知root用户:

Windows、MacOS、Linux均是采用多用户的管理模式进行权限管理。

  • 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
  • 而在前期,一直使用的账户是普通的用户

root用户:

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

  • 普通用户的权限,一般在其HOME目录内的不受限
  • 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

su(切换账户):

su就是用于账户切换的系统命令。

语法:

su [-] [用户名]

  • - 符号是可选的,表示是否在切换用户后加载环境变量
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d
  • 使用普通用户,切换到其他用户需要输入密码,如切换到root
  • 使用root切换到其他用户,无需密码,可以直接切换

sudo(为普通的命令授权临时root):

语法:

sudo 其它命令

  • 在其它命令之前,带上sudo,为普通的命令授权,临时以root身份执行。
  • 但是并不是所有的用户,都又权利使用sudo,需要为普通用户配置sudo认证

为普通用户配置sudo认证:

  • 切换到root,执行sudo命令,会自动通过vi编译器打开:/etc/sudoers
  • 文件的最后添加:
    • 其中的NOPASSWD:ALL 表示使用sudo,无需输入密码
  • 最后通过 wq 保存
  • 切换回普通用户
  • 执行的命令,均以root运行
  • 切换用户,”临时“借调权限相关命令
su 用户名 # 切换用户, 来源于: switch user, # root -> 其它, 无需密码, 否则: 需要密码. sudo Linux命令 # 临时借调权限, Linux会检查 /etc/sudoerrs文件, # 如果没有权限, 则会记录该行为到日志. 如果有权限, 则可以执行执行该命令. # 临时借调权限, 默认持续时间: 5分钟.

Linux系统中可以:

  • 配置多个用户
  • 配置多个用户组
  • 用户可以加入多个用户组中

Linux中关于权限的管控级别有2个级别:

  • 针对用户的权限控制
  • 针对用户组的权限控制
  • 用户组相关命令
# 查看所有的用户组 getent group # 创建用户组 groupadd 组名 # 删除用户组 groupdel 组名

用户管理:

  • 创建用户:
    • useradd [-g -d] 用户名
    • 选项:-g 指定用户的组,不指定-g,回创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
    • 选项:-d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
  • 删除用户:
    • userdel [-r] 用户名
    • 选项:-r ,删除用户的HOME目录,不使用 -r,删除用户时,HOME目录保留
  • 查看用户所属组:
    • id [用户名]
    • 参数:用户名,被查看的用户,如果不提供则查看自身
  • 修改用户所属组
    • usermod -aG 用户组 用户名,将指定用户加入指定用户组
  • 用户相关命令
# 查看所有用户. getent passwd # 创建用户, -g是指定用户所在的组. 不写则默认会创建1个和该用户名一模一样的组, 然后添加用户到该组中. useradd [-g] [用户组] 用户名 # 设置密码 passwd 用户名 # 删除用户, -r: 删除用户的同时, /home目录下 该用户的目录也同步删除. userdel [-r] 用户名 # 查看用户信息 id 用户名 # 改变用户所在的组. usermod -aG 组名 用户名 # append group: 追加组

权限管理

  • 1. 表示文件、文件夹的权限控制信息
  • 2. 表示文件、文件夹所属用户
  • 3. 表示文件、文件夹所属用户组

Linux的权限管理 :

1.” 部分的介绍:

例:

drwxr-xr-x:

  • 这个是一个文件夹,首字母d表示
  • 所属用户(2.) 的权限是:有r有w有x,rwx
  • 所属用户组(3.)的权限是:有r无w有x,r-x(-表示无此权限)
  • 其他用户的权限是:有r无w有x,r-x
rwx解释:
  • r表示读权限
  • w表示写权限
  • x表示执行权限
差别:
  • r,针对文件可以查看文件内容
    • 针对文件夹,可以查看文件夹内容,如 ls
  • w,针对文件表示可以修改此文件
    • 针对文件夹,可以在文件夹内:创建、删除、改名等操作
  • x,针对文件表示可以将文件作为程序执行
    • 针对文件夹,表示可以更改工作目录到此文件夹,cd 进入

修改权限控制:

chmod:

chmod:修改文件、文件夹的权限信息。

注意:只有文件、文件夹的所属用户或root用户可以修改。

语法:chmod [-R] 权限 文件或文件夹

  • 选项:-R,对文件夹内的全部内容应用同样的操作
chmod u=rwx,g=rx,o=x 1.txt # 属主权限:rwx, 属组权限:r-x, 其它用户权限: --x chmod -x 1.txt # 属主, 属组, 其它权限都去掉 x 权限 chmod u+x,g-r,o=rw 1.txt # 属主+x权限, 属组-r权限, 其它权限为: rw-

为了更好的表示权限, 引入了 数字权限的概念, 发现权限无外乎四种, r, w, x, -

#分别用数字: 4 -> r, 2 -> w, 1 -> x, 0 -> - 表示

权限的数字序号:

权限可用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。

数字的细节如下:r 记位 4,w 记为 2,x 记为 1,可有:

  • 0:无任何权限,即 ---
  • 1:仅有x权限,即 --x
  • 2:仅有w权限,即 -w-
  • 3:有w和x权限,即 -wx
  • 4:仅有r权限,即 r--
  • 5:有r和x权限,即 r-x
  • 6:有r和x权限,即 rw-
  • 7:有全部权限,即 rwx
#数字 对应的权限 0 --- 1 --x 2 -w- 3 -wx 4 r-- 5 r-x 6 rw- 7 rwx # 实际开发写法, 遇到权限问题, 犹豫不决, 直接 777 chmod 777 1.txt # 俗称: 满权限.

例如:751:rwx(7),r-x(5),--x(1)

chown:

chown:修改文件、文件夹的所属用户和用户组。

注意:普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行。

语法:chown [-R] [用户] [:] [用户组] 文件或文件夹

  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • 用于分隔用户和用户组
chown zhangsan 1.txt # 改变: 属主 chown :itcast 1.txt # 改变: 属组 chown lisi:itheima 1.txt # 改变: 属主 和 属组 chown -R zhangsan aa # 改变: 属主, 包括子级

快捷键:

强制停止:

ctrl + c 强制停止

  • Linux某些程序的运行,如果想要强制停止它,可以使用快捷键 ctrl + c
  • 命令输入错误,也可以通过快捷键 ctrl + c,退出当前输入,重新输入

退出或登出:

ctrl + d 退出或登出

  • 可以通过快捷键: ctrl + d ,退出账户的登录
  • 或者退出某些特定程序的专属页面

注意:不能用于退出 vi / vim 。

历史命令搜索:

  • history,查看历史输入过的命令
  • 可以通过:!命令前缀,自动执行上一次匹配前缀的命令
  • 可以通过快捷键:ctrl + r,输入内容去匹配历史命令

如果搜索到的内容是需要的:

  • 回车键可以直接执行
  • 键盘左右键,剋得到此命令(不执行)

光标移动快捷键:

  • ctrl + a 跳到命令开头
  • ctrl + e 跳到命令结尾
  • ctrl + 键盘左键,向左跳一个单词
  • ctrl + 键盘右键,向右跳一个单词

清屏:

  • 通过快捷键 ctrl + l ,可以清空终端内容
  • 或通过命令 clear 得到同样效果
ctrl + c # 强制结束(执行) ctrl + L # 清屏, 等价于: clear ctrl + d # 强制登出 ctrl + a # 跳转到命令 行首 ctrl + e # 跳转到命令 行尾 ctrl + ← # 上一个单词 ctrl + → # 后一个单词 history # 查看历史命令 !命令名 # 倒序匹配第一个能匹配上的命令, 并执行. ctrl + r # 搜索命令, 并执行.

软件安装:

yum:

yum:

  • RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
    • 类似于: windows系统 或者 Mac系统的应用商店, 直接从中查找并进行安装。

语言:yum [-y] [install | remove | search] 软件名称

  • 选项:-y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索
# 格式解释: yum # 命令名 -y # 可选项, 表示在安装过程中, 只要询问, 默认输入: yes install # 安装 remove # 卸载(移除) search # 查找并安装

注意:

  • yum命令要root权限,可以su切换到root,或使用sudo提权。
  • yum命令需要联网。
  • yum [-y] install wget 通过yum安装wget程序
  • yum [-y] remove wget 通过yum卸载wget程序
  • yum search wget 通过yum,搜索是否有wget安装包
# 安装 wget 命令, 可以联网下载资源 yum -y install wget # wget命令的用法 # 格式: wget url地址

apt -扩展:

前面Linux命令,都是通用的。但软件安装,CentOS系统和Ubuntu是使用不同的包管理器。

CentOS使用yum管理器,Ubuntu使用apt管理器

语法:apt [-y] [install | remove | search] 软件名称

用法和yum一致,同样需要root权限

  • apt install wget 安装wget
  • apt remove wget 移动wget
  • apt search wget 搜索wget

systemctl:

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

能够被systemctl管理的软件,一般也称为:服务

语法:systemctl start | stop | status | enable | disable 服务名

  • start 启动
  • stop 关闭
  • status 查看状态
  • enable 开启开机自启
  • disable 关闭开机自启

系统内置的服务比较多比如:

  • NetworkManager 主网络服务
  • network 副网络服务
  • firewalld 防火墙服务
  • sshd,ssh 服务(FinalShell远程登录Linux使用的就是这个服务)

除了内置的服务以外,部分第三方软件安装后也可以以systemctl进行控制

  • yum install -y ntp 安装ntp软件
    • 可以通过ntpd服务名,配合systemctl进行控制
  • yum install -y httpd 安装apache服务器软件
    • 可以通过httpd服务名,配合systemctl进行控制
systemctl status firewalld #查看防火墙

软连接

ln 创建软连接:

在系统中创建软连接,可以将文件、文件夹连接到其它位置

类似Windows系统中的快捷方式

语法:ln -s 参数1 参数2

  • -s选项,创建软连接
  • 参数1:被连接的文件或文件夹
  • 参数2:要连接去的目的地

IP地址

固定IP:

当前虚拟机的Linx操作系统,其IP地址是通过DHCP服务获取的

DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更

原因:

  1. 办公电脑IP地址变化无所谓,但是要远程连接到Linux系统,如果IP地址经常变化就要频繁修改适配很麻烦
  2. 在刚刚配置了虚拟机IP地址和主机名的映射,如果IP频繁更改,也需要频繁更新映射关系

在VMware Workstation中配置固定IP:

配置固定IP需要2个步骤:

第一步:
  1. 在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
  2. 在Linux系统中手动修改配置文件,固定IP
第二步:
  1. 使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件
  2. 执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130

网络传输

下载和网络请求:

ping:

检查指定的网络服务器是否是可联通状态

语法:ping [-c num] ip或主机名

  • 选项,-c,检查的次数,不使用-c选项,将无限次数持续检查
  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址

wget:

非交互式的文件下载器,可以在命令行内下载网络文件

语法:wget [-b] url

  • 选项,-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
  • 参数:url,下载链接

注意:无论下载是是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。

curl:

可以发送http网络请求,可用于:下载文件、获取信息等。

语法:curl [-0] url

  • 选项:-0,用于下载文件,当url是下载链接时,可以使用此选项保存文件
  • 参数:url,要发起请求的网络地址

端口:

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用

端口(虚拟):

计算机程序之间的通讯,通过IP只能锁定计算机,但无法锁定具体的程序。

通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通

IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

查看端口占用:

可以通过Linux去查看端口的占用情况

  • 使用nmap,安装nmap:yum -y install nmap
    • 语法:namp 被查看的IP地址
  • 可以通过netstat,查看指定端口的占用情况
    • 语法:netstat -anp | grep 端口号
    • 安装netstat:yum -y install net-tools

进程管理:

程序运行在操作系统中,是被操作系统所管理的

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

并会为每一个进程都分配一个独有的:进程ID(进程号)

查看进程 ps:

查看Linux系统中的进程信息。

语法:ps [-e -f]

  • 选项:-e,显示出全部进程
  • 选项:-f,以完全格式化的形式展示信息(展示全部信息)
固定用法 ps -ef 列出全部进程的全部信息
从左到右分别是:
UID:进程所属的用户ID
PID:进程的进程号ID
PPID:进程的父ID(启动此进程的其它进程)
C:此进程的CPU占用率(百分比)
STIME:进程的启动时间
TTY:启动此进程的终端序号,如显示?,表示非终端启动
TIME:进程占用CPU的时间
CMD:进程对应的名称或启动路径或启动命令
  • 在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在那里
  • 在FinalShell中,复制一个标签页,执行:ps -ef 找出tail这个程序的进程信息

关闭进程:

在Windows系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭它。
在Linux中,可以通过kill命令关闭进程。
语法:kill [-9] 进程ID
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

上传、下载:

可以通过FinalShell工具,方便的和虚拟机进行数据交换。
FinalShell软件的下方窗体中,提供了Linux的文件系统视图,可以方便的:
• 浏览文件系统,找到合适的文件,右键点击下载,即可传输到本地电脑
• 浏览文件系统,找到合适的目录,将本地电脑的文件拓展进入,即可方便的上传数据到Linux中

rz、sz:

除了通过FinalShell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。
rz、sz命令需要安装,可以通过:yum -y install lrzsz,即可安装。
  • rz,进行上传
    • 语法:直接输入rz
  • sz进行下载
    • 语法:sz 要下载的文件

文件会自动下载到桌面的:fsdownload文件夹中

注意:rz、sz需要终端软件支持才可正常运行 FinalShell、SecureCRT、XShell等常用终端软件均支持此操作

压缩、解压:

压缩格式:

在Linux系统中操作:tar、gzip、zip这三种压缩格式

tar:

Linux和Mac系统常用有2种压缩格式,后缀名分别是:
• 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,选择解压的目的地,用于解压模式

压缩:

注意:
  • -z选项如果使用的话,一般处于选项位第一个
  • -f选项,必须在选项位最后一个

解压:

注意:

  • -f选项,必须在选项组合体的最后一体
  • -z选项,建议在开头位置
  • -C选项单独使用,和解压所需的其它参数分开

zip压缩文件:

压缩文件位zip压缩包。

语法:zip [-r] 参数1 参数2 ... 参数N

  • -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

unzip解压文件:

方便解压zip压缩包

语法:unzip [-d] 参数

  • -d,指定要解压去的位置,同tar的-C选项
  • 参数,被解压的zip压缩包文件
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 17:25:30

X11自动化管家:xdotool的桌面操控艺术

X11自动化管家:xdotool的桌面操控艺术 【免费下载链接】xdotool fake keyboard/mouse input, window management, and more 项目地址: https://gitcode.com/gh_mirrors/xd/xdotool 在Linux桌面环境中,我们常常面临重复性操作的困扰——每天启动相…

作者头像 李华
网站建设 2026/4/28 17:25:25

解决Unity2022使用C#10.0语法,而IDE报错的问题

问题描述Unity版本:2022.3.62f3c1 LTS 在项目中 Assets/ 创建csc.rsp 文件即可使用C# 10.0 ;但是 Unity 自动生成Assembly-CSharp-Editor.csproj、Assembly-CSharp-Editor.csproj文件默认使用的 C# 9.0 就会导致IDE报错;看着心烦原因&#xf…

作者头像 李华
网站建设 2026/4/28 17:23:41

Qwen3-TTS声音克隆惊艳体验:上传声音就能克隆,支持10国语言

Qwen3-TTS声音克隆惊艳体验:上传声音就能克隆,支持10国语言 1. 引言:声音克隆技术的新突破 想象一下,你只需要录制一段10秒钟的语音,就能让AI用你的声音说任何话,而且还能流利地说10种不同的语言。这不是…

作者头像 李华