2.1 shell
1、shell
Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。
2、bash
Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器
特点
1:通过上下方向键来调取过往执行过的Linux命令;
2:命令或参数仅需输入前几位就可以用Tab键补全;
3:具有强大的批处理脚本;
4:具有实用的环境变量功能。
2.2 执行查看帮助命令
1、Linux命令的格式是这样的:
命令名称 [命令参数] [命令对象]
2、命令参数的长格式与短格式
3、man查看帮助信息
2.3 常用系统工作命令
1、echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
练习:
//将字符串输出
echo HelloWorld
//使用 $ 变量的方式提取变量SHELL的值,并将其输出到屏幕上:
echo $SHELL
2、date命令
功能:date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
3、reboot重启计算机
4、poweroff关机
5、wget在终端下下载网络文件,格式为“wget [参数] 下载地址”。
6、ps
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
进程的状态:
7、top(相当于强化版的Windows任务处理器)
(1)top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
(2)top命令执行结果的前5行为系统整体的统计信息
8、pidof
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
9、kill
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
10、killall
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
2.4 系统状态检测命令
1、ifconfig
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。
使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是 网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量 (即下面加粗的信息内容):
2、uname
uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
查看当前系统版本的详细信息,则需要查看redhat-release文件
3、uptime用于查看系统的负载信息
4、free
用于显示系统中内存的使用量信息,格式:free -h。
5、who
who用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
6、last
last命令用于查看所有系统的登录记录,格式为“last [参数]”。
7、history
history命令用于显示历史执行过的命令,格式为“history [-c]”。
history默认情况下可以显示1000条记录,如果不够还可以自定义/etc/profile文件中的HISTSIZE变量值。
要清空当前用户在本机上执行的Linux命令历史记录信息
history -c
历史命令会被保存到用户家目录中的.bash_history文件中。Linux系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容。
cat ~/.bash_history
8、sosreport
sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。
2.5 工作目录切换命令
1、pwd
pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。
2、cd
用于切换路径;
“cd -”命令返回到上一次所处的目录,使用“cd…”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录
3、ls
ls命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
2.6 文本文件编辑命令
1、cat
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。
Note:如果想显示行号,参数加上-n
2、more
more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
3、head
head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。
eg:
4、tail
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
我们可能还会遇到另外一种情况,比如需要查看文本内容的最后20行,这时就需要用到tail命令了。tail命令的操作方法与head命令非常相似,只需要执行“tail -n 20 文件名”命令就可以达到这样的效果。tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f 文件名”:
5、tr
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
6、wc
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
7、stat
stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
8、cut
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
9、diff
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
在使用diff命令时,不仅可以使用–brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。例如,先使用cat命令分别查看diff_A.txt和diff_B.txt文件的内容,然后进行比较:
2.7 文件目录管理命令
1、touch
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
2、mkdir
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
在Linux系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外,mkdir命令还可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
3、cp
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。大家对文件复制操作应该不陌生,在Linux系统中,复制操作具体分为3种情况:
(1)如果目标文件是目录,则会把源文件复制到该目录中;
(2)如果目标文件也是普通文件,则会询问是否要覆盖它;
(3)如果目标文件不存在,则执行正常的复制操作。
4、mv
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名:
5、rm
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
在使用rm命令删除文件或目录时,可使用哪个参数来避免二次确认呢?可使用-f参数,这样即可无需二次确认。
6、dd
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
eg1:
eg2:如果您想把光驱设备中的光盘制作成iso格式的镜像文件
7、file
file命令用于查看文件的类型,格式为“file 文件名”。
2.8 打包压缩与搜索命令
1、tar
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
在Linux系统中,常见的文件格式比较多,其中主要使用的是.tar或.tar.gz或.tar.bz2格式,我们不用担心格式太多而记不住,其实这些格式大部分都是由tar命令来生成的。
2、grep
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
3、find
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。