目录
常用按键及用途:
/:从上至下搜索某个关键词,如:“/linux”
?:从下至上搜索某个关键词,如:“?linux”
n:定位到下一个搜索到的关键词
N:定位到上一个搜索到的关键词
1.常用系统工作命令(10个)
1.1 echo:在终端输出字符串或变量提取后的值(echo [字符串 | $变量])
echo zhang //在终端输出字符串zhang
echo $SHELL //在终端输出变量SHELL提取后的值(/bin/bash)—— 注意:该变量存在(可自定义变量)
1.2 date:显示及设置系统的时间或日期
%Y:年
%m:月
%d:日
%H:小时(00-23)
%I:小时(00-11)
M:分钟(00-59)
%S:秒(00-59)
%j:今年中的第几天(date "+%j")
例1. 查看当前系统时间
date "+%Y-%m-%d %H:%M:%S"
例2. 设置当前系统时间(root用户)
root用户:date -s "20210901 8:30:00"
非root用户:sudo date -s "20210901 8:30:00"
1.3 reboot:重启系统(root用户,非root用户添加sudo)
1.4 poweroff:关闭系统(root用户,非root用户添加sudo)
1.5 wget:在终端中下载网络文件
-b:后台下载
-p:下载到指定目录
-c:断点续传
-r:递归下载
1.6 ps:查看系统中的进程状态
-a:显示所有进程
-u:用户以及其他详细信息
-x:显示没有控制终端的进程
1.7 top:动态地监视进程活动与系统负载等信息
1.8 pidof:查询某个指定服务进程的pid值
如:查询本机sshd服务程序的PID: pidof sshd
1.9 kill:终止某个指定PID的服务进程
kill pid
kill -9 pid(强制杀死某进程)
1.10 killall:终止某个指定名称的服务所对应的全部进程
killall httpd(服务名称)
2. 系统状态检测命令(8个)
2.1 ifconfig:获取本机网卡配置与网络状态等信息
信息包括:网卡名称、inet参数后是IP地址、硬件地址(HWAddr)— mac地址
2.2 uname:查看系统内核与系统版本等信息
1. 完整查看系统内核与系统版本等信息:uname -a
2. 查看系统版本详细信息:cat /proc/version
2.3 uptime:查看系统的负载信息
uptime:查看系统的负载信息(包信息括:显示当前系统时间、系统已运行时间、启动终端数量以及平均负载值等信息)
2.4 free:显示当前系统中内存的使用量信息
-h:以更人性化的方式输出当前内存的实时使用量信息
注意:为了保证Linux系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。
2.5 who:查看当前登入主机的用户终端信息
2.6 last:查看所有系统的登录记录
2.7 history:显示历史执行过的命令(最近1000条)
-c:清空所有的命令历史记录
!编号数字:重复执行某一次的命令
2.8 sosreport:收集系统配置及架构信息并输出诊断文档
3. 工作目录切换命令(3个)
3.1 pwd:显示用户当前所处的工作目录
3.2 cd:切换工作路径
cd - :返回到上一次所处的目录
cd .. :进入上一级目录
cd ~ :切换到当前用户的家目录
cd ~用户名(root用户):切换到其他用户的家目录
如:cd /etc
3.3 ls:显示目录中的文件信息
-a:全部文件(包括.隐藏文件)
-l:查看文件的属性、大小等详情信息(缩略为:ll命令)
-d:查看目录属性信息(ls -d /xx)
如:查看/etc目录的权限与属性信息:ls -ld /etc
4. 文本文件编辑命令(9个)
4.1 cat:查看纯文本文件(内容较少的)
-n:显示行号
4.2 more:查看纯文本文件(内容较多的)
注意:
1)使用空格键或回车键向下翻页;
2)最下面使用百分比的形式,提示已阅读了多少内容
4.3 head:查看纯文本文档的前n行
查看前20行:head -n 20 xxx.txt
4.4 tail:查看纯文本文档的后n行或持续刷新内容
如:
1)查看后20行:tail -n 20 xxx.txt
2)强悍的功能:可以持续刷新一个文件的内容(如:实时查看最新日志文件:tail -f xxx.txt)
4.5 tr:替换文本文件中的字符(tr 原始字符 目标字符)
1)使用cat命令读取待处理的文本
2)使用管道符把这些文本内容传递给tr命令进行替换操作
如:把某个文本内容中的英文全部替换为大写:cat xxx.txt | tr [a-z] [A-Z]
4.6 wc:统计指定文本的行数、单词数和字节数
-l:只显示行数
-w:只显示单词数
-c:只显示字节数
如:统计当前系统中有多少用户:wc -l /etc/passwd(保存系统账户信息的文件)
4.7 stat:查看文件的具体存储信息和时间等信息
stat xxx.txt 显示文件的三种时间状态(Access、Modify、Change)
4.8 cut:按“列”提取文本字符
-f:设置需要看的列数
-d:设置间隔符号(指定分隔符)
-s:不打印没有包含分割符的行
-b:字节
-c:字符
如:cut -d= -f1 tt.txt(提取tt.txt文件中的第一列的值)
cut -d= -f2 tt.txt (提起tt.txt文件中的第二列的值)
cut -d= -f1 -s tt.txt(提取tt.txt文件中带有分割符的行中第一列的值)
4.9 diff:比较多个文本文件的差异(判断文件是否被篡改)
--brief:确认两个文件是否不同(判断文件是否相同)
-c:详细比较出多个文件的差异之处
如:
1)diff --brief diff_a.txt diff_b.txt
2) diff -c diff_a.txt diff_b.txt(描述文件内容具体的不同)
5. 文件目录管理命令(7个)
5.1 touch:创建空白文件或设置文件的时间
1)创建空白文件:touch xxx.txt
2)设置文件内容的修改时间(mtime)-m、
文件权限或属性的更改时间:ctime
文件的读取时间(atime):-a
-d 同时修改atime和mtime:touch -d “2017-04-05 15:44” xxx.txt
5.2 mkdir:创建空白的目录
-p:递归创建出具体嵌套叠层关系的文件目录
如:sudo mkdir -p a/b
5.3 cp:复制文件或目录
-r:递归持续复制(用于目录)
-a:相当于-pdr
如:cp xx.txt xxx.txt(把文件xx.txt复制到当前目录)
sudo cp xx.txt a/xx.txt (把文件xx.txt复制当前目录的a目录下,可以是xx.txt,也可以是其他命名)
5.4 mv:剪切文件或重命名文件
1)剪切文件:sudo mv xx.txt b/tt.txt
2)重命名文件:sudo mv xx.txt xxx.txt
5.5 rm:删除文件或目录
-f:强制删除
-r:删除目录
5.6 dd:按照指定大小和个数的数据块来复制文件或转换文件
/dev/zero:设备文件,不会占用系统存储空间,但却可以提供无穷无尽的数据
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的大小
如:
1)dd if=/dev/zero of=560_file count=1 bs=560M(用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件)
2)压制出光盘镜像文件,变成一个可立即使用的iso镜像:dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-linux.iso
5.7 file:查看文件的类型(包括文本、目录和设备)
file tt.txt
6. 打包压缩与搜索命令(3个)
6.1 tar:对文件进行打包压缩或解压
》 .tar / .tar.gz / .tar.bz2
如: tar -xzvf xx.tar.gz -C /etc/xx 解压xx.tar.gz文件到指定目录/etc/xx
-z:用Gzip压缩或解压
-v:显示压缩或解压的过程
-f:目标文件名
-C:指定解压到的目录
-c:创建压缩文件:-czvf
-x:解压压缩文件:-xzvf
6.2 grep:在文本中执行关键词搜索,并显示匹配的结果
-v:反向选择——仅列出没有“关键词”的行
-b:将可执行文件(binary)当作文本文件(text)来搜索
-c:仅显示找到的行数
-i:忽略大小写
-n:显示行号
6.3 find:按照制定条件来查找文件
-mtime -n +n (-n:指n天以后,+n指n天以前)
-exec{}\;命令结尾必须是“\;”
如:在整个文件系统中找出所有归属于zqq用户的文件并复制到/etc/xx目录
find / -user zqq -exec cp -a {} /etc/xx \;
7. awk:处理文本文件的语言,是一个强大的文本分析工具
用法一:awk '{[pattern] action}' {filenames}
1)awk '{print $1,$4}' log.txt //每行按空格或TAB分割,输出文本中的第1,4项(列)
2)格式化输出:awk '{print "%-8s %-10s\n",$1,$4}' log.txt
用法二:awk -F 相当于内置变量FS,指定分割字符
1)使用“,”分割:awk -F, '{print $1,$2}' log.txt
2)使用内置变量:awk 'BEGIN{FS=","} {print $1,$4}' log.txt
3)使用多个分隔符,先使用空格分割,再对分割结果使用“,”分割
awk -F '[ ,]' '{print $1,$2,$5}' log.txt
用法三:awk -v 设置变量
1)awk -va=1 '{print $1,$1+a}' log.txt
2) awk -va=1 -vb=s '{print $1,$1+a,$1b}' log.txt
用法四:awk -f {awk脚本} {文件名}
1)awk -f cal.awk log.txt