Linux系统管理基础命令

  1. 基础操作
  • 用户和组的配置文件
  1. passwd:用于保存个用户的账户信息
[root@zabbix-s-76 bin]# 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:65534:65534:Kernel Overflow User:/:/sbin/nologin

systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

tss:x:59:59:Account used for TPM access:/:/sbin/nologin

sssd:x:998:996:User for sssd:/:/sbin/nologin

chrony:x:997:995:chrony system user:/var/lib/chrony:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin

systemd-oom:x:993:993:systemd Userspace OOM Killer:/:/usr/sbin/nologin

zabbix:x:992:992:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin
  1. shadow:保存各用户的账户的密码等信息
[root@zabbix-s-76 bin]# cat /etc/shadow

root:$6$sLAbGgj72ExpgpWb$oyMcvBW2l8BUsGooeF8gUeICGO85/WxzkhRfeFuDYcQaGqCfZoRwr7RVu8YRFcA/z8.nUtCXNrHQ5N586HoJV/::0:99999:7:::

bin:*:19347:0:99999:7:::

daemon:*:19347:0:99999:7:::

adm:*:19347:0:99999:7:::

lp:*:19347:0:99999:7:::

sync:*:19347:0:99999:7:::

shutdown:*:19347:0:99999:7:::

halt:*:19347:0:99999:7:::

mail:*:19347:0:99999:7:::

operator:*:19347:0:99999:7:::

games:*:19347:0:99999:7:::

ftp:*:19347:0:99999:7:::

nobody:*:19347:0:99999:7:::

systemd-coredump:!!:19747::::::

dbus:!!:19747::::::

tss:!!:19747::::::

sssd:!!:19747::::::

chrony:!!:19747::::::

sshd:!!:19747::::::

systemd-oom:!*:19747::::::

zabbix:!!:19747::::::
  1. group:保存各用户账户分组信息
[root@zabbix-s-76 bin]# 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:

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:

users:x:100:

nobody:x:65534:

utmp:x:22:

utempter:x:35:

input:x:999:

kvm:x:36:

render:x:998:

systemd-journal:x:190:

systemd-coredump:x:997:

dbus:x:81:

ssh_keys:x:101:

tss:x:59:

sssd:x:996:

chrony:x:995:

sshd:x:74:

sgx:x:994:

systemd-oom:x:993:

zabbix:x:992:
4.gshadow:用于定义用户组口令,组管理员等
[root@zabbix-s-76 bin]# cat /etc/gshadow

root:::

bin:::

daemon:::

sys:::

adm:::

tty:::

disk:::

lp:::

mem:::

kmem:::

wheel:::

cdrom:::

mail:::

man:::

dialout:::

floppy:::

games:::

tape:::

video:::

ftp:::

lock:::

audio:::

users:::

nobody:::

utmp:!::

utempter:!::

input:!::

kvm:!::

render:!::

systemd-journal:!::

systemd-coredump:!::

dbus:!::

ssh_keys:!::

tss:!::

sssd:!::

chrony:!::

sshd:!::

sgx:!*::

systemd-oom:!*::

zabbix:!::

  • 用户及组管理命令

Useradd:添加新用户

  1. 创建一个guo用户,
tss:x:59:59:Account used for TPM access:/:/sbin/nologin

sssd:x:998:996:User for sssd:/:/sbin/nologin

chrony:x:997:995:chrony system user:/var/lib/chrony:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin

systemd-oom:x:993:993:systemd Userspace OOM Killer:/:/usr/sbin/nologin

zabbix:x:992:992:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

guo:x                                          :1000:1000::/home/guo:/bin/bash

2. usermod:修改已有账户的属性

3. passwd : 用于设置账号的口令

4. userdel:删除指定用户的账户

5. groupadd:添加新的组账户

6. groupmod:改变用户的组账户熟悉

7. groupdel:删除指定的组账户

8. gpasswd:用于将指定用户添加到指定用户组或从组内删除

rpm包的命令

1.安装rpm包

-i:install安装;

-v:verify 表示在安装中详细显示安装信息;

-h:horizontal 表示显示水平进度条;

rpm -ivh /root/acpid -1.0.4-5.i386.rpm

  1. 删除rpm包:

-q:查询指定软件是否安装;

-e: 删除rpm包

  1. 查询系统中已经安装的xorg的软件包
[root@zabbix-s-76 ~]# rpm -qa |grep
4.rpm包的验证:
-V命令:验证已安装的软件包



rpm -V 【选项】

rpm -f 验证文件

rpm -Vf /etc/passwd

Rpm -Va 验证所有已安装的软件包

Rpm -Vp /root/

tar包的命令

  1. 建立tar包:
[root@zabbix-s-76 ~]# tar cvf a.tar /home/a

tar: 从成员名中删除开头的“/”

tar: /home/a:无法 stat: 没有那个文件或目录

tar: 由于前次错误,将以上次的错误状态退出

  1. 查询tar包:

[

root@zabbix-s-76 ~]# tar zcvf jdk-8u401-linux-x64.tar.gz /opt/
  • 查看红帽5下的网络配置文件

  • 重新启动网络服务
  • 常用的网络管理命令
  1. Hostname:显示及设置主机名
Hostname

Hostnamectl -nethostname mysql-65
  1. ifconfig:
  1. 显示当前活动的指定网卡设置

[

root@zabbix-s-76 ~]# ifconfig

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.80.76  netmask 255.255.255.0  broadcast 192.168.80.255

        inet6 fe80::20c:29ff:fea8:91d7  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:a8:91:d7  txqueuelen 1000  (Ethernet)

        RX packets 71321  bytes 33827682 (32.2 MiB)

        RX errors 0  dropped 4704  overruns 0  frame 0

        TX packets 14018  bytes 1002616 (979.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 重新设置网卡的ip地址命令

   Ifconfig ens160 需要修改的IP

Ifconfig ens160

  1. 把指定的一块网卡设为多个虚拟IP地址下面是示例:仅供参考
  1. ping:网络测试命令
[root@zabbix-s-76 ~]# ping jd.com -c 3     # -c指定输出三次

PING jd.com (211.144.24.218) 56(84) 比特的数据。

64 比特,来自 211.144.24.218 (211.144.24.218): icmp_seq=1 ttl=48 时间=12.2 毫秒

64 比特,来自 211.144.24.218 (211.144.24.218): icmp_seq=2 ttl=48 时间=11.7 毫秒

64 比特,来自 211.144.24.218 (211.144.24.218): icmp_seq=3 ttl=48 时间=10.8 毫秒



--- jd.com ping 统计 ---

已发送 3 个包, 已接收 3 个包, 0% packet loss, time 2003ms

rtt min/avg/max/mdev = 10.848/11.570/12.213/0.560 ms

  • 常用的网络通信命令

①write:用来事实给其他用户发送消息;
②wall:以广播方式向系统中所有用户发送消息;
③mesg:设置消息的禁止和允许;
④talk:以全双工的方式实时和某用户交流;
⑤mail:不要求同时在线,以邮件方式发送。

[root@zabbix-s-76 ~]# who

root     pts/0        2024-03-03 08:35 (192.168.80.57)

root     pts/1        2024-03-03 08:57 (192.168.80.57)

[root@zabbix-s-76 ~]# write root pts/1

root@zabbix-s-76 于 pts/1 在 15:18 发的消息...

^CEOF

[root@zabbix-s-76 ~]# wall hello word

                                                                               

来自 root@zabbix-s-76 (pts/1) (Sun Mar  3 15:19:13 2024) 的广播消息:  

                                                                               

hello word

                                                                               

[root@zabbix-s-76 ~]# mesg

是 y

[root@zabbix-s-76 ~]# write root

  • 守护进程管理
  1. at:指定系统再将来的某格式件执行作业
  1. 在将来的第二天该时刻执行
At 15:30am May 1

At> ls

At> cat

At> <EOT>

Iob 2 at 2024-3-4 15:30
  1. 在明天15:30执行:
At 15:30am May 1

At> ls

At> cat

At> <EOT>

Iob 2 at 2024-3-4 15:30

(3)让系统在第二天早上8:20删除临时文件并给a用户发送一个问候邮件

at –l:显示at作业人的标志号及执行时间

at –d id:删除指定的at作业

  1. Cron作业:实现以固定的间隔时间执行作业

命令Cat /etc/crontab

  1. 某系统管理员每月的日常工作内容如下:每天上午9点和下午5点把当前在线人数存到num文件中,周一至周五每两小时进行一次备份pud数据到data文件中,每周五下午5点30删除临时文件,每月10号晚上11点到第二天早7点之间每小时给用户wdg发送一个时间消息。要求利用crontab命令创建cron作业;列表形式自动完成以上工作。

首先利用vi创建cron作业列表文件cronfile:

[root@zabbix-s-76 ~]# cat cronfile 

0     9,17     *     *     *     who|wc -l > num
0     */2      *     *    1-5    cp pud data
30    17       *     *      5    rm -rf /tmp
0     23-7/1   10    *     *     date|write root

利用crontab命令执行带列表文件:

Vi cornfilel

Crontab cornfilel
  1. 用crontab -e 编辑cron作业:
  2. 进程控制命令:
  3. ps:进程查看命令
  4. [root@zabbix-s-76 ~]# ps -ef
    UID          PID    PPID  C STIME TTY          TIME CMD
    root           1       0  0 08:29 ?        00:00:01 /usr/lib/systemd/systemd --switched-r
    root           2       0  0 08:29 ?        00:00:00 [kthreadd]
    root           3       2  0 08:29 ?        00:00:00 [rcu_gp]
    root           4       2  0 08:29 ?        00:00:00 [rcu_par_gp]
    root           5       2  0 08:29 ?        00:00:00 [slub_flushwq]
    root           6       2  0 08:29 ?        00:00:00 [netns]
    root           8       2  0 08:29 ?        00:00:00 [kworker/0:0H-events_highpri]
    root          11       2  0 08:29 ?        00:00:00 [mm_percpu_wq]
    root          12       2  0 08:29 ?        00:00:00 [kworker/u256:1-events_unbound]
    root          13       2  0 08:29 ?        00:00:00 [rcu_tasks_kthre]
    [root@zabbix-s-76 ~]# ps -axu
    USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root           1  0.0  0.1 169196 12800 ?        Ss   08:29   0:01 /usr/lib/systemd/syste
    root           2  0.0  0.0      0     0 ?        S    08:29   0:00 [kthreadd]
    root           3  0.0  0.0      0     0 ?        I<   08:29   0:00 [rcu_gp]
    root           4  0.0  0.0      0     0 ?        I<   08:29   0:00 [rcu_par_gp]
    root           5  0.0  0.0      0     0 ?        I<   08:29   0:00 [slub_flushwq]
    root           6  0.0  0.0      0     0 ?        I<   08:29   0:00 [netns]
    root           8  0.0  0.0      0     0 ?        I<   08:29   0:00 [kworker/0:0H-events_h
    root          11  0.0  0.0      0     0 ?        I<   08:29   0:00 [mm_percpu_wq]
    root          12  0.0  0.0      0     0 ?        I    08:29   0:00 [kworker/u256:1-events
    root          13  0.0  0.0      0     0 ?        I    08:29   0:00 [rcu_tasks_kthre]
    root          14  0.0  0.0      0     0 ?        I    08:29   0:00 [rcu_tasks_rude_]
    root          15  0.0  0.0      0     0 ?        I    08:29   0:00 [rcu_tasks_trace]
    root          16  0.0  0.0      0     0 ?        S    08:29   0:00 [ksoftirqd/0]
    root          17  0.0  0.0      0     0 ?        S    08:29   0:00 [pr/tty0]
    root          18  0.0  0.0      0     0 ?        I    08:

  5. Free:用于显示系统的内存情况
  6. [root@zabbix-s-76 ~]# free
                   total        used        free      shared  buff/cache   available
    Mem:         7838056      596368     7188952        9236      300248     7241688
    Swap:              0           0           0

    Top:实时显示系统的进程的状态

  7. Top:实时显示系统的进程的状态
  8. sleep:用于使进程延迟一段时间在执行,延迟了两秒
[root@zabbix-s-76 ~]# sleep 2;ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 08:29 ?        00:00:01 /usr/lib/systemd/systemd --switched-r
root           2       0  0 08:29 ?        00:00:00 [kthreadd]
root           3       2  0 08:29 ?        00:00:00 [rcu_gp]
root           4       2  0 08:29 ?        00:00:00 [rcu_par_gp]
root           5       2  0 08:29 ?        00:00:00 [slub_flushwq]
root           6       2  0 08:29 ?        00:00:00 [netns]
root           8       2  0 08:29 ?        00:00:00 [kworker/0:0H-events_highpri]
root          11       2  0 08:29 ?        00:00:00 [mm_percpu_wq]
root          12       2  0 08:29 ?        00:00:00 [kworker/u256:1+events_unbound]
root          13       2  0 08:29 ?        00:00:00 [rcu_tasks_kthre]
root          14       2  0 08:29 ?        00:00:00 [rcu_tasks_rude_]
root          15       2  0 08:29 ?        00:00:00 [rcu_tasks_trace]
root          16       2  0 08:29 ?        00:00:00 [ksoftirqd/0]
root          17       2  0 08:29 ?        00:00:00 [pr/tty0]
root          18       2  0 08:29 ?        00:00:00 [rcu_preempt]
root          19       2  0 08:29 ?        00:00:00 [migration/0]
root          20       2  0 08:29 ?        00:00:00 [idle_inject/0]
  1. Kill:结束程序产生的进程
  2. [root@zabbix-s-76 ~]# vi &
    [2] 1820
    [root@zabbix-s-76 ~]# ps    #查看进程
        PID TTY          TIME CMD
       1306 pts/0    00:00:00 bash
       1461 pts/0    00:00:00 mqnamesrv
       1465 pts/0    00:00:00 sh
       1485 pts/0    00:00:01 java
       1820 pts/0    00:00:00 vim
       1821 pts/0    00:00:00 ps
    
    [2]+  已停止               vi
    [root@zabbix-s-76 ~]# netstat -ntpl
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      800/sshd: /usr/sbin 
    tcp6       0      0 :::22                   :::*                    LISTEN      800/sshd: /usr/sbin 
    tcp6       0      0 :::9876                 :::*                    LISTEN      1485/java           
    tcp6       0      0 :::10050                :::*                    LISTEN      803/zabbix_agent2  
    [root@zabbix-s-76 ~]# kill -9 1820
    [root@zabbix-s-76 ~]# ps
        PID TTY          TIME CMD
       1306 pts/0    00:00:00 bash
       1461 pts/0    00:00:00 mqnamesrv
       1465 pts/0    00:00:00 sh
       1485 pts/0    00:00:01 java
       1823 pts/0    00:00:00 ps
    [2]+  已杀死               vi
    [root@zabbix-s-76 ~]# vi &

    进程的前台与后台控制

  3. jobs:查看挂起的后台进程
  4. [root@zabbix-s-76 ~]# top &
    [3] 1827
    [root@zabbix-s-76 ~]# vim test.c&
    [4] 1828
    [3]+  已停止               top
    [root@zabbix-s-76 ~]# jobs
    [1]   已停止               ./mqnamesrv  (工作目录: /data/rocketmq-all-4.8.0-bin-release/bin)
    [2]   已停止               vi
    [3]-  已停止               top
    [4]+  已停止               vim test.c
    [root@zabbix-s-76 ~]# 

  5. Fg: 将后台挂起的进程恢复到前台运行
  6. [root@zabbix-s-76 ~]# jobs
    [1]   运行中               ./mqnamesrv &  (工作目录: /data/rocketmq-all-4.8.0-bin-release/bin)
    [2]   已停止               vi
    [3]-  已停止               top
    [4]+  已停止               vim test.c
    [root@zabbix-s-76 ~]# bg 2
    [2] vi &
    [2]+  已停止               vi
    [root@zabbix-s-76 ~]# bg 3
    [3] top &
    [root@zabbix-s-76 ~]# 

  7. bg :将后台挂起的进程恢复到后台运行
  8. [root@zabbix-s-76 ~]# jobs
    [1]+  已停止               vi
    [root@zabbix-s-76 ~]# bg 1
    [1]+ vi &
    
    [1]+  已停止               vi
    [root@zabbix-s-76 ~]# 

  9. 快捷键ctrl+z:把当前的程序挂起到后台,挂起后进程将不进行任何操作
  10. init进程及配置文件
  11. [root@zabbix-s-76 ~]# cat /etc/inittab
    # inittab is no longer used.
    #
    # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
    #
    # Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
    #
    # systemd uses 'targets' instead of runlevels. By default, there are two main targets:
    #
    # multi-user.target: analogous to runlevel 3
    # graphical.target: analogous to runlevel 5
    #
    # To view current default target, run:
    # systemctl get-default
    #
    # To set a default target, run:
    # systemctl set-default TARGET.target

  12. 系统服务管理的常用命令
  13. runlevel:用于显示系统当前和上一次的运动级别
  14. [root@zabbix-s-76 ~]# runlevel
    N 3
    [root@zabbix-s-76 ~]# 

  15. Systemctl:查看及设置系统服务的启动状态
  16. (1)查看
    [root@zabbix-s-76 ~]# systemctl list-unit-files
    UNIT FILE                                  STATE           PRESET  
    proc-sys-fs-binfmt_misc.automount          static          -       
    -.mount                                    generated       -       
    boot.mount                                 generated       -       
    dev-hugepages.mount                        static          -       
    dev-mqueue.mount                           static          -       
    proc-sys-fs-binfmt_misc.mount              disabled        disabled
    sys-fs-fuse-connections.mount              static          -       
    sys-kernel-config.mount                    static          -       
    sys-kernel-debug.mount                     static          -     

  17. 磁盘操作管理
  18. 查看系统磁盘分区的情况
  19. [root@zabbix-s-76 ~]# fdisk -l
    Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
    磁盘型号:VMware Virtual S
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x22daa7cd
    
    设备       启动    起点     末尾     扇区 大小 Id 类型
    /dev/sda1  *       2048  4196351  4194304   2G 83 Linux
    /dev/sda2       4196352 41943039 37746688  18G 8e Linux LVM
    
    
    Disk /dev/mapper/cs-root:18 GiB,19323158528 字节,37740544 个扇区
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节

  20. 磁盘文件的挂载mount与卸载unmount
  21. du :统计目录的磁盘使用情况
  22. [root@zabbix-s-76 ~]# du -a
    4./.ssh/known_hosts
    4./.ssh/known_hosts.old
    8./.ssh
    4./.bash_logout
    4./.bashrc
    4./.cshrc
    4./.tcshrc
    4./anaconda-ks.cfg
    8./.bash_history
    4./1.sh
    4./.vimrc
    4./.lesshst
    4./jdk-8u401-linux-x64.tar.gz
    4./jdk1.8.0_401/COPYRIGHT
    4./jdk1.8.0_401/LICENSE
    4./jdk1.8.0_401/README.html
    4./jdk1.8.0_401/THIRDPARTYLICENSEREADME-JAVAFX.txt
    4./jdk1.8.0_401/THIRDPARTYLICENSEREADME.txt
    4./jdk1.8.0_401/bin/java-rmi.cgi
    8./jdk1.8.0_401/bin/appletviewer
    8./jdk1.8.0_401/bin/extcheck
    8./jdk1.8.0_401/bin/jar
    .df:统计文件系统中未使用的磁盘
  23. [root@zabbix-s-76 ~]# df
    文件系统               1K-块    已用     可用 已用% 挂载点
    devtmpfs                4096       0     4096    0% /dev
    tmpfs                3919028       0  3919028    0% /dev/shm
    tmpfs                1567612    9212  1558400    1% /run
    /dev/mapper/cs-root 18804736 2089964 16714772   12% /
    /dev/sda1            2031616  235392  1796224   12% /boot
    tmpfs                 783804       0   783804    0% /run/user/0
    [root@zabbix-s-76 ~]# df -Th
    文件系统            类型      容量  已用  可用 已用% 挂载点
    devtmpfs            devtmpfs  4.0M     0  4.0M    0% /dev
    tmpfs               tmpfs     3.8G     0  3.8G    0% /dev/shm
    tmpfs               tmpfs     1.5G  9.0M  1.5G    1% /run
    /dev/mapper/cs-root xfs        18G  2.0G   16G   12% /
    /dev/sda1           xfs       2.0G  230M  1.8G   12% /boot
    tmpfs               tmpfs     766M     0  766M    0% /run/user/0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值