系统管理相关命令

1、df

  df命令是用来检查文件系统的磁盘空间占用情况,所有用户都有这个使用权限

  格式:df [参数]

  参数说明:

    -s:对每个Names参数值给出占用的数据块总数

    -a:递归的显示指定目录中各文件及子目录中各文件占用的数据块总数

    -k:以1024字节为单位列出磁盘空间使用情况

    -l:计算所有的文件大小,对硬链接文件则计算多次

    -h:以容易理解的格式打印出文件系统的大小

    -T:显示文件系统的类型  

  df命令被广泛用来生成文件系统的使用统计数据,它能显示系统中所有文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等等

  

  说明:

    Filesystem:文件系统对应的文件设备的路径

    1k-blocks:给出分区包含的数据块(1024字节)的数量

    used:已使用的数据块数目

    Available:可用的数据块数目

    Mounted on:挂载点

    此处 used+Available不等于1k-blocks,是因为每个分区都会保留一定空间给管理员使用

2、top

    ps命令虽然在收集运行在系统上的进程信息时非常有用,但也有不足之处:它只能显示某个特定时间点的信息。如果想观察那些频繁换进换出的内存的进程趋势,

  用ps命令就不方便了,这个时候就要用到top命令了
   
    
  说明:

    第一行显示了当前时间、系统的运行时间、登录的用户数以及系统的平均负载。平均负载有3个值:最近1分钟的、最近5分钟的和最近15分钟的平均负载。

  值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,但如果近15分钟内的平均负载都很高,那就说明系统可能有问题了

    第二行显示了进程概要信息——top命令的输出中将进程叫作任务(task):有多少进程处在运行、休眠、停止、僵化状态

    第三行显示了CPU的概要信息。top根据进程的属主(用户还是系统)和进程的状态(运行、空闲还是等待)将CPU利用率分成几类输出。

    第四行说的是系统的物理内存:总共有多少内存,当前用了多少,还有多少空闲。

    第五行说的是同样的信息,不过是针对系统交换空间(如果分配了的话)的状态而言的。

    第六行显示了当前运行中的进程的详细列表,有些列跟ps命令的输出类似。

      PID:进程的id。

      USER:进程所属的用户名字。

      PR:进程的优先级。

      NI:进程的谦让度值,跟衰减值类似

      VIRT:进程占用的虚拟内存总量。

      RES:进程占用的物理内存总量。

      SHR:进程和其他进程共享的内存总量。

      S:进程的状态(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)。

      %CPU:进程使用的CPU时间比例。

      %MEM:进程使用的内存占可用内存的比例

      TIME+:自进程启动到目前为止的CPU时间总量。

      COMMAND:进程所对应的命令行名称,也就是启动的程序名。

  

  使用top命令可以监控指定用户,缺省情况是监视所有用户的进程,如果想查看指定用户的情况,在终端中按'U'键,然后输入用户名,系统就会切换为指定用户的进程运行界面

  在top的使用过程中,还可以使用一些交互命令来完成其他参数的功能,这些命令是通过快捷键启动的,如下所示:

    空格:刷新

    P:根据CPU使用大小排序

    T:根据时间、累计时间排序

    q:退出

    m:切换显示内存信息

    t:切换显示进程和CPU状态信息

    c:切换显示命令名称和完整命令行

    M:根据内存使用大小排序

 3、free

  free指令是用来显示内存的使用情况,所有用户都有该权限

  格式:free -[bkmot] [-s 间隔秒数]

  说明:    

    -b:以byte为单位显示内存使用情况

    -k:以KB为单位显示内存使用情况

    -m:已MB为单位显示内存使用情况

    -o:不显示缓冲区调节行

    -t:显示内存总和行

    -s:设置间隔时间可持续观察内存使用情况

4、quota

  quota命令用来显示磁盘使用情况和限制情况,root用户拥有该权限

  格式:quota -[quvp] [用户名] [组名]

  参数说明:

      -q:显示用户所在组的磁盘使用限制

      -u:显示用户的磁盘使用限制

      -v:显示没有分配的文件系统的分配情况

      -p:显示简化信息

5、at/atq/atrm  

  at命令用来指定时刻执行指令的命令序列

  atq命令用来待处理的作业

  atrm命令用来删除作业

  at命令格式:at [-f file] [-m] time

  参数说明:

      -f:从文件中读取作业

      -m:执行完作业后发送电子邮件到用户

      time的格式有严格要求,由小时、分钟、日期和时间的偏移量组成,其中时间的格式为MM.DD.YY(分钟.天.年份),偏移量的格式为时间+偏移量,单位为minutes、hours和days

  

   案例1:当前时间的5分钟后执行data文件内的命令

      (1)首先创建data文件,并在里面写入命令

          vim data ---->按a键,写入touch xw.txt命令----->按ESC键,shift+enter,输入wq保存

      (2)输入at -f data now +1minutes(也可以写成完整:at -f data 15:40 2020-09-08 +1minutes)

   案例2:使用相对时间执行命令,当前时间后1min后执行命令(创建1.txt,且内容为123)

      

      此处的<EOT>需要用Ctrl+D快捷键打出,直接输入无效

    案例3:使用绝对时间执行命令,2020年9月8日16点后一小时执行命令

         

   案例4:atq查看待处理作业

      //此处也可以用at -l来查看未处理作业

      此处a表示队列,xw表示执行者

   案例5:atrm删除无用的作业

      格式;atrm 作业号

      

 6、lp

  lp指令是打印文件的命令,所有用户都拥有该权限

  格式:lp [-c][-d][-m][-number][-title][-p]

  参数说明:

       -c:先拷贝文件在打印

       -d:打印队列文件

       -m:打印结束后发送电子邮件到用户

       -number:打印份数

       -title:打印标题

       -p:设定优打印先级,最高为100

   

7、useradd

  useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中

  格式:useradd [-mMnr] [-c 备注] [-d 起始目录] [-e 有效期] [-g 群组] [-s shell] [-u uid] [账号名]

  参数说明:

      -m:自动建立用户的登入目录

      -M:不要自动建立用户的登入目录

      -n:取消建立以用户名称为名的群组

      -r:建立系统账号

      -c:加入备注文字,保留在passwd的备注栏中

      -d:用户登录的起始目录

      -e:账号的有效时间

      -g:指定用户的所属群组

      -s:指定用户登入后使用的shell

      -u:指定用户的id

  案例1:添加一般用户xxh,备注为1234,起始目录为/home/xxh,所属群组为root,uid为521

        

     设置密码:passwd 用户名

        passwd  xxh

8、groupadd

    groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中

    相关文件:

        /etc/group:组账户信息

        /etc/gshadow 安全组账户信息

        /etc/login.defs Shadow密码套件配置

    格式:groupadd [-g gid [-o]] [-r] [-f] [组名]

    说明:

      -g:指定组名id

      -r:创建系统工作组,组id小于500

      -f:如果指定值已存在,则此项将失效,仅以成功状态退出

    案例:创建一个组名为zkxl,id为300的群组

        groupadd -g 300 zkxl

9、usermod

    usermod命令用来修改用户账号的各项设定

    格式:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

    说明:

      -L:锁定用户密码,使密码无效

      -U:解除密码锁定

      其他参数跟useradd的参数一样

    案例:将7中的用户xxh添加到8中的zkxl群组中,并将用户id改为522

    

10、kill

    kill用来作为杀死进程操作

    格式:kill -进程id

       kill -9 进程id  强制杀死进程

       killall 程序名  killall只能跟程序名,不能用进程id

11、crontab 

   crontab命令是用来修改crontab配置文件,然后该配置有cron公用程序在适当的时间执行,使用权限为所有用户

  格式:crontab [-u user] 文件

     crontab [-u user] {-l|-r|-e}

  参数说明:

      -e:执行文字编辑器来设定时程表,内地的文字编辑器是vi编辑器

      -r:删除目前的时程表

      -l:列出目前的时程表

  注1:crontab文件的格式为“M H D m d cmd”。其中M代表分钟(0-59),H代表小时(0-23),D代表天数(1-31),m代表月份(1-12),d代表一星期内的天(0-6,0代表星期天),cmd代表要运行的程序,它被送入sh执行,这个shell只有USER、HOME、SHELL三个环境变量

  注2:和at命令相比,crontab命令更适合做固定周期的任务

  

  案例:设置定时定期的系统提示

    步骤1:crontab -e,执行文字编辑器来设定时程表,此时会打开vi编辑器

    步骤2:按a键进入编辑模式,输入* 18 * * 1-5 /sbin/reboot ,ESC退出编辑模式,wq保存   //每周一至周五的18:00,系统重启

    步骤3:最后重启crontab,使重启功能生效,service crond restart  //crontab程序需要重启,任务才会生效

    步骤4:查看已有的定时任务:crontab -l

    

  

原文地址:https://www.cnblogs.com/xwxxh/p/13628057.html