Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。主流Linux系统选择Bash解释器作为命令行终端主要有以下4项优势,读者可以在今后的学习和生产工作中细细体会Linux系统命令行的美妙之处,真正从心里爱上它们。
1:通过上下方向键来调取过往执行过的Linux命令;
2:命令或参数仅需输入前几位就可以用Tab键补全;
3:具有强大的批处理脚本;
4:具有实用的环境变量功能。
名称 [命令参数] [命令对象]
man 命令用来查看某个命令的具体介绍和用法以及参数解释和实例
长格式 | man --help |
短格式 | man -h |
1.echo命令
echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。
2.date命令
date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
%t | 跳格[Tab键] |
%H | 小时(00~23) |
%I | 小时(00~12) |
%M | 分钟(00~59) |
%S | 秒(00~59) |
%j | 今年中的第几天 |
3.reboot命令
reboot命令用于重启系统,其格式为reboot。
4.poweroff命令
poweroff命令用于关闭系统,其格式为poweroff。
该命令与reboot命令相同,都会涉及硬件资源的管理权限,因此默认只有root管理员才可以关闭电脑
5.wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
参数 | 作用 |
-b | 后台下载模式 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面内所有资源,包括图片、视频等 |
-r | 递归下载 |
6.ps命令
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
参数 | 作用 |
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
5种常见的进程状态:
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
7.top命令
top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
8.pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
9.kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
我们可以使用kill命令把上面用pidof命令查询到的PID所代表的进程终止掉.
10.killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
1.ifconfig命令
ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。
使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、 ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量
2.uname命令
uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
3.uptime命令
uptime用于查看系统的负载信息,格式为uptime。
uptime命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。
4.free命令
free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。
为了保证Linux系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。在使用free命令时,可以结合使用-h参数以更人性化的方式输出当前内存的实时使用量信息
5.who命令
who用于查看当前登入主机的用户终端信息,格式为“who [参数]”。
这三个简单的字母可以快速显示出所有正在登录本机的用户的名称以及他们正在开启的终端信息。
6.last命令
last命令用于查看所有系统的登录记录,格式为“last [参数]”。
使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
7.history命令
history命令用于显示历史执行过的命令,格式为“history [-c]”。
执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。
如果觉得1000不够用,还可以自定义/etc/profile文件中的HISTSIZE变量值。在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。
8.sosreport命令
sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。
当Linux系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息,以便让技术支持人员能够远程解决一些小问题,亦或让他们能提前了解某些复杂问题。
1.pwd命令
pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。
2.cd命令
cd命令用于切换工作路径,格式为“cd [目录名称]”。
可以通过cd命令迅速、灵活地切换到不同的工作目录。除了常见的切换目录方式,还可以使用“cd -”命令返回到上一次所处的目录,使用“cd..”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,亦或使用“cd ~username”切换到其他用户的家目录
3.ls命令
ls命令用于显示目录中的文件信息,格式为“ls [选项] [文件] ”。
所处的工作目录不同,当前工作目录下的文件肯定也不同。使用ls命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。
1.cat命令
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。
Linux系统中有多个用于查看文本内容的命令,每个命令都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。
2.more命令
more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
如果需要阅读长篇小说或者非常长的配置文件,那么“小猫咪”可就真的不适合了。因为一旦使用cat命令阅读长篇的文本内容,信息就会在屏幕上快速翻滚,导致自己还没有来得及看到,内容就已经翻篇了。因此对于长篇的文本内容,推荐使用more命令来查看。
3.head命令
head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。
在阅读文本内容时,谁也难以保证会按照从头到尾的顺序往下看完整个文件。
4.tail命令
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
5.tr命令
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
6.wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
7.stat命令
stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
stat命令可以用于查看文件的存储信息和时间等信息,命令stat anaconda-ks.cfg会显示出文件的三种时间状态(已加粗):Access、Modify、Change。
8.cut命令
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。
9.diff命令
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
在使用diff命令时,不仅可以使用--brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器
1.touch命令
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
2.mkdir命令
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
3.cp命令
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
4.mv命令
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
5.rm命令
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
6.dd命令
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。
7.file命令
file命令用于查看文件的类型,格式为“file 文件名”。
1.tar命令
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
2.grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”
3.find命令
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。
以上所有命令的详细参数,实例等详情可以访问一个非常优秀的网站: https://www.linuxcool.com/ 方便的进行搜索!感谢作者提供这么个好站点!!
书本笔记-划重点:
真心给大家推荐《Linux就该这么学》 这是我见过最实用的Linux书籍!!!
本书是由全国多名红帽架构师(RHCA)基于最新Linux系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材,目前是国内最值得去读的Linux教材,也是最有价值的Linux实验手册。章节包括有:
第0章 咱们先来谈谈学习方法和红帽系统。
第1章 部署虚拟环境安装linux系统。
第2章 新手必须掌握的Linux命令。
第3章 管道符、重定向与环境变量。
第4章 Vim编辑器与Shell命令脚本。
第5章 用户身份与文件权限。
第6章 存储结构与磁盘划分。
第7章 使用RAID与LVM磁盘阵列技术。
第8章 Iptables与Firewalld防火墙。
第9章 使用ssh服务管理远程主机。
第10章 使用Apache服务部署静态网站。
第11章 使用Vsftpd服务传输文件。
第12章 使用Samba或NFS实现文件共享。
第13章 使用Bind提供域名解析服务。
第14章 使用DHCP动态管理主机地址。
第15章 使用Postfix与Dovecot部署邮件系统
第16章 使用Squid部署代理缓存服务。
第17章 使用iSCSI服务部署网络存储。
第18章 使用MariaDB数据库管理系统。
第19章 使用PXE+Kickstart部署无人值守安装。
第20章 使用LNMP架构部署动态网站环境。
对Linux感兴趣的一定要加个收藏,在线学习网址是https://www.linuxprobe.com/chapter-00.html
附件:
Linux入门教程,https://www.linuxprobe.com/docs/LinuxProbe.pdf
Linux命令大全:https://www.linuxcool.com/