Linux基本配置与管理


目录

前言

一、用户与组管理

1、用户账户可分为以下3类:

2、用户与组配置文件

3、超级用户权限

4、创建和管理用户账户

5、创建和管理组账户

6、管理组成员

7、其他命令

二、文件与目录管理

1、常见的系统目录

2、Linux 文件类型

3、Linux 目录操作

4、Linux 文件操作

1、文件内容显示

2、查找与排序

3、文件内容比较

4、文件复制、删除和移动

5、文件内容统计

6、链接文件创建

7、文件压缩与解压缩

三、文件权限管理

1、文件访问者身份

2、文件访问权限与文件属性

3、设置文件访问权限

四、网络连接配置

1、网络连接配置基本项目

2、网络连接配置文件

3、软件安装

4、使用 rpm 软件包管理

5、yum 命令

总结  



前言

        安装CentOS Linux系统并熟悉基本操作之后,需掌握系统的基本配置与管理。包括用户与组管理、文件与目录管理、文件权限管理、网络连接配置。

一、用户与组管理

在Linux中,可通过命令来创建、管理用户与组。

1、用户账户可分为以下3类:

  • 根账户(root):超级用户root可以执行所有任务,不受限制地执行任何操作。
  • 系统账户:系统本身或应用程序使用的专门账户。其中提供服务的又称为服务账户。
  • 普通账户:供实际用户登录使用的普通用户账户。

根账户与系统账户统称为标准用户。

2、用户与组配置文件

    (1) 用户账户配置文件 /etc/passwd

        文件中每一行定义一个用户账户,均由7个字段构成,用冒号分隔。

        基本格式:账户名:密码:UID:GID:注释:主目录:Shell

  • 账户名是用户名,又称登录名,可使用下划线和连字符。
  • 密码使用 x 表示,因为 password文件不保存密码信息。
  • UID 是用户账号的编号。
  • GID 用于标识用户所属的主要组。
  • 注释可以是用户全名或其他说明信息。
  • 主目录是用户登录后首次进入的目录,必须使用绝对路径。
  • Shell 是用户登录后所使用的的一个命令行界面。在CentOS中,如果该字段的值为空,则默认使用/bin/bash。如果要禁止用户账户登录 Linux,将该字段设置为 /shin/nologin即可。

        (2) 用户密码配置文件 /etc/shadow

        (3)  组账户配置文件 /etc/group

        (4) 组账户密码配置文件 /etc/gshadow

3、超级用户权限

  • sudo 命令:切换用户身份并执行相应的命令,格式为:sudo[选项] 命令
  • sudo配置文件为 /etc/sudoers 

        普通户用要使用sudo 命令,要么加入wheel组,要么在 sudo 配置文件中加入许可。

  • ## Allow root to run any commands anywhere
    root ALL=(ALL) ALL
     
    ## Allows people in group wheel to run all commands
    %wheel ALL=(ALL) ALL
  •  su 命令:可临时切换用户身份,切换时需输入目标用户的密码,超级管理员切换为普通用户时无需输入密码。命令格式为: su [选项][用户登录名]

4、创建和管理用户账户

      创建用户需 root 权限。

   (1) 添加用户:useradd,命令格式为: useradd [选项] <用户账户名>

              例:useradd zhangsan

  •   -d:指定用户主目录
  •   -g:指定该用户所属主要组

   (2)管理用户密码:

  • 设置密码:passwd [选项] [用户名],如果不提供用户名,只能对当前登录的用户设置密码,普通用户只能通过这种方式修改自己的密码。root 用户有权修改指定用户密码。
  • 锁定账户密码:passwd -l 用户名
  • 解锁账户密码:passwd -u 用户名
  • 查询密码状态:passwd -S 用户名
  • 删除账户密码:passwd -d

   (3)修改用户账户

  • 修改用户名:usermod -l 新用户账户名 原用户账户名
  • 锁定账户,临时禁止该用户登录: usermod -L 用户名 
  • 解锁用户:usermod -U 用户名

   (4)删除用户:userdel 用户名(不允许删除正在使用的用户)

5、创建和管理组账户

   (1)创建组:groupadd [选项] 组名

  • -g:可自行制定组的 GID.
  • -r:创建系统组,其 GID 值小于1000;不带此选项,则创建普通组。

   (2)修改组账户:主要是修改组名和 GID 值。格式为: groupmod [-g GID][-n 新组名] 组名。

   (3)删除组账户:groupdel 组名

6、管理组成员

  •   gpasswd -a 用户名 组名:     将用户添加到指定的组
  •   gpasswd -d 用户名 组名:     将某用户从组中删除
  •   usermod -G 组名 用户名        将一个用户添加到组中:

7、其他命令

  • 查看用户信息

        id:查看指定用户或当前用户的信息,格式为: id [选项][用户名]

        如果不提供用户名,显示当前登录的用户的信息,指定用户名则显示该账户信息。

  • 查看登录用户

        who:查看当前系统上有哪些用户登录。

        last:查看系统的历史登录情况。例:查看最近5次登录事件: last -5

        last 用户名:查看某个用户的登录历史情况。

二、文件与目录管理

1、常见的系统目录

  • /bin:存放用于系统管理维护的常用的实用命令文件。
  • /boot:存放用于系统启动的内核文件和引导装载程序文件。
  • /dev:存放设备文件。
  • /etc:存放系统配置文件,如网络配置、设备配置文件、X Windows 系统配置文件等。
  • /home:各个用户的主目录,其中的子目录名称即为各用户名。
  • /lib:存放动态链接共享库(类似于Windows 里的 .dll 文件)。
  • /media:为光盘、软盘等设备提供的默认挂载点。
  • /mnt:为某些设备提供的默认挂载点。
  • /root:root 账户为主目录。不要与根目录混淆。
  • /proc:系统自动产生的映射。查看该目录中的文件可获取有关系统硬件运行的信息。
  • /sbin:存放系统管理员或者 root 账户使用的命令文件。
  • /usr:存放应用程序和文件。
  • /var:保存经常变化的内容。

2、Linux 文件类型

  • 普通文件
  • 目录文件
  • 设备文件:分为字符设备文件和块设备文件
  • 链接文件:分为符号链接文件和硬链接文件

3、Linux 目录操作

  • mkdir 命令:创建目录,命令格式为:   mkdir [选项] 目录名
  • cd 命令:改变工作目录,命令格式为: cd 目录名 

                例:切换到根目录下 :  cd /

  • pwd 命令:显示当前工作目录的绝对路径
  • ls 命令:列出指定目录的内容,命令格式为:  ls [ 选项] [目录或文件]

                -a:显示所有文件

                -c:按文件修改时间排序

                -i:在输出的第一列显示文件的索引节点号

                -l:以长格式显示文件的详细信息

                -r:按逆序显示 ls 命令的输出结果

                -R:递归地显示指定目录的各个子目录中的文件

4、Linux 文件操作

1、文件内容显示

  • cat 命令:显示文件内容,命令格式为: cat[选项] 文件名 

        如果文件太长,cat 命令只能看到文件最后一页。

  • more 命令:逐页显示文件内容,命令格式为:more [选项]文件名 

        该命令一次显示一屏文本,满屏后显示停下来,在屏幕底部给出提示信号,显示出已显示的    百分比。回车下一行,空格下一页,q 退出。

  • less 命令:翻页查看,命令格式为:less [选项] 文件名

        功能比more更灵活,PgUp,PgDn 可向前、向后翻页,上下光标可向前、向后移动一行。

  • head 命令:显示指定文件开头若干行。命令格式为:head [参数] 文件名

        行数由参数值来确定,例 显示 a.txt 的前15行: head -15 a.txt

  • tail 命令:显示指定文件的末尾若干行。命令格式为:tail [参数] 文件名

2、查找与排序

  • grep 命令:查找文本中的内容,命令格式为:grep [选项] 文件名

                -c:只输出匹配行的计数

                -i:不区分大小写

                -l :  查询多文件时只输出包含匹配字符的文件名

                -n :  显示匹配行及行号

                -s :  不显示不存在或无匹配文本的错误信息

                -v :  显示不包含匹配文本的所有行

                  -o :  只显示匹配字符串的部分

  • find 命令:在目录中查找文件,命令格式为:find [路径] 匹配表达式

                -name:  按文件名称查找
                -user:    按文件拥有者查找
                -group:  按文件拥有组查找
                -type:    按文件类型查找
                -size        按文件大小查找

  • sort 命令:对文本各行进行排序,命令格式为:sort [选项] 文件列表

3、文件内容比较

  • comm 命令:对已排好序的文件逐行比较,只显示共有的行。
  • diff 命令:逐行比较两个文件,列出不同之处,如果一致,则不显示任何输出。

4、文件复制、删除和移动

  • cp 命令:复制文件,命令格式为: cp [选项] 源文件或目录  目标文件或目录

                -f 或 --force: 强行复制文件或目录, 不论目的文件或目录是否已经存在

                -i 或 --interactive: 覆盖文件之前先询问用户

                -r: 递归处理,将指定目录下的文件与子目录一并处理。

  • rm 命令:删除文件或目录
  • mv 命令:移动文件或目录

5、文件内容统计

  • wc 命令:用于统计指定文件的字节数、字数、行数,并输出结果。命令格式为:

                wc [选项] 文件列表

                        -c:统计字节数

                        -l:统计行数

                        -w:统计字数

                wc 命令输出列的顺序和数目不受选项顺序和数目的影响,输出格式为:

                        行数 字数 字节数 文件名

6、链接文件创建

  • 建立符号链接文件的命令格式为: ln -s 目标(原文件或目录)链接文件
  • 例:
  • ln -s /home/myhome/test  /home/myhome/test2
    删除链接文件:rm -rf test2
  • 建立硬链接文件的命令格式为:ln 目标(原文件)
  • ln /root/a.txt /home

    7、文件压缩与解压缩

  • gzip 命令:对文件进行压缩和解压缩,命令格式为:gzip [选项] 压缩文件名/解压缩文件名
  • unzip 命令:对 winzip 格式的压缩文件进行解压缩,命令格式为:uzip [选项] 压缩文件名
  • tar 命令:对文件和目录进行打包或压缩,命令格式为

                tar -zxvf 解压文件    tar -zcvf  压缩文件

                c:打包文件

                v:显示运行过程

                f:指定文件名

三、文件权限管理

1、文件访问者身份

  • 所有者:默认情况下,文件的创建者即为所有者,root 账户可以将文件的所有权转让给其他用户,使用 chown 命令变更文件所有者,命令格式为:chown [选项] [新所有者] 文件列表

                -R:进行递归变更,即目录连同其子目录下的所有文件的所有者都变更。

  • 所属组:使用 chgrp [选项] [新的所属组] 文件列表

                 -R:进行递归变更,即目录连同其子目录下的所有文件的所有者都变更。

chown 命令可以同时变更文件所有者和所属组。命令格式为:

         chown [选项] [新所有者]:[新的所属组] 文件列表

2、文件访问权限与文件属性

  • 读:读取文件内容或者查看目录
  • 写:修改文件内容或者创建、删除文件
  • 执行:执行文件或者允许使用 cd 命令进入目录

3、设置文件访问权限

     1. 用字符表示权限

  • +:表示增加某种权限
  • -:表示撤销某种权限
  • =:表示指定某种权限(同时会取消其他权限)

     2. 用字符表示用户

  • u:所有者
  • g:所属组
  • o:其他用户
  • a:全部用户

    3. 用字符表示权限类型

  • r:读权限
  • w:写权限
  • x:执行权限

 例:

## 给所属组用户增加写权限,给其他用户增加读权限
chmod g+w,o+r /home/ygr/test1

## 同时撤销所属组和其他用户对该文件的读写权限
chmod go-r /home/ygr/test2

## 对所有用户赋予读和执行权限
chmod a=rx /home/ygr/test3

    4. 用数字表示文件权限

  • 读(r)权限:4
  • 写(w)权限:2
  • 执行(x)权限:1
  • 无任何权限:0

        例:754 表示所有者权限:[4+2+1]、所属组权限:[4+0+1]、其他用户权限:[4+0+0]

                转化为字符表示:rwxr-xr--

## 文件file的所有者拥有读写权限,所属组用户和其他用户只能读取,可以执行:
chmod 644 file
等同于:
chmod u=rw-,go=r-- file

四、网络连接配置

1、网络连接配置基本项目

  • 网络接口配置:Linux支持多种网络接口设备类型,一般情况下,Linux均能自动检测和识别网络接口设备(如网卡)。在实际应用中主要是网卡配置,包括 IP地址、子网掩码、默认网关等。设置  IP地址 和 子网掩码后,主机就可以与同网段的其他主机进行通信,但要与不同网段的主机进行通信,还需设置默认网关地址。默认网关地址是一个本地路由器地址,用于与本网段之外的主机进行通信。
  • 主机名配置:主机名是用于标识一台主机的名称,在网络中主机名称具有唯一性。
  • DNS 服务器配置:主机作为 DNS 客户端,访问 DNS 服务器来进行域名解析,使用目标主机的域名与目标主机进行通信。

2、网络连接配置文件

  • /etc/hosts:存储主机名和 IP 地址映射,用来解析无法用其他方法解析的主机名。
  • /etc/resolv.conf:与域名解析有关的设置。
  • /etc/sysconfig/network-scripts/ifcfg<接口名称>:对每个网络接口,都有一个相应的接口配置文件,提供该网络接口的特定信息。
  • /etc/NetworkManager/system-connections/:保存 VPN、移动宽带、PPPoE连接配置信息。

       网络的设备名、IP地址、子网掩码及默认网关等配置信息保存在网卡的配置文件中,一块网卡对应一个配置文件,文件位于:/etc/sysconfig/network-scripts/ifcfg目录中。例:一个网卡配置文件的主要内容如下:

TYPE=Ethernet    网络类型,一般都是以太网Ethernet 
BOOTPROTO=DHCP   地址分配模式,即如何让虚拟主机获得IP地址 一般都设置为none或者static
NAME=网卡设备名称 虚拟机的网卡设备名称
UUID        
ONBOOT=yes       计算机启动时是否启动(激活)该网卡
IPADDR           虚拟主机的IP地址
PREFIX           一个局域网中可以有多少主机
GATEWAY          网关
DNS1             域名解析 建立名称和IP地址的对应关系

3、软件安装

  • rpm 工具安装:获得rpm安装包后,可直接使用命令rpm工具进行离线安装,无需联网。这种方法最大的困难是要自行处理软件依赖性问题。
  • yum 工具安装:是一种软件源安装方式,可以自动获取、安装和更新升级软件包,是首选的安装方式
  • 其他二进制软件包安装:有些软件直接采用二进制包方式发布,常见的格式有 .bin 和 .run,此类软件在命令行运行安装文件即可。或者在图形化界面文件管理器中双击该软件包执行,前提是有执行权限。
  • 源代码安装:有时不得不采用最原始的源代码安装方式,下载软件源码进行编译之后再自行安装

4、使用 rpm 软件包管理

  • 安装 rpm 软件包:rpm -ivh 软件包全路径名

        -i:表示安装软件

        -v:显示较详细的安装信息

        -h:显示软件包的 hash 值

  • 升级 rpm 软件包:rpm -Uvh 软件包全路径名
  • 查询安装 rpm 软件包:rpm -q 软件包名
  • 验证 rpm 软件包 :rpm -V rpm 软件包名      验证所有已安装的软件包: rpm -Va 
  • 卸载rpm 软件包: rpm -e 软件包名

5、yum 命令

  • 使用 yum 安装软件包: yum install 包1[包2][...]
yum install php
  • 卸载软件包: yum remove|erase 包1[包2][...]
  • 重新安装相同版本的软件包:yum reinstall 包1[包2][...]
  • 降级安装软件包:yum downgrade 包1[包2][...]
  • 升级软件包: yum update 包1[包2][...]
  • 升级之前先执行 check-update 命令检测已安装包的更新信息,再更新指定包:yum check-update       yum update 包名
  • 不指定更新的软件包(全部更新): yum update
  • 查询软件包: yum info [参数] 

        参数使用包名:查询资源库中指定包的安装信息。

        参数使用 update:查询资源库中所有可以 更新的 rpm 包的信息

        参数使用 installed:查询已经安装的所有 rpm 包的信息

        参数使用 extras:列出已经安装的但不包含在资源库中的 rpm 包信息

        yum list 给出 rpm 包列表

        yum search 用于搜索包名

        yum provides 用于搜索有包含特定文件名的 rpm 包,命令格式为:yum provides 文件路径

总结  

Linux命令熟能生巧。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辰星_杨啊杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值