Linux 基础学习笔记(网络设置方面的指令暂未更新)

Linux 学习笔记

参考资料与视频链接:https://www.bilibili.com/video/BV1Sp411o7Dx

一、Linux 的基本指令

1、指令与选项

  • Linux 通用的指令格式:#指令 [选项] [操作对象]

    一个指令可以包含多个选项;
    一个指令也可以包含多个操作对象;

2、基础指令

(1)ls 指令
  • 含义:list;

  • 用法一:列出当前工作目录下所有文件和文件夹的名称;

    在这里插入图片描述

  • 用法二:列出指定路径下所有文件和文件夹的名称;

    相对路径的写法:在相对路径中通常会用到两个符号;

    • ./ 表示当前目录;
    • …/ 表示上一级目录;

    绝对路径的写法:绝对路径不需要参照物,直接从根 / 开始寻找对应路径;
    在这里插入图片描述

  • 用法三:#ls 选项 路径

    常见的语法:

    • #ls -l 路径
    • #ls -la 路径

    选项解释:

    • -l:表示list,以详细信息列表的形式进行展示;

    • -a:表示显示所有的文件与文件夹,包括隐藏文件与隐藏文件夹
      在Linux中,所有的隐藏文件一般都以 “.” 开头;
      在这里插入图片描述
      在这里插入图片描述

    上述列表中,第一列的首字符表示了文档的类型,其中 “-” 表示文件,“d”表示文件夹;

  • 用法四:#ls -l[a]h 路径

    作用:以可读性较高的形式显示指定路径下文件与文件夹的名称;

    在这里插入图片描述

  • 补充:在 ls 指令返回的列表中,蓝色的名称表示文件夹,黑色的表示文件,绿色的表示其拥有所有的权限(可读可写可执行)

(2)pwd 指令
  • 用法:#pwd

  • 含义:print working directory,打印当前工作目录;

    在这里插入图片描述

(3)cd 指令
  • 用法:#cd 新路径(绝对路径与相对路径都可以使用)

  • 含义:change directory,该变目录;

    在这里插入图片描述

  • 补充:在 Linux 中有一个特殊符号 “~”,表示当前用户的家目录;

(4)mkdir 指令
  • 用法一:#mkdir 路径(绝对路径与相对路径都可以使用)
    含义:make directory,创建目录;

  • 用法二:#mkdir -p 路径
    含义:实现多层目录的创建;

  • 用法三:#mkdir 路径1 路径2 路径3...
    含义:一次性创建多个目录;

    在这里插入图片描述

(5)touch 指令
  • 作用:创建文件;
  • 用法:#touch 文件路径1 文件路径2...
    不能使用 -p 选项,创建不存在的路径!
(6)cp 指令
  • 作用:copy,复制文件/文件夹到指定的位置;
  • 用法:
    针对文件的操作:cp 被复制的文件路径 新路径
    针对文件夹的操作:cp -r 被复制的文件夹 新文件夹路径(-r 表示递归)
  • 补充:可以在新路径中定义一个新的文件名,视为“另存为”操作;
(7)mv 指令
  • 作用一:move,移动(剪切)文档到新的位置;
    用法:#move 需要移动的文档路径 新的文档路径

  • 作用二:对文件或文件夹进行重命名;

(8)rm 指令
  • 作用:remove,移除、删除;
    用法:#rm [选项] 需要移除的文档路径
  • 选项
    • -f:force,表示强制删除,将不会提示确认信息;
    • -r:recurrence,以递归的方式删除某一文件夹中所有的文档;
  • 可以一次性删除多个文件,用空格将文件路径隔开;
  • 文档路径可以用模糊查询的形式来表示;
(9)vim 指令
  • 作用:vim 是一款文本编辑器,vim 指令可以用来打开一个文件,这个文件可以是一个存在的文件,也可以是一个不存在的文件;
  • 方法:#vim 文件的路径
  • 退出:shift + : 然后输入 q,回车确认;
(10)输出重定向
  • 一般命令的输出都会显示在终端中,有时候需要将一些命令的执行结果保存到指定文件中以便进行后续的分析与统计,这时候需要用到重定向技术;

  • 关键字

    • >:覆盖输出,会覆盖文件中原先存在的内容;
    • >>:追加输出,在原始文件末尾继续添加内容;
  • 方法:#正常的指令 >/>> 文件路径
    文件路径可以是一个不存在的路径,在这种情况下,将创建一个新的文件,并将执行结果写入到该文件中;

(11)cat 指令
  • 作用一:直接在终端中打开文件;

  • 作用二:对文件进行合并;
    方法:#cat 待合并文件1 待合并文件2 ... 待合并文件n > 合并之后的文件路径

  • vim 与 cat 的区别:https://www.jianshu.com/p/a6b4fe853e20

3、进阶指令

(1)df 指令
  • 作用:查看磁盘空间;

  • 用法:#df -h(-h 提高执行结果的可读性)

    在这里插入图片描述

(2)free 指令
  • 作用:查看内存使用情况;

  • 方法:#free -单位(将以给定的单位显示执行结果)

    在这里插入图片描述

    • 剩余的真实可以使用的内存空间为1509M;
    • Swap:用于临时内存,当系统真实内存不够用时可以临时使用磁盘空间来充当内存;
(3)head 指令
  • 作用:查看文件的前 n 行,如果不指定 n,则默认显示前 10 行;
  • 用法:#head [-n] 文件路径(n 表示数字)
(4)tail 指令
  • 作用一:查看文件的后 n 行,如果不指定 n,则默认显示后 10 行;
    用法:#head [-n] 文件路径(n 表示数字)

  • 作用二:查看文件的动态变化,变化的内容不能是用户手动增加的,通常用来实时查看日志文件的变化;
    用法:#tail -f 文件路径

(5)less 指令
  • 作用:查看文件,以较少的内容进行输出,按下辅助功能键查看更多(数字:跳转到指定的行;空格:翻页;上/下/回车:上一页、下一页);
    用法:#less 需要查看的文件路径
(6)wc 指令
  • 作用:用于统计文件内容信息;

  • 语法:#wc -lwc 文件路径,其中
    -l:lines,表示行数;
    -w:words,表示单词数,以空格作为间隔符来区分;
    -c:bytes,表示字节数;

    在这里插入图片描述

(7)date 指令
  • 全部用法详见:https://www.cnblogs.com/asxe/p/9317811.html

  • 作用:表示操作日期时间(读取、设置);

  • 用法一:#date,输出格式是
    yyyy年mm月dd日 星期x hh:mm:ss CST;

  • 用法二:date +%F,输出格式是
    yyyy-mm-dd;

  • 用法三:date "+日期格式"

    在这里插入图片描述

  • 用法四:获取之前或者之后的某个时间;
    #date -d 调整的时间 [日期格式]

  • 汇总图

    在这里插入图片描述

(8)cal 指令
  • 作用:操作日历;
  • 用法:#cal [选项]
    在这里插入图片描述
    在这里插入图片描述
(9)clear / Ctrl + L 指令
  • 作用:隐藏终端中已经存在的信息;
  • 注意:可以通过向上滚动的方式查看之前的指令与信息;
(10)管道(|)
  • 管道符:| 符号前面语句的输出就是符号后面语句的输入;
  • 作用:过滤、特殊语法、扩展处理;
  • 过滤案例:#ls 路径 | grep 关键字,在路径中查找出所有包含关键字的文档名称;
  • 特殊语法案例:#cat 文件路径 | less;(不常用!)
  • 扩展处理:ls 文件夹路径 | wc -l,查看某一文件夹下的文档个数;

4、高级指令

(1)hostname 指令
  • 作用:操作服务器的主机名(读取、设置)

  • 用法一:输出完整的主机名
    #hostname

  • 作用二:输出当前主机名中的 FQDN
    #hostname -f

(2)id 指令
  • 作用:查看用户的一些基本信息(用户id,用户组id,附加组id);

  • 用法一:#id,默认显示当前用户的基本信息;

  • 用法二:#id 用户名,显示该用户的基本信息;

    在这里插入图片描述

    这些信息可以在路径 /etc/group 文件中查看:

    在这里插入图片描述

(3)whoami 指令
  • 作用:who am I,显示当前登录的用户名,一般用于 Shell 脚本,用于获取当前操作的用户名,方便记录日志;
(4)ps -ef 指令
  • 作用:主要用于查看服务器当前的进程信息;

  • 选项含义:

    -e:等价于"-A",表示列出全部的进程;

    在这里插入图片描述

  • -f:显示全字段;

    在这里插入图片描述
    其中:

    • UID:该进程执行的用户 id;
    • PID:进程 id;
    • PPID:该进程的父级进程(被调用关系)id;
      如果一个进程找不到父级进程,则称之为僵尸进程;
    • C:CPU的占用率,其形式是百分比;
    • STIME:start time,该进程的启动时间;
    • TTY:终端设备,发起该进程的设备识别符号;
      如果显示 “?” 则表示该进程不是由终端设备发起的;
    • TIME:进程的执行时间;
    • CMD:该进程的名称或对应路径;
  • 在 ps 结果中过滤出想要查看的进程状态:
    #ps -ef | grep 关键字

    在这里插入图片描述

    比如,想要查找包含关键字 “gnome-panel” 的进程,可以输入指令#ps -ef | grep gnome-panel,显示两条结果;
    注意,第一条是我们要查找的进程,第二条是因为本次查询而新增的进程!所以,如果通过该方法只找到了一条进程,那么该进程就是本次查询,原本的系统中并没有我们想要查找的进程;

(5)top 指令

Linux top 命令详解

  • 作用:查看服务器的进程所占用的资源;

  • 用法:
    进入命令:#top
    退出命令:按下 q 键;

    在这里插入图片描述

    表头介绍:

    • PID:进程id;
    • USER:进程所有者;
    • PR:进程优先级;
    • NI:nice值,负值表示高优先级,正值表示低优先级;
    • VIRT:进程使用的虚拟内存总量,单位kb;
      VIRT = SWAP+RES;
    • RES:进程使用的、未被换出的物理内存大小(常驻内存),单位kb;
      RES = CODE+DATA;
    • SHR:共享内存大小,单位kb;
    • S:进程状态;
      D = 不可中断的睡眠状态
      R = 运行
      S = 睡眠
      T = 跟踪/停止
      Z = 僵尸进程
    • %CPU:上次更新到现在的CPU时间占用百分比;
    • %MEM:进程使用的物理内存百分比;
    • TIME+:进程使用的CPU时间总计,单位1/100秒;
    • COMMAND:进程名称(命令名/命令行);
(6)du -sh 指令
  • 作用:查看目录的真实大小;

  • 选项含义:
    -s:summary,只显示汇总的大小;
    -h:以较高可读性的形式显示信息;

(7)find 指令

Linux find 命令详解

  • 作用:查找文件(包括隐藏文件);

  • 用法:#find 搜索路径 选项 关键字

  • 选项:
    -name:按照文档名称进行搜索(支持模糊搜索);
    -type:按照文档类型进行搜索;

(8)service 指令
  • 作用:用于控制一些软件服务的启动、停止、重启;

  • 用法:#service 服务名 start/stop/restart

  • 案例:启动本机安装的 Apache(网站服务器软件),其服务名为 httpd;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJjQ6U0G-1589985730127)(Assets\022.PNG)]

    注意:只有在 root 权限下可以开启!(可能和日志文件的读写权限有关)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ktMAoAJy-1589985730127)(Assets\023.PNG)]

(9)kill 指令
  • 作用:结束进程(当遇到僵尸进程、或者出于某些原因需要关闭进程的时候);
  • 用法一:#kill 进程PID(配合 ps 一起使用)
  • 用法二:#killall 进程名
(10)ifconfig 指令
  • 作用:获取网卡信息;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tk24xYpx-1589985730140)(Assets\024.PNG)]

    其中,eth0 表示 Linux 中的一个网卡,lo(loop,本地回环网卡,其 ip 地址一般都是 127.0.0.1)也是一个网卡名称;
    eth0 的 ip 地址供其他电脑访问,本机也可以通过 lo 访问自己;

(11)reboot 指令
  • 作用:重新启动计算机;
  • 用法一:#reboot
  • 用法二:#reboot -w,模拟重启,但并不真的重启(进行关机、开机的日志记录,主要用于测试)
(12)shutdown 指令
  • 作用:关机(慎用!);

  • 用法一:shutdown -h now 或者 shutdown -h hh:mm "关机提示"(指定时间关机)
    如果需要取消关机计划,

    • 针对 centos7.x 之前的版本,使用 Ctrl + c;
    • 针对 centos7.x (包含)之后的版本,使用 #shutdown -c
  • 用法二:(同样可以用来关机)
    #init 0
    #halt
    #poweroff

(13)uptime 指令
  • 作用:输出计算机的持续在线时间;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oSwodaUB-1589985730140)(Assets\025.PNG)]
(14)uname 指令
  • 作用:用户获取计算机操作系统相关信息;
  • 用法:#uname [-a]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f3QQ3lPO-1589985730141)(Assets\026.PNG)]
    其中,-a 表示 all,获取全部的系统信息(类型,全部主机名,内核版本,发布时间,开源计划)
(15)netstat-tnlp 指令

Linux netstat 命令详解

  • 作用:查看网络连接状态;

  • 用法:netstat -tnlp(常用的一种组合)

    在这里插入图片描述
    选项说明:

    • -t:表示只列出 TCP 协议的连接;
    • -n:表示将地址从字母组合转化成 ip 地址,将协议转化成端口号来显示;
    • -l:表示过滤出 “State” 列中值为 “LISTEN”(监听) 的连接;
    • -p:表示显示发起连接的进程 PID 和进程名称;
(16)man 指令
  • 作用:manual,包含了 Linux 中所有命令的手册;
  • 用法:#man 命令(按 q 键退出);

5、练习题

(1)如何通过命令行重启 Linux 操作系统?
  • #reboot
(2)如何在命令中快速删除光标前/后的内容?
  • 删除光标前:Ctrl + u;
  • 删除光标后:Ctrl + k;
(3)如何删除 /tmp 下所有 A 开头的文件?
  • #rm -f /tmp/A*(rm 指令支持模糊查询)
(4)系统重要文件需要备份,如何把 /etc/passwd 文件备份到 /tmp 目录下?
  • #cp /etc/passwd /tmp
(5)如何查看系统中最后创建的 3 个用户?
  • #tail -3 /etc/passwd
(6)什么命令可以统计当前系统中一共有多少账户?
  • #cat /etc/passwd | wc -l
(7)如何创建 /tmp/test.conf 文件?
  • #touch /tmp/test.conf
(8)如何通过 vim 编辑打开/tmp/test.conf 文件?
  • #vim /tmp/test.conf
(9)如何查看 /etc/passwd 文件的头 3 行和尾 3 行?
  • #head -3 /etc/passwd
    #tail -3 /etc/passwd
(10)如何一次性地创建目录 /text/1/2/3/4 ?
  • #mkdir -p /text/1/2/3/4
(11)如何最快的返回当前用户的家目录?
  • #cd ~#cd(默认返回家目录)
(12)如何查看 /etc 所占的自盘空间?
  • #du -sh /etc
(13)如何删除 /tmp 下的所有文件?
  • #rm -rf /tmp/*
(14)尝试启动 Apache 服务,并检查是否启动成功。
  • #service httpd start
    #ps -ef | grep httpd
(15)终止 Apache 进程。
  • #killall httpd

二、Vim 编辑器

1、Vi 介绍

  • Vi 编辑器是所有 Unix 及 Linux 系统下标准的表及其,类似于 windows 系统下的 notepad (记事本)编辑器。由于在 Unix 及 Linux 系统的任何版本中 Vi 表及其是完全相同的,因此可以在其他任何介绍 Vi 的地方进一步了解他。Vi 也是 Linux 中最基本的文本编辑器。

  • 关于 Vim:

    Vi 和 Vim 都是 Linux 中的编辑器,不同的是,Vim 比较高级,可以视为 Vi 的升级版本。Vi 适用于文本编辑,但是 Vim 更适用于 coding。

    Vim 的重点是光标的移动,模式切换,删除,查找,替换,赋值,粘贴,撤销命令的使用。

2、Vim 的三种模式

Vim 中存在三种基本的模式:命令模式、编辑模式、末行模式;

  • 命令模式:在该模式下,无法对文件进行直接的编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等),这也是文件打开后进入的默认模式;
  • 编辑模式:在该模式下可以对文件的内容进行编辑;
  • 末行模式:可以在文件的末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等);

Vim 打开文件的方式一共有 4 种:

  • #vim 文件路径,打开指定的文件;
  • #vim +数字 文件路径,打开指定的文件,并且将光标移动至指定行;
  • #vim +/关键词 文件路径,打开指定的文件,并高亮显示关键词;
  • #vim 文件路径1 文件路径2 ...,同时打开多个文件;

后续的一切 vim 命令都是基于 /etc/passwd 文件进行操作,所以先将他备份到自己的家目录或桌面上;

光标位置、高亮关键词等信息会被保留!

:q 退出;

(1)命令模式

注意:该模式是打开文件的默认模式;

  • 光标移动:
    光标移动到行首:shift + 6(^)
    光标移动到行尾:shift + 4($)
    光标移动到首行:gg
    光标移动到末行:G
    向上翻页:ctrl + b 或 PgUp
    向下翻页:ctrl + f 或 PgDn

  • 复制操作:
    粘贴:p
    复制光标所在行:yy
    以光标所在行为准(包括当前行),向下复制指定的行数:数字 yy
    可视化粘贴:ctrl + v,移动光标选中待复制模块(按两下 Esc 退出),然后按下 yy;

  • 剪切 / 删除
    剪切 / 删除光标所在行,同时下一行上移:dd;剪切不粘贴,即为删除;
    剪切 / 删除光标所在行向下指定的行数(包括当前行):数字 dd
    剪切 / 删除光标所在行,同时下一行不上移动:D,删除后当前行变成空行;(多行留白没有用)

  • 撤销 / 恢复
    撤销:冒号 u,或者直接按 u(undo)
    恢复:取消最近一次的撤销动作,ctrl + r

  • 扩展:光标的快速移动
    快速将光标移动到指定的行:数字 G
    以当前光标为准,向上 / 下移动 n 行:数字 ↑ / ↓
    以当前光标为准,向左 / 右移动 n 位:数字 ← / →

(2)末行模式
  • 命令模式与末行模式之间的切换:

    在命令模式中,使用 “:字母” 的方式进入末行模式;

    在末行模式中有三种方法退回到命令模式:

    • 按一下 Esc;(有一定的延迟)
    • 按两下 Esc;(立即退出)
    • 删除末行中的全部命令;
  • 保存

    • 保存::w(write)
    • 另存为::w 路径
    • 退出::q(quit)
    • 保存 / 另存为 并退出::wq [路径]
    • 不保存强制退出::q!
  • 调用外部命令::! 外部命令

  • 搜索 / 查找

    • 搜索 / 查找:/关键字,查找结果会高亮显示;
    • 在搜索结果中切换上 / 下一个结果:直接按键 N / n;
    • 取消高亮::nohl
  • 替换

    • 替换光标所在行第一个关键词::s/搜索的关键词/新的词
    • 替换光标所在行所有的关键词::s/搜索的关键词/新的词/g
    • 替换每一行的第一个关键词::%s/搜索的关键词/新的词
    • 替换每一行的所有的关键词::%s/搜索的关键词/新的词/g

    % 表示整个文档,g 表示全局;

  • 显示行号

    • 开启行号显示:set nu
    • 关闭行号显示:set nonu

    行号只是临时显示,退出文件重新进入后仍然需要手动设置;

  • 打开多个文件

    • 用法:#vim 文件路径1 文件路径2 文件路径3 ...

    • 查看当前打开的所有文件::files

      在这里插入图片描述
      其中:

      • 第一列 显示文件序号;
      • 第二列 显示文件状态,%a = active 当前活动的文件,# 表示上一个打开的文件;
      • 第三列 显示文件名;
      • 第四列 显示该文件上次退出时的光标所在行;
    • 切换文件:

      • 打开指定的文件::open 已经打开的文件名
      • 打开上一个文件::bp
      • 打开下一个文件::bn
(3)编辑模式
  • 编辑模式与命令行模式之间的切换

    在命令行模式中,按下 i、a 等进入编辑模式;

    在编辑模式中,按 ESC 退出编辑模式;

  • 进入方式

    i:在光标所在字符前开始插入;

    a:在光标所在字符后开始插入;

    o:在光标所在行的下面另起一新行插入;

    I:在光标所在行的行首开始插入,如果行首有空格则在空格之后插入;

    A:在光标所在行的行尾开始插入;

    O:在光标所在行的上面另起一新行开始插入;

    S:删除光标所在行并开始插入;

3、实用功能

(1)代码着色
  • 使用 vim 命令打开文件后的默认格式:

    在这里插入图片描述

    关闭语法高亮::syntax off

    开启语法高亮::syntax on

    代码着色是默认配置,上述的更改只能临时有效,退出 vim 并重新进入后将默认显示代码高亮;

(2)Vim 中计算器的使用
  • 当在编辑文件的时候涂药使用计算器时,可以不用退出 Vim 进行计算;
  • 进入编辑模式,按下 Ctrl + r,输入“ = 要计算的内容”,回车进行计算,计算结果会显示在光标处;

4、扩展

(1)Vim 的配置
  • Vim 是一款编辑器,是有配置文件的;

  • Vim 的配置有三种情况:

    • 在文件打开的时候在末行模式下输入的临时配置;
    • 个人配置文件(~/.vimrc);
    • 全局配置文件(Vim 自带,/etc/vimrc);

    如果在某一个配置项上,个人配置与全局配置有冲突,以个人配置文件为准;如果个人配置中对此项没有规定,则以全局配置文件为准;

(2)异常退出
  • 在编辑文件之后没有正常的保存退出,而是遇到断电或突然关闭终端的情况,则会显示下面的信息,称之为异常退出:

    在这里插入图片描述

  • 解决方法:

    交换文件,是在编辑过程中产生的临时文件;
    只要将临时文件删除即可;
    当然,之前编辑过程中未保存的内容也会消失;

    在这里插入图片描述

(3)别名机制
  • 作用:创建属于用户的自定义命令;

  • 实现原理:别名机制依靠一个别名映射文件:~/.bashrc;

    在这里插入图片描述

    写入 alias cls='clear',并重新登录账号,就可以用 cls 指令替代 clear 指令;

(4)退出方法
  • 在 Vim 中,退出编辑可以使用 :q:wq

    除了上述语法外,Vim 还提供了另外一种退出方式::x

    • 在文件没有被修改的情况下,该命令表示直接退出;在这种情况下,如果使用 :wq 命令退出的话,文件的修改时间会被更新!如果使用 :x 命令,则文件的修改时间不会被更改;
    • 如果文件被修改,则表示保存并退出;
    • :X(大写 X)是对文件进行加密的指令,不要和上面的退出方式混淆!!!

三、Linux 自有服务

  • Linux 自有服务,指的是系统内置的、无需用户通过安装外部软件即可运行的服务。

1、运行模式

  • 运行模式也可以成为运行级别;

  • 在 Linux 中存在一个进程:init(初始化进程),进程 id 是 1;

    在这里插入图片描述

    该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置:/etc/inittab);

    在这里插入图片描述

    根据配置文件的描述,Centos 6.5 中存在 7 种运行级别 / 模式;

    • 0:表示关机级别(不要将默认的运行级别设置成该数值);
    • 1:单用户模式;
    • 2:多用户模式,不带 NFS(Network File System);
    • 3:完整的多用户模式,带有 NFS;
    • 4:没有被使用的模式(被保留模式);
    • 5:完整的图形化界面模式;
    • 6:重启级别(不要将默认的运行级别设置成该数值);

    与运行级别相关的几个命令,这些命令其实都是调用 init 进程,将数字运行级别传递给进程;同时,这些指令需要超级管理员权限,指令都是临时性的:

    • #init 0:关机
    • #init 3:切换到不带桌面的模式;
    • #init 5:切换到图形界面;
    • #init 6:重启电脑;

    如果需要永久地改变运行级别,则需要通过修改配置文件来实现;

2、用户与用户组管理

  • Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

    用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问,另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

    每个用户账号都拥有一个唯一的用户名和各自的密码。

    用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。

    想要实现用户账号的管理,需要完成以下几个方面的工作:

    • 用户账号的添加、删除、修改以及用户密码的管理;
    • 用户组的管理;

    这里将涉及到三个系统自带的配置文件:

    • /etc/passwd:存储用户的关键信息;

      在这里插入图片描述

      每一行的格式为:

      用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell

      • 用户名:创建新用户的名称,后期登录时需要输入;
      • 密码:此处的密码一般情况下都是"x",表示密码的占位;
      • 用户ID:用户的识别符;
      • 用户组ID:该用户所属的主组ID;
      • 注释:解释该用户作用的文本说明;
      • 家目录:用户登录系统后的默认位置;
      • 解释器shell:收集用户输入的指令、传递给内核处理;

      详见 Linux /etc/passwd内容解释

    • /etc/group:存储用户组的关键信息;

      在这里插入图片描述

      每一行的格式为:

      组名:组密码:用户组ID:附加组1:附加组2:...

      • 密码:x 表示占位符,虽然用户组可以设置密码,但是绝大部分的情况下不会去设置密码;

      详见 [Linux /etc/group文件解析][Linux /etc/group文件解析]

    • /etc/shadow:存储用户的密码信息

      在这里插入图片描述

(1)用户管理

提示:所有和用户操作相关的命令(除 passwd 以外)只有 root 超级管理员有权限执行。

  • 添加用户

    常用语法:#useradd 选项 用户名

    常用选项:

    • -g:指定用户的用户主组,选项的值可以是用户组的 id,也可以是用户组的组名;
    • -G:指定用户的用户附加组,选项的值可以是用户组的 id,也可以是用户组的组名;
    • -u:表示 uid(用户的标识符),系统默认从 500 之后按顺序分配 uid,如果不想使用系统分配的 uid,可以通过该选项进行自定义;
    • -c:表示 comment,为该用户添加注释;

    注意:在不添加选项的情况下,执行 useradd 后会执行以下操作:

    • 创建同名的家目录;
    • 创建同名的用户组;

    验证用户是否创建成功:

    • 验证 /etc/passwd 文件中是否存在新用户的信息;
    • 验证在家目录下是否存在以该用户名命名的文件夹;
  • 修改用户

    常用语法:#usermod 选项 用户名

    常用选项:

    • -g:指定用户的用户主组,选项的值可以是用户组的 id,也可以是用户组的组名;
    • -G:指定用户的用户附加组,选项的值可以是用户组的 id,也可以是用户组的组名;
    • -u:表示 uid(用户的标识符),系统默认从 500 之后按顺序分配 uid,如果不想使用系统分配的 uid,可以通过该选项进行自定义;
    • -l:修改用户名(小写 L);
  • 设置密码

    在 Linux 操作系统中,如果创建好的用户没有设置密码,该用户将处于锁定状态;Linux 不允许没有设置密码的用户登录系统;

    常用语法:#password 用户名,系统将提示用户输入两次新密码;

  • 切换用户

    常用语法:#su [用户名](默认为 root)
    从 root 切换到 其他用户,不需要密码;
    从其他用户切换到 root,需要输入密码;
    切换用户之后,工作路径不会改变;

  • 删除用户

    常用语法:#userdel 用户名

    常用选项:

    • -r:表示删除用户的同时删除其家目录;

    如果在删除用户的同时,系统中还存在与该用户相关的进程,可以先 kil 进程,再将其删除;

(2)用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,不同 Linux 系统对用户组的规定有所不同,如 Linux 下的用户属于与它同名的用户组,这个用户组在创建的用户时同时创建。

用户组的管理设计用户组的添加、删除和修改,是对 /etc/group 文件的更新。

  • 用户组的添加

    常用语法:#groupadd 选项 用户组名

    常用选项:

    • -g:自定义用户组 ID;如果不指定用户组 ID,则默认从 500 开始为其赋值;
  • 用户组的编辑

    常用语法:#groupmod 选项 用户组名

    常用选项:

    • -g:自定义用户组 ID;
    • -n:设置新的用户组名称;
  • 用户组的删除

    常用语法:#groupdel 用户组名

    注意:当删除一个组时,如果这个组是某个用户的主组,需要先从组内移出所有用户。

3、网络设置

4、SSH 服务

5、修改主机名

(Linux 学习告一段落)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值