zoukankan      html  css  js  c++  java
  • Linux笔记:其他系统操作

    本文记一些比较零碎的系统操作,如将程序放入后台,查看进程和内存等信息,查看系统Linux内核和版本等信息,以及如何制定系统定时任务等。

    将程序放入后台
    在Windows程序中其实最小化之后就是放入后台运行了,在Linux系统中有两种方式将程序放入后台。
    方式一:在命令的最后加一个&符即可将命令的运行放入后台运行(程序还在继续运行),如“tar -zcf etc.tar.gz /etc &”将打包的程序放入后台,而不用一直等待它打包完才能进行其他操作。
    方式二:使用快捷键“Ctrl+Z”,在命令执行的过程中按Ctrl+Z快捷键也可以将正在运行的程序放入后台并暂停执行(程序已暂停,需要主动恢复执行才能继续执行)。
    jobs -l:查看后台的程序(正在运行和暂停的程序),+号表示最后放入的一个程序,-号表示倒数第二个放入后台的程序。
    fg %工作号:恢复后台某个程序到前台执行。其中%是可以省略的,工作号是在查看后台程序时显示在前面的序号,并且这个序号是从1开始累加的,同时也需要注意工作号和PID的区别。
    bg %工作号:将后台某个程序在后台恢复执行。其中%是可以省略的,但是注意,如果这个程序运行时是需要和前台有交互的,如top、vim等命令,则不能将它恢复到后台去执行。

    vmstat命令
    vmstat [刷新延时 刷新次数]:用于查看监听的系统资源,如vmstat 1 3表示监听系统资源3次,每次间隔1秒。这个系统资源其实就是进程、内存、系统、CPU等信息合并之后的简洁表示。

    dmesg命令
    这个命令用于显示开机时的内核检测信息,如`dmesg | grep CPU`可以查看CPU信息。也可以使用这个命令来查看系统的硬件信息。

    free命令
    free [选项]:专门查看内存使用状态的命令。
    选项:

    • -b:以字节为单位显示。
    • -k:以KB为单位显示,也是默认项。
    • -m:以MB为单位显示。
    • -g:以GB为单位显示。

    free命令的结果中会有缓存(cache)和缓冲(buffer)的信息,关于这两者的区别,可以简单理解为这样:其实都是内存,但是它们的作用确实相反的,缓存是用来加速数据的读取的,而缓冲是用来加速向硬盘写入数据的。CPU从硬盘读取数据肯定是要比从内存都读取数据慢的,所以可以将数据暂时存储在内存中,需要的时候直接从内存中读取,此时数据的读取速度就会快很多,这部分内存的作用就是缓存。同样,CPU如果频繁的向硬盘写入数据,但每次写入的数据又不是很多的时候,可以将其放入内存,等数据足够多的时候再一次性写入硬盘,这样能避免频繁的对硬盘进行操作而拖慢程序的运行速度,这部分内存的作用就是缓冲。

    查看系统内核信息
    uname [选项]:查看系统和内核相关信息。
    选项:

    • -a:查看系统所有相关信息。
    • -r:查看内核版本。
    • -s:查看内核名称。

    查看系统的位数
    file /bin/ls:其实没有直接查看系统位数的命令,但是可以使用file命令查看某一个系统命令来看系统的位数,打印结果中会有系统位数的信息。

    查看系统的发行版本
    lsb_release -a:查看当前Linux系统的发行版本。

    查看进程调用的文件
    lsof [选项]:查看某个进程调用或打开的所有文件信息。
    选项:

    • -c 字符串:只列出以字符串开头的进程打开的文件。
    • -u 用户名:只列出某个用户的进程打开的文件。
    • -p pid:列出某个PID进程打开的文件。

    系统定时任务
    crontab [选项]:查看和设置定时任务。
    选项:

    • -l:查询crontab任务。
    • -r:删除当前用户所有的crontab任务。
    • -e:编辑crontab任务。编辑crontab任务时会打开一个文件,在这个文件中按照给定格式写入就可以指定定时任务:分钟,小时,日,月,星期,命令或脚本。其中前五项如果某项不指定,则写为星号*即可,它们的取值分别为分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、星期(0-7,,0和7都代表星期天)。
    • 示例:“10 * * * * 命令或脚本”表示每小时执行一次指定的命令或脚本(注意10表示在每小时的第10分开始执行,而不是每隔十分钟执行一次)。

    指定这些定时信息有一些特殊符号可以使用:

    • *:星号表示任意时间。
    • ,:逗号表示不连续的时间,如“10,20,30 * * * * 命令或脚本”表示每小时的这三个时间点开始执行。
    • -:横杠表示连续的时间范围。
    • */n:表示每隔多久就执行一次,如“*/10 * * * * 命令或脚本”表示每隔10分钟执行一次。
    • 注:如果两个同性质的选项都写了,比如同时指定了日和星期(它们都表示的是某一天),则表示多少号和星期几都会执行,它们是并集关系。
  • 相关阅读:
    虚拟机linux下git clone 报SSL connect error错误
    TooManyRedirects错误
    windows2008 使用 opencv_python 出现 DLL load failed错误
    禁止别人通过开发人员工具查看网站代码
    pipreqs 执行报错问题
    Vue-router 报NavigationDuplicated的解决方案
    git 记住用户密码
    获取python所有依赖包
    修改pip的安装源
    使用pycharm发布python程序到ubuntu中运行
  • 原文地址:https://www.cnblogs.com/guyuyun/p/12733004.html
Copyright © 2011-2022 走看看