Linux 基础
提示:linux下的所有资源都为文件。
人与硬件并不能直接交互。Shell(也称为终端或壳)是一个命令行工具,它充当人与内核(硬件)的翻译官。
许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。Bash解释器作为命令行终端主要有以下优势:
1.通过上下方向键来调取过往执行过的Linux命令(↑↓);
2.命令或参数仅需输入前几位就可以用Tab键补全(并非任何时候任何参数都能自动补全);
3.具有强大的批处理脚本;
4.具有实用的环境变量功能
命令规则
常见命令执行格式:命令名称 命令参数 命令对象三者之间要用空格键分隔。
命令对象:一般是指要处理的文件、目录、用户等资源;
命令参数:
长格式(完整的选项名称),例子:man --help
短格式(单个字母的缩写),例子:man -h
如果一条命令中要使用多个参数,则短格式与短格式可以合并。且只需留一个“-”。例子:ls -al
长格式参数不可与长格式或短格式参数合并,但可以同时使用。例子:ls --all -l = ls -al
一、RPM概念与YUM软件仓库
红帽软件管理器(Redhat Package Manager)
可以理解为在windows中常见的控制面板,用来安装卸载软件,对软件进行操作的一个管理工具即可。
使用步骤
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打包到一起,进一步降低安装难度,自动解决依赖关系
二、man命令
man命令(查看Linux中的指令帮助、配置文件帮助和编程帮助等信息)
按键 | 用处 |
---|---|
空格键 | 向下翻一页 |
PaGe down | 向下翻一页 |
PaGe up | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如 “/linux” |
? | 从下至上搜索某个关键词,如“?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
结构名称 | 代表意义 |
---|---|
NAME | 命令的名称 |
SYNOPSIS | 参数的大致使用方法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项(带介绍) |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
三、系统工作命令
- echo命令:输出字符串或变量提取后的值(变量一般字母全大写,前面有$符号)
语法:1、 # echo Linux 输出Linux的值 |
---|
2、#echo $SHELL 输出变量SHELL的值 |
- date命令:用于显示及设置系统时间或日期。
语法:# date “+ %H:%M:%S” | 时(00-23):分(00-59):秒(00-60) |
---|---|
# date “+%Y-%m-%d” | 年(0000-9999)-月(01-12)-日(01-31) |
# date -s “20200916 13:41:20” | 设置当前时间为2020年9月16日,时间为13时41分20秒 |
- reboot命令(重启)需要root管理员权限才能执行
- poweroff(关机)需要root管理员权限才能执行
- wget命令(终端下载网络文件)
语法:# wget https://www.linuxprobe.com/docs/LinuxProbe.pdf | 下载指定位置的pdf文件 |
---|---|
语法:# wget -r -p https://www.linuxprobe.com | 递归下载这个网站内所有页面数据以及文件 |
-b | 后台下载 |
-P | 下载到指定目录 |
-p | 下载该页面所有资源 |
-t | 尝试最大次数 |
-c | 断点续传 |
-r | 递归下载 |
6.ps命令(查看系统进程状态)
使用参数时可以不加“-”号
USER PID %CPU %MEM |
---|
进程 ID号 运算占用率 内存占用率 |
VSZ RSS TTY STAT START |
虚拟内存占用量 占用固定内存量 所在终端 状态 启用时间 |
TIME COMMAND |
实际使用时间 命令的名称和目录 |
参数
-a | 显示所有进程 |
---|---|
-u | 显示用户及其其他信息 |
-x | 显示没有控制终端的进程 |
STAT进程状态
R(运行) | 进程正在运行或在运行队列中等待。 |
---|---|
S(中断) | 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。 |
D(不可中断) | 进程不响应系统异步信号,即便用kill命令也不能将其中断。 |
Z(僵死) | 进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。 |
T(停止) | 进程收到停止信号后停止运行。 |
- top命令(动态监视进程与系统负载等)
第一行:系统时间top -01:54:47 、运行时间up 5:16、登录终端数2 users、系统负载load average(1满载、2繁忙、9、非常繁忙) |
---|
第二行:进程总数total、运行中的进程数running、睡眠中的进程数sleeping、停止的进程数stopped、僵死的进程数zombie |
第三行:用户占用资源百分比us、系统内核占用资源百分比sy、改变过优先级的进程资源百分比ni、空闲的资源百分比id、(“97.7 id”意味着有97.7%的CPU处理器资源处于空闲。) |
第四行:物理内存总量total、内存使用量used、内存空闲量free、作为内核缓存的内存量buffers |
第五行:虚拟内存总量total、虚拟内存使用量used、虚拟内存空闲量free、已被提前加载的内存量cached Mem |
PIDid号、USER进程所有者的用户名、PR优先级、NI(负值高优先级,正值低优先级)、VIRT使用的虚拟内存总量、RES占用固定内存量 |
---|
SHR共享内存、 S进程状态、%CPU运算占用率、%MEM内存占用率、TIME+实际使用时间,单位1/100秒、COMMAND命令的名称和参数。 |
8.pidof命令(查看服务进程的PID)格式:pidof [参数] [服务名称]{PID的值是可以改变的}
9.kill命令(终止某个指定的PID进程)
10.killall命令(结束指定名称相对应的进程)
四、 systemctl命令
一、restart
可以重启某服务的进程
systemctl restart sshd(重启某服务)/注意:PID值会变/
二、 reload
重新加载
systemctl reload sshd(某服务重新加载配置文件)/注意:PID值不变/
三、二者区别
- PID值是否会改变
- 是否会重启服务进程
五、检测命令
1. ifconfig命令(获取网卡配置与网络状态等信息)
语法: # ifconfig 网卡 参数 |
---|
eno16777736表示网卡、ether表示网卡的物理地址 |
---|
RX表示收到数据包大小、TX表示发送数据包大小、lo表示主机的回环地址(一般用来测试) |
- uname命令(查看系统内核与系统版本等信息)
GNU是开源系统
-a | 显示全部信息 |
---|---|
-m | 电脑类型x86_64 |
-n | 网络上主机的名称li |
-r | 操作系统的发行编号3.10.0-123.el7.x86_64 |
-s | 操作系统称号Linux |
-v | 操作系统的版本#1 SMP Mon May 5 11:16:57 EDT 2014 |
- uptime命令(查看系统的负载信息)
当前服务器时间:03:46:43 | 当前服务器运行时长:7:08 |
---|---|
终端:2 users | 负载:load average |
4.free命令(显示当前系统中内存的使用量信息)
#free
#free -h加参数更直观些;
total内存总量、used被使用的内存量、free剩余内存量、shared共享内存大小(used和free做调幅使用) |
---|
buffers缓存、cached缓存内存量、Swap交换空间,内存吃紧时可以把不常用的数据保存swap上,系统需要访问它的内容时再把数据加载到内存上;用来减轻物理内存压力 |
5 .who命令(查看当前登陆主机的用户终端信息)
语法:#who | 显示显示出所有正在登录本机的用户的名称以及他们正在开启的终端信息 |
---|
- last命令(查看所有系统的登录记录)
第一列:用户名 | 第二列:终端 位置 |
---|---|
第三列:登录ip或内核 | 第四列:开始时间 |
第五列:结束时间(still login in尚未退出、down正常关机、crash强制关机) | 第六列:持续时间 |
执行last命令显示出的结果不能作为判断系统是否被入侵的依据,容易被篡改
- history命令(查看历史执行过的命令)
history能显示出当前用户在本地计算机中执行过的最近1000条命令记录。历史命令会被保存到用户家目录的.bash_history文件中。可以自定义/etc/profile文件中HISTSIZE变量值来修改能显示历史记录的条数
!用法
-c 清除
- .sosreport命令(收集系统配置并诊断信息后输出结论文档)
用途:当系统出现问题,需要联系技术支持人员时,先通过该命令生成一份简单的诊断文档发送给技术支持人员,如果是小问题,他们就可以远程解决而不必大费周章亲自到现场。
# 总结
以上就是今天要讲的内容,本文仅仅简单介绍了Linux的一些基本命令,掌握好基础才能脚踏实地,走出坚韧的步伐。