当前位置: 首页 > news >正文

Linux第二弹

root用户(超级管理员)

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

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

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

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

在前面,我们接触过su命令切换到root账户,su命令就是用于账户切换的系统命令,其来源英文单词:Switch User 。

语法: su [-] [用户名]

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

sudo命令 

 在我们得知root密码的时候,可以通过su命令切换到root得到最大权限但是我们不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

 语法: sudo 其它命令

  • 在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
  • 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

 为普通用户配置sudo认证

切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
在文件的最后添加:

其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码最后通过 wq 保存 

yum命令

yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

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

  • 选项:-y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索

yum命令需要root权限哦,可以su切换到root,或使用sudo提权并且yum命令需要联网。

systemctl 命令

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启能够被systemctl管理的软件,一般也称之为:服务

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

 

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

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

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

  • yum install -y ntp ,       安装ntp软件可以通过ntpd服务名,配合sstemctl进行控制
  • yum install -y httpd,     安装apache服务器软件可以通过httpd服务名,配合systemctl进行控制

部分软件安装后没有自动集成到systemctl中,我们可以手动添加。

ln命令创建软链接

在系统中创建软链接,可以将文件、文件夹链接到其它位置。类似Windows系统中的《快捷方式》

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

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

date命令

通过date命令可以在命令行中查看系统的时间

语法: date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
  • %Y 年
  • %y 年份后两位数字(00.99)%M月份(01.12)
  • d日(01.31)
  • %H小时(00.23)
  • %M 分钟(00.59)
  • %5秒(00.60)
  • %s自1970-01-0100:00:00 UTC 到现 在 的 秒数

-d选项,可以按照给定的字符串显示日期,一般用于日期计算

其中支持的时间标记为:

  • year年
  • Month月
  • day天
  • hour小 时
  • Minute分 钟
  • second秒

-d 选项可以和 格式化字符串配合一起使用哦。

通过date查看的日期时间是不准确的,这是因为:系统默认时区非中国的东八区

使用root权限,执行如下命令,修改时区为东八区时区

将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可

我们可以通过ntp程序自动校准系统时间

安装ntp:yum-yinstall ntp启动并设置开机自启: 

  • systemctl start ntpd
  • systemctl enable ntpd

当ntpd启动后会定期的帮助我们联网校准系统的时间

也可以手动校准(需root权限):ntpdate -untp.aliyun.com

IP地址

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192..168.88.101就是一个标准的IP地址

可以通过命令: ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum-yinstall net-tools

 特殊IP地址

除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:

127.0.0.1,这个IP地址用于指代本机(泛指,并不是真正的本机IP地址)

0.0.0.0,特殊IP地址

  • 可以用于指代本机
  • 可以在端口绑定中用来确定绑定关系(后续讲解)
  • 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

在Linux中修改主机名

  • 可以使用命令: hostname 查看主机名     
  • 可以使用命令: hostnamectl set-hostname 主机名,修改主机名(需root)
  • 重新登录 Finalshell 即可看到主机名已经正确显示

域名解析 

每台主机都要通过IP地址去访问,但我们访问网址时大多都是用字符串去访问,如访问百度:www.baidu.com。

这是因为其会进行域名解析,先到主机的 hosts 文件中查找对应 IP ,找不到就联网到公开DNS服务器(如:114.114.114.114 或 8.8.8.8等)询问

网络请求和下载

ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态

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

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

curl命令

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

语法: curl [-o] ur1

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

wget命令

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

语法: wget [-b] url

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

注意: 无论下载是否完成,都会生成要下载的文件

端口 

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

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

虚拟端口

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程房的预留使用,如SSH服务的22端口,HTTPS服务的443端!非特殊需要,不要占用这个范围的端口
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

查看端口占用

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

使用nmap命令,安装nmap: yum -y install nmap

语法:nmap 被查看的IP地址

本机四个端口被占用,22端口,一般是SSH服务使用,即FinalShell远程连接Linux所使用的端口

可以通过netstat命令,查看指定端口的占用情况

语法: netstat -anp grep端口号,安装netstat:  yum -y install net-tools

进程

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

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

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

可以通过ps命令查看Linux系统中的进程信息

语法: ps [-e -f]

  • 选项:-e,显示出全部的进程
  • 选项:-f,以完全格式化的形式展示信息(展示全部信息)

一般来说,固定用法就是: ps -ef 列出全部进程的全部信息。

从左到右分别是:

  • UD:进程所属的用户ID
  • PID:进程的进程号ID
  • PPID:进程的父ID(启动此进程的其它进程)
  • C:此进程的CPU占用率(百分比)
  • STIME:进程的启动时间
  • TTY:启动此进程的终端序号,如显示 ? 表示非终端启动
  • TIME:进程占用CPU的时间
  • CMD:表示进程的路径或名称或启动命令

查看指定进程

  • 在Finalshell中,执行命令:tail,可以看到,此命令一直阻塞在那里
  • 在Finalshell中,复制一个标签页,执行:ps -ef 找出 tail 这个程序的进程信息
  • 问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?

我们可以使用管道符配合grep来进行过滤,如:

ps -ef l grep tail,即可准确的找到 tail 命令的信息

  • 过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤哦
  • 如:ps -ef|grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)

http://www.dtcms.com/a/512129.html

相关文章:

  • 【VSCode中git管理工具】无法初始化仓库
  • 二手房网站建设自己学习建设网站
  • 网站模板找超速云建站自动化毕设题目网站开发
  • Web原生架构如何优化数据库权限管理:简化操作与增强安全性
  • HashMap扩容过程是什么?怎么解决哈希冲突?
  • OpenSSH 安全配置核心概念解析
  • TCL华星t8项目正式开工,总投资额约295亿元
  • 营销网站制作信ls15227微信网站建设公司首选
  • 新手指南:如何在悟空AI CRM中创建和管理客户
  • 网站建设來选宙斯站长网站建设运营合同范本
  • 新能源汽车的“隐形守护者”:深度解析车载充电机(OBC)的关键作用
  • AAIA:从 “普通审计” 到 “AI 专家” 的跃迁
  • 【系统分析师】核心考点:100个高频知识点汇总
  • 基于单片机的机房环境监测系统设计与实现
  • 做网站的每天打电话咋办深圳 微网站
  • 网站建设视屏电子商务网站开发工具
  • 2.常见软件测试分类的串联
  • Gemini CLI接入CloudBase-AI-Toolkit(MCP)保姆级教程
  • 阿里云代理商:阿里云CDN访问问题怎么诊断?
  • 关于yolov5 v2.0本地运行出现 的一些问题的解决
  • jsp做的网页是网站吗毕业设计拼车网站的建设雨实现
  • 不用ftp可以做网站吗html个人网页设计代码
  • AI 时代的数据通道:云消息队列 Kafka 的演进与实践
  • AWS云上Quickwit部署指南与成本分析
  • ziplist、quicklist、listpack之间的区别
  • 1.序列式容器-vectorlist
  • 长沙外贸建站用spl做网站
  • 无锡网站建设818gxwordpress 迁移 域名
  • 使用beautifulSoup提取信息
  • 一种独特机理驱动的化学反应分类器详解