转自小五义
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日的时间是错误的。 |
例:创建不存在的文件test1.log
例:如果test2.log不存在,则不创建
例:修改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目录
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命令:
(2)创建一个文件,只能是创建新文件,不能编辑已有文件。Cat > 文件名
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退出。
Ps [必要参数][选择参数]
必要参数 |
|
a |
显示所有进程 |
-a |
显示同一终端下的所有程序 |
-A |
显示所有进程 |
c |
显示进程的真实名称 |
-N |
反向选择 |
-e |
等于"-A" |
e |
显示环境变量 |
f |
显示程序间的关系 |
-H |
显示树状结构 |
r |
显示当前终端的进程 |
T |
显示当前终端的所有程序 |
u |
指定用户的所有进程 |
x |
显示所有程序,不以终端机来区分 |
-l |
详细显示PID信息 |
选择参数 |
|
-C<命令> |
列出指定命令的状况 |
--lines<行数> |
每页显示的行数 |
--width<字符数> |
每页显示的字符数 |
--help |
显示帮助信息 |
--version |
显示版本显示 |
例:显示所有进程
例:显示root进程
例:详细显示进程信息
Kill [参数] 进程号
-l |
信号,若果不加信号的编号参数,则使用"-l"参数会列出全部的信号名称 |
-a |
当处理当前进程时,不限制命令名和进程号的对应关系 |
-p |
指定kill命令只打印相关进程的进程号,而不发送任何信号 |
-s |
指定发送信号 |
-u |
指定用户 |
例:显示信号
例:彻底终止2095进程
(1)树莓派没有保持时间的电池,但是raspbian系统被配置为接入网络就自动同步系统日期和时间。也可以通过sudo date ––set="时间"来设置。
(2)关机:sudo halt