学点Linuxe命令没坏处(系统管理)

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

前言

本章一起了解下Linux系统相关,分别从一下几个方面来学习:系统信息 用户管理(用户的增删改查,权限修改等等)。

系统信息

uname

  • 介绍:uname命令用于显示系统相关信息,比如内核版本号、硬件架构等。
  • 使用:查看系统信息在我们服务器编程中常用来判断当前的运行环境
  • 显示:系统内核名称,主机名,内核版本号,已经主机处理器类型...
[root@zk ~]# uname -a
Linux zk 3.10.0-1160.62.1.el7.x86_64 #1 SMP Tue Apr 5 16:57:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

hostname

  • 介绍:显示或修改我们主机名称
  • 使用:hostname + name 或直接输入hostname
[root@zk ~]# hostname
zk
[root@zk ~]# hostname zz
[root@zk ~]# hostname
zz

date

  • 介绍:date命令用于显示当前的系统时间或设置系统时间。
  • 使用:直接输入date
[root@zk ~]# date
Sat Jul 30 14:32:47 CST 2022

du df

  • 介绍:du命令显示目录或文件的大小(当前目录)。df用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
  • 使用:直接输入命令
[root@zk dev]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                  1917372       0   1917372   0% /dev
tmpfs                     1930552       0   1930552   0% /dev/shm
tmpfs                     1930552  197512   1733040  11% /run
...
[root@zk dev]# du
0       ./v4l/by-path
0       ./v4l/by-id
0       ./v4l
0       ./net

watch

  • 介绍:watch命令可以以全屏的方式动态显示命令或程序的执行情况。
  • 使用:watch + 需要监控的命令
[root@zz ~]# watch -n 2  -d netstat -ant

Every 2.0s: netstat -ant                                                                                                         Sat Jul 30 14:56:19 2022

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 192.168.1.10:27017      121.4.59.78:34638       ESTABLISHED
tcp        0      0 192.168.1.10:27017      121.4.59.78:33886       ESTABLISHED
tcp        0      0 192.168.1.10:27017      121.4.59.78:58206       ESTABLISHED
tcp        0      0 192.168.1.10:27017      121.4.59.78:58226       ESTABLISHED

locate

  • 介绍:Linux系统里有一个名为mlocate.db的数据库文件,这个文件包含系统文件的文件名及对应的路径信息
  • 显示:
[root@zz home]# locate pwd
/etc/.pwd.lock
/usr/bin/pwd
/usr/bin/pwdx

updatedb

  • 介绍:可以创建或者更新locate命令使用的数据库。updatedb命令会因定时任务定期(每天)执行。首次安装mlocate时需要执行updatedb来更新存储内容
  • 使用:直接updatedb,最好加上sudo
[root@zz tmp]# sudo updatedb

用户管理

useradd、userdel、usermod

  • 介绍:可以用来增加删除修改用户
  • 使用:useradd + 用户名(新增用户) userdel + 用户名
[root@VM-12-5-centos spool]# useradd demo2
[root@VM-12-5-centos spool]# cut -d : -f 1 /etc/passwd
root
...
demo2
# 修改用户名 usermod -l + new_name + old_name
[root@VM-12-5-centos spool]# usermod -l demo3 demo2

groupadd groupdel

  • 介绍:用来添加用户组喝删除用户组
  • 使用:公司内部用来区分不同部门不同权限时候使用
[root@VM-12-5-centos spool]# groupadd test2
[root@VM-12-5-centos spool]# cut -d : -f 1 /etc/group
root
...
test2

passwd chage chpasswd

  • 介绍:分别用来修改密码(查看密码状体) 修改密码过期时间 批量修改密码
  • 使用:运维给公司开发或其他角色分配账号时候使用
[root@VM-12-5-centos spool]# passwd demo2
passwd: Unknown user name 'demo2'.
[root@VM-12-5-centos spool]# passwd demo3
Changing password for user demo3.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
# 常用显示密码状态相关信息
[root@VM-12-5-centos spool]# passwd -S demo3
demo3 PS 2022-07-31 0 99999 7 -1 (Password set, MD5 crypt.)
# 常用技能
[root@VM-12-5-centos spool]# echo "123456" | passwd --stdin demo3
Changing password for user demo3.
passwd: all authentication tokens updated successfully.
# 常用-设置密码有效期
[root@VM-12-5-centos spool]# chage -E 2022-08-01 demo3
# 常用-设置密码过期后多少天禁用账户
[root@VM-12-5-centos spool]# chage -I 3 demo3
# chpasswd命令用于从标准输入中读取一定格式的用户名、密码来批量更新用户的密码,其格式为“用户 名:密码”。
[root@VM-12-5-centos spool]# chpasswd
demo3:123123
zn:zn123123

su sudo

  • 介绍:su命令用于将当前用户切换到指定用户或者以指定用户的身份执行命令或程序。sudo命令,可以让普通用户在执行指定的命令或程序上,拥有超级用户的权限
  • 使用:
[root@VM-12-5-centos tmp]# su zn
[zn@VM-12-5-centos tmp]$ 
[root@VM-12-5-centos tmp]# sudo mkdir demo
[root@VM-12-5-centos tmp]# sudo ls
demo  mongodb-27017.sock  stargate.lock

id w who whoami users

  • 介绍:用来显示用户相关信息
  • 使用:我们在写shell脚本时会需要获取当前登陆的用户信息,此时可以根据需要来使用这几个命令
# 显示用户名和用户组相关信息
[root@VM-12-5-centos home]# id
uid=0(root) gid=0(root) groups=0(root)
# 显示用户名
[root@VM-12-5-centos home]# who
root     pts/1        2022-07-31 14:23 (114.91.4.47)
# 显示已登录用户
[root@VM-12-5-centos home]# users
root
# 显示当前登陆用户名
[root@VM-12-5-centos home]# whoami
root
[root@VM-12-5-centos home]# w
 15:18:42 up 214 days, 23:57,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/1    114.91.4.47      14:23    2.00s  0.19s  0.00s w

last lastb lastlog

  • 介绍:用来显示用户相关登陆日志
  • 使用:last(登陆列表) lastb(登陆失败记录) lastlog
  • 备注:last和lastlog命令都可以查看过去登录的用户信息,它们的区别是last 命令可以查看当前和过去登陆系统用户的相关信息;lastlog 命令可以查看到每个系统用户最近一次登陆系统的时间。
[root@VM-12-5-centos home]# last
zn       pts/2        114.91.4.47      Sun Jul 31 15:05 - 15:08  (00:02)    
root     pts/1        114.91.4.47      Sun Jul 31 14:23   still logged in   
root     pts/3        222.65.75.87     Wed Jul 27 16:49 - 18:42  (01:53) 
[root@VM-12-5-centos home]# lastlog -t 1
Username         Port     From             Latest
root             pts/1    114.91.4.47      Sun Jul 31 14:23:53 +0800 2022
zn               pts/2    114.91.4.47      Sun Jul 31 15:05:32 +0800 2022
[root@VM-12-5-centos home]# lastb
root     ssh:notty    43.154.151.228   Sat Jul  2 06:30 - 06:30  (00:00)    

参考文档

个人觉得很不错的书籍:微信读书跟老男孩学Linux运维

猜你喜欢

转载自juejin.im/post/7126441429118746638