linux学习笔记1
基础命令
常用快捷键
1、Tab? 自动补全
2、Ctrl+c? 终端内强制退出当钱进程
3、Ctrl+d 关闭当前终端
4、Ctrl+l 清空当前终端
常用系统工作命令
man 命令对象 ---------查看某个命令的帮助文档
echo [字符串][$+变量名]-------------在终端窗口输出字符串或变量值
date 命令----------------查看或设置系统时间
date [+格式]?????? 按照格式查看时间
date -s "20201101 8:30:00" 设置时间
参数 | 作用 |
%S | 秒(00~59) |
%M | 分钟(00~59) |
%H | 小时(00~23) |
%I | 小时(00~12) |
%m | 月份(1~12) |
%p | 显示出AM或PM |
%a | 缩写的工作日名称(例如:Sun) |
%A | 完整的工作日名称(例如:Sunday) |
%b | 缩写的月份名称(例如:Jan) |
%B | 完整的月份名称(例如:January) |
%q | 季度(1~4) |
%y | 简写年份(例如:20) |
%Y | 完整年份(例如:2020) |
%d | 本月中的第几天 |
%j | 今年中的第几天 |
%n | 换行符(相当于按下回车键) |
%t | 跳格(相当于按下Tab键) |
timedatectl 命令------------------设置系统时间和系统时区
参数 | 作用 |
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
reboot 命令----------------------重启系统
poweroff 命令---------------------关机
wget 命令-------------------------在终端中下载网络文件
wget [参数] 网址
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时区 |
ps-----------------------------查看进程信息
参数 | 作用 |
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
pstree-------------------------以树状图的形式展示进程之间的关系
top------------------------动态的监视进程活动及系统负载等信息
top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下:
第1行:系统时间、运行时间、登录终端数、系统负载(3个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“99.9 id”意味着有99.9%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
nice-------------------------调整进程优先级
在top命令输出的结果中,PR和NI值代表的是进程的优先级,数字越低(取值范围是-20~19),优先级越高。
示例:将bash服务进程优先级设置为最高:nice -n -20 bash
pidof--------------------------查询某个指定服务进程的pid号码
kill-------------------------------根据pid杀死进程
?? kill [-9 强制杀死] 进程pid
killall--------------------------终止某个指定服务名称的所有进程
系统状态检测命令
ifconfig-------------------------获取网卡配置和网络状态等信息
ifconfig命令用于获取网卡配置与网络状态等信息,英文全称为“interface config”,语法格式为“ifconfig [参数] [网络设备]”。
使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量
uname--------------------查看系统内核版本与系统架构等信息
使用uname命令时,一般要固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、压制时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息
uptime------------------------查看系统负载信息
显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分),负载值越低越好
free--------------------------显示当前系统中内存的使用信息
在使用free命令时,可以结合使用-h参数以更人性化的方式输出当前内存的实时使用量信息。
如果不使用-h(易读模式)查看内存使用量情况,则默认以KB为单位。
who------------------------------查看当前登入主机的用户终端信息
last------------------------------调取主机的被访记录
ping-----------------------------测试主机之间的网络连通性
语法格式为“ping [参数]?主机地址”
参数 | 作用 |
-c | 总共发送次数 |
-l | 指定网卡名称 |
-i | 每次间隔时间(秒) |
-W | 最长等待时间(秒) |
tracepath------------------------------显示数据包到达目的主机时途中经过的所有路由信息
netstat----------------------------------显示如网络连接、路由表、接口状态等的网络相关信息】
语法格式为“netstat [参数]”
-a | 显示所有连接中的Socket |
-p | 显示正在使用的Socket信息 |
-t | 显示TCP协议的连接状态 |
-u | 显示UDP协议的连接状态 |
-n | 使用IP地址,不使用域名 |
-l | 仅列出正在监听的服务状态 |
-i | 显示网卡列表信息 |
-r | 显示路由表信息 |
history-------------------------------显示执行过的命令历史
可以使用-c参数清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。历史命令会被保存到用户家目录中的.bash_history文件中。
sosreport----------------------------------收集系统配置及架构信息并输出诊断文档
查找定位文件命令
pwd--------------------------------显示用户当前所处的工作目录
cd----------------------------切换当前的工作路径
除了常见的切换目录方式,还可以使用“cd -”命令返回到上一次所处的目录,使用“cd ..”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,抑或使用“cd ~username”命令切换到其他用户的家目录
ls------------------------显示目录中的文件信息
语法格式为“ls [参数] [文件名称]”。使用ls命令的-a参数可以看到全部文件(包括隐藏文件),使用-l参数可以查看文件的属性、大小等详细信息。
tree------------------------------以树状图的形式列出目录内容及结构
-a参数可以看到全部文件(包括隐藏文件)
find-----------------------------按照指定条件来查找文件所对应的位置
语法格式为“find [查找范围]?寻找条件”
参数 | 作用 |
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
-type b/d/c/p/l/f | 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …… {}\; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
locate、whereis、which -------------------按照指定名称快速搜索
使用find命令进行全盘搜索虽然更准确,但是效率有点低。如果仅仅是想找一些常见的且又知道大概名称的文件,不如试试locate命令。在使用locate命令时,先使用updatedb命令生成一个索引库文件,这个库文件的名字是/var/lib/mlocate/mlocate.db,后续在使用locate命令搜索文件时就是在该库中进行查找操作,速度会快很多。
locate命令用于按照名称快速搜索文件所对应的位置,语法格式为“locate文件名称”。
whereis命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为“whereis命令名称”。
whereis命令也是基于updatedb命令所生成的索引库文件进行搜索,它与locate命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所在的位置。
which命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为“which命令名称”。which命令是在PATH变量所指定的路径中,按照指定条件搜索命令所在的路径。既不关心同名文件(find与locate),也不关心命令所对应的源代码和帮助文件(whereis),仅仅是想找到命令本身所在的路径
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!