linux操作系统(2)

3.4权限管理命令

有哪些权限

  • r:读权限【read】,可以执行类似于cat命令去读取文件的内容
  • w:写权限【write】,可以向文件中写入内容
  • x:执行权限【excute】,可以执行文件中的指令

用户对象

  • 属主用户:这个文件的主人,这个文件属于谁
  • 属组用户:这个文件的组
  • 其他用户:不是这个文件的属主,也不是这个文件的属组

字母表示方式

  • u:表示属主用户
  • g:表示属组用户
  • o:表示其他用户
  • a:表示所有用户

操作权限的方法

+    表示添加权限,例如给用户添加读权限: + r

–     表示去除权限

=    表示将权限修改为指定的权限,例如将用户的权限修改为 可读可写, = rw

修改权限

  • 命令:chmod
  • 格式:chmod 用户 操作符 权限 文件

案例:

#1 将文件的a.txt的属主权限修改可读可写

chmod u=rw a.txt

#2 将文件a.txt的其他用户权限修改为可读可执行

chmod o=rx a.txt

#3 将文件a.txt的属组用户权限修改为可读可写可执行

chmod g=rwx a.txt

#4 将文件a.txt的属组用户权限修改为没有任何权限

chmod g= a.txt

#5 将文件a.txt的属组用户权限删除掉执行权限

chmod g-x a.txt

#6 将文件a.txt的属组用户权限删除掉执行权限,属主权限添加上读权限、其他用户设置为没有任何权限

chmod g-x,u+r,o= a.txt

#7 将文件a.txt所有用户的执行权限都去除掉

chmod a-x a.txt

chmod uog-x a.txt

#8 将文件a.txt所有用户的权限丢设置为可读可写

chmod a=rw a.txt

#9 将文件a.txt所有用户的所有权限都去除掉

chmod a= a.txt

查看权限

[root@localhost ~]# ls -l

-rw——-.     1                root           root              1747          4月 22 22:40      anaconda-ks.cfg

第一部分     第二部分   第三部分    第四部分     第五部分      第六部分           第七部分

解释

第一部分:表示的是权限

第二部分:表示文件的链接数[不知道也行]

第三部分:表示文件的属主的用户名

第四部分:表示文件的属组的组名

第五部分:表示这个文件的大小,默认是以字节为单位来显示

第六部分:表示文件的创建时间或者最近一次修改时间

第七部分:表示文件名

ls执行结果中权限的表示方法

rw- –x —

权限一共有9个位置

前三位:表示的是属主具有的权限

中间三位:表示的是属组具有的权限

最后三位:表示其他用户具有的权限

注意:每一组权限,顺序都是 读写执行,如果有对应的权限,就显示字母,如果没有权限,就显示-

权限的数字表示方式

# 各种权限的数值

  • r   4
  • w  2
  • x   1
  •  –   0

# 用数字表示一类用户的权限:

  • 0: —
  • 1: –x
  • 2: -w-
  • 3: -wx
  • 4: r–
  • 5: r-x
  • 6: rw-
  • 7: rwx

3.5管理服务的命令

启动服务

  • 格式:systemctl start 服务名

重启服务

  • 格式:systemctl restart 服务名

关闭服务

  • 格式:systemctl stop 服务名

服务开机自动启动

  • 格式:systemctl enable 服务名

服务开机自动关闭

  • 格式:systemctl disable 服务名

查看服务的状态

  • 格式:systemctl status 服务名 

总结:操作类型有

  • start
  • stop
  • restart
  • enable
  • disable

案例:

#1 查看crond服务的状态

[root@localhost ~]# systemctl status crond

● crond.service – Command Scheduler Loaded: loaded (/usr/libystem/crond.service; enabled; vendor preset: enabled) Active: active (running) since 一 2022-04-25 17:01:50 CST; 52min ago

#2 启动crond服务

[root@localhost ~]# systemctl start crond

#3 查看crond服务的状态

[root@localhost ~]# systemctl status crond

#4 设置crond服务开机自动启动

[root@localhost ~]# systemctl enable crond

#5 查看crond服务的状态

[root@localhost ~]# systemctl status crond

#6 设置crond服务开机的时候自动关闭

[root@localhost ~]# systemctl disable crond

#7 关闭crond服务

[root@localhost ~]# systemctl stop crond

#8 查看crond服务的状态

[root@localhost ~]# systemctl status crond

vi有三种工作模式

  • 输入模式
  • 末行模式

 准备一个测试的文件

  • 测试的时候,一定不用修改原始文件,而是要将文件复制过来,然后对复制的文件进行操作

[root@localhost ~]# cp /etc/init.d/functions ./

[root@localhost ~]# vi functions

  • 这是默认模式,也就是打开以后就是这个模式
  • 可以执行复制行、删除行、跳转光标

                    yy:复制光标所在的行

                    dd:剪切/删除光标所在的行

                    p:将复制/剪切的内容粘贴出来

                    dG:删除光所在行,到文件末尾的全部内容

                    D:删除光所在的位置到行尾的内容

                    u:撤销操作

                    /内容:搜索内容

                    n:继续向后进行搜索

末行模式下的操作

  • 保存:w
  • 退出:q,在没有进行任何修改的情况下,才可以直接退出
  • 保存退出:wq
  • 强制执行:!
  • 强制保存退出:wq!
  • 强制不保存退出:q!在对文件进行了修改之后,可以这样退出【不会保存修改的内容】
  • 显示行 :set nu
  • 不显示行 :set nonu

注意:

  • 用vi可以打开现有的文件,打开后,可以看到文件中的内容
  • 用vi也可以创建新文件,创建后会自动打开,打开后会看到空白的内容

3.7 络管理命令

  • 查看Linux的ip地址
  • 测试 络是否通
  • 检查linux是否开启了指定的端口

查看ip地址的命令

  • ifconfig:在centos7中,可能会未安装这个命令
  • ip addr:

 

 案例:配置Linux的IP地址,实现可以和物理机通信

规划

1)虚拟机的ip配置成192.168.31.200

2)虚拟机链接物理机的vmnet8

3)配置vmnet8的地址,需要和虚拟机在同一个 段

第一步:检查ip地址

[root@localhost ~]# ip addr

 

结果说明

  •   卡的名是ens33
  •  目前还没有IP地址

第二步:修改配置文件

ens33的 卡配置文件名:/etc/sysconfig/network-scripts/ifcfg-ens33

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# ls

[root@localhost network-scripts]# vi ifcfg-ens33

文件的初始内容

 需要修改两行内容

  • 1)BOOTPROTO=dhcp 修改为 BOOTPROTO=static 将获取IP的方式修改为手动设置
  • 2)ONBOOT=no 修改为 ONBOOT=yes 设置 卡自动激活

再添加两行内容

  • 1)IPADDR=192.168.31.200
  • 2)NETMASK=255.255.255.0

修改后的内容

第三步:重启 络服务

络服务的服务名:network

[root@localhost network-scripts]# systemctl restart network

第四步:检查ip地址

查看IP地址是否配置成功

注意:

  • 我们仅仅需要看ens33的地址信息
  • 只要有我们配置的那个地址,就说明配置成功了

第五步:修改 络链接

将虚拟机的直接链接到vmnet8上

第六步:修改vmnet8地址

注意:

  • 1)将物理机的vmnet8的地址修改成和linux的IP在同一个 段就可以了
  • 2)vmnet8的地址,不能和linux的相同
  • 3)这里,我将我的vmnet8的地址修改为192.168.31.244
  • 4)如果出现无法打开 卡,再dos中可以执行命令: netsh interface ipv4 install

第七步:检查 络是否正常

  • 用ping命令可以检查
  • ping的格式:ping 对方的IP

# 测试Linux是否可以 ping通 物理机

[root@localhost network-scripts]# ping 192.168.31.244

PING 192.168.31.244 (192.168.31.244) 56(84) bytes of data.

64 bytes from 192.168.31.244: icmp_seq=1 ttl=128 time=0.344 ms

64 bytes from 192.168.31.244: icmp_seq=2 ttl=128 time=0.332 ms

64 bytes from 192.168.31.244: icmp_seq=3 ttl=128 time=0.299 ms

按 ctrl+c 可以停止ping

四、安装卸载软件

4.1 安装类别

Linux安装软件有三种方式

  • yum安装【要求】
  • 编译安装
  • 通用二进制格式安装

Linux的软件包

  • linux软件包的后缀是.rpm
  • 系统光盘中有软件包
  • 在阿里、华为、清华的镜像站中
  • 以案例为例:https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/

4.2 yum安装

用yum安装软件分三步

  • 第一步:准备一个软件源。软件源其实就是一个目录,在这个目录中有很多的rpm包
  • 第二步:创建yum的配置文件,文件需要指向到软件源。
  • 第三步:用yum进行安装/卸载软件

第一步:配置软件源

1)首选将系统镜像文件挂载到linux中

安装系统的时候,那个后缀是iso的文件,就是系统镜像文件

# 将光盘挂载到mnt下

#/dev/cdrom 这个是光盘

#/mnt 这就是Linux的一个目录,这个目录是作为外部设备的挂载点来使用的

[root@localhost ~]# mount /dev/cdrom /mnt

mount: /dev/sr0 写保护,将以只读方式挂载

# 检查挂载点

# 只要挂载点下面有内容,就说明挂载成功了

[root@localhost ~]# ls /mnt/

第二步:修改配置文件

关于yum的配置文件

1)yum的配置文件路径:/etc/yum.repos.d

2)yum的配置文件名:配置文件名不是固定的,而是有一个统一的后缀,.repo

3)yum的默认配置文件,都是无效的,建议删除原有的所有配置文件

# 切换到yum的配置文件路径下

[root@localhost ~]# cd /etc/yum.repos.d/

# 删除原有的配置文件

[root@localhost yum.repos.d]# rm -rf *repo

# 检查是否还有配置文件,如果为空就正常了

[root@localhost yum.repos.d]# ls

# 创建一个新的配置文件,只要保证后缀是.repo就可以

[root@localhost yum.repos.d]# vi new.repo

[repo] # 指定一个配置文件的ID,这个ID可以随便写,但是不能有空格

name=my repo # 为配置文件指定一个名字,名字随便写

enabled=1 # 设置这个配置文件是有效,值1表示有效,值0表示无效

gpgcheck=0 # 设置是否检查软件安全性,值1表示检查,值0表示不检查

baseurl=file:///mnt # 指定软件源的位置

修改了配置文件以后,需要检查是否配置成功

[root@localhost yum.repos.d]# yum repolist

第三步:安装卸载软件

yum命令格式

  • yum 参数 软件名

参数

  • install:安装软件
  • remove:卸载软件

#1 用yum安装httpd

[root@localhost ~]# yum install httpd

#2 用 rpm -q 软件名 可以检查软件是否安装了

[root@localhost ~]# rpm -q httpd

五、计划任务

5.1 周期行计划

通过周期性计划任务,可以定时、自动完成特定的工作

使用周期性计划任务,需要开启服务:crond

1)检查crond服务

[root@localhost ~]# systemctl status crond

# 确保服务处于运行状态

2)创建计划任务了

crontab -e 可以创建计划任务

分钟 小时 日 月 周 命令

#1 每天5点27分,删除一次 tmp下的全部的文件a.txt

27 5 * * * rm -rf /tmp/a.txt

#2 每个月7 的5点27分,删除一次 tmp下的全部的文件a.txt

27 5 7 * * rm -rf /tmp/a.txt

#3 每年3月7 的5点27分,删除一次 tmp下的全部的文件a.txt

27 5 7 3 * rm -rf /tmp/a.txt

#4 没个小时的27分,删除一次 tmp下的全部的文件a.txt

27 * * * * rm -rf /tmp/a.txt

  • crontab -e 创建计划任务
  • crontab -l 查看计划任务

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24758 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月23日
下一篇 2022年3月23日

相关推荐