语 法:cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][--help][--spares=<使用时机>][--version][源文件或目录][目标文件或目录] [目的目录]
补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
参 数:
-a或--archive 此参数的效果和同时指定"-dpR"参数相同。
-b或--backup 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。
-d或--no-dereference 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。
-f或--force 强行复制文件或目录,不论目标文件或目录是否已存在。
-i或--interactive 覆盖既有文件之前先询问用户。
-l或--link 对源文件建立硬连接,而非复制文件。
-p或--preserve 保留源文件或目录的属性。
-P或--parents 保留源文件或目录的路径。
-r 递归处理,将指定目录下的文件与子目录一并处理。
-R或--recursive 递归处理,将指定目录下的所有文件与子目录一并处理。
-s或--symbolic-link 对源文件建立符号连接,而非复制文件。
-S<备份字尾字符串>或--suffix=<备份字尾字符串> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号"~"。
-u或--update 使用这项参数后只会在源文件的更改时间较目标文件更新时或是 名称相互对应的目标文件并不存在,才复制文件。
-v或--verbose 显示指令执行过程。
-V<备份方式>或--version-control=<备份方式> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用"-S"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字串。
-x或--one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。
--help 在线帮助。
--sparse=<使用时机> 设置保存稀疏文件的时机。
--version 显示版本信息。
mov:列出目录内容
功能说明:列出目录内容。
语 法:ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I <范本样式>][-T <跳格字数>][-w <每列字符数>][--block-size=<区块大小>][--color=<使用时机>][--format=<列表格式>][--full-time][--help][--indicator-style=<标注样式>][--quoting-style=<引号样式>][--show-control-chars][--sort=<排序方式>][--time=<时间戳记>][--version][文件或目录...]
补充说明:执行ls指令可列出目录的内容,包括文件和子目录的名称。
参 数:
-1 每列仅显示一个文件或目录名称。
-a或--all 下所有文件和目录。
-A或--almost-all 显示所有文件和目录,但不显示现行目录和上层目录。
-b或--escape 显示脱离字符。
-B或--ignore-backups 忽略备份文件和目录。
-c 以更改时间排序,显示文件和目录。
-C 以又上至下,从左到右的直行方式显示文件和目录名称。
-d或--directory 显示目录名称而非其内容。
-D或--dired 用Emacs的模式产生文件和目录列表。
-f 此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。
-F或--classify 在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。
-g 次参数将忽略不予处理。
-G或--no-group 不显示群组名称。
-h或--human-readable 用"K","M","G"来显示文件和目录的大小。
-H或--si 此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。
-i或--inode 显示文件和目录的inode编号。
-I<范本样式>或--ignore=<范本样式> 不显示符合范本样式的文件或目录名称。
-k或--kilobytes 此参数的效果和指定"block-size=1024"参数相同。
-l 使用详细格式列表。
-L或--dereference 如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。
-m 用","号区隔每个文件和目录的名称。
-n或--numeric-uid-gid 以用户识别码和群组识别码替代其名称。
-N或--literal 直接列出文件和目录名称,包括控制字符。
-o 此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。
-p或--file-type 此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。
-q或--hide-control-chars 用"?"号取代控制字符,列出文件和目录名称。
-Q或--quote-name 把文件和目录名称以""号标示起来。
-r或--reverse 反向排序。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-s或--size 显示文件和目录的大小,以区块为单位。
-S 用文件和目录的大小排序。
-t 用文件和目录的更改时间排序。
-T<跳格字符>或--tabsize=<跳格字数> 设置跳格字符所对应的空白字符数。
-u 以最后存取时间排序,显示文件和目录。
-U 列出文件和目录名称时不予排序。
-v 文件和目录的名称列表以版本进行排序。
-w<每列字符数>或--width=<每列字符数> 设置每列的最大字符数。
-x 以从左到右,由上至下的横列方式显示文件和目录名称。
-X 以文件和目录的最后一个扩展名排序。
--block-size=<区块大小> 指定存放文件的区块大小。
--color=<列表格式> 培植文件和目录的列表格式。
--full-time 列出完整的日期与时间。
--help 在线帮助。
--indicator-style=<标注样式> 在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。
--quoting-syte=<引号样式> 把文件和目录名称以指定的引号样式标示起来。
--show-control-chars 在文件和目录列表时,使用控制字符。
--sort=<排序方式> 配置文件和目录列表的排序方式。
--time=<时间戳记> 用指定的时间戳记取代更改时间。
--version 显示版本信息。
mov没见过。
1、linux和windows的代码编写是不一样的,linux上的汇编风格是at&t风格,而windows上的汇编风格是intel风格。 其中的一个区别是intel 风格是关于源 *** 作数和目的 *** 作数的。以第一个为例
//windows上的写法
mov eax, data4
//linux上的写法
movl data4, eax
所以,你使用的哪个平台你得闹明白。
2、如果是汇编代码,直接用标识符就好,还是不同的风格问题,如果按你写的立即数模式。
//windows上的写法
mov eax, -1000
//linux上的写法
movl $-1000, eax
在linux的at&t汇编风格中,它这个立即数是必须要加上$ 表示一个常量。 这个也是为什么你在C语言中一般不能使用$来做为标识符的一个原因哦。
建议:查一下intel风格和at&t风格的汇编区别点。问题都很简单,为了更好的帮助你,我上传了一份,详细介绍intel汇编语言程序设计的电子书,中文版的,希望能帮到你!
1.立即数送寄存器或主存MOV
reg/mem
,
im
mov
al
,
4
;
al←4,字节传送
mov
cx
,
0ffh
;
cx←00ffh,字传送
mov
si
,
200h
;
si←0200h,字传送
mov
byte
ptr
[si]
,
0ah
;
byte
ptr
说明是字节 *** 作
mov
word
ptr
[si+2
],
0bh
;
word
ptr
说明是字 *** 作
#
注意立即数是字节量还是字量
#
明确指令是字节 *** 作还是字 *** 作
2.寄存器送(段)寄存器或主存
MOV
reg/mem/seg
,
reg;
mov
ax
,
bx
;
ax←bx,字传送
mov
ah
,
al
;
ah←al,字节传送
mov
ds
,
ax
;
ds←ax,字传送
mov
[bx]
,
al
;
[bx]←al,字节传送
3.主存送(段)寄存器
MOV
reg/seg
,
mem;
mov
al
,
[bx]
mov
dx
,
[bp]
;
dx←ss:[bp]
mov
es
,
[si]
;
es←ds:[si]
#
不存在存储器向存储器的传送指令
4.段寄存器送寄存器或主存
MOV
reg/mem
,
seg;
mov
si
,
ds
mov
ax
,
es
;
ax←es
mov
ds
,
ax
;
ds←ax←es
#
对段寄存器的 *** 作有一些限制MOV指令传送功能:
非
法
传
送
种
种
1.两个 *** 作数的类型不一致
–-----例如源 *** 作数是字节,而目的 *** 作数是字;或相反
•
绝大多数双 *** 作数指令,除非特别说明,目的 *** 作数与源 *** 作数必须类型一致,否则为非法指令
MOV
AL
,
050AH;非法指令:050Ah为字,而AL为字节
•
寄存器有明确的字节或字类型,有寄存器参与的指令其 *** 作数类型就是寄存器的类型
•
对于存储器单元与立即数同时作为 *** 作数的情况,必须显式指明;
byte
ptr
指示字节类型
,
word
ptr
指示字类型。
2.两个 *** 作数不能都是存储器
–------传送指令很灵活,但主存之间的直接传送却不允许
•
8086指令系统不允许两个 *** 作数都是存储单元(除串 *** 作指令),要实现这种传送,可通过寄存器间接实现
mov
ax
,
buffer1;ax←buffer1(将buffer1内容送ax)
mov
buffer2
,
ax;buffer2←ax;这里buffer1和buffer2是两个字变量、;实际表示直接寻址方式
3.段寄存器的 *** 作有一些限制
–----段寄存器属专用寄存器,对他们的 *** 作能力有限
•
不允许立即数传送给段寄存器
MOV
DS,100H;非法指令:立即数不能传送段寄存器
•
不允许直接改变CS值
MOV
CS,[SI]
;不允许使用的指令
•
不允许段寄存器之间的直接数据传送
MOV
DS,ES;非法指令:不允许段寄存器间传送
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)