linux中一些必须掌握的命令
Shell
人与硬件并不能直接交互。Shell(也称为终端或壳)是一个命令行工具,它充当人与内核(硬件)的翻译官。
许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。Bash解释器作为命令行终端主要有以下优势:
1.通过上下方向键来调取过往执行过的Linux命令(↑↓);
2.命令或参数仅需输入前几位就可以用Tab键补全(并非任何时候任何参数都能自动补全);
3.具有强大的批处理脚本;
4.具有实用的环境变量功能;
常见命令规则
常见命令执行格式:命令名称 [命令参数] [命令对象]
命令名称、命令参数、命令对象之间要用空格键分隔。
命令对象:一般是指要处理的文件、目录、用户等资源;
命令参数:
长格式(完整的选项名称),例子:man --help
短格式(单个字母的缩写),例子:man -h
如果一条命令中要使用多个参数,则短格式之间可以合并,且只需留一个“-”。例子:ls -al
长格式参数不可与长格式或短格式参数合并,但可以同时使用,例子:ls --all -l = ls -al
man man #查看man命令的帮助信息
Linux的基本命令: 红帽里面有一个软件管理器 RPM
rpm-ivh filenme.rpm 安装软件
rpm-Uvh filenme.rpm 升级软件
rpm-e filenme.rpm 卸载软件
rpm-qpi filenme.rpm 查询软件描述信息
rpm-qpl filenme.rpm 列出软件文件信息
rpm-qf filenme.rpm 查询文件属于哪个RPM
Yum软件仓库
将大量的RPM打包到一起,进一步降低安装难度,自动解决依赖关系
Shell
人与硬件并不能直接交互。Shell(也称为终端或壳)是一个命令行工具,它充当人与内核(硬件)的翻译官。
许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。Bash解释器作为命令行终端主要有以下优势:
1.通过上下方向键来调取过往执行过的Linux命令(↑↓);
2.命令或参数仅需输入前几位就可以用Tab键补全(并非任何时候任何参数都能自动补全)
3.具有强大的批处理脚本;
4.具有实用的环境变量功能;
常见命令规则:
常见命令执行格式:命令名称 【命令参数】 [命令对象]
命令名称、命令参数、命令对象之间要用空格键分隔。
命令对象:一般是指要处理的文件、目录、用户等资源;
命令参数:长格式(完整的选项名称),例子:man --help
短格式(单个字母的缩写),例子:man -h
如果一条命令中要使用多个参数,则短格式之间可以合并,且只需留一个“-”。例子:ls -al
长格式参数不可与长格式或短格式参数合并,但可以同时使用,例子:ls --all -l = ls -al
常用的工作命令:
1.echo命令:用于在终端输出字符串或变量提取后的值。(变量一般字母全大写,前面有$符号)
(1)echo Linux #输出 Linux
(2)echo $SHELL #输出变量SHELL的值
2.date命令:用于显示及设置系统时间或日期。格式:date【选项】 [+指定格式]
%t tab键 %H 小时(00-23) %I 小时 (00-12)
%M 分钟 %S 秒 %j 今年中的第几天
3.reboot命令:重启系统(重启)。重启操作涉及硬件资源的管理权限,默认只有root管理员才能执行。
4.poweroff命令:关闭系统(关机)。关机操作涉及硬件资源的管理权限,默认只有root管理员才能执行。
5.wget命令:用于在终端下载网络文件。格式:wget [参数] 下载地址
wget命令的参数以及作用
参数 作用
-b 后台下载模式
-p 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片,视频等
-r 递归下载
6.ps命令:用于查看系统中的进程状态。格式:ps [参数]。ps命令使用参数时可以不加“-”号
ps aux #-a显示所有进程(包括其他用户的进程);-u显示用户以及其他详细信息;-x显示没有控制终端的进程
Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止
R(运行):进程正在运行或在运行队列中等待
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放
T(停止):进程收到停止信号后停止运行
USER 进程的所有者 PID 进程的ID号 %CPU 运算器的占用率 %MEM 内存的占用率
VSZ 虚拟内存的使用率 RSS 占用的固定内存量 TTY 他所在我终端 STAT 状态
START 虚拟机被启动的时间 TIME 是实际使用CPU 的时间 COMMAND 命令的名称和参数
PR 和NI 进程的优先级 VIRT RES CPU之间的内存交互
7.top命令:用于动态地监视进程活动与系统负载等信息。执行top后界面如下,q退出
top命令执行结果的前5行为系统整体的统计信息。具体含义如下:
第一行 系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,从右往左看数值越小意味着系统负载情况越来越低)
第二行 进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
第三行 用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“98.4 id”意味着有98.4%的CPU处理器资源处于空闲
第四行 物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量
第五行 虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量
8.pidof命令:用于查询某个指定服务进程的进程ID号(PID)。格式:pidof [参数] 服务名称]
pidof sshd #查看sshd服务的PID 单用没有意义 查服务进程的ID
9.kill命令:用于终止某个指定PID的服务进程。格式:kill 【参数】 [进程PID]
kill+ 进程号码 #终止PID为*的进程
10.killall命令:用于终止某个指定名称的服务所对应的全部进程。格式:killall【参数】 [服务名称]
一些服务程序会有多个进程协同为用户提供服务,如果用kill命令一个一个终止进程会比较麻烦,killall可以批量结束某个服务的所有进程
killall +服务名称 #结束某个服务的所有进程
systemctl restart 重启之后PID的值会变 systemctl reload 重启PID后值不变