linux 》》命令,linux常用的20个命令

大家好,关于linux >>命令很多朋友都还不太明白,今天小编就来为大家分享关于linux常用的20个命令的知识,希望对各位有所帮助!

linux里的 > 是什么意思

>和>>都属于输出重定向,都可以输出内容到指定文件。

>会覆盖目标的原有内容,当文件存在时,会先删除原文件,再重新创建文件,然后把内容写入该文件,否则直接创建文件。

>>会在目标原有内容后追加内容,当文件存在时直接在文件末尾进行内容追加,不会删除原文件,否则直接创建文件。

扩展阅读:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善这个操作系统,使其最大化地适应用户的需要。

Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux操作系统不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的一大亮点。

Linux与其他操作系统相比,具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。

linux patch命令

linux系统下patch命令是什么呢?下面是patch命令的具体介绍:

1、patch命令简介:

Patch的主要用途是给代码打补丁,修正已知的错误,或者作为一种调试手段来调试有问题的代码,发现问题和验证修正的结果。

2、patch命令功能:

修补文件。

3、语法:patch[-bceEflnNRstTuvZ][-B备份字首字符串][-d工作目录][-D标示符号][-F监别列数][-g控制数值][-i修补文件][-o输出文件][-p剥离层级][-r拒绝文件][-V备份方式][-Y备份字首字符串][-z备份字尾字符串][--backup-if-mismatch][--binary][--help][--nobackup-if-mismatch][--verbose][原始文件修补文件]或path[-p剥离层级][修补文件]

4、补充说明:patch指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。

5、参数:

-b或--backup备份每一个原始文件。

-B备份字首字符串或--prefix=备份字首字符串设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称。

-c或--context把修补数据解译成关联性的差异。

-d工作目录或--directory=工作目录设置工作目录。

-D标示符号或--ifdef=标示符号用指定的符号把改变的地方标示出来。

-e或--ed把修补数据解译成ed指令可用的叙述文件。

-E或--remove-empty-files若修补过后输出的文件其内容是一片空白,则移除该文件。

-f或--force此参数的效果和指定-t参数类似,但会假设修补数据的版本为新版本。

-F监别列数或--fuzz监别列数设置监别列数的最大值。

-g控制数值或--get=控制数值设置以RSC或SCCS控制修补作业。

-i修补文件或--input=修补文件读取指定的修补问家你。

-l或--ignore-whitespace忽略修补数据与输入数据的跳格,空格字符。

-n或--normal把修补数据解译成一般性的差异。

-N或--forward忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使用过。

-o输出文件或--output=输出文件设置输出文件的名称,修补过的文件会以该名称存放。

-p剥离层级或--strip=剥离层级设置欲剥离几层路径名称。

-f拒绝文件或--reject-file=拒绝文件设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej。

-R或--reverse假设修补数据是由新旧文件交换位置而产生。

-s或--quiet或--silent不显示指令执行过程,除非发生错误。

-t或--batch自动略过错误,不询问任何问题。

-T或--set-time此参数的效果和指定-Z参数类似,但以本地时间为主。

-u或--unified把修补数据解译成一致化的差异。

-v或--version显示版本信息。

-V备份方式或--version-control=备份方式用-b参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用-z参数变更,当使用-V参数指定不同备份方式时,也会产生不同字尾的备份字符串。

-Y备份字首字符串或--basename-prefix=--备份字首字符串设置文件备份时,附加在文件基本名称开头的字首字符串。

-z备份字尾字符串或--suffix=备份字尾字符串此参数的效果和指定-B参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上backup/字符串后,文件super.c会备份于/src/linux/fs/backup目录里。

-Z或--set-utc把修补过的文件更改,存取时间设为UTC。

--backup-if-mismatch在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件。

--binary以二进制模式读写数据,而不通过标准输出设备。

--help在线帮助。

--nobackup-if-mismatch在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件。

--verbose详细显示指令的执行过程。

patch,是打补丁的命令,有很多用法,见帮助#man patch

patch-p0(“p”指的是路径,后面的数字表示去掉路径的第几部分。0,表示不去掉,为全路径)

patch-p1(“p”后面的数字1,表示去掉前第一个路径)fetch

fetch

fetch...

patch-p0...fetch

patch-p patch-tcp_auto_buf-20061212-RELENG_6.diff

也可以把文件中的目录全改成系统已在的目录如/usr/src/sys.....

6、Patch过程分三个大的步骤:

一是用diff工具比较新旧代码,生成patch文件;二是使用patch命令,将patch文件合并到原有代码;三是检查有无无法patch的文件,修改或重新选择是否对其做patch。patch打完了就可以直接编译了。

patch对应到的主要命令有两个,diff和patch。至于检查结果,在linux环境下使用ls命令或者find命令查看有无rej类型的文件就可以了。

现实中常见的做法,是在makefile中加入patch命令,在编译过程中做好代码的patch,然后编译代码。

7、diff命令常用选项:

以下面命令举例:

diff-uNr orginal_proj updated_proj test.patch

其中,-u表示使用unified output format,统一输出格式,比较紧凑而且易读;

-N用来处理新增的文件(此时参数对应的是目录)

-r表示递归处理所有的子目录。

整条命令的意思是,递归比较original和updated两个工程中的所有文件,使用统一的输出格式,添加新增的文件,生成结果输出到 test.patch文件中。

其他常用的选项还有:-p仅针对C程序有效,显示每个不同所对应的函数;-i忽略大小写,对于大小写不敏感的场合使用,比如某些html文件;–exclude表示排除某些文件或者目录,不做比较,适用于如代码包含cvs目录之类的场合。剩下的其他参数可以参考info或者help或者man。

patch文件的格式

上个例子中生成的文件是统一输出格式的,比较紧凑而且易读。举例:

— autoconf-2.7/acgeneral.m4 Wed Nov 22 11:42:00 1995##旧文件

+++ autoconf-2.9/acgeneral.m4 Sat Mar 16 15:53:07 1996##新文件

@@-1,7+1,7@@##第一段不同的地方,旧文件从1行开始,共7行;新文件从1行开始,共7行

dnl Parameterized macros.##无+—符号,是引用的内容

dnl Requires GNU m4.

dnl This file is part of Autoconf.

-dnl Copyright(C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.##删除的内容

+dnl Copyright(C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.##替换的内容

dnl

dnl This program is free software; you can redistribute it and/or modify

dnl it under the terms of the GNU General Public License as published by

@@-51,7+51,7@@##第二段不同之处

divert(-1)dnl Throw away output until AC_INIT is called.

changequote([, ])

-define(AC_ACVERSION, 2.7)

+define(AC_ACVERSION, 2.9)

dnl Some old m4′s don’t support m4exit. But they provide

dnl equivalent functionality by core dumping because of the

从刚才的diff命令的例子可以看到,一个patch文件中可能包含整个工程中所有不同文件的比较结果,因此,必须区分具体的文件路径和文件名,以及单一文件中多个不同之处的情况。统一输出格式中,使用—表示旧文件,使用+++表示新文件;文件中的多个不同的文本或代码段,使用@@开始,@@结束的一行来开始;中间的内容是新旧文件的起始行数和本段比较包含的函数,空格做分隔。每段中,无-+符号的是引用的行,有-号的是删除的行,有+号的是新增的行。这样就可以区分开这些情况了。

diff命令还可以生成非统一格式的patch文件,但可读性非常差,所以从编程的角度讲,一定是使用unified output format比较合理。

8、patch命令常用选项:

以下面命令举例:

patch-lNp0 test.patch

其中,-l的意思–ignore-whitespace,忽略空白字符;-N表示–forward,忽略已经打过或者已经取消的补丁(ignore patches that seem to be reversed or already applied);-pnum表示–strip=num,如果没有num参数,表示直接使用文件名,0表示全路径名,其他表示从左开始去除几个slash到,哪一级目录(cut slash count).

整条命令的意思是,使用test.patch文件作为输入,忽略空白符号和已经处理过的补丁,保留patch文件中的包含文件的全路径名,对patch文件涉及到的文件做补丁。

linux中&>什么意思

表示任意几个字符串,其他具体的参考如下:

1.>重定向输出符号。

2.>>重定向输出符号,但有追加的功能。

3. 2>错误重定向输出符号,覆盖原文件内容。

4. 2>>错误重定向输出符号,有文件内容追加的功能。重定向:I/O。Linux Shell环境中支持输入输出重定向,用符号<和>来表示。0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>a.txt表示将错误信息输出到文件a.txt中。

5.*代表0个或者多个特殊字符

6.?匹配任意一个字符。

7.|管道符号。解释:command1|command2,将command1的输出作为command2的输入,比如ls-al|less,表示将ls-al的输出作为less的输入,即将la-al的输出分页。管道命令只接受标准输入(standoutput)。

8.&后台进程符。

9.&&l逻辑与符号。用法:命令1&&命令2表示如果命令1执行成功,继续执行命令2。

10.||逻辑或符号。用法:命令1||命令2表示如果命令1执行成功,不执行命令2;但如果命令1执行失败才执行命令2。

&&与||,命令执行是顺序进行的,没有优先级

11.!逻辑非符号。排除指定范围。例:ls a[!0-9]

12.[x-y]表示一定的范围。

13.#注释符;符合替换文字最短的那一个。

14.””双引号表示把它所包含的内容作为普通字符,但` `$\‘‘几个符号除外。

15.’’单引号表示把它所包含的内容作为普通的字符,无特殊例外。

16.$变量符,提取变量,如echo$HOME,查看变量;正则表达式中表示行首。

17.\转义字符,就是将特殊字符转换成其本来的普通字符的意思。

18.``反单引号,表示它所包含的内容。一般作为嵌入的命令使用,此命令将先执行。

19.;命令分隔符。

20.<重定向输入符。

21.()表示整体执行命令。

22.^反向选择符,例:grep-n'^[^a-zA-Z]' wokao.txt,[]内的叫反向选择符,[]外的则表示定位在行首。查找行首不是英文字母的行。

23..点该表任意字符串

阅读剩余
THE END