1. linux 命令格式是这样的:
命令名称 [命令参数] [命令对象]
命令名称、命令参数、命令对象之间请用空格键分隔
而命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用--与-作为前缀
1.1 命令参数的长格式与短格式示例
格式 | 格式 |
---|---|
长格式 | man --help |
短格式 | man -h |
1.2 man 命令
man:可以查看命令信息的命令
man man
man 命令中常用按键及用途
按键 | 用途 |
---|---|
空格键 | 向下翻一页 |
page down | 向下翻一页 |
page up | 向上翻一页 |
home | 直接至首页 |
end | 直接至尾页 |
/ | 从上至下搜索某个关键词,如 "/linux" |
? | 从下至上搜索某个关键词,如 "?linux" |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出文档 |
man 命令帮助信息的结构及意义
结构名称 | 代表意义 |
---|---|
NAME | 命令名称 |
SYNOPSIS | 参数的大致使用方法 |
DESCRIPTION | 介绍说明 |
EXAMPLES | 演示(附带简单说明) |
OVERVIEW | 概述 |
DEFAULTS | 默认的功能 |
OPTIONS | 具体的可用选项 |
ENVIRONMENT | 环境变量 |
FILES | 用到的文件 |
SEE ALSO | 相关的资料 |
HISTORY | 维护历史与联系方式 |
2. 常用系统工作命令
2.1 echo 命令
echo 命令用于在终端输出字符串或变量提取后的值。格式为 echo [字符串 | $变量名]
echo Linux
echo $SHELL
2.2 date 命令
date 命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”
参数 | 作用 |
---|---|
%t | 跳格(Tab键) |
%H | 小时(00-23) |
%I | 小时(00-12) |
%M | 分钟(00-59) |
%S | 秒(00-59) |
%j | 今年中的第几天 |
date
date "+%Y-%m-%d %H:%M:%S"
date -s "20170901 8:30:00"
将系统的当前时间设置为 2017 年 9 月 1 日 8 点 30 分
date "+%j"
date 命令中的参数%j 可用来查看今天是当年中的第几天,这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间
2.3 reboot命令
reboot 用于重启系统 ,其格式为 reboot。
reboot
2.4 poweroff 命令
poweroff用于关闭系统,其格式为 poweroff。
poweroff
2.5 wget命令
wget命令用与在终端中下载网络文件。格式为"wget [参数] 下载地址"。
参数 | 作用 |
---|---|
-b | 后台下载模式 |
-P(大写) | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p(小写) | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
wget -P http://www.linuxprobe.com/docs/LinuxProbe.pdf
2.6 ps命令
ps命令用于查看系统中的进程状态,Process Status的缩写,格式为"ps [参数]"。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果
参数 | 作用 |
---|---|
-a | 显示现行终端机下的所有进程,包括其他用户的进程 |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
-A | 所有的进程均显示出来,与 -e 具有同样的效用 |
-e | 所有的进程均显示出来,与 -A 具有同样的效用 |
-f | 做一个更为完整的输出 |
ps -ef | grep nginx
ps aux | grep nginx
2.7 Top命令
top命令用于动态地监视进程活动,可以看做Linux中的“Windows任务管理器”。
top
➢ 第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5
分钟、15 分钟内的平均值,数值越小意味着负载越低)。
➢ 第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程
数。
➢ 第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源
百分比、空闲的资源百分比等。
➢ 第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
➢ 第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
2.8pidof命令
pidof用于查询某个指定服务进程的PID值,格式为 “pidof [参数] [服务名称]”。
pidof mysqld
2.9kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]” 。
参数 | 作用 |
---|---|
-s | 指定要发送的信号。信号可以作为一个信号名称或数字来给出 HUP 1 终端断线 INT 2 中断(同 Ctrl + C)QUIT 3 退出(同 Ctrl + )TERM 15 终止 KILL 9 强迫终止CONT 18 持续(与STOP相反, fg/bg号令 STOP 19 暂停(同 Ctrl + Z) |
kill -9 1522
2.10 killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为“killall [参数] [服务名称]”
killall httpd
3. 系统状态检测命令
3.1 ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”
ifconfig
3.2 uname命令
uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”
uname -a
cat /etc/centos-release
3.3 uptime 命令
uptime用于查看系统的负载信息,格式为uptime。
uptime
3.4 free命令
free命令用于显示当前系统中内存的使用量信息,格式为 “free [-h]”
执行 free -h 命令后的输出信息
-- | 内存总量 | 已用量 | 可用量 | 进程共享的内存量 | 磁盘缓存的内存量 | 缓存的内存量 |
---|---|---|---|---|---|---|
total | used | free | shared | buffers | cached | |
Mem | 1.8GB | 227M | 182M | 348K | 1.4G | 1.4G、 |
Swap | 0B | 0B | 0B |
3.5 who命令
who命令用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
who
3.6 last命令
last命令用于查看所有系统的登录记录,格式为“last [参数]”。
last -10
只查看十行记录
3.7 history命令
history命令用于显示历史执行过的命令,格式为“history [-c]”
history
history -c
清空当前用户在本机上执行的linux命令历史记录信息。
3.8 sosreport命令
sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。
4.工作目录切换命令
4.1 pwd命令
pwd命令用于显示用户当前所处的工作目录。格式为“pwd [选项]”
pwd
4.2 cd命令
cd 命令用于切换工作路径。格式为“cd [目录名称]”。
cd /etc
cd -
返回上一次的目录
cd ..
返回上一层目录
4.3 ls命令
ls命令用于显示目录中的文件信息。格式为“ls [选项] [文件]”
ls -al
显示所有文件详细信息(包括隐藏文件)
ls -ld /etc/
查看目录属性,使用-d参数
5.文本文件编辑命令
5.1 cat 命令
cat 命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]” 。
cat -n yum.conf
查看文件,-n 显示行号
5.2 more命令
more命令用于查看纯文本文件(内容较多时),格式为“more [选项] 文件”。
more命令可以使用空格键或者回车键向下查看。
more -5 yum.conf
more查看文件,-5 ,每次显示5行
5.3 head命令
head命令用于查看纯文本文件的前N行,格式为“head [选项] [文件]”。
head -2 yum.conf
查看文件前两行。
5.4 tail 命令
tail命令用于查看纯文本文档后N行或持续刷新内容,格式为“tail [选项] [文件]”。
tail -2 yum.conf
tail -1f yum.conf
持续查看文件命令,一般可用于查看动态日志。
5.5 tr命令
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
cat test.txt | tr [A-Z] [a-z]
利用cat及管道符可在不更改原文本的前提下将小写字母修改成小写字母。
5.6 wc命令
wc命令用于统计指定文件中的行数、字数、字节数,格式为“wc [参数] 文件”。
wc -l test.txt
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
5.7 stat 命令
stat命令用于查看文件的具体存储信息和时间等信息。格式为“stat 文件名称”。
stat test.txt
5.8 cut命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
cut -d: -f1 test.txt
cut -d: -f2 test.txt
cut按列提取字符,-d设置分隔符为“:”,-f设置查看第几列。
5.9 diff命令
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
diff test.txt test2.txt
diff --brief test.txt test2.txt
只显示文本比较结果。
diff -c test.txt test2.txt
显示文件内容具体的不同
6.文件目录管理命令
6.1 touch命令
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
touch test3.txt
创建test3.txt文件
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
6.2 mkdir命令
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
mkdir testDir
6.3 cp命令
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
大家对文件复制操作应该不陌生,在 Linux 系统中,复制操作具体分为 3 种情况:
➢ 如果目标文件是目录,则会把源文件复制到该目录中;
➢ 如果目标文件也是普通文件,则会询问是否要覆盖它;
➢ 如果目标文件不存在,则执行正常的复制操作。
cp test.txt testDir/
参数 | 作用 |
---|---|
-p | 保留原始文件的属性 |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在 |
-a | 相当于-pdr (p、d、r为上述参数) |
6.4 mv命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名
mv test3.txt test4.txt
6.5 rm 命令
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
rm -rf testDir
删除文件夹是需要加-r参数,-f参数是强制删除,不询问。
6.6 dd命令
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
dd if=/dev/zero of=10kfile count=1 bs=1M
参数 | 作用 |
---|---|
if | 输入文件名称 |
of | 输出文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
6.7 file命令
file命令用于查看文件的类型,格式为“file 文件名”。
在 Linux 系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能
单凭后缀就知道具体的文件类型,这时就需要使用 file 命令来查看文件类型了。
file testDir
file test.txt
7.打包命令与搜索命令
7.1 tar命令
tar命令用于对文件进行打包压缩或解压缩,格式为“tar [选项] [文件]” 。
tar -czvf test.tar.gz test.txt test2.txt
压缩文件
tar -xzvf test.tar.gz -C ./testDir/
解压文件
参数 | 全称 | 翻译 | 作用 |
---|---|---|---|
-c | --create | 创建 | 创建压缩文件 |
-x | --extract | 提取 | 解开压缩文件 |
-t | --list | 列表 | 查看压缩包内有哪些文件 |
-z | --gzip | gzip | 用Gzip压缩或解压 |
-j | --bzip2 | bzip2 | 用 bzip2 压缩或解压 |
-v | --verbose | 冗长的 | 显示压缩或解压的过程 |
-f | --file | 文件 | 目标文件名 |
-p | --preserve-permissions | 保留权限 | 保留原始的权限与属性 |
-P | 未找到 | 未找到 | 使用绝对路径来压缩 |
-C | --directory | 目录 | 指定解压到的目录 |
7.2 grep 命令
rep全称是Global Regular Expression Print,grep命令用于在文本中执行关键词搜索,并显示搜索结果。格式为“grep [选项] [文件]”。
grep c test.txt
查找test.txt 文件中关键词c。
grep -C 1 D test.txt
查找test.txt 文件中关键词D,并显示上下一行,查找日志时很有用。
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择-仅列出没有“关键词”的行 |
-C | 是匹配“关键词”的行及前后各n行 |
7.3 find命令
find命令用于按照指定条件查找文件,格式为“find [查找路径] 寻找条件 操作”。
find /home/ -name "test.txt" -print
参数 | 作用 |
---|---|
-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 …… {}; | 后面可跟用于进一步处理搜索结果的命令 |
8 其他命令
8.1 expr命令
expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。
expr $RANDOM % 100