文章目录

  • 前言
    • 一. VIM文本编辑器
      • 1.VIM文本编辑器的概述
      • 2.VIM编辑器的操作模式
    • 二.磁盘管理
      • 1.Linux磁盘管理常用命令
      • 2.Linux硬盘分区和格式化概述
      • 3.Virtual box 添加硬盘
      • 4.MBR分区
      • 5.GPT分区
      • 6.格式化
      • 7.挂载分区
      • 8.swap分区
    • 三.用户管理
      • 1.用户和用户组的概念
      • 2. 相关配置文件
      • 3.用户组的基本命令
      • 4.用户的基本命令
      • 5.用户和用户组的进阶命令
      • 6.用户管理其它命令

前言

文章里的命令选项只是常用的选项,还有更多的选项可自行去学习。
参考视频:Linux 达人养成计划 II
参考网站:菜鸟教程
Linux基础(一)的笔记的地址:Linux基础(一)的笔记

一. VIM文本编辑器

1.VIM文本编辑器的概述

(1)VI编辑器的介绍

  • VI的英文全称为:Visual Interface
  • 可视化接口
  • 类似windows中的记事本
  • VI相对于记事本强大的不是一星半点

(2)VIM与VI相比有哪些提升

  • VIM支持多级撤销
  • VIM可以跨平台运行
  • VIM支持语法高亮
  • VIM支持图形界面

2.VIM编辑器的操作模式

(1)操作模式

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

(2)作用

  • 命令模式

    • 用于输入用户等待的模式,比如撤销、剪切、复制等等命令
    • 默认启动就是命令模式
  • 输入模式
    • 用于输入文本的模式,也就是往文本打字的模式
    • 按esc可以退出输入模式
  • 底行模式(行尾,末行)
    • 可以输入一些指令,比如保存、退出等指令

(3)命令模式的示例

  • vim + 文件名 可以把光标移到最后一行位置;vim +n 文件名 可以把光标移到第n行,如果大于文件的最大行则定位到最后一行;vim +/xxx 文件名 可以定位到“xxx”第一次出现的行,按“n”可以向下移动,“N”可以向上移动
  • vim aa bb cc 可以一次性打开多个文件或者创建多个文件,按“:n”然后回车可以切换到下一个文件,按“:N” 然后回车切换到上一个文件,当是最后一个文件时切换到下一个文件会提示“无法切换,已是最后一个文件”

(4)输入模式

按键 作用
字符按键以及Shift组合 输入字符
ENTER 回车键,换行
BACKSPACE 退格键,删除光标前一个字符
DEL 删除键,删除光标后一个字符
方向键 在文本中移动光标
HOME/END 移动光标到行首/行尾
Page Up/Page Down 上/下翻页
Insert 切换光标为输入/替换模式,光标将变成竖线/下划线
ESC 退出输入模式,切换到命令模式

(5)底行模式常用指令

指令 作用
:w 保存
:q 退出
:! 强制执行
:ls 列出当前打开的所有文件
:n 切换到下一个文件
:15 光标定位到15行
/xxx 光标位置向后搜索“xxx”字符串
?xxx 光标位置向前搜索“xxx”字符串
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!
:1,$s/word1/word2/g 或 :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2,如果后面加上“c”的话会有一个确认是否取代
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

(6)命令模式常用指令

指令 作用
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
ctrl + f 屏幕『向下』移动一页,相当于 [Page Down]按键 (front)
ctrl + b 屏幕『向上』移动一页,相当于 [Page Up] 按键 (back)
ctrl + d 屏幕『向下』移动半页(down)
ctrl + u 屏幕『向上』移动半页(up)
dd 删除游标所在的那一整行,如果前面加上数字n则删除n行
o 在目前光标所在的下一行处输入新的一行
yy 复制游标所在的那一行,如果前面加上数字n则复制n行
p 将已复制的数据在光标下一行贴上
P 将已复制的数据在光标上一行贴上
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] ,如果前面加上数字n则删除n个字符
u 复原前一个动作
ctrl + r 重做上一个动作
d+ G 清空文件内容

(7)VIM/VI工作模式图

(8)vim 键盘图

二.磁盘管理

1.Linux磁盘管理常用命令

(1)Linux磁盘管理常用三个命令为df、du和fdisk

  • df:列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量
  • fdisk:用于磁盘分区

(2)df命令

df [选项] [目录或文件名]选项:-l 仅显示本地磁盘(默认)-a 列出所有的文件系统,包括系统特有的 /proc 等文件系统-k 以 KBytes 的容量显示各文件系统-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示-H 以 M=1000K 取代 M=1024K 的进位方式-T 显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出-t 显示指定类型文件系统的磁盘分区-i 不用硬盘容量,而以 inode 的数量来显示-x 不显示指定类型文件系统的磁盘分区英文全称:Disk free
[root@localhost test]# df -ha
文件系统        容量  已用  可用 已用% 挂载点
sysfs              0     0     0     - /sys
proc               0     0     0     - /proc
devtmpfs        909M     0  909M    0% /dev
securityfs         0     0     0     - /sys/kernel/security
tmpfs           919M     0  919M    0% /dev/shm
devpts             0     0     0     - /dev/pts
tmpfs           919M  8.6M  911M    1% /run
tmpfs           919M     0  919M    0% /sys/fs/cgroup
cgroup             0     0     0     - /sys/fs/cgroup/systemd
pstore             0     0     0     - /sys/fs/pstore
cgroup             0     0     0     - /sys/fs/cgroup/cpu,cpuacct
cgroup             0     0     0     - /sys/fs/cgroup/memory
cgroup             0     0     0     - /sys/fs/cgroup/perf_event
cgroup             0     0     0     - /sys/fs/cgroup/net_cls,net_prio
cgroup             0     0     0     - /sys/fs/cgroup/hugetlb
cgroup             0     0     0     - /sys/fs/cgroup/cpuset
cgroup             0     0     0     - /sys/fs/cgroup/devices
cgroup             0     0     0     - /sys/fs/cgroup/freezer
cgroup             0     0     0     - /sys/fs/cgroup/blkio
cgroup             0     0     0     - /sys/fs/cgroup/pids
configfs           0     0     0     - /sys/kernel/config
/dev/sda3        18G  1.8G   17G   10% /
selinuxfs          0     0     0     - /sys/fs/selinux
systemd-1          -     -     -     - /proc/sys/fs/binfmt_misc
hugetlbfs          0     0     0     - /dev/hugepages
mqueue             0     0     0     - /dev/mqueue
debugfs            0     0     0     - /sys/kernel/debug
/dev/sda1      1014M  182M  833M   18% /boot
www             183G  111G   73G   61% /var/www
tmpfs           184M     0  184M    0% /run/user/0
binfmt_misc        0     0     0     - /proc/sys/fs/binfmt_misc

(3)du命令
du命令是对文件和目录磁盘使用的空间的查看,与df是有一些区别的

du [选项] 文件或目录名称选项:-a 列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已-h 以人们较易读的容量格式 (G/M) 显示-s 列出总量而已,而不列出每个各别的目录占用容量-S 不包括子目录下的总计,与 -s 有点差别-k 以 KBytes 列出容量显示-m 以 MBytes 列出容量显示-b 以byte为单位统计文件英文全称:Disk usage
[root@localhost test]# du -ah
0   ./ziptest/tsts.txt
0   ./ziptest/tsts2.txt
0   ./ziptest
4.0K    ./test.txt
4.0K    .

2.Linux硬盘分区和格式化概述

(1)为什么重新提分区

  • 主分区和扩展分区总数不能超过4个
  • 扩展分区最多只能有一个
  • 扩展分区不能直接存取数据
  • 硬盘空间有限
  • 数据迁移有风险

3.Virtual box 添加硬盘

(1)先关掉虚拟机
(2)创建虚拟硬盘
进入创建虚拟硬盘

选择和创建虚拟盘





别忘了点击OK

4.MBR分区

(1)须知知识

  • Linux系统中的硬件设备都是以文件形式存放在/dev目录下
  • 硬件设备都是由Linux系统自动识别的
  • 必须对硬盘进行分区、格式化、挂载后才能使用

(2)fdisk命令

fdisk [选项] 装置名称选项:-b 指定每个分区的大小-l 列出指定的外围设备的分区表状况-s 将指定的分区大小输出到标准输出上,单位为区块-u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址-v   显示版本信息
[root@localhost ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000d1271设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200     4196351     1048576   82  Linux swap / Solaris
/dev/sda3         4196352    41943039    18873344   83  Linux磁盘 /dev/sdb:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

/dev/sdb就是刚才添加的新硬盘

(3)进入/dev/sdb的分区模式

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x1474e190 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):

(4)进行分区
输入“m”查看帮助

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x1474e190 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):m
命令操作a   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)

创建一个主分区

查看已创建的分区

创建一个扩展分区

创建一个逻辑分区

再创建一个逻辑分区的步骤同上
当前分区情况

删除逻辑分区

再创建一个主分区同上操作
创建一个扩展分区同上操作
创建两个逻辑分区同上操作
最后分区情况

写入分区

fdisk命令查看分区情况

5.GPT分区

(1)分区模式

  • MBR分区模式

    • 主分区不能超过4个
    • 单个分区容量最大2TB
  • GPT分区模式
    • 主分区个数“几乎”没有限制(最大支持128个主分区)
    • 单个分区容量“几乎”没有限制(大小达到18EB)
    • 不适合安装X86架构的系统

(2) fdisk命令与parted命令差异

  • fdisk命令只适合MBR分区
  • parted命令两种分区模式都适合

(3)再添加一块硬盘
步骤同上,但注意硬盘名称不要与之前的同名
(4)使用parted命令进行GPT分区
启动parted工具,默认使用第一块硬盘(/dev/sda)

[root@localhost ~]# parted
GNU Parted 3.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

查看帮助

切换硬盘和选择分区模式

parted有两种工作模式

  • 命令行模式(一步到位,但需要记住一些命令的参数)
  • 交互模式(提示的方式,如同fdisk一样)

parted交互模式分区

parted命令行模式分区

与已有分区位置重叠的情况

删除分区

验证GPT格式是否能突破4个分区

修改默认单位

退出parted

使用parted来进行MBR分区在mklabel哪里选择msdos,提示不一样而已

6.格式化

(1)parted格式化支持的文件系统有限;通常使用mkfs进行格式化,MRB和GPT都可以使用mkfs格式化

 mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]选项:-t, --type=<类型>  文件系统类型;若不指定,将使用 ext2fs-options     实际文件系统构建程序的参数<设备>         要使用设备的路径<大小>         要使用设备上的块数-V, --verbose      解释正在进行的操作;多次指定 -V 将导致空运行(dry-run)-V, --version      显示版本信息并退出将 -V 作为 --version 选项时必须是惟一选项-h, --help         显示此帮助并退出英文全称:Make file system

(2)查看/dev/sdb各个分区的设备名称

(3)使用mkfs进行格式化 /dev/sdb1的文件系统为ext3(方法一)

[root@localhost ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

(4)使用mkfs进行格式化 /dev/sdb2的文件系统为ext4(方法二)

[root@localhost ~]# mkfs -t ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

(5)注意:MBR分区只有主分区和逻辑分区才能格式化,GPT分区表的硬盘的文件系统类型使用fdisk命令是查看不了的,只有启动parted指令才能

7.挂载分区

(1)格式化完成后还不能存储数据,必须要挂载;理论上可以挂载到系统的任意地方,但是系统为我们提供了默认挂载的目录/mnt目录,如果没有特殊需求的话就挂载到这里,挂载点必须存在

1.挂载就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),而该目录被称为挂载点,访问此目录就等同于访问设备文件,也就是说这个目录就是它的入口;
2.挂载到有数据的目录,之前的数据还是在之前的位置的,但是在挂载新的分区之后,旧的数据会看不到的了,解除挂载之后才能看到原来的数据
3.挂载的原则:必须是目录,最好不要有数据

(2)挂载/dev/sdb1到/mnt/test目录和卸载

#如果目录不存在则创建
[root@localhost ~]# mkdir -p /mnt/test
#挂载到/mnt/test目录
[root@localhost ~]# mount /dev/sdb1 /mnt/test
#取消挂载
[root@localhost ~]# umount /mnt/test

注:使用mount命令挂载不是永久性的

(3)永久挂载

进入修改

[root@localhost ~]# vim /etc/fstab

修改/etc/fstab文件实现永久挂载,保存退出

8.swap分区

(1)步骤

  • 建立一个普通的Linux分区
  • 修改分区类型的16进制编码
  • 格式化交换分区
  • 启用交换分区

(2)实现
修改分区类型的16进制编码


格式化分区

[root@localhost ~]# mkswap /dev/sdb6
正在设置交换空间版本 1,大小 = 2094076 KiB
无标签,UUID=c5f0d1c6-da4b-4c86-8cd2-1e685ba90279

启用swap分区

[root@localhost ~]# swapon /dev/sdb6

free命令查看内存状况

[root@localhost ~]# freetotal        used        free      shared  buff/cache   available
Mem:        1882092      154676     1514828        8808      212588     1575160
Swap:       3142648           0     3142648

关闭swap分区

[root@localhost ~]# swapoff /dev/sdb6

三.用户管理

1.用户和用户组的概念

(1)概念

  • 用户:使用操作系统的人
  • 用户组:具有相同系统权限的一组用户

2. 相关配置文件

(1)/etc/group存储当前系统中所有用户组的信息

[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
libstoragemgmt:x:997:
ssh_keys:x:996:
abrt:x:173:
rpc:x:32:
sshd:x:74:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
ntp:x:38:
chrony:x:995:
tcpdump:x:72:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
vboxsf:x:994:
www:x:1000:

注意:root超级用户组的组id固定为0;1~499为系统预留;组中用户名列表为空,并不一定就没有用户,当用户名与组名相同时可以省略;大于等于500的组id是用户手动创建的;组名码都是使用“x”代替

(1)/etc/gshadow存储当前系统中用户组的密码信息

[root@localhost ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::
cdrom:::
mail:::postfix
man:::
dialout:::
floppy:::
games:::
tape:::
video:::
ftp:::
lock:::
audio:::
nobody:::
users:::
utmp:!::
utempter:!::
input:!::
systemd-journal:!::
systemd-network:!::
dbus:!::
polkitd:!::
libstoragemgmt:!::
ssh_keys:!::
abrt:!::
rpc:!::
sshd:!::
slocate:!::
postdrop:!::
postfix:!::
ntp:!::
chrony:!::
tcpdump:!::
stapusr:!::
stapsys:!::
stapdev:!::
vboxsf:!::
www:!::

/etc/group文件多少行,/etc/gshadow文件就有多少行,一一对应;组密码为空、“*”或者“!”表示组的密码为空;组管理者表示谁能管理这个组,一般情况下是空的;组管理者为空表示组内所有用户都可以管理这个组;组中用户列表跟/etc/group文件一样

(3)/etc/passwd存储当前系统中所有用户的信息

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
vboxadd:x:996:1::/var/run/vboxadd:/bin/false
www:x:1000:1000::/home/www:/bin/bash

创建用户时不指定用户家目录,就默认在/home目录下创建与用户名相同的目录;用户注释信息就是对这个用户做注释;shell类型表示该用户能使用那些shell;通常用户标识号的取值范围是0~65 535;0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始;在Linux系统中,这个界限是500;

(3)/etc/shadow存储当前系统中所有用户的密码信息

[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
vboxadd:x:996:1::/var/run/vboxadd:/bin/false
www:x:1000:1000::/home/www:/bin/bash
[root@localhost ~]# cat /etc/shadow
root:$6$iHv2D7x3$1sCvNPvQT9pllr7.OrxcOUB2k/xiBXWVE33hpKrBvPY62ycLWe6YjkmeIorZ4LyRwp.m00NRrCJ488TJ4IwGT1:18427:0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
adm:*:17834:0:99999:7:::
lp:*:17834:0:99999:7:::
sync:*:17834:0:99999:7:::
shutdown:*:17834:0:99999:7:::
halt:*:17834:0:99999:7:::
mail:*:17834:0:99999:7:::
operator:*:17834:0:99999:7:::
games:*:17834:0:99999:7:::
ftp:*:17834:0:99999:7:::
nobody:*:17834:0:99999:7:::
systemd-network:!!:18427::::::
dbus:!!:18427::::::
polkitd:!!:18427::::::
libstoragemgmt:!!:18427::::::
abrt:!!:18427::::::
rpc:!!:18427:0:99999:7:::
sshd:!!:18427::::::
postfix:!!:18427::::::
ntp:!!:18427::::::
chrony:!!:18427::::::
tcpdump:!!:18427::::::
vboxadd:!!:18427::::::
www:$6$1g9h4pbo$2bYszH2B.xHoOiwAe9WHWGptLW3td/qed2so7scGqCNa6HL9BkeReLdr9Xf2y/k9NlYSMAFBddGLKWC4oa0be.:18429:0:99999:7:::

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

(4)为什么分开来

  • 安全性
  • 用户信息经常被读取,而密码不经常被读取

3.用户组的基本命令

(1)新增用户组命令:groupadd命令

groupadd [选项] 用户组选项:-g GID 指定新用户组的组标识号(GID)-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
[root@localhost ~]# groupadd test

(2)修改用户组的属性命令:groupmod命令

groupmod 选项 用户组选项:-g GID 为用户组指定新的组标识号-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同-n新用户组 将用户组的名字改为新名字
#将组名修改为 new_test
[root@localhost ~]# groupmod -n new_test test
#将组编号修改为 668
[root@localhost ~]# groupmod -g 668 new_test

(3)删除用户组命令:groupdel命令

groupdel 用户组
#删除用户组
[root@localhost ~]# groupdel new_test

删除用户组之前,必须先删除用户组里的用户,否则处在这个用户组的用户的配置文件当中关于组的信息无法跟组对应上,就让他们变成了系统黑户口,在后续的使用上权限受到影响

4.用户的基本命令

(1)添加用户命令:useradd命令

useradd [选项] 用户名选项:-c comment 指定一段注释性描述-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录-g 用户组 指定用户所属的用户组-G 用户组,用户组 指定用户所属的附加组-s Shell文件 指定用户的登录Shell-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
#不加选项
[root@localhost ~]# useradd test
#指定用户组
[root@localhost ~]# useradd -g test  test1
#指定用户家目录
[root@localhost ~]# useradd -d /home/xxx test233

(2)修改用户命令:usermod命令

usermod 选项 用户名选项:-c 修改注释-d 用户的新主目录-g 强制使用 GROUP 为新主组-m 将家目录内容移至新位置 (仅于 -d 一起使用)-l 新的登录名称-L 锁住用户-G 新的附加组列表 GROUPS-s 修改用户帐号的新登录shell-u 修改用户帐号的UID-U 解锁用户
#修改用户名,把test用户名改为test_new
[root@localhost ~]# usermod -l test_new test
#用户的新主目录
[root@localhost ~]# usermod -d /home/test_new test_new

(3)删除用户命令:userdel命令

userdel [选项] 用户名选项:-r 用户的主目录一起删除
#也把用户的目录删除
[root@localhost ~]# userdel -r test

(4)禁止普通用户登录

#创建这个文件就可以禁止普通用户登录
[root@localhost ~]# touch /etc/nologin

5.用户和用户组的进阶命令

(1)用户口令管理命令:passwd命令

passwd 选项 用户名选项:-l 锁定口令,即禁用账号。-u 口令解锁-d 使账号无口令-f 强迫用户下次登录时修改口令
#设置或修改用户密码
[root@localhost ~]# passwd test1
#锁定用户
[root@localhost ~]# passwd -l test1
#解锁用户
[root@localhost ~]# passwd -u test1

(2)主要组和附属组

  • 一个主要组
  • 多个附属组

(3)工作组文件 /etc/group 和 /etc/gshadow 管理工具:gpasswd命令

gpasswd [选项] 组选项:-a, --add USER                向组 GROUP 中添加用户 USER-d, --delete USER             从组 GROUP 中添加或删除用户-h, --help                    显示此帮助信息并推出-Q, --root CHROOT_DIR         要 chroot 进的目录-r, --delete-password         remove the GROUP's password-R, --restrict                向其成员限制访问组 GROUP-M, --members USER,...        设置组 GROUP 的成员列表-A, --administrators ADMIN,...    设置组的管理员列表除非使用 -A 或 -M 选项,不能结合使用这些选项。
#将test233用户添加到user_test组中
[root@localhost ~]# gpasswd -a  test233  user_test
正在将用户“test233”加入到“user_test”组中#删除用户的附属组
[root@localhost ~]# gpasswd -d test233 user_test
正在将用户“test233”从“user_test”组中删除#给用户组添加密码
[root@localhost ~]# gpasswd user_test
正在修改 user_test 组的密码
新密码:

用于将一个用户添加到组或者从组中删除,这是附属组

(3)用于登入另一个群组:newgrp命令

newgrp [-] [组]
#切换到附属组
[test233@localhost ~]$ newgrp user_test

必须是该群组的用户,否则将无法登入指定的群组;如果设有组密码则需要输入组密码

6.用户管理其它命令

(1)切换用户身份命令:su命令

su [选项] [-] [USER [参数]...]将有效用户 id 和组 id 更改为 USER 的 id。
单个 - 视为 -l。如果未指定 USER,将假定为 root。选项:-m, -p, --preserve-environment  不重置环境变量-g, --group <组>             指定主组-G, --supp-group <组>        指定一个辅助组-, -l, --login                  使 shell 成为登录 shell-c, --command <命令>            使用 -c 向 shell 传递一条命令--session-command <命令>        使用 -c 向 shell 传递一条命令而不创建新会话-f, --fast                      向shell 传递 -f 选项(csh 或 tcsh)-s, --shell <shell>             若 /etc/shells 允许,则运行 shell-h, --help     显示此帮助并退出-V, --version  输出版本信息并退出
#切换到root身份
[test233@localhost ~]$ su root
密码:
[root@localhost xxx]# 

root切换到普通用户不需要密码,普通用户切换用户需要密码;su 后面不加用户名则默认是切换到root身份

(2)用于显示自身用户名称:whoami命令

[root@localhost xxx]# whoami
root

(3)用于显示用户的ID,以及所属群组的ID命令:id命令

id  用户名
[root@localhost xxx]# id root
uid=0(root) gid=0(root) 组=0(root)

(4)查看用户所在的所有组命令:groups命令

groups 用户名

[root@localhost xxx]# groups root
root : root

(5)设置用户资料命令:chfn命令

chfn [选项] [用户名]选项:-f, --full-name <全名>       真实姓名-o, --office <办公>          办公号码-p, --office-phone <电话>   办公电话-h, --home-phone <电话>     住宅电话英文全称:change your finger information
[root@localhost xxx]# chfn root
Changing finger information for root.
名称 [root]: 我^H
chfn: control characters are not allowed
名称 [root]: 我
办公 []: 是
办公电话 []: 110
住宅电话 []: 120Finger information changed.

(6)显示用户详细资料命令:finger命令

finger 用户名
[root@localhost xxx]# finger root
Login: root                     Name: 我
Directory: /root                        Shell: /bin/bash
Office: 是, 110          Home Phone: 120
On since 日 6月 21 16:24 (CST) on pts/0 from 192.168.8.20714 minutes 53 seconds idle
Last login 日 6月 21 17:01 (CST) on pts/1
No mail.
No Plan.

如果没有这个命令,执行 “yum -y install finger” 进行安装

Linux基础(二)的笔记相关推荐

  1. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  2. linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载

    Linux基础教程学习笔记之Autofs自动挂载 Autofs自动挂载: yum -y install autofs vim /etc/auto.master  在文件中添加下面行 /home/gue ...

  3. 网络存储 linux 访问,Linux基础教程学习笔记28——使用Samba访问网络存储

    Linux基础教程学习笔记28--使用Samba访问网络存储 SMB用于Windows和类Linux系统直接的文件共享 安装samba client包: [root@linuxidc~]# yum i ...

  4. Linux基础二(挂载、关机重启与系统等级)

    一.Linux 基础之挂载 1. 挂载和查询 1.1 挂载 什么叫挂载?装系统的时候要给硬盘分区,在 Windows 中要分 C 盘 D 盘 DEF 盘,这个操作我们叫做分配盘符,分配盘符之后我们就可 ...

  5. QST《Linux基础》学习笔记

    第一章,Linux安装与配置: 一,Linux简介: 1,是Unix计算机操作系统的统称,Linux操作系统名字叫Linux,开源, 2,Linux系统组成: 3,成本低,稳定,安全,性能.网路服务器 ...

  6. 嵌入式Linux基础教程-读书笔记

    waiting to be fixed. coming soon. +读书笔记: +linux kernel <Linux内核完全剖析基于0.12内核>.pdf 嵌入式Linux基础教程第 ...

  7. 【linux】Linux基础知识学习笔记

    文章目录 [第一章-宏观知识] 1.硬件和软件的关系 2.操作系统 是什么.作用是什么 3.常见的操作系统 4.Linux的诞生 5.Linux内核 是什么 6.Linux发行版 是什么 7.WSL是 ...

  8. Linux基础入门学习笔记之二

    第三节 用户及文件权限管理 Linux用户管理 Linux是可以实现多用户登录的操作系统 查看用户 who命令用于查看用户 shiyanlou是当前登录用户的用户名 pts/0中pts表示伪终端,后面 ...

  9. Linux基础知识学习笔记

    Linux学习笔记 文章目录 Linux学习笔记 前言 一.macOS下的Linux环境搭建 1.在docker中初始化CentOS 2.docker中CentOS的联网问题 二.Linux的目录结构 ...

  10. Linux基础命令,个人笔记备份

    进程管理 基础知识 程序:具有执行代码和执行权限的文本文件 进程:运行的程序 程序在变为进程时会拥有内存.处理器的时间分片.网络等资源,并拥有一个进程号 进程的生命周期:由系统程序fork出来的子程序 ...

最新文章

  1. leetcode之Reorder List
  2. 谷歌推出数据集搜索专用引擎Dataset Search
  3. 路由器固件下的小试牛刀,与漏洞相关的经验分享
  4. stat()函数:获取文件状态
  5. 关于苹果, 有多少事可以重提
  6. Windows Server 2008 R2 Tomcat 开机自启动
  7. laravel学习笔记------Route::resource和Form-Model-Binding
  8. 鼠标点击切换的两种思路
  9. 项目经理的五大核心技能
  10. C语言实现左旋字符串
  11. html微信窗口阻止滚动条,微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)...
  12. win10安装影子系统,导致电脑无限蓝屏,解决总结
  13. c语言编程实现合取析取,C++实现离散数学求主合取范式和主析取范式
  14. 软件内部的定时炸弹:0-Day Log4Shell只是冰山一角
  15. 如何把多张图片快速的拼接在一起?如何拼接多张图片?
  16. 宽带运营商为什么限制上行带宽
  17. 4.2-知识图谱在电商领域中的应用实践
  18. [idea遇到的坑] - Cannot load settings from file[xxxx/xxxx]
  19. 动听的“教育之歌”,消费金融们的演奏响而不悦耳
  20. xxl-job 原理

热门文章

  1. 阿里云后台部署全过程-5-域名、备案
  2. 考研考c语言程序设计的军校,浅谈军校学员C语言程序设计的教学现状及教法改进...
  3. python打印等边三角形(实心,空心)
  4. python pycurl_python pycurl的用法
  5. Java web之Tomcat下域名绑定IP
  6. 那些无家可归的自媒体人,该如何找到回家的路
  7. 带权并查集 HDU - 3047
  8. 解决:“操作无法完成因为其中的文件夹或文件已在另一程序中打开”无法删除文件的问题
  9. CentOS7.9搭建CTFd靶场平台
  10. Java代码访问基于https安全协议的网站或服务器