前言
最近开始了 Linux 的学习,打算将每天学习的东西记下来,将知识内化输出。这个系列估计会更新很久,敬请期待~
我使用的是 Centos 7
,是当今主流操作系统。Linux系统是一款优秀的软件产品,具有类似UNIX的程序界面,而且继承了UNIX的稳定性,能够较好地满足工作需求。
为什么学Linux? 一部分是因为招聘需求大多数有要求是Linux开发;另一部分是因为…windows系统很那啥….嗯你懂的。
还有就是,我觉得使用命令行各种唰唰唰然后调兵遣将的样子很厉害~ 所以, Linux 我来啦!!
命令的语法格式
Linux的命令由三部分组成:“命令 [选项] [参数]”
- 命令:告诉 操作系统 执行的什么命令
- 选项:说明命令运行的方式(一般是以 “-”开始的)
- 参数:说明命令作用于什么(如一个文件、目录、文字等等)
记住这个公式,有利于理解一大串命令的作用。
还有就是,一般在命令最前头,是有用户提示符的,因为 Linux是多用户进行管理(就像多台电脑进行同一台电脑的使用),我们可以使用ctrl + alt +F[1~6] 进行切换用户视角。
那么,所谓的用户提示符是这么规定的:
- 普通用户提示符:$
- root 用户提示户:#
root 表示电脑最高权限者,也就是说,对于这台电脑来说,root账号的人就像上帝一般,无所不能。
查看帮助文档
这个可谓是学习 Linux 开发人员人手必备的技能了,因为命令那么多,如果不常用,那么就会遗忘。这时候,我们就可以翻阅命令的相关帮助文档,唤起我们的回忆。
查看帮助文档有两个常用方法:
① –help:
例如 free,你如果不知道怎么使用,或者后面携带的选项,那么就使用 “–help”
② man:
一般来讲,使用man命令查看到的帮助内容信息都会很长很多。导致了终端输出的内容无法全部一次性显示出来,那么就涉及到了翻页等技巧,我们看看 man
所包含的常用操作按键及其用途:
使用了 man 命令之后,你就会进入一个类似说明文档的界面中,下面对man命令的帮助信息的结构进行说明:
在学会了如果使用命令之后呢,我们进入这篇文章的主题:常用系统工作的命令
常用系统工作命令
echo 命令
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。(相当于打印出来)
学过编程的同学,会很容易理解这个命令的作用。就像 python 中的 print 函数嘛,
data命令
date 命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
date 还能自定义时间格式,输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。(比较常用)
具体使用:
- 这样一来,我们只需要看一眼文件名称就能大概了解到每个文件的备份时间了。
date 参数说明:
用户相关命令
① reboot命令
reboot 命令用于重启系统
②poweroff命令
oweroff 命令用于关闭系统
该命令与reboot命令相同,会涉及硬件资源的管理权限,因此默认只有root管理员才可以关闭电脑
③ shutdown命令
用来关机或重启的命令,取决于后面的参数:
- shutdown -r [now] 重启系统;
- shutdown -h [now] 关机
shutdown命令的工作原理为:shutdown命令会发送请求给系统的 init 进程将系统调整为合适的运行级别
0 表示关机;6表示重启
④ logout / exit 命令
用于退出当前用户登陆状态。
⑤ 用户查看、用户切换
命令 | 作用 |
---|---|
whoami | 查看当前正在操作的用户 |
who | 查看当前登陆的用户 |
su - [usename] | 用于直接切换用户 |
wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
用法举例:
1 | wget http://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz |
- 这样就通过 wget + [URL能访问到的资源],实现了本地下载功能。
ps 命令
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。有时候,一些服务卡住了,我们可以通过ps 命令进行查看该服务的状态,然后进行下一步的处理。 使用公式: ps -aux
Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止。
- R(运行):进程正在运行或在运行队列中等待。
- S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
- D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
- Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
- T(停止):进程收到停止信号后停止运行。
Top命令
top命令用于动态地监视进程活动与系统负载等信息。 我们可以将它看作Linux中的“强化版的Windows任务管理器”。
- 第1行:关于系统的相关信息
- 第2行:进程的状态,分别对应上面我们说的五个状态,通过数量进行标识
- 第3行:CPU的使用状况
- 第4行:内存的使用状况
- 第5行:虚拟内存的使用状况
pidof 命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。
命令效果
- 即可得出该服务的进程id(这时候的火狐对应着81904进程号)
kill 命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”
命令效果
- 输入 kill 命令之后,前台运行着的火狐浏览器瞬间就被终结掉了
killall 命令
killall 命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]” 。
通常来讲,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这些进程会比较麻烦,此时可以使用killall命令来批量结束某个服务程序带有的全部进程,可以将叫做[进程名]的进程全部杀死(不精准)
另一种关闭进程的方法:
如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl + C组合键,这样也会立即终止当前命令的进程。
对于 kill 和 killall 的使用建议:
- 如果知道进程id 使用 kill (这样终结的进程比较精准)
- 如果知道服务名称,可以使用 killall (有时候会“误伤”,慎用)
写在最后
这第一篇关于Linux操作系统的文章就到此结束啦,涉及到知识点还是挺多的,希望读者能好好吸收消化。
对于Linux 命令来说,用熟悉了,自然就记住了,不需要刻意去背的,费时费力的一种行为。
旁友们,下回见~Bye!