你必须非常努力,才能看起来毫不费力!

微信搜索公众号[ 漫漫Coding路 ],一起From Zero To Hero !

前言

本篇文章主要讨论Linux中的软硬链接,以及用户管理相关的命令,相对来说比较简单,大家一起来学习吧!

ln

命令格式

ln 选项 原文件 目标文件复制代码

命令描述

  • 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项。
  • 软链接:类似于Windows系统中的快捷方式,创建后的权限为​​lrwxrwxrwx​​,以​​l​​开头表示软链接,拥有所有权限,但是软链接的权限并不决定原文件的权限,最终的权限还是以原文件为准;创建后的链接文件大小很小,因为只是一个链接(还是类似Windows快捷方式)。
  • 硬链接:
  1. 创建硬链接后,两个文件的​​i节点​​一样
  2. 不能跨分区创建硬链接(类似Windows中的C盘、D盘)
  3. 不能针对目录创建硬链接

选项

-s:创建软连接

示例

[root@VM-0-5-centos ~]# touch test.txt                   # 新建一个文件
[root@VM-0-5-centos ~]# ln test.txt test_hard.txt # 创建硬链接
[root@VM-0-5-centos ~]# ln -s test.txt test_soft.txt # 创建软链接
[root@VM-0-5-centos ~]# ls -li # 查看文件详情
总用量 0
393327 -rw-r--r-- 2 root root 0 10月 9 00:15 test_hard.txt
396083 lrwxrwxrwx 1 root root 8 10月 9 00:16 test_soft.txt -> test.txt
393327 -rw-r--r-- 2 root root 0 10月 9 00:15 test.txt

# 软链接权限为:lrwxrwxrwx,同时有箭头,从软链接指向源文件 test_soft.txt -> test.txt
# 硬链接的文件属性和原文件一致, 且文件id号与原文件一样,引用数为2


[root@VM-0-5-centos ~]# echo 'hello world' > test.txt # 往源文件中写入数据
[root@VM-0-5-centos ~]# cat test.txt # 查看源文件
hello world
[root@VM-0-5-centos ~]# cat test_soft.txt # 查看软链接文件,与源文件相同
hello world
[root@VM-0-5-centos ~]# cat test_hard.txt # 查看硬链接文件,与源文件相同
hello world


[root@VM-0-5-centos ~]# rm -f test.txt # 删除源文件
[root@VM-0-5-centos ~]# cat test_soft.txt # 无法查看软链接文件
cat: test_soft.txt: 没有那个文件或目录
[root@VM-0-5-centos ~]# cat test_hard.txt # 正常查看硬链接文件
hello world
[root@VM-0-5-centos ~]# ls -li # 硬链接引用数变为了 1
总用量 4
393327 -rw-r--r-- 1 root root 12 10月 9 00:34 test_hard.txt
396083 lrwxrwxrwx 1 root root 8 10月 9 00:15 test_soft.txt -> test.txt


[root@VM-0-5-centos ~]# mkdir test
[root@VM-0-5-centos ~]# ls
test test_hard.txt test_soft.txt
[root@VM-0-5-centos ~]# ln test test_hard # 不能对目录创建硬链接
ln: "test": 不允许将硬链接指向目录
[root@VM-0-5-centos ~]# ln -s test test_soft # 可以对目录创建软链接
复制代码

useradd

命令格式

useradd 用户名
复制代码

命令描述

添加新用户

示例

[root@VM-0-5-centos ~]# useradd user3
复制代码

passwd

命令格式

passwd 用户名
复制代码

命令描述


  • 为用户设置密码
  • root可以更改所有人的密码,普通用户只能更改自己的密码

示例

[root@VM-0-5-centos ~]# passwd user3
更改用户 user3 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
复制代码

who

命令格式

who
复制代码

命令描述

查看登录用户信息:


登录用户 登录终端(tty:本地终端 pts:远程终端) 登录时间 IP地址


示例

[root@VM-0-5-centos ~]# who
root pts/0 2021-10-09 18:08 (180.102.173.132)
root pts/1 2021-10-09 19:14 (122.14.229.252)
复制代码

w

命令格式

w [选项] [参数]
复制代码

命令描述

用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

第一行输出与 ​​uptime​​ 命令输出一致


  • 当前系统时间:19:26:52
  • 系统已经启动的时长:up 112 days, 5:33
  • 登录的用户数:2 users
  • 系统过去1,5,15分钟的平均负载信息:load average: 0.00, 0.02, 0.05

[root@VM-0-5-centos ~]# uptime
19:49:47 up 112 days, 5:56, 2 users, load average: 0.00, 0.01, 0.05
复制代码

第二行信息包括如下字段说明:


  • USER:登录用户名
  • TTY: 登录用户使用的终端名(tty:本地终端 pts:远程终端)
  • FROM:登录用户来源的主机名或IP地址
  • LOGIN@:用户登录时长
  • IDLE:自用户上一次与终端进行交互以来的空闲时间
  • JCPU:附加到tty的所有进程使用的时间
  • PCPU:用户当前进程所用的时间,即显示在“ WHAT”字段中的那个进程
  • WHAT:用户当前的进程及选项/参数

选项

-h, --no-header     不打印头信息;
-u, --no-current 当显示当前进程和cpu时间时忽略用户名;
-s, --short 使用短输出格式;
-f, --from 显示用户从哪登录;
-o, --old-style 老式输出
-i, --ip-addr 显示IP地址而不是主机名(如果可能)

--help 显示此帮助并退出
-V, --version 显示版本信息。
复制代码

参数

用户:仅显示指定用户。

示例

[root@VM-0-5-centos ~]# w
19:26:52 up 112 days, 5:33, 2 users, load average: 0.00, 0.02, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 180.102.173.132 18:08 17:48 0.12s 0.05s -bash
root pts/1 122.14.229.252 19:14 4.00s 0.02s 0.00s w


总结

本文介绍了Linux软硬链接、以及用户管理命令:

  • 创建软硬链接:ln
  • 用户管理命令:
  • useradd:添加用户
  • passwd:给用户设置密码
  • who:查看当前用户
  • w:显示登录用户列表及系统负载

更多

个人博客: ​​lifelmy.github.io/​

微信公众号:漫漫Coding路