linux常用命令大全2

简介: linux常用命令大全

五、文本处理


grep命令

分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等


基本用法

grep [options] pattern [files]
• 1

其中,pattern 是要查找的模式,可以是普通字符串或正则表达式。files 则是要搜索的文件列表,可以是单个文件、多个文件或者使用通配符匹配多个文件。


常用选项包括:

选项 执行
-i 忽略大小写
-r 递归搜索子目录中的文件
-w 只匹配整个单词,而不是部分字符串
-n 显示匹配行的行号
-c 统计匹配的行数
-v 显示不匹配的行


常用案例:

1.在文件 '/var/log/messages’中查找关键词"Aug"

grep Aug /var/log/messages


2.在文件 '/var/log/messages’中查找以"Aug"开始的词汇

grep ^Aug /var/log/messages 
• 1

3.选择 ‘/var/log/messages’ 文件中所有包含数字的行

grep [0-9] /var/log/messages


4.在目录 ‘/var/log’ 及随后的目录中搜索字符串"Aug"

grep Aug -R /var/log/*


5.将example.txt文件中的 “string1” 替换成 “string2”

sed 's/stringa1/stringa2/g' example.txt


6.从example.txt文件中删除所有空白行

sed '/^$/d' example.txt 
• 1

7.使用正则表达式进行高级搜索。例如,要查找以数字开头的行,可以使用以下命令:

grep ^[0-9] file1.txt


4573757b81e24d449bcdd46147d58308.png


paste命令

paste命令用于合并多个文件的行,将它们按列对齐并输出到标准输出。使用以下语法来使用

paste [OPTION]... [FILE]...



示例:

有两个文件 file1.txtfile2.txt,将它们的每一行合并在一起

paste file1.txt file2.txt


这将输出类似于以下内容的结果:


Line 1 from file1.txt    Line 1 from file2.txt
Line 2 from file1.txt    Line 2 from file2.txt
Line 3 from file1.txt    Line 3 from file2.txt

2f88b0998acc4bd7ac450191e6b04cf7.png



2.合并两个文件或两栏的内容,中间用"+"区分

paste -d '+' file1 file2


3.如果只想合并特定的行数,可以使用 head 或 tail 命令将其与 paste 命令一起使用。例如,要合并文件 file1.txt 的前10行和文件 file2.txt 的后5行,使用以下命令:


head -n 10 file1.txt | paste -d '\t' - <(tail -n 5 file2.txt)


这将输出类似于以下内容的结果:

Line 1 from file1.txt    Line 996 from file2.txt
Line 2 from file1.txt    Line 997 from file2.txt
Line 3 from file1.txt    Line 998 from file2.txt
Line 4 from file1.txt    Line 999 from file2.txt
Line 5 from file1.txt    Line 1000 from file2.txt



sort命令

用于对文本文件进行排序。

该命令的基本语法为:

sort [options] [file]


其中,[options] 为可选参数,用于控制排序的方式和输出格式;[file] 则表示要排序的文件路径。

以下是 sort 命令的一些实例:

1.排序两个文件的内容

sort file1 file2

00a5e0ff69d1436a9f1fe36a4d1fab2f.png


2.对文件进行反向排序:

sort -r file.txt
• 1

3.按照数值大小排序:

sort -n file.txt


4.忽略行首空格并按照第二个字段进行排序:

sort -k 2 file.txt
• 1

5.忽略行首空格并按照第二个字段进行数值排序:

sort -n -k 2 file.txt


6.取出两个文件的并集(重复的行只保留一份)

sort file1 file2 | uniq 
• 1

7.删除交集,留下其他的行

sort file1 file2 | uniq -u


a3436ac10e774a379f927d87208aa3ed.png

8.取出两个文件的交集(只留下同时存在于两个文件中的文件)

sort file1 file2 | uniq -d 
• 1

9.对文件file1.txt进行排序,并将结果保存到file2.txt中:

sort file1.txt > file2.txt


5f3bbf4519f84037ac74bf8a4975da7e.png




comm命令

comm 命令是一个用于比较两个已排序的文件行的工具。它可用于找到两个文件中共有的行、仅在第一个文件中独有的行,以及仅在第二个文件中独有的行。

comm 命令的基本语法如下:

comm [OPTION]... FILE1 FILE2


其中 FILE1FILE2 是要比较的两个已排序的文件。OPTION 是一些可选的参数,可以控制输出格式等。

常用的选项包括:

选项 执行
-1 隐藏仅出现在第一个文件中的行
-2 隐藏仅出现在第二个文件中的行
-3 隐藏同时出现在两个文件中的行
-i 在比较时忽略大小写


常用示例:

1.比较两个文件的内容只删除 ‘file1’ 所包含的内容

comm -1 file1 file2 
• 1


2.比较两个文件的内容只删除 ‘file2’ 所包含的内容

comm -2 file1 file2 
• 1

3.比较两个文件的内容只删除两个文件共有的部分

comm -3 file1 file2



六、打包和压缩文件


tar命令


对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压


常用的选项

选项 执行
-c 新建打包文件
-t 查看打包文件的内容含有哪些文件名
-x 解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j 通过bzip2的支持进行压缩/解压缩
-z 通过gzip的支持进行压缩/解压缩
-v 在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir 指定压缩/解压缩的目录dir



常用的示例:

1.创建 tar 包

tar -cvf archive.tar file1 file2


这条命令将会创建名为 archive.tar 的归档文件,并将指定的文件(file1、file2)添加到该文件中。 -c 选项表示“创建”,-v 表示“详细”(显示出打包过程中的所有文件),-f 指定了输出的文件名。

这个图片中,原本只有file1.txt,file2.txt,filename.txt,使用tar -cvf abc.tar file1.txt file2.txt filename.txt,将它们打包



2.解压 tar 包

tar -xvf archive.tar

这条命令将会解压名为 archive.tar 的归档文件,并将其中的内容提取到当前目录中。 -x 选项表示“解压”。

这个图片中,原本只有abc.tar,使用tar -xvf abc.tar ,将它们file1.txt file2.txt filename.txt解压到当前目录


3.同时进行压缩和打包

 

tar -czvf archive.tar.gz file1 file2 ...


这条命令将会创建名为 archive.tar.gz 的归档文件,并将指定的文件(file1、file2)添加到该文件中,并使用 gzip 进行压缩。 -z 选项表示“使用 gzip 压缩”。


4.解压一个叫做 'file1.bz2’的文件

bunzip2 file1.bz2 
• 1


5.压缩一个叫做 ‘file1’ 的文件

bzip2 file1



6.解压一个叫做 'file1.gz’的文件

gunzip file1.gz 
• 1

7.压缩一个叫做 'file1’的文件

gzip file1


8.最大程度压缩

gzip -9 file1 
• 1

9.创建一个叫做 ‘file1.rar’ 的包

rar a file1.rar test_file


10.同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’

rar a file1.rar file1 file2 dir1 
• 1

11.解压rar包

rar x file1.rar


12.创建一个zip格式的压缩包

zip file1.zip file1 
• 1

13.解压一个zip格式压缩包

unzip file1.zip


14.将几个文件和目录同时压缩成一个zip格式的压缩包

zip -r file1.zip file1 file2 dir1 
• 1




七、系统和关机(关机、重启和登出)


常用命令:

命令 执行
shutdown -h now 关闭系统
init 0 关闭系统
telinit 0 关闭系统
shutdown -h hours:minutes & 在后台按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启
reboot 重启
logout 注销
time 测算一个命令(即程序)的执行时间


其中:

shutdown -h now, init 0 和 telinit 0 命令都可以用于关闭系统,但它们的实现方式略有不同:

   shutdown -h now 命令会立即关闭系统,并向所有登录用户发送关机通知。它会正常地卸载文件系统并停止所有进程。

   init 0 命令会将系统切换到运行级别0(也称为"单用户模式"),这个级别只运行必要的服务和进程,然后停止系统。这个命令比较快速,但是不会正常卸载文件系统或向用户发送关机通知。

   telinit 0 命令与 init 0 相似,也会将系统切换到运行级别0,但是它会先执行 /etc/init.d/rc 脚本,关闭所有服务并卸载文件系统,然后再停止系统。这个命令比较缓慢,但是会正常地关闭系统并向用户发送关机通知。


总之,如果您想要快速关闭系统,可以使用 init 0 命令。如果您想要正常地关闭系统并向用户发送关机通知,应该使用 shutdown -h now 或 telinit 0 命令。




八、进程相关的命令


jps命令



显示当前系统的java进程情况,及其id号,jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。


示例:


1.列出当前系统中所有正在运行的Java进程的PID和主类的名称。

jps 
• 1


2.显示完整的Java进程名和参数列表。

jps -l:
• 1



3.显示启动时传递给main方法的参数。

jps -m
• 1

4.显示JVM启动时传递给JVM的参数。

jps -v


5.仅显示进程ID,不显示主类名。

jps -q 
• 1


6.将选项传递给JVM。

jps -Joption 
• 1



ps命令

用于将某个时间点的进程运行情况选取下来并输出,process的缩写


常用选项:

选项 执行
-A 所有的进程均显示出来
-a 不与terminal有关的所有进程
-u 有效用户的相关进程
-x 一般与a参数一起使用,可列出较完整的信息
-l 较长,较详细地将PID的信息列出


常用示例:

1.查看系统所有的进程数据

ps aux 
• 1



2.查看不与terminal有关的所有进程

ps ax 
• 1

3查看系统所有的进程数据

ps -lA


4.查看连同一部分进程树状态

ps axjf 
• 1




kill命令

kill命令用于向进程发送信号。通常情况下,我们使用kill命令来终止(即杀死)一个进程,但实际上它可以用于向进程发送任何一种信号。

kill命令的基本语法如下:

kill [signal] PID


其中,signal表示要发送的信号类型,默认为SIGTERM(15),PID则是要接收该信号的进程ID。


以下是一些常用的信号类型及其含义:


   HUP 1 终端断线

   INT 2 中断(同 Ctrl + C)

   QUIT 3 退出(同 Ctrl + \)

   TERM 15 终止

   KILL 9 强制终止

   CONT 18 继续(与STOP相反, fg/bg命令)

   STOP 19 暂停(同 Ctrl + Z)


以下是一些常用的选项及其含义:


   -l:信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称

   -a:当处理当前进程时,不限制命令名和进程号的对应关系

   -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号

   -s:指定发送信号

   -u:指定用户


常用示例


1:列出所有信号名称 命令:kill -l 输出:

2:得到指定信号的数值


3.强制终止进程

kill -9 PID
• 1

4.向多个进程发送信号

kill -signal PID1 PID2 ...


这条命令将会向指定的多个进程发送信号,可以同时杀死多个进程或者打断它们的运行。



killall命令

向一个命令启动的进程发送一个信号,用于杀死指定名字的进程

killall [选项] [进程名]


其中,进程名 指定要杀死的进程的名称。如果没有指定信号,则默认发送 SIGTERM 信号。

一些常用选项包括:


   -Z 只杀死拥有scontext 的进程

   -e 要求匹配进程名称

   -I 忽略小写

   -g 杀死进程组而不是进程

   -i 交互模式,杀死进程前先询问用户

   -l 列出所有的已知信号名称

   -q 不输出警告信息

   -s 发送指定的信号

   -v 报告信号是否成功发送

   -w 等待进程死亡

   –help 显示帮助信息

   –version 显示版本显示


示例


1:杀死所有同名进程

killall firefox
• 1

2.强制杀死所有同名进程

killall -9 bash


3.向进程发送指定信号

killall -TERM ngixn 或者 killall -KILL nginx
• 1




top命令

top 是一个用于监视系统进程的命令行工具。它可以实时地显示各个进程的 CPU 利用率、内存占用情况、进程 ID 等信息,非常适合于查找和终止耗费系统资源的进程。



在这个列表中,每行代表一个进程,列出了该进程的进程 ID(PID)、所属用户、CPU 利用率、内存占用等信息。按照 CPU 利用率从高到低排列,可以使用 Shift + P 快捷键;按照内存占用情况从高到低排列,可以使用 Shift + M 快捷键。


一些常用的命令选项包括:


   -d <秒数>:指定更新数据的时间间隔,默认为 3 秒。

   -p <进程ID>:只显示指定进程 ID 的进程信息。

   -u <用户名>:只显示指定用户名的进程信息。

   -H:显示进程树,即以缩进形式展示进程之间的父子关系。

   -i:不显示空闲进程(IDLE)。

   -c:显示完整的命令行而不是仅仅显示进程名。


如何杀死进程:

(1)终端输入top进图图形化界面

(2)kill -9 pid (-9表示强制关闭)

(3)killall -9 程序的名字

(4)pkill 程序的名字


查看进程端口号:

netstat -tunlp|grep 端口号



九、其它


history命令


显示最近执行的命令历史记录。

history [options]


常用选项:

  • -c:清除历史记录。

常用示例:

1.显示最近执行的命令


使用 history 命令不带任何参数,可以显示最近执行的命令历史记录。



2.按照编号查找命令

每个命令在历史记录中都有一个编号,可以使用这个编号来查找特定的命令。例如,使用 !1249 命令可以运行历史记录中编号为 1249 的命令,如下所示:

以上命令运行了历史记录中编号为 3 的命令 ls


3.搜索命令历史记录

使用 history 命令加上 grep 命令可以搜索历史记录中包含特定字符串的命令。例如,使用以下命令可以搜索包含字符串 ls 的命令:

history | grep ls
• 1


以上命令将显示历史记录中包含字符串 ls 的命令,即 ls 命令。

4.清除命令历史记录

使用 history 命令加上 -c 参数可以清空命令历史记录。例如:

history -c
• 1

以上命令将清空历史记录中所有的命令。



man命令


man 是一种用来查看命令手册页的工具。手册页包含了关于命令的详细说明、参数、示例以及其他有用的信息。

常用示例:


1.查看命令手册页

使用 man 命令后跟命令名,即可查看该命令的手册页。例如,以下命令可以查看 ls 命令的手册页:

man man
• 1


手册页将会在终端上显示。


2.搜索手册页

使用 man 命令后跟 -k 参数和关键字,可以搜索包含该关键字的所有手册页。例如,以下命令可以搜索包含字符串 network 的所有手册页:

man -k network
• 1

命令将输出所有包含字符串 network 的手册页的摘要信息。




sudo命令


sudo 是一种用来以超级用户(root)身份执行命令的工具。使用 sudo 命令可以避免在使用 root 用户身份登录时操作系统安全性的风险。


常用示例:


1.执行单个命令


使用 sudo 命令后跟需要执行的命令即可以 root 身份执行该命令。例如,以下命令可以以 root 身份创建一个名为 testfile 的文件:

sudo touch testfile



2.切换到 root 用户

使用 sudo -i命令或者su 命令可以切换到 root 用户。该命令将打开一个新的 shell 窗口,并将当前用户切换为 root 用户。例如:

sudo -i
• 1



这里输入密码,密码不可见,即可切换到root用户



3.以其他用户身份执行命令


使用 sudo -u 命令可以以指定用户的身份执行命令。例如,以下命令可以以 user1 用户的身份查看 /var/log/messages 文件:

sudo -u user1 less /var/log/messages
• 1



4.查看 sudo 命令的配置

使用 sudo -V 命令可以查看当前系统中已经配置的 sudo 命令的版本和配置信息。

sudo -V
• 1

该命令将输出当前系统中 sudo 命令的版本和已配置的参数信息。



5.退出root用户

在终端中输入exit即可退出root用户

exit
• 1




总结


Linux 常用命令是每个 Linux 用户必须掌握的基本技能之一。这些命令可以使用户更高效地管理文件系统、安装软件和维护系统。在本博客中,介绍了许多常用的 Linux 命令,并提供了详细的解释和示例。这些命令包括文件和目录操作命令,如 cd、ls、mkdir、rm 和 mv;文件查找和文本处理命令,如 grep和 find;系统管理命令,如 ps、top、kill 和 shutdown;以及用户权限和安全性相关的命令,如 chmod、sudo 和 su。


总的来说,Linux 命令的使用需要建立在对 Linux 操作系统的深入理解和熟悉上。通过学习这些命令,用户可以更好地理解 Linux 系统的工作原理,并且能够更加高效地完成日常的系统管理和维护任务。此外,为了便于学习和使用这些命令,用户还应该掌握一些基本的 Linux 操作技巧,例如使用 man 命令查看命令帮助信息、使用 tab 键自动补全命令、以及利用管道符号将不同的命令组合起来使用等。总之,学习并掌握常用的 Linux 命令对于每个 Linux 用户来说都是必不可少的。

相关文章
|
5月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
629 1
二、Linux文本处理与文件操作核心命令
|
5月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
404 137
|
5月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
958 57
|
8月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
756 143
linux命令—tree
|
4月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
877 2
|
5月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
477 0
Linux内存问题排查命令详解
|
5月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
494 16
|
7月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
1369 13
|
8月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1484 21
|
8月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
564 13

热门文章

最新文章