常用linux命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用linux命令相关的知识,希望对你有一定的参考价值。

本文转自:http://www.cnblogs.com/xiaowuyi

1、ls命令:列出文件目录的常用命令,主要参数见下表。

-a

列出目录下的所有文件,包括以.开头的隐含文件。

-b

把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

-c

输出文件的 i 节点的修改时间,并以此排序。

-d

将目录象文件一样显示,而不是显示其下的文件。

-e

输出时间的全部信息,而不是输出简略信息。

-f

-U 对输出的文件不排序。

-g

无用。

-i

输出文件的 i 节点的索引信息。

-k

以 k 字节的形式表示文件的大小。

-l

列出文件的详细信息。

-m

横向输出文件名,并以","作分格符。

-n

用数字的 UID,GID 代替名称。

-o

显示文件的除组信息外的详细信息。

-p -F

在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。

-q

用?代替不可输出的字符。

-r

对目录反向排序。

-s

在每个文件名后输出该文件的大小。

-t

以时间排序。

-u

以文件上次被访问的时间排序。

-x

按列输出,横向排序。

-A

显示除 "."和".."外的所有文件。

-B

不输出以 "~"结尾的备份文件。

-C

按列输出,纵向排序。

-G

输出文件的组的信息。

-L

列出链接文件名而不是链接到的文件。

-N

不限制文件长度。

-Q

把输出的文件名用双引号括起来。

-R

列出所有子目录下的文件。

-S

以文件大小排序。

-X

以文件的扩展名(最后一个 . 后的字符)排序。

-1

一行只输出一个文件。

--color=no

不显示彩色文件名

--help

在标准输出上显示帮助信息。

--version

在标准输出上输出版本信息并退出。

 

例如:

技术分享

技术分享

 

2、CD命令:cd [dirname]:切换当前目录到dirname目录。

     cd 返回用户主目录

     cd- 返回进入此目录之前所在目录

     cd .. 返回上级目录

     cd../.. 返回上两级级目录

例如:

技术分享

注意:cd之后有空格。

3、touch命令:用来修改文件时间戳(包括存取时间和更改时间),新建一个不存在的文件。

touch [参数] 文件

参数列表

-a或--time=atime或--time=access或--time=use

只更改存取时间。

-c或--no-create

不建立任何文档。

-d

使用指定的日期时间,而非现在的时间。

-f

此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m或--time=mtime或--time=modify

只更改变动时间。

-r

把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t

使用指定的日期时间,而非现在的时间。

Touch –t time 文件名

time作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:      

  [[CC]YY]MMDDhhmm[.SS]     

  CC为年数中的前两位,即"世纪数";YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间.由于系统的限制,早于1970年1月1日的时间是错误的。

 

(1)新建一个不存在的文件

例:创建不存在的文件test1.log

技术分享

例:如果test2.log不存在,则不创建

技术分享

(2)修改文件时间戳

例:修改test1.log文件的时间与ocr_pi.png文件的时间相同

技术分享

例:修改test1.log文件的时间为2014年5月1日22:14:34

技术分享

4、mv命令:用来移动文件或者将文件改名。

mv [参数] 源文件或目录 目标文件或目录

参数列表:

-b

若需覆盖文件,则覆盖前先行备份。

-f

force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i

若目标文件 (destination) 已经存在时,就会询问是否覆盖

-u

若目标文件已经存在,且 source 比较新,才会更新(update)

-t

--target-directory=directory move all SOURCE arguments into directory,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

  

例:修改test1.log文件名为test2.log

技术分享

例:将test.log移动到tt文件夹下

技术分享

例:若目标文件存在,先备份再覆盖

技术分享

例:若目标文件存在,寻问后再覆盖

技术分享

 

5、rm命令:删除一个目录中的一个或多个文件或目录。

rm [参数] 文件/目录…

参数列表:

-f, --force

忽略不存在的文件,从不给出提示

-i, --interactive

进行交互式删除

-r, -R, --recursive

指示rm将参数中列出的全部目录和子目录均递归地删除

-v, --verbose

详细显示进行的步骤

--help

显示此帮助信息并退出

--version

输出版本信息并退出

 例:删除test1.log并给出详细步骤

技术分享

例:删除tt目录

技术分享

6、tar命令:解压缩命令

tar [参数] [文件]...

独立的命令:每次必须用且仅能用其中一个,包括:

-c: 建立压缩文件

-x:解压

-t:查看内容

-r:向压缩文件末尾追加文件

-u:更新原压缩包中的文件

可选参数:

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

-f: 使用文件名字,这个是最后一个参数,后面只能接文件名。

例:压缩tt文件夹下所有以ba开头的文件,压缩完成后解压查看

技术分享

这里-c表示建立新的压缩文件,-f指定新的压缩文件的文件名,-x解压,-v显示所有过程

例:将foo文件加入allba.tar压缩包,并列出压缩包内容。

技术分享

  

关于tar总结:(来源:http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

7、cat命令:

(1)显示文件:cat 文件名

技术分享

  (2)创建一个文件,只能是创建新文件,不能编辑已有文件。Cat > 文件名

技术分享

 

(3)将几个文件合并成一个文件:cat 文件名1 文件名2…… > 文件名

技术分享

8、Less命令:对文件或者其它输出分页显示

Less [参数] 文件

命令参数:

-b <缓冲区大小>

设置缓冲区的大小

-e

当文件显示结束后,自动离开

-f

强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g

只标志最后搜索的关键词

-i

忽略搜索时的大小写

-m

显示类似more命令的百分比

-N

显示每行的行号

-o <文件名>

将less 输出的内容在指定文件中保存起来

-Q

不使用警告音

-s

显示连续空行为一行

-S

行过长时间将超出部分舍弃

-x <数字>

将"tab"键显示为规定的数字空格

主要操作命令:

ctrl + F

向前移动一屏

ctrl + B

向后移动一屏

ctrl + D

向前移动半屏

ctrl + U

向后移动半屏

j

向前移动一行

k

向后移动一行

G

移动到最后一行

g

移动到第一行

q / ZZ

退出 less 命令

v

使用配置的编辑器编辑当前文件

h

显示 less 的帮助文档

&pattern

仅显示匹配模式的行,而不是整个文件

 

例:显示文件foo3:less foo3

技术分享

按下q退出。

例:分布显示进程信息

Ps –ef | less

技术分享

按下q退出。

 

9、Ps命令:查看进程

Ps [必要参数][选择参数]

必要参数

a

显示所有进程

-a

显示同一终端下的所有程序

-A

显示所有进程

c

显示进程的真实名称

-N

反向选择

-e

等于"-A"

e

显示环境变量

f

显示程序间的关系

-H

显示树状结构

r

显示当前终端的进程

T

显示当前终端的所有程序

u

指定用户的所有进程

x

显示所有程序,不以终端机来区分

-l

详细显示PID信息

选择参数

-C<命令>

列出指定命令的状况

--lines<行数>

每页显示的行数

--width<字符数>

每页显示的字符数

--help

显示帮助信息

--version

显示版本显示

 

例:显示所有进程

技术分享

例:显示root进程

技术分享

例:详细显示进程信息

技术分享

 

10、Kill命令:终止指定进程的运行。

Kill [参数] 进程号

-l

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

-a

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

-p

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

-s

指定发送信号

-u

指定用户

例:显示信号

技术分享

例:彻底终止2095进程

技术分享

 

11、树莓派中还需要知道的一些知识:

(1)树莓派没有保持时间的电池,但是raspbian系统被配置为接入网络就自动同步系统日期和时间。也可以通过sudo date ––set="时间"来设置。

技术分享

(2)关机:sudo halt

1、ls命令:列出文件目录的常用命令,主要参数见下表。

-a

列出目录下的所有文件,包括以.开头的隐含文件。

-b

把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

-c

输出文件的 i 节点的修改时间,并以此排序。

-d

将目录象文件一样显示,而不是显示其下的文件。

-e

输出时间的全部信息,而不是输出简略信息。

-f

-U 对输出的文件不排序。

-g

无用。

-i

输出文件的 i 节点的索引信息。

-k

以 k 字节的形式表示文件的大小。

-l

列出文件的详细信息。

-m

横向输出文件名,并以","作分格符。

-n

用数字的 UID,GID 代替名称。

-o

显示文件的除组信息外的详细信息。

-p -F

在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。

-q

用?代替不可输出的字符。

-r

对目录反向排序。

-s

在每个文件名后输出该文件的大小。

-t

以时间排序。

-u

以文件上次被访问的时间排序。

-x

按列输出,横向排序。

-A

显示除 "."和".."外的所有文件。

-B

不输出以 "~"结尾的备份文件。

-C

按列输出,纵向排序。

-G

输出文件的组的信息。

-L

列出链接文件名而不是链接到的文件。

-N

不限制文件长度。

-Q

把输出的文件名用双引号括起来。

-R

列出所有子目录下的文件。

-S

以文件大小排序。

-X

以文件的扩展名(最后一个 . 后的字符)排序。

-1

一行只输出一个文件。

--color=no

不显示彩色文件名

--help

在标准输出上显示帮助信息。

--version

在标准输出上输出版本信息并退出。

 

例如:

技术分享

技术分享

 

2、CD命令:cd [dirname]:切换当前目录到dirname目录。

     cd 返回用户主目录

     cd- 返回进入此目录之前所在目录

     cd .. 返回上级目录

     cd../.. 返回上两级级目录

例如:

技术分享

注意:cd之后有空格。

3、touch命令:用来修改文件时间戳(包括存取时间和更改时间),新建一个不存在的文件。

touch [参数] 文件

参数列表

-a或--time=atime或--time=access或--time=use

只更改存取时间。

-c或--no-create

不建立任何文档。

-d

使用指定的日期时间,而非现在的时间。

-f

此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m或--time=mtime或--time=modify

只更改变动时间。

-r

把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t

使用指定的日期时间,而非现在的时间。

Touch –t time 文件名

time作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:      

  [[CC]YY]MMDDhhmm[.SS]     

  CC为年数中的前两位,即"世纪数";YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间.由于系统的限制,早于1970年1月1日的时间是错误的。

 

(1)新建一个不存在的文件

例:创建不存在的文件test1.log

技术分享

例:如果test2.log不存在,则不创建

技术分享

(2)修改文件时间戳

例:修改test1.log文件的时间与ocr_pi.png文件的时间相同

技术分享

例:修改test1.log文件的时间为2014年5月1日22:14:34

技术分享

4、mv命令:用来移动文件或者将文件改名。

mv [参数] 源文件或目录 目标文件或目录

参数列表:

-b

若需覆盖文件,则覆盖前先行备份。

-f

force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i

若目标文件 (destination) 已经存在时,就会询问是否覆盖

-u

若目标文件已经存在,且 source 比较新,才会更新(update)

-t

--target-directory=directory move all SOURCE arguments into directory,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

  

例:修改test1.log文件名为test2.log

技术分享

例:将test.log移动到tt文件夹下

技术分享

例:若目标文件存在,先备份再覆盖

技术分享

例:若目标文件存在,寻问后再覆盖

技术分享

 

5、rm命令:删除一个目录中的一个或多个文件或目录。

rm [参数] 文件/目录…

参数列表:

-f, --force

忽略不存在的文件,从不给出提示

-i, --interactive

进行交互式删除

-r, -R, --recursive

指示rm将参数中列出的全部目录和子目录均递归地删除

-v, --verbose

详细显示进行的步骤

--help

显示此帮助信息并退出

--version

输出版本信息并退出

 例:删除test1.log并给出详细步骤

技术分享

例:删除tt目录

技术分享

6、tar命令:解压缩命令

tar [参数] [文件]...

独立的命令:每次必须用且仅能用其中一个,包括:

-c: 建立压缩文件

-x:解压

-t:查看内容

-r:向压缩文件末尾追加文件

-u:更新原压缩包中的文件

可选参数:

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

-f: 使用文件名字,这个是最后一个参数,后面只能接文件名。

例:压缩tt文件夹下所有以ba开头的文件,压缩完成后解压查看

技术分享

这里-c表示建立新的压缩文件,-f指定新的压缩文件的文件名,-x解压,-v显示所有过程

例:将foo文件加入allba.tar压缩包,并列出压缩包内容。

技术分享

  

关于tar总结:(来源:http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html)

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

7、cat命令:

(1)显示文件:cat 文件名

技术分享

  (2)创建一个文件,只能是创建新文件,不能编辑已有文件。Cat > 文件名

技术分享

 

(3)将几个文件合并成一个文件:cat 文件名1 文件名2…… > 文件名

技术分享

8、Less命令:对文件或者其它输出分页显示

Less [参数] 文件

命令参数:

-b <缓冲区大小>

设置缓冲区的大小

-e

当文件显示结束后,自动离开

-f

强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g

只标志最后搜索的关键词

-i

忽略搜索时的大小写

-m

显示类似more命令的百分比

-N

显示每行的行号

-o <文件名>

将less 输出的内容在指定文件中保存起来

-Q

不使用警告音

-s

显示连续空行为一行

-S

行过长时间将超出部分舍弃

-x <数字>

将"tab"键显示为规定的数字空格

主要操作命令:

ctrl + F

向前移动一屏

ctrl + B

向后移动一屏

ctrl + D

向前移动半屏

ctrl + U

向后移动半屏

j

向前移动一行

k

向后移动一行

G

移动到最后一行

g

移动到第一行

q / ZZ

退出 less 命令

v

使用配置的编辑器编辑当前文件

h

显示 less 的帮助文档

&pattern

仅显示匹配模式的行,而不是整个文件

 

例:显示文件foo3:less foo3

技术分享

按下q退出。

例:分布显示进程信息

Ps –ef | less

技术分享

按下q退出。

 

9、Ps命令:查看进程

Ps [必要参数][选择参数]

必要参数

a

显示所有进程

-a

显示同一终端下的所有程序

-A

显示所有进程

c

显示进程的真实名称

-N

反向选择

-e

等于"-A"

e

显示环境变量

f

显示程序间的关系

-H

显示树状结构

r

显示当前终端的进程

T

显示当前终端的所有程序

u

指定用户的所有进程

x

显示所有程序,不以终端机来区分

-l

详细显示PID信息

选择参数

-C<命令>

列出指定命令的状况

--lines<行数>

每页显示的行数

--width<字符数>

每页显示的字符数

--help

显示帮助信息

--version

显示版本显示

 

例:显示所有进程

技术分享

例:显示root进程

技术分享

例:详细显示进程信息

技术分享

 

10、Kill命令:终止指定进程的运行。

Kill [参数] 进程号

-l

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

-a

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

-p

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

-s

指定发送信号

-u

指定用户

例:显示信号

技术分享

例:彻底终止2095进程

技术分享

 

11、树莓派中还需要知道的一些知识:

(1)树莓派没有保持时间的电池,但是raspbian系统被配置为接入网络就自动同步系统日期和时间。也可以通过sudo date ––set="时间"来设置。

技术分享

(2)关机:sudo halt

以上是关于常用linux命令的主要内容,如果未能解决你的问题,请参考以下文章

linux常用命令多少个

linux系统基础常用命令

Linux文本操作常用命令

Linux常用命令

Linux部署项目常用命令

Linux 常用命令(要求全而精)