必备的linux命令_practice
一览
系统内核&shell&bash
- 系统内核
User -> 服务程序 -> 系统调用接口 -> 内核 -> 硬件
- shell终端
一层层被包裹起来的硬件内核 -> 蜗牛的壳 -> shell终端(shell是终端程序的统称)
- bash(Bourne-Again SHell)解释器
人与硬件之间的“翻译官” -> bash解释器
bash解释器的4大优势:
1:通过上下方向键来调取过往执行过的Linux命令;
2:命令或参数仅需输入前几位就可以用Tab键补全;
3:强大的批处理脚本;
4:实用的环境变量功能
为什么linux系统没有图形化工具?
1. 可以有,但大多数图形化工具只是linux命令“堆积”,只适用在特定的情况,也就是说使用场景比较窄;
2. 图形化界面对资源的消耗比较大,所以这里不建议使用图形化界面,由此可见,对于常用linux的用户,熟练linux命令还是非常有必要的。
- linux命令
执行命令的格式
命令名称 [命令参数] [命令对象]
- 命令名称:一般都是动词,比如mkdir、cd、tar、unzip、cp等等
- 命令参数:对命令进行调整,比如rm file是删除文件,而rm -r file是删除文件夹
- 命令对象:命令执行后的“承受方”
什么是终端提示符?
在输入命令之前就已经存在的
[root@linuxprobe ~]#
叫做终端提示符
他表示:
1. 当前用户名为root
2. 主机名称是linuxprobe
3. 当前所在的目录是~
4. #表示管理员身份(?表示普通用户身份)
第一个命令
- 使用man查看自己的帮助信息:
man man
4个快捷键的小技巧
1. Tab键
单击Tab: 补全
双击Tab: 查找/给出提示
2. Ctrl + c键 当前进程进行终止操作
3. Ctrl + d键 键盘输入结束(End OF Input),简称EOF
4. Ctrl + l键 清空当前终端中已有的内容,相当于清屏操作
常用系统工作命令
- echo命令 终端设备上输出字符串或变量提取后的值,语法格式为:“echo [字符串] [$变量]
- date命令 用于显示或设置系统的时间与日期,语法格式为:“ date [+指定的格式]”
- timedatectl命令 命令用于设置系统的时间,英文全称为:“time date control”,语法格式为:“ timedatectl [参数]”
- reboot命令 重启系统
- poweroff命令 关闭系统
- wget命令 在终端命令行里下载网络文件,英文全称为:“web get”,语法格式为:“wget [参数] 网址”
- ps命令 查看系统中的进程状态,英文全称为:“processes”,语法格式为:“ps [参数]”
五种场景的进程状态:
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
五种补充形式: 高优先级(<),低优先级(N),被锁进内存(L),包含子进程(s)以及多线程(l)
- pstree命令 以树状图的形式展示进程之间的关系,英文全称为:“process tree”
- top命令 动态地监视进程活动及系统负载等信息
- nice命令 调整进程的优先级,语法格式为:“nice 优先级数字 服务名称”
- pidof命令 查询某个指定服务进程的PID号码值,语法格式为:“pidof [参数] 服务名称”
- kill命令 终止某个指定PID值的服务进程,语法格式为:“kill [参数] 进程的PID”
- killall命令 终止某个指定名称的服务所对应的全部进程,语法格式为:“killall [参数] 服务名称”
系统状态检测命令
- ifconfig命令 获取网卡配置与网络状态等信息,英文全称为:“interface config”,语法格式为:“ifconfig [参数] [网络设备]”
- uname命令 查看系统内核版本与系统架构等信息,英文全称为:“Unix name”,语法格式为:“uname [-a]”
- uptime命令 查看系统的负载信息
- free命令 显示当前系统中内存的使用量信息,语法格式为:“free [-h]”
- who命令 查看当前登入主机的用户终端信息
- last命令 调取主机的被访记录
- ping命令 测试主机之间的网络连通性,语法格式为:“ping [参数] 主机地址”
- tracepath命令 显示数据包达到目的主机途中所经过的路由信息,语法格式为:“tracepath [参数] 域名”
- netstat命令 显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为:“network status”,语法格式为:“netstat [参数]”
- history命令 显示执行过的命令历史,语法格式为:“history [-c]”
- sosreport命令 收集系统配置及架构信息并输出诊断文档
查找定位文件命令
- pwd命令 显示用户当前所处的工作目录,英文全称为:“print working directory”
- cd命令 切换当前的工作路径,英文全称为:“change directory”,语法格式为:“cd [参数] [目录]”
- ls命令 显示目录中的文件信息,英文全称为:“list”,语法格式为:“ls [参数] [文件名称]”
- tree命令 以树状图的形式列出目录内容及结构
- find命令 按照指定条件来查找文件所对应的位置,语法格式为:“find [查找范围] 寻找条件”
- locate命令 按照名称快速搜索文件所对应的位置,语法格式为:“locate 文件名称”
- whereis命令 按照名称快速搜索二进制程序(命令)、源代码以及帮助手册文件所对应的位置,语法格式为:“whereis 命令名称”
- which命令 按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为:“which 命令名称”
文本文件的编辑命令
- cat命令 查看纯文本文件(内容较少的),英文全称为:“concatenate”,语法格式为:“cat [参数] 文件名称”
如果在查看文本内容时还想顺便显示行号的话,不妨在cat命令后面追加一个-n参数
- more命令 查看纯文本文件(内容较多的),语法格式为:“more [参数] 文件名称”
- head命令 查看纯文本文件的前N行,语法格式为:“head [参数] 文件名称”
- tail命令 查看纯文本文件的后N行或持续刷新文件的最新内容,语法格式为:“tail [参数] 文件名称”
能够持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f 文件名”
- tr命令 替换文本内容中的字符,英文全称为:“translate”,语法格式为:“tr [原始字符] [目标字符]”
- wc命令 统计指定文本文件的行数、字数或字节数,英文全称为:“word counts”,语法格式为:“wc [参数] 文件名称”
- stat命令 查看文件的具体存储细节和时间等信息,英文全称为:“status”,语法格式为:“stat 文件名称”
- grep命令 按行提取文本内容,语法格式为:“grep [参数] 文件名称”
- cut命令 按列提取文本内容,语法格式为:“cut [参数] 文件名称”
- diff命令 比较多个文件之间内容的差异,英文全称为:“different”,语法格式为:“diff [参数] 文件名称A 文件名称B”
- uniq命令 去除文本中连续的重复行,英文全称为:“unique”,语法格式为:“uniq [参数] 文件名称”
- sort命令 对文本内容进行再排序,语法格式为:“sort [参数] 文件名称”
文件目录管理命令(实现对文件的创建、修改、复制、剪切、更名与删除等操作)
- touch命令 创建空白文件或设置文件的时间,语法格式为:“touch [参数] 文件名称”
- mkdir命令 创建空白的目录,英文全称为:“make directory”,语法格式为:“mkdir [参数] 目录名称”
- cp命令 复制文件或目录,英文全称为:“copy”,语法格式为:“cp [参数] 源文件名称 目标文件名称”
- mv命令 剪切或重命名文件,英文全称为:“move”,语法格式为:“mv [参数] 源文件名称 目标文件名称”
- rm命令 删除文件或目录,英文全称为:“remove”,语法格式为:“rm [参数] 文件名称”
- dd命令 按照指定大小的数据块个数来复制文件或转换文件,语法格式为:“dd if=参数值 of=参数值 count=参数值 bs=参数值”
- file命令 查看文件的类型,语法格式为:“file 文件名称”
- tar命令 对文件进行打包压缩或解压,语法格式为:“tar 参数 文件名称”
一些小题目以及答案
1.在RHEL 8及众多的Linux系统中,最常使用的Shell终端是什么?
答:Bash(Bourne-Again SHell)解释器。
2.执行Linux系统命令时,添加参数的目的是什么?
答:为了让Linux系统命令能够更贴合用户的实际需求进行工作。
3.Linux系统命令、命令参数及命令对象之间,普遍应该使用什么来间隔?
答:应该使用一个或多个空格进行间隔。
4.请写出用echo命令把SHELL变量值输出到屏幕终端的命令。
答:echo $SHELL。
5.简述Linux系统中5种进程的名称及含义。
答:在Linux系统中,有下面5种进程名称。
参考
https://www.linuxprobe.com/basic-learning-02.html