Linux常用命令学习

坚强是说给别人听的谎言 提交于 2021-01-07 18:44:19

一.常用按键:

按键 用途 举例
空格键 向下翻一页
pagedown 向下翻一页
pageup 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上自下搜索某个关键词 如"/linux"
q 退出帮助文档
? 从下至上搜索某个关键词 如"?linux"
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词

二.常用命令:
1.echo命令 :用于终端输出字符串或变量提取后的值
Linux常用命令学习
2.date命令:用于显示或设置系统的时间或日期,格式为”data [选项] [+指定的格式]”
date常用命令及参数:



参数 作用
%t 跳格
%H 小时(0~23)
%I 小时(0~12)
%M 分钟
%S
%j 今年中的第几天

例:
(1)查看当前系统时间
Linux常用命令学习
(2)按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的 date 命令:date "+%Y-%m-%d %H:%M:%S"
Linux常用命令学习



(3)将系统的当前时间设置为 2017 年 9 月 1 日 8 点 30 分的 date 命令:date -s "20170901 8:30:00"
(4)date 命令中的参数%j 可用来查看今天是当年中的第几天。这个参数能够很好地区分备份时间的新旧,即数字越大,越靠近当前时间,例:date “+%j”
Linux常用命令学习
3.reboot命令:此命令用于重启系统,格式为 reboot,因为此命令设计硬件权限,故默认使用root权限才能使用
4.poweroff命令:此命令用于关闭系统,格式为poweroff,该命令与reboot命令一样,设计系统硬件权限,默认只用于root使用
5.wget命令:此命令适用于在终端下载网络文件,格式为”wget [参数] 下载地址”
wget命令的参数以及作用





参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载

6.ps命令:此命令用于查看系统中的进程,格式为”ps [参数]”
(1)ps命令的参数以及作用:
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
(2)5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自
含义如下所示





状态 含义
R(运行) 进程正在运行或在运行队列中等待。
S(中断) 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状 态。
D(不可中断) 进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
Z(僵死) 进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系 统函数后将进程释放。
T(停止) 进程收到停止信号后停止运行。

Linux常用命令学习

7.top命令:top命令动态地监视进程活动与负载等信息,格式为:top
top命令相当于windows中的“任务管理器”,运行界面如下:
Linux常用命令学习!
第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、 5分钟、15 分钟内的平均值,数值越小意味着负载越低)。
第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死 的进程数。
第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进 程资源百分比、空闲的资源百分比等。
注:第 3 行中的数据均为 CPU 数据并以百分比格式显示,例如“97.1 id”意味着有 97.1%的 CPU 处理器资源处于空闲。
第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的 内存量
8.pidof命令:此命令用于查询某个指定进程的pid,格式为”pidof [参数] [服务名称]”,每个进程的pid是唯一的,因此可以通过pid来区分不同的进程。
9.kill命令:此命令用于终止某个指定的pid服务进程,格式为”kill [参数] [服务进程pid]”
10.killall命令:此命令用于杀死某个指定名称的服务对应的所有进程,格式为”killall [参数] [服务名称]”










三.系统状态检测命令

  1. ifconfig命令:此命令用于获取网卡配置与网络状态等信息,格式为”ifconfig [网络设备] [参数]”
    使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为 MAC 地址),以及 RX、TX 的接收数据包与发送数据包的个数及累计流量:
    Linux常用命令学习
    3.uname命令:用于查看系统内核与系统版本等信息格式”uname [-a]”
    在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
    Linux常用命令学习
    4.uptime命令:用于查看系统的负载信息,格式为uptime
    uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以
    及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情
    况;负载值越低越好,尽量不要长期超过 1,在生产环境中不要超过 5
    Linux常用命令学习
    5.free命令:用于显示当前系统中的内存使用量信息,格式”free [-h]”
    Linux常用命令学习
    Linux常用命令学习
    6.who命令:查看当前登陆主机的用户终端信息,格式”who [参数]”
    7.last命令:查看所有系统的登陆记录,格式:”last [参数]”
    8.history命令:用于显示历史执行过的命令,格式:”history [-c]”
    Linux常用命令学习
    历史命令会被保存到用户家目录中的.bash_history 文件中。Linux 系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用 cat 命令查看其文件
    要清空当前用户在本机上执行的 Linux 命令历史记录信息,可执行history -c:
    9.sosreport命令:用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。



















四.工作目录切换命令
1.pwd命令:用于显示用户当前所处的工作目录,格式”pwd [选项]”
2.cd命令:cd用于切换工作路径,格式”cd [目录名称]”
这个命令应该是最常用的一个 Linux 命令了。可以通过 cd 命令迅速、灵活地切换到不同的工作目录。除了常见的切换目录方式,还可以使用“cd -”命令返回到上一次所处的目录,使用“cd..”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,亦或使用“cd ~username”切换到其他用户的家目录。
3.ls命令:用于显示目录下的文件信息
五.文本文件编辑命令
1.cat命令:cat命令用于查看纯文本文件,格式”cat [选项] [文件]”,如想展示行号,在cat后加-n
2.more命令:用于查看纯文本文件(内容较多的),格式为”more [选项] 文件”,如果需要阅读长篇小说或者非常长的配置文件,那么“小猫咪”可就真的不适合了。因为一旦使用 cat 命令阅读长篇的文本内容,信息就会在屏幕上快速翻滚,导致自己还没有来得及看到,内容就已经翻篇了。因此对于长篇的文本内容,推荐使用 more 命令来查看。more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容。您还可以使用空格键或回车键向下翻页
3.head命令:用于查看纯文本的前N行,格式”head [选项] [文件]”,例只想看前20行,head -n 20 文件名称
4.tail命令:用于查看纯文本文件的后N行或持续刷新内容,格式为”tail [选项] [文件]”,
我们可能还会遇到另外一种情况,比如需要查看文本内容的最后 20 行,这时就需要用到tail 命令了。tail 命令的操作方法与 head 命令非常相似,只需要执行“tail -n 20 文件名”命令就可以达到这样的效果。tail 命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这特别有用,此时的命令格式为“tail -f 文件名”,例如我们需要看持续更新的日志文件的后100行”tail -f -n 100 文件名”
5.tr命令:此命令用于替换文件中的字符,格式”tr [原始字符] [目标字符]”,在很多时候,我们想要快速地替换文本中的一些词汇,又或者把整个文本内容都进行替换,如果进行手工替换,难免工作量太大,尤其是需要处理大批量的内容时,进行手工替换更是不现实。这时,就可以先使用 cat 命令读取待处理的文本,然后通过管道符把这些文本内容传递给 tr 命令进行替换操作即可。例如,把某个文本内容中的英文全部替换为大写:”cat 文件名 | tr [a-z] [A-Z]”
6.wc命令:此命令用于统计指定文本的行数,字数,字节数,格式”wc [参数] 文本”
wc命令的参数以及作用:












参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数

Linux常用命令学习
7.stat命令:用于查看文件的具体存储信息和时间等信息,格式为”stat 文件名称”
8.cut命令:此命令用于按“列”提取文本字符,格式为”cut [参数] 文本”
9.diff命令:用于比较多个文本文件的差异,格式”diff [参数] 文件”,在使用 diff 命令时,不仅可以使用--brief 参数来确认两个文件是否不同(例:”diff --brief diff_A.txt diff_B.txt” ),还可以使用-c参数来详细比较出多个文件的差异之处(例:”diff -c diff_A.txt diff_B.txt”)
六.文件目录管理命令
1.touch命令:用于创建空白文件或设置文件的时间,格式为”touch [选项] [文件]”
在创建空白的文本文件方面,这个 touch 命令相当简捷,比如,touch linuxprobe 命令可以创建出一个名为 linuxprobe 的空白文本文件。对 touch 命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面
touch命令参数及其作用:






参数 作用
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改 atime 与 mtime

2.mkdir命令:此命令用于创建空白的目录,格式”mkdir [选项] 目录”,除了能创建单个空白目录外,mkdir命令还可以结合-p 参数来递归创建出具有嵌套叠层关系的文件目录,例(“mkdir -p a/b/c/d/e”)
3.cp命令:此命令用于复制文件或目录,格式为”cp [选项] 源文件 目标文件”
(1)如果目标文件是目录,则会把源文件复制到该目录中
(2)如果目标文件也是普通文件,则会询问是否要覆盖它
(3)如果目标文件不存在,则执行正常的复制操作
cp 命令的参数及其作用:




参数 作用
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r 为上述参数)
4.mv命令:此命令用于剪切文件或将文件重命名,格式为”mv [选项] 源文件 [目标路径 目标文件名]”,剪切不同复制,它会默认将剪切的源文件删除,如果在同一个目录内剪切文件,实际上就是对源文件进行了重命名

5.rm命令:此命令用于删除文件或目录,格式为”rm [选项] 文件”,在 Linux 系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在 rm 命令后跟上-f 参数来强制删除。另外,想要删除一个目录,需要在 rm 命令后面一个-r 参数才可以,否则删除不掉
6.dd命令:此命令用于按照指定的大小和个数的数据块来复制文件或转换文件,格式为”dd [参数]”
dd命令的参数及其作用

参数 作用
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数

7.file命令:此命令用于查看文件类型,格式为”file 文件名”
七.打包与压缩命令
1.tar命令:此命令用于对文件进行打包压缩或解压,格式为”tar [选项] [文件]”,在 Linux 系统中,常见的文件格式比较多,其中主要使用的是.tar 或.tar.gz 或.tar.bz2 格式,我们不用担心格式太多而记不住,其实这些格式大部分都是由 tar 命令来生成的
tar命令的参数及其作用


参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用 Gzip 压缩或解压
-j 用 bzip2 压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

首先,-c 参数用于创建压缩文件,-x 参数用于解压文件,因此这两个参数不能同时使用。其次,-z 参数指定使用 Gzip 格式来压缩或解压文件,-j 参数指定使用 bzip2 格式来压缩或解压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。在执行某些压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v 参数向用户不断显示压缩或解压的过程。-C 参数用于指定要解压到哪个指定的目录。-f 参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。一般使用“tar -czvf 压缩包名称.tar.gz 要打包的目录”命令把指定的文件进行打包压缩;相应的解压命令为“tar -xzvf 压缩包名称.tar.gz”
tar -czvf etc.tar.gz /etc 压缩
tar -xzvf etc.tar.gz -C /root/etc 解压到指定目录
2.grep命令:此命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为”grep [选项] [文件]”
grep命令的参数及作用



参数 作用
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号
-v 反向选择—仅列出没有“关键词”的行

Linux常用命令学习
3.find命令:此命令用于按照指定条件来查找文件,格式为”find [查找路径] 寻找条件 操作”。
在 Linux 系统中,搜索工作一般都是通过 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 …… {}\; 后面可跟用于进一步处理搜索结果的命令(下面会有演示)

如果要在整个系统中搜索权限中包括 SUID 权限的所有文件,只需使用-4000 即可:
Linux常用命令学习
进阶实验:在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制到/root/findresults 目录。
该实验的重点是“-exec {} \;”参数,其中的{}表示 find 命令搜索出的每一个文件,并且命令的结尾必须是“\;”。完成该实验的具体命令如下:
find / -user linuxprobe -exec cp -a {} /root/findresults/ \;



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!