Linux的常用命令

本文介绍了Linux系统中的shell命令,包括文件管理、内容管理和备份压缩等方面。通过示例详细讲解了ls、cp、mv、touch、mkdir、rm等文件操作命令,以及grep、diff、patch等文本处理命令,还有gzip、tar等压缩备份工具的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器感知

一个专注于SLAM、机器视觉、Linux 等相关技术文章分享的公众号
 

1 Linux的常用命令

Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。大多数命令的形式如下:

command [option] [source file(s)] [target file]

注意:通常在表述命令的格式时,“[]”中的内容表示可选项。用户在提示符下输入的命令都由shell先解释,然后传给Linux内核。Linux中有多种shell,其中默认使用的是Bash,而在嵌入式Linux中则常用BusyBox。作为默认值(Bash),对普通用户啊用“$”作为提示符,对超级用户(root)用“#”作为提示符。在使用shell中的一些常用的技巧:

 

>输入命令的前一个或几个字母,按一下Tab键,就会自动补全命令。

>对于输入用户的主目录,只要输入“~”,再按一次Tab键,就会出现用户主

目录的绝对路径。

>在命令的最后加上一个符号“&”可以使程序在后台运行。

>如果要连续运行多条命令,可以将命令按执行的顺序排列,然后用分号分

隔。

>按Ctrl+Z可以使当前命令转入睡眠状态。“fg”命令使进程恢复在后台执行,

“fg”命令使进程恢复在前台进行。

>重定向符改变命令的输入/输出,重定向符“>”。例如,命令“ls –l>files”的

运行结果就是列出当前目录下的所有文件和目录,并将结果以文本形式保

存在files文件中;

>在终端输入“clear”进行清屏操作。

shell在执行命令时,会在环境变量PATH中搜索该命令,如果找到了,才执行。默认情况下,shell不会在当前目录下搜索。

在Linux中,“<”、“>>”、“>”、“|”几个符号具有特殊意义,通常被称为重定向符号。“>>”和“>”类似,不同的是“>”为新建或重写一个文件,而“>>”为在文件的尾部追加内容。

“<”的作用是将一个文件的内容作为一个命令的输入进行处理,例如:

mail –s “hello world”swordzjj@sina.com <testmail

将文件testmail作为信件的内容,主题为“hello world”,发给收件人。

  “|”的作用是将一个命令的输出作为另一个命令的输入进行处理,例如:

ps –aux | grep wget

  该命令列出系统当前的全部进程中名称含有wget的项

ls –l | more

该命令在列出目录时,如果输出满意一页就停止,直到用户按下一个键后再继续显示下一页。

man[n] cmd | col –b > cmd.txt

打开cmd的第n节文档,当n省略时,显示该命令第一节的文档。其中col命令对man的格式做处理,man的输出信息包含格式信息,不适合直接阅读和打印。阅读时通过Q退出,H获得在线使用帮助。

1.1 文件管理

ls [-arltRX] [name…]

 

>-a显示所有文件及目录(以“.”开头的视为隐藏文件);

>-l列举文件的权限、大小等详细资料;

>-t将文件按建立时间逆序列出;

        >-R以递归的方式列举一个目录及其子目录中的所有文件(除隐藏文件)。

cp [-abrifLP] [source] [dest]

 

>-b如果目的文件存在,就创造一个备份;

        >-r若源文件中有子目录,则将子目录下的文件及目录也全都复制到目的地

mv[-bjf] [source] [dest]

 

>-b如果目的文件存在,就创造一个备份;

>-i若目的地有重复的文件,询问是否覆盖;

>-f若目的地有重复的文件,则覆盖原有文件。

  touch命令的作用是更改文件的访问及修改时间戳,如果文件不存在,则创建它,命令格式如下:

touch[-acmd] file1 [file2…]

 

>-a改变文件的读取时间记录;

>-m改变文件的修改时间;

>-c如果目的文件不存在,不创建它;

        >-d设定时间与日期,可以使用不同的格式。

mkdir[-p] dirname

        >-p递归建立目录和子目录。

rm[-irf] name

>-r删除目录及子目录;

>-i删除前注意询问确认;

        >-f不询问直接删除。

1.2 内容管理

该命令的作用是现实文本文件的内容,命令格式如下:

cat [-nb] filename

>-n对所有输出行加上行号;

>-b只对非空白行编号。

  该命令的作用是强大的文本搜索工具,能使用正则表达式搜索文本,并把匹配行打印出来,命令格式如下:

grep [-cilnv] expression filename

 

>-c只显示匹配的行数,不显示匹配的内容;

>-i忽略大小写差别;

>-n在匹配的行前打印行号;

>-v反检索,只显示不匹配的行。

该命令的作用是逐行比较两个文本文件,列出其不同之处,命令格式如下:

diff [-Nur] basefile newfile

 

>-N表示如果某个文件已在一个目录中出现,则假定其在另一个目录中为

空文件;

>-r递归处理目录及子目录。

范例:生成对内核修改的patch文件。

diff –Nur linux-2.6.18 linux-my >my0210.patch

 

注意:Linux内核源码的patch就是通过diff生成的,参数同上。

该命令的作用是通过读入patch命令对目标文件进行修改,常与diff配合使用,其命令格式如下:

patch –p[num] < patchfile

      >-p表示使用patchfile中源文件名的前缀目录信息,num为忽略“/”的数量。

 

1.3 备份压缩

gzip–[1…9][trv] file

 

该命令用于压缩文件,并自动给压缩文件加上.gz后缀,各参数作用如下:

>-1表示压缩速度最快,压缩比最低;

>-9表示压缩速度最慢,压缩比最高;

      >-v表示压缩时显示正在压缩的文件名和压缩比等资料。

gunzip file

  该命令用来解压缩文件。

tar[-Acdrtxfjzv] [--delete] tarfile source

>-c表示创建新的tar包;

>-x从tar包展开文件,即解压;

>-f指定tar文件的名称;

>-j使用bzip2/bunzip2来压缩和解压缩tar包,后缀为.tar.bz2;

>-z使用gzip/gunzip来压缩和解压缩tar包,后缀为.tar.gz;

      >-v显示正在处理的文件名称。

uname [-amnrsvpio]

>-a或--all:显示全部的信息;

>-m或--machine:显示电脑类型;

>-n或-nodename:显示在网络上的主机名称;

>-r或--release:显示操作系统的发行编号;

>-s或--sysname:显示操作系统名称;

>-v:显示操作系统的版本;

>-p或--processor:输出处理器类型或"unknown";

>-i或--hardware-platform:输出硬件平台或"unknown";

>-o或--operating-system:输出操作系统名称;

>--help:显示帮助;

>--version:显示版本信息

sed [-hnV][-e<script>][-f<script文件>][文本文件]

>-e<script>或--expression=<script>以选项中指定的script来处理输入的

文本文件。

>-f<script文件>或--file=<script文件>以选项中指定的script文件来处理输

入的文本文件。

>-h或--help显示帮助。

>-n或--quiet或--silent仅显示script处理后的结果。

      >-V或--version   显示版本信息。

 

--END--

二维码关注源码人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值