??xml version="1.0" encoding="utf-8" standalone="yes"?>最新久久免费视频,久久精品中文字幕久久,精品久久综合1区2区3区激情http://m.shnenglu.com/tdweng/category/13585.htmlzh-cnThu, 09 Jun 2011 22:53:25 GMTThu, 09 Jun 2011 22:53:25 GMT60mounthttp://m.shnenglu.com/tdweng/articles/146985.html心羽心羽Mon, 23 May 2011 09:58:00 GMThttp://m.shnenglu.com/tdweng/articles/146985.htmlhttp://m.shnenglu.com/tdweng/comments/146985.htmlhttp://m.shnenglu.com/tdweng/articles/146985.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/146985.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/146985.html
mount 命o(h)详解 功能Q加载指定的文gpȝ?语法Qmount [-afFhnrvVw] [-L标签] [-o选项] [-t文gpȝcd] [讑֤名] [加蝲点] 用法说明Qmount可将指定讑֤中指定的文gpȝ加蝲到Linux目录下(也就是装载点Q。可经怋用的讑֤写入文g/etc/fastab,?/div>

mount命o(h)详解


功能Q加载指定的文gpȝ?
语法Qmount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文gpȝcd>] [讑֤名] [加蝲点]
用法说明Qmount可将指定讑֤中指定的文gpȝ加蝲到Linux目录下(也就是装载点Q。可经怋用的讑֤写入文g/etc/fastab,以ɾp? l在每次启动时自动加载。mount加蝲讑֤的信息记录在/etc/mtab文g中。用umount命o(h)卸蝲讑֤Ӟ记录被清除?
常用参数和选项Q?
-a 加蝲文g/etc/fstab中设|的所有设备?
-f 不实际加载设备。可?v{参数同时用以查看mount的执行过E?
-F 需?a参数同时使用。所有在/etc/fstab中设|的讑֤?x)被同时加蝲Q可加快执行速度?
-h 昄在线帮助信息?
-L<标签> 加蝲文gpȝ标签?lt;标签>的设备?
-n 不将加蝲信息记录?etc/mtab文g中?
-o<选项> 指定加蝲文gpȝ时的选项。有些选项也可?etc/fstab中用。这些选项包括Q?
async 以非同步的方式执行文件系l的输入输出动作?
atime 每次存取都更新inode的存取时_(d)默认讄Q取消选项为noatime?
auto 必须?etc/fstab文g中指定此选项。执?a参数Ӟ?x)加载设|ؓ(f)auto的设备,取消选取为noauto?
defaults 使用默认的选项。默认选项为rw、suid、dev、exec、anto nouser与async?
dev 可读文gpȝ上的字符或块讑֤Q取消选项为nodev?
exec 可执行二q制文gQ取消选项为noexec?
noatime 每次存取时不更新inode的存取时间?
noauto 无法使用-a参数来加载?
nodev 不读文gpȝ上的字符或块讑֤?
noexec 无法执行二进制文件?
nosuid 关闭set-user-identifier(讄用户ID)与set-group-identifer(讄lID)讄位?
nouser 使一位用h法执行加载操作,默认讄?
remount 重新加蝲讑֤。通常用于改变讑֤的设|状态?
ro 以只L式加载?
rw 以可d模式加蝲?
suid 启动set-user-identifier(讄用户ID)与set-group-identifer(讄lID)讄位,取消选项为nosuid?
sync 以同步方式执行文件系l的输入输出动作?
user 可以让一般用户加载设备?

-r 以只L式加载设备?
-t<文gpȝcd> 指定讑֤的文件系l类型。常用的选项说明有:(x)
minix Linux最早用的文gpȝ?
ext2 Linux目前的常用文件系l?
msdos MS-DOS ?FAT?
vfat Win85/98 ?VFAT?
nfs |络文gpȝ?
iso9660 CD-ROM光盘的标准文件系l?
ntfs Windows NT的文件系l?
hpfs OS/2文gpȝ。Windows NT 3.51之前版本的文件系l?
auto 自动(g)文件系l?
-v 执行时显Cl的信息?
-V 昄版本信息?
-w 以可d模式加蝲讑֤Q默认设|?br style="font-family: 黑体;" />

单用?
fat32的分?br /> mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom (mount -t vfat -o iocharset=cp936 /dev/hda7 /mnt/cdrom)
ntfs的分?br /> mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom
iso文g
mount -o loop /abc.iso /mnt/cdrom
软盘
mount /dev/fd0 /mnt/floppy
USB闪存
mount /dev/sda1 /mnt/cdrom

所?etc/fstab内容 mount -a

可以指定文g格式"-t 格式", 格式可以为vfat, ext2, ext3{?

镜像文gQ?br /> mount fileName mountPoint -o loopQfileName是镜像文件名(*.iso,*.img)Q其它的不用说了Q跟上面一栗用例:(x)如我有一个a.iso光盘镜像文gQmount a.iso a -o loopQ这栯入目录a你就能浏览a.iso的内容了Q?.img文g的用法一栗?br />
昄中文斚w,如果是fedora core 1 的话Q用utf8更好
mount -o iocharset=uft8 /dev/hda1 /mnt/c
mount -o iocharset=uft8 /dev/sda1 /mnt/usb
mount -t smbfs //ip_addr/share/dir /mnt/smb/share -o iocharset=uft8,username=name, password=passwd


开机就mount上windows下的分区
自动windows的d盘挂?mnt/d上,用vi打开/etc/fstabQ加入以下一?br /> /dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
注意Q先得手工徏立一?mnt/d目录
mount局域网上其他windows机器׃n出的目录(bjchenxu)
mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

挂接命o(h)(mount)

  首先Q介l一下挂?mount)命o(h)的用方法,mount命o(h)参数非常多,q里主要讲一下今天我们要用到的?

  命o(h)格式Q?

  mount [-t vfstype] [-o options] device dir

  其中Q?

  1.-t vfstype 指定文gpȝ的类型,通常不必指定。mount ?x)自动选择正确的类型。常用类型有Q?

  光盘或光盘镜像:(x)iso9660

  DOS fat16文gpȝQmsdos

  Windows 9x fat32文gpȝQvfat

  Windows NT ntfs文gpȝQntfs

  Mount Windows文g|络׃nQsmbfs

  UNIX(LINUX) 文g|络׃nQnfs

  2.-o options 主要用来描述讑֤或档案的挂接方式。常用的参数有:(x)

  loopQ用来把一个文件当成硬盘分区挂接上pȝ

  roQ采用只L式挂接设?

  rwQ采用读写方式挂接设?

  iocharsetQ指定访问文件系l所用字W集

  3.device 要挂?mount)的设备?

  4.dir讑֤在系l上的挂接点(mount point)?

  挂接光盘镜像文g

   ׃q年来磁盘技术的巨大q步Q新的电(sh)脑系l都配备了大定w的磁盘系l,在Windows下许多h都习(fn)惯把软g和资料做成光盘镜像文仉过虚拟光驱来 用。这样做有许多好处:(x)一、减M光驱的磨?二、现在硬盘容量巨大存攑և十个光盘镜像文g不成问题Q随用随调十分方?三、硬盘的d速度要远q高于光 盘的d速度QCPU占用率大大降低。其实linuxpȝ下制作和使用光盘镜像比Windowspȝ更方便,不必借用MW三方Y件包?

  1、从光盘制作光盘镜像文g。将光盘攑օ光驱Q执行下面的命o(h)?

   #cp /dev/cdrom /home/sunky/mydisk.iso ?

   #dd if=/dev/cdrom of=/home/sunky/mydisk.iso

   注:(x)执行上面的Q何一条命令都可将当前光驱里的光盘制作成光盘镜像文?home/sunky/mydisk.iso

  2、将文g和目录制作成光盘镜像文gQ执行下面的命o(h)?

   #mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

   注:(x)q条命o(h)?home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文g/home/sunky/mydisk.isoQ光盘卷标ؓ(f)Qmydisk

  3、光盘镜像文件的挂接(mount)

   #mkdir /mnt/vcdrom

   注:(x)建立一个目录用来作挂接?mount point)

   #mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

   注:(x)使用/mnt/vcdrom可以访问盘镜像文gmydisk.iso里的所有文件了

挂接Ud盘

  对linuxpȝ而言QUSB接口的移动硬盘是当作SCSI讑֤对待的。插入移动硬盘之前,应先用fdisk –l ?more /proc/partitions查看pȝ的硬盘和盘分区情况?

  [root at pldyrouter /]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

   在这里可 以清楚地看到pȝ有一块SCSI盘/dev/sda和它的四个磁盘分?dev/sda1 -- /dev/sda4, /dev/sda5是分?dev/sda4的逻辑分区。接好移动硬盘后Q再用fdisk –l ?more /proc/partitions查看pȝ的硬盘和盘分区情况

  [root at pldyrouter /]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  Disk /dev/sdc: 40.0 GB, 40007761920 bytes

  255 heads, 63 sectors/track, 4864 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

  /dev/sdc2 511 4864 Win95 Ext'd (LBA)

  /dev/sdc5 511 4864 34973473+ b Win95 FAT32

  大家应该可以发现多了一个SCSI盘/dev/sdc和它的两个磁盘分?dev/sdc1??dev/sdc2,其中/dev/sdc5?dev/sdc2分区的逻辑分区。我们可以用下面的命o(h)挂接/dev/sdc1?dev/sdc5?

   #mkdir -p /mnt/usbhd1

   #mkdir -p /mnt/usbhd2

   注:(x)建立目录用来作挂接点(mount point)

   #mount -t ntfs /dev/sdc1 /mnt/usbhd1

   #mount -t vfat /dev/sdc5 /mnt/usbhd2

   注:(x)对ntfs格式的磁盘分区应使用-t ntfs 参数Q对fat32格式的磁盘分区应使用-t vfat参数。若汉字文g名显CZؓ(f)q或不昄Q可以用下面的命o(h)格式?

   #mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

   #mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

  linuxpȝ下用fdisk分区命o(h)和mkfs文gpȝ创徏命o(h)可以移动硬盘的分区制作成linuxpȝ所Ҏ(gu)的ext2、ext3格式。这P在linux下用就更方便了。用下面的命o(h)直接挂接卛_?

   #mount /dev/sdc1 /mnt/usbhd1

挂接U?

  和USB接口的移动硬盘一样对linuxpȝ而言U盘也是当作SCSI讑֤对待的。用方法和Ud盘完全一栗插入U盘之前,应先用fdisk –l ?more /proc/partitions查看pȝ的硬盘和盘分区情况?

  [root at pldyrouter root]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  插入U盘后Q再用fdisk –l ?more /proc/partitions查看pȝ的硬盘和盘分区情况?

  [root at pldyrouter root]# fdisk -l

  Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

  255 heads, 63 sectors/track, 8924 cylinders

  Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot Start End Blocks Id System

  /dev/sda1 1 4 32098+ de Dell Utility

  /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

  /dev/sda3 2555 7904 42973875 83 Linux

  /dev/sda4 7905 8924 Win95 Ext'd (LBA)

  /dev/sda5 7905 8924 8193118+ 82 Linux swap

  Disk /dev/sdd: 131 MB, 131072000 bytes

  9 heads, 32 sectors/track, 888 cylinders

  Units = cylinders of 288 * 512 = 147456 bytes

  Device Boot Start End Blocks Id System

  /dev/sdd1 * 1 889 127983+ b Win95 FAT32

  Partition 1 has different physical/logical endings:

  phys=(1000, 8, 32) logical=(888, 7, 31)

  pȝ多了一个SCSI盘/dev/sdd和一个磁盘分?dev/sdd1,/dev/sdd1是我们要挂接的U盘?

  #mkdir -p /mnt/usb

  注:(x)建立一个目录用来作挂接?mount point)

  #mount -t vfat /dev/sdd1 /mnt/usb

  注:(x)现在可以通过/mnt/usb来访问U盘了, 若汉字文件名昄Zؕ码或不显C,可以使用下面的命令?

  #mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

c?g windows的网l共享,UNIX(Linux)pȝ也有自己的网l共享,那就是NFS(|络文gpȝ)Q下面我们就以SUN Solaris2.8和REDHAT as server 3 Z单介l一下在linux下如何mount nfs|络׃n。在linux客户端挂?mount)NFS盘׃n之前Q必d配置好NFS服务端?

  1、SolarispȝNFS服务端配|方法如下:(x)

(1)修改 /etc/dfs/dfstab, 增加׃n目录

   share -F nfs -o rw /export/home/sunky

(2)启动nfs服务

    # /etc/init.d/nfs.server start

(3)NFS服务启动以后Q也可以使用下面的命令增加新的共?

    # share /export/home/sunky1

    # share /export/home/sunky2

   注:(x)/export/home/sunky?export/home/sunky1是准备共享的目录
转蝲h明文章来?http://www.linuxso.com/a/linuxmingling/1/mount.html


心羽 2011-05-23 17:58 发表评论
]]>
u-boot命o(h)解释http://m.shnenglu.com/tdweng/articles/146871.html心羽心羽Sat, 21 May 2011 08:58:00 GMThttp://m.shnenglu.com/tdweng/articles/146871.htmlhttp://m.shnenglu.com/tdweng/comments/146871.htmlhttp://m.shnenglu.com/tdweng/articles/146871.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/146871.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/146871.htmlU-Boot上电(sh)启动后,敲Q意键能够退动启动状态,q入命o(h)行?/span>

U-Boot 1.1.2 (Apr 26 2005 - 12:27:13)
U-Boot code: 11080000 -> 1109614C  BSS: -> 1109A91C
RAM Configuration:
Bank #0: 10000000 32 MB
Micron StrataFlash MT28F128J3 device initialized
Flash: 32 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
U-Boot>

在命令行提示W下Q能够输入U-Boot的命令ƈ执行。U-Boot能够支持几十个常用命令,通过q些命o(h)Q能够对研发板进行调试,能够引导Linux内核Q还能够擦写Flash完成pȝ部v{功能。掌控这些命令的使用Q才能够利地进行嵌入式pȝ的研发?br />输入help命o(h)Q能够得到当前U-Boot的Q何命令列表。每一条命令后面是单的命o(h)说明?br />
=> help
?       - alias for 'help'
autoscr - run from memory
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BootP/TFTP protocol
cmp     - memory compare
coninfo  - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dhcp    - invoke DHCP client to obtain IP/boot params
echo    - echo args to console
erase   - erase FLASH memory
flinfo  - print FLASH memory information
go      - start application at address 'addr'
help    - print online help
iminfo  - print header information for application image
imls    - list all images found in flash
itest    - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loop   - infinite loop on address range
md    - memory display
mm    - memory modify (auto-incrementing)
mtest   - simple RAM test
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
printenv - print environment variables
protect - enable or disable FLASH write protection
rarpboot - boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sleep   - delay execution for some time
tftpboot - boot image via network using TFTP protocol
version - print monitor version
=>

U-Bootq提供了更加周详的命令帮助,通过help命o(h)q能够查看每个命令的参数说明。由于研发过E的需要,有必要先把U-Boot命o(h)的用法弄清楚。接下来Q根据每一条命令的帮助信息Q解释一下这些命令的功能和参数?br />
=> help bootm
bootm [addr [arg ...]]
    - boot application image stored in memory
          passing arguments 'arg ...'; when booting a Linux kernel,
          'arg' can be the address of an initrd image

bootm命o(h)能够引导启动存储在内存中的程式映像。这些内存包括RAM和能够永久保存的Flash?br />W?个参数addr是程式映像的地址Q这个程式映像必{换成U-Boot的格式?br />W?个参数对于引导Linux内核有用Q通常作ؓ(f)U-Boot格式的RAMDISK映像存储地址Q也能够是传递给Linux内核的参敎ͼ~省情况下传递bootargs环境变量l内核)?br />
=> help bootp
bootp [loadAddress] [bootfilename]
bootp命o(h)通过bootphQ需要DHCP服务器分配IP地址Q然后通过TFTP协议下蝲指定的文档到内存?br />W?个参数是下蝲文档存放的内存地址?br />W?个参数是要下载的文档名称Q这个文档应该在研发L上准备好?br />
=> help cmp
cmp [.b, .w, .l] addr1 addr2 count
     - compare memory

cmp命o(h)能够比较2块内存中的内宏V?b以字节ؓ(f)单位Q?w以字为单位;.l以长字ؓ(f)单位。注意:(x)cmp.b中间不能保留I格Q需要连l敲入命令?br />W?个参数addr1是第一块内存的起始地址?br />W?个参数addr2是第二块内存的v始地址?br />W?个参数count是要比较的数目,单位按照字节、字或长字?br />
=> help cp
cp [.b, .w, .l] source target count
       - copy memory

cp命o(h)能够在内存中复制数据块,包括对Flash的读写操作?br />W?个参数source是要复制的数据块起始地址?br />W?个参数target是数据块要复制到的地址。这个地址假如在Flash中,那么?x)直接调用写Flash的函数操作。所以U-Boot写Flash׃用这个命令,当然需要先把对应Flash区域擦干净?br />W?个参数count是要复制的数目,Ҏ(gu)cp.b cp.w cp.l分别以字节、字、长字ؓ(f)单位?br />
=> help crc32
crc32 address count [addr]
     - compute CRC32 checksum [save at addr]   

crc32命o(h)能够计算存储数据的校验和?br />W?个参数address是需要校验的数据起始地址?br />W?个参数count是要校验的数据字节数?br />W?个参数addr用来指定保存l果的地址?br />
=> help echo
echo [args..]
      - echo args to console; \c suppresses newline

echo命o(h)回显参数?br />
=> help erase
erase start end
      - erase FLASH from addr 'start' to addr 'end'
erase N:SF[-SL]
      - erase sectors SF-SL in FLASH bank # N
erase bank N
      - erase FLASH bank # N
erase all
      - erase all FLASH banks

erase命o(h)能够擦Flash?br />参数必须指定Flash擦除的范围?br />按照起始地址和结束地址Qstart必须是擦除块的v始地址Qend必须是擦除末֝的结束地址。这U方式最常用。D例说明:(x)擦除0x20000 – 0x3ffff区域命o(h)为erase 20000 3ffff?br />按照l和扇区QN表示Flash的组PSF表示擦除起始扇区PSL表示擦除l束扇区受另外,q能够擦除整个组Q擦除组号ؓ(f)N的整个Flashl。擦除全部Flash只要l出一个all的参数即可?br />
=> help flinfo
flinfo
       - print information for all FLASH memory banks
flinfo N
       - print information for FLASH memory bank # N

flinfo命o(h)打印全部Flashl的信息Q也能够只打印其中某个组。一般嵌入式pȝ的Flash只有一个组?br />
=> help go
go addr [arg ...]
      - start application at address 'addr'
        passing 'arg' as arguments

go命o(h)能够执行应用E式?br />W?个参数是要执行程式的入口地址?br />W?个可选参数是传递给E式的参敎ͼ能够不用?br />
=> help iminfo
iminfo addr [addr ...]
      - print header information for application image starting at
         address 'addr' in memory; this includes verification of the
         image contents (magic number, header and payload checksums)

iminfo能够打印E式映像的开头信息,包含了映像内容的校验Q序列号、头和校验和Q?br />W?个参数指定映像的起始地址?br />可选的参数是指定更多的映像地址?br />
=> help loadb
loadb [ off ] [ baud ]
     - load binary file over serial line with offset 'off' and baudrate 'baud'

loadb命o(h)能够通过串口U下载二q制格式文档?br />
=> help loads
loads [ off ]
    - load S-Record file over serial line with offset 'off'

loads命o(h)能够通过串口U下载S-Record格式文档?br />
=> help mw
mw [.b, .w, .l] address value [count]
     - write memory

mw命o(h)能够按照字节、字、长字写内存Q?b .w .l的用法和cp命o(h)相同?br />W?个参数address是要写的内存地址?br />W?个参数value是要写的倹{?br />W?个可选参数count是要写单位值的数目?br />
=> help nfs
nfs [loadAddress] [host ip addr:bootfilename]

nfs命o(h)能够使用NFS|络协议通过|络启动映像?br />
=> help nm
nm [.b, .w, .l] address
     - memory modify, read and keep address

nm命o(h)能够修改内存Q能够按照字节、字、长字操作?br />参数address是要dq且修改的内存地址?br />
=> help printenv
printenv
      - print values of all environment variables
printenv name ...
      - print value of environment variable 'name'

printenv命o(h)打印环境变量?br />能够打印全部环境变量Q也能够只打印参C列出的环境变量?br />
=> help protect
protect on  start end
      - protect Flash from addr 'start' to addr 'end'
protect on  N:SF[-SL]
      - protect sectors SF-SL in Flash bank # N
protect on  bank N
      - protect Flash bank # N
protect on  all
      - protect all Flash banks
protect off start end
      - make Flash from addr 'start' to addr 'end' writable
protect off N:SF[-SL]
     - make sectors SF-SL writable in Flash bank # N
protect off bank N
     - make Flash bank # N writable
protect off all
     - make all Flash banks writable

protect命o(h)是对Flash写保护的操作Q能够能和解除写保护?br />W?个参数on代表使能写保护;off代表解除写保护?br />W??参数是指定Flash写保护操作范_(d)跟擦除的方式相同?br />
=> help rarpboot
rarpboot [loadAddress] [bootfilename]

rarboot命o(h)能够使用TFTP协议通过|络启动映像。也是把指定的文档下蝲到指定地址Q然后执行?br />W?个参数是映像文档下蝲到的内存地址?br />W?个参数是要下载执行的映像文档?br />
=> help run
run var [...]
      - run the commands in the environment variable(s) 'var'

run命o(h)能够执行环境变量中的命o(h)Q后面参数能够跟几个环境变量名?br />
=> help setenv
setenv name value ...
      - set environment variable 'name' to 'value ...'
setenv name
      - delete environment variable 'name'

setenv命o(h)能够配置环境变量?br />W?个参数是环境变量的名U?br />W?个参数是要配|的|假如没有W?个参敎ͼ表示删除q个环境变量?br />

=> help sleep
sleep N
      - delay execution for N seconds (N is _decimal_ !!!)

sleep命o(h)能够延迟NU钟执行QN为十q制数?br />
=> help tftpboot
tftpboot [loadAddress] [bootfilename]

tftpboot命o(h)能够使用TFTP协议通过|络下蝲文档。按照二q制文档格式下蝲。另外用这个命令,必须配置好相关的环境变量。例如serverip和ipaddr?br />W?个参数l(f)oadAddress是下载到的内存地址?br />W?个参数是要下载的文档名称Q必L在TFTP服务器相应的目录下?br />q?些U-Boot命o(h)为嵌入式pȝ提供了丰富的研发和调试功能。在Linux内核启动和调试过E中Q都能够用到U-Boot的命令。但是一般情况下Q无需?用全部命令。比如已支持以太|接口,能够通过tftpboot命o(h)来下载文档,那么更有必要使用串口下蝲的loadb吗?反过来,假如研发杉K要特别的?试功能,也能够添加新的命令?br />在徏立交叉研发环境和调试Linux内核{章节时Q在ARMq_上移植了U-BootQƈ且提供了具体U-Boot的操作步骤?img src ="http://m.shnenglu.com/tdweng/aggbug/146871.html" width = "1" height = "1" />

心羽 2011-05-21 16:58 发表评论
]]>
fdiskhttp://m.shnenglu.com/tdweng/articles/146853.html心羽心羽Sat, 21 May 2011 02:18:00 GMThttp://m.shnenglu.com/tdweng/articles/146853.htmlhttp://m.shnenglu.com/tdweng/comments/146853.htmlhttp://m.shnenglu.com/tdweng/articles/146853.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/146853.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/146853.html
~辑本段Linux命o(h)Qfdisk
  功能说明Q磁盘分区?br />  语 ?/strong>Qfdisk [-b <分区大小>][-uv][外围讑֤代号] ?fdisk [-l][-b <分区大小>][-uv][外围讑֤代号...] ?fdisk [-s <分区~号>]
  补充说明Qfdisk是用来磁盘分区的E序Q它采用传统的问{式界面Q而非cMDOS fdisk的cfdisk互动式操作界面,因此在用上较ؓ(f)不便Q但功能却丝毫不打折扣?br />  参 ?/strong>Q?br />  -b<分区大小> 指定每个分区的大?br />  -l 列出指定的外围设备的分区表状c(din)?br />  -s<分区~号> 指定的分区大小输出到标准输ZQ单位ؓ(f)区块?br />  -u 搭配"-l"参数列表Q会(x)用分区数目取代柱面数目,来表C每个分区的起始地址?br />  -v 昄版本信息?br />  提要Qfdisk 是一Ƒ֊能强大的分区工具Q也是目前在UnixcL作系l中最行的工具之一Q分区工兯(g)字P本篇只介l其最单的分区操作功能Q?
  一、fdisk 的介l;
  fdisk - Partition table manipulator for Linux Q译成中文的意思是盘分区表操作工P本h译的不太好,也没有看中文文档Q其实就是分区工P fdsik 能划分磁盘成q个区,同时也能为每个分区指定分区的文gpȝQ比如linux 、fat32?linux 、linux swap 、fat16 以及(qing)其实cUnixcL作系l的文gpȝ{;当然我们用fdisk 对磁盘操作分区时Qƈ不是一个终点,我们q要对分行格式化所需要的文gpȝQ这样一个分区才能用;q和DOS中的fdisk 是类似的Q?
  二、合理规划?zhn)的硬盘分区?/span>
  在操作分Z前,我们要明白硬盘分Z点理论,比如盘定w和分区大的计算Q对一个硬盘如何规划分区等Q请参考如下文档,谢谢Q?《合理规划?zhn)的硬盘分区?
  三、fdisk -l 查看盘?qing)分Z息;
  通过《合理规划?zhn)的硬盘分区?Q我们知道主分区Q包括扩展分区)的MC能超q四个;也不能把扩展分区包围在主分区之间Q根据这个原则,我们划分盘分区比较容易的多;也能Z后减不必要的麻烦;
  1、通过fdisk -l 查看机器所挂硬盘个数及(qing)分区情况Q?/span>
  [root@localhost beinan]# fdisk -l
  Disk /dev/hda: 80.0 GB, 80026361856 bytes
  255 heads, 63 sectors/track, 9729 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Device Boot Start End Blocks Id System
  /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
  /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
  /dev/hda3 2806 9729 55617030 5 Extended
  /dev/hda5 2806 3825 8193118+ 83 Linux
  /dev/hda6 3826 5100 10241406 83 Linux
  /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
  /dev/hda8 5199 6657 11719386 83 Linux
  /dev/hda9 6658 7751 8787523+ 83 Linux
  /dev/hda10 7752 9729 15888253+ 83 Linux
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  /dev/sda6 51 76 200781 83 Linux
  通过上面的信息,我们知道此机器中挂蝲两个盘Q或Ud盘Q, 其中一个是hda 另一个是sda Q如果我们想查看单个盘情况Q可以通过 fdisk -l /dev/hda1 或者f(xi)disk -l /dev/sda1 来操作;以fdisk -l 输出的硬盘标识ؓ(f)准;其中 hda有三个主分区Q包括扩展分区),分别是主分区 hda1 hda2 和hda3Q扩展分区) Q逻辑分区?hda5到hda10Q?br />  其中 sda 有两个主分区Q包括扩展分区)Q分别是 hda1 和hda2 (扩展分区Q;逻辑分区?sda5 hda6 Q硬盘d?d区(包括扩展分区Qd?br />  扩展分区定w=逻辑分区d量通过上面的例子,我们可以得知 hda=hda1+hda2+hda3Q其中h(hun)da3=hda5+hda6+hda7+hda8+hda9+hda10 ... ...
  2、关于fdisk -l 一些数值的说明Q?/span>
  Disk /dev/hda: 80.0 GB, 80026361856 bytes
  255 heads, 63 sectors/track, 9729 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  q个盘?0G的,?55个磁面;63个扇区;9729个磁柱;每个 cylinderQ磁柱)的容量是 8225280 bytes=8225.280 KQ约为)=8.225280MQ约为)Q?分区序列 引导 开?l止 定w 分区cdID 分区cd
  Device Boot Start End Blocks Id System
  /dev/hda1 * 1 765 6144831 7 HPFS/NTFS
  /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
  /dev/hda3 2806 9729 55617030 5 Extended
  /dev/hda5 2806 3825 8193118+ 83 Linux
  /dev/hda6 3826 5100 10241406 83 Linux
  /dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
  /dev/hda8 5199 6657 11719386 83 Linux
  /dev/hda9 6658 7751 8787523+ 83 Linux
  /dev/hda10 7752 9729 15888253+ 83 Linux
  说明Q?盘分区的表C:(x)在Linux 是通过hd*x ?sd*x 表示的,其中 * 表示的是a、b、c ... ... x表示的数?1?? ... ... hd大多?a target="_blank" >IDE盘Qsd大多是SCSI或移动存储;
  引导QBootQ:(x)表示引导分区Q在上面的例子中 hda1 是引导分区;
  Start Q开始)Q表C的一个分ZX cylinderQ磁柱)开始;
  End Q结束)Q表CZ个分区到 Y cylinderQ磁柱)l束Q?br />  id和System 表示的是一个意思,id看v来不太直观,我们要在fdisk 一个分区时Q通过指定id来确认分区类型;比如 7表示的就NTFS 分区Q这个在fdisk 中要通过t功能来指定。下面的部䆾?x)提刎ͼ?br />   BlocksQ容量)Q这是我译的,其实不准,表示的意思的是定w的意思,其单位是KQ一个分区容量的值是׃面的公式而来的; Blocks = Q相应分区End数?- 相应分区Start数|x 单位cylinderQ磁柱)的容?所以我们算一?hda1?Blocks 的大?Q? hda1 Blocks=(765-1)x8225.280=6284113.92 K = 6284.113.92M 注:(x)换算单位以硬盘厂家提供的10q位vQ如果以操作pȝ二进制来,q个分区定w应该更少一些,得出的这个值和我们通过 fdisk -l 看到? /dev/hda1的值是大体相当的,因ؓ(f)换算Ҏ(gu)不一P所以也不可能尽可能的精;再加上分区时的一Ҏ(gu)׃c,有时或大或小是存在的Q我们查看分?大小或者文件的时候,q是用十q制来计比较直观;推算办法?byte 向前推小数点三位是K QK单位的值向前推数点三位就是MQM向前推小数点三位是G... ... 一般也差不了多;q么就行;
  3、估一个存储设备是否被完全划分Q?/span>
  我们估算一个硬盘是否完全被划分Q我们只要看 fdisk -l 输出的内容中?cylindersQ?a target="_blank" >׃Q? 上一个分区的End ?下一个分区的Start是不是一个连l的数字Q另外要看一下每个硬盘设备的fdisk -l 的开头部份,看一下他? cylindersQ柱体)的|比如hda讑֤Q我们看到的?9729 cylinders Q我们通过 hda的分可以看到上一个分区的End的?1 是下一个分区的Start 的|比如 hda2的Start的值是 hda1 的End 的?1Q这证明 hda1 和hda2 中间没有I白分区Q是q箋的,以此cLQ在 hda10Q我们看?End 的值是9729 Q而在fdisk -l头部信息中也?729 cylindersQ证明这个硬盘已l完全划分; Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  /dev/sda6 51 76 200781 83 Linux
   我们再看?sda Ud储是不是被完全划分了Qsda?125个cylinders Q柱体)Q有一个主分区和一个扩展分区构成;在扩展分ZQ我们看到End的gؓ(f)125,而这个移动硬盘的cylinder也是125Q这能说明这个硬?不可能再dMdZQ根据我们上面所说的 sda1 sda2 sda5 sda6 之间未有M未划分空_(d)但sda6 的cylinders Q柱体)的End值却?76 Q?sdaȝcylinders Q柱体)?25个,由此看来sda ?sda6后面有未划分区域Q至于sda 有多未划分I间Q我们算一下就知道了;扩展分区d量是 806400 K Q大U是 806.400M左右Q而逻辑分区 sda5 和sda6 的大加h?400M左右Q所以还仍有400M左右未划分空_(d)q且只能划分为链逻辑分区Q?
  四、fdisk 对硬盘及(qing)分区的操作,q入fdisk 对硬盘操作阶D;
  我们可以对硬盘进行分区操作,前提是?zhn)把fdisk -l 弄明白了Q通过fdisk -l Q我们能扑և机器中所有硬盘个数及(qing)讑֤名称Q比如上面的例子Q我们会(x)看到两个讑֤一个是/dev/hda Q另一个是/dev/sda Q?br />  fdisk 操作盘的命令格式如下:(x)
  [root@localhost beinan]# fdisk 讑֤
  比如我们通过 fdisk -l 得知 /dev/hda 或?/dev/sda讑֤Q我们如果想再添加或者删除一些分区,可以?[root@localhost beinan]# fdisk /dev/hda
  ?br />  [root@localhost beinan]# fdisk /dev/sda
  ?在以后的例子中,我们要以 /dev/sda讑֤ZQ来讲解如何用fdisk 来操作添加、删除分区等动作Q?br />  1、fdisk 的说明;
  当我们通过 fdisk 讑֤Q进入相应设备的操作Ӟ?x)发现有如下的提C;?fdisk /dev/sda 讑֤ZQ以下同Q?[root@localhost beinan]# fdisk /dev/sda
  Command (m for help): 在这里按m Q就?x)输出帮助?br />  Command action
  a toggle a bootable flag
  b edit bsd disklabel
  c toggle the dos compatibility flag
  d delete a partition 注:(x)q是删除一个分区的动作Q?br />  l list known partition types 注:(x)l是列出分区类型,以供我们讄相应分区的类型;
  m print this menu 注:(x)m 是列出帮助信息;
  n add a new partition 注:(x)d一个分区;
  o create a new empty DOS partition table
  p print the partition table 注:(x)p列出分区表;
  q quit without saving changes 注:(x)不保存退出;
  s create a new empty Sun disklabel
  t change a partition's system id 注:(x)t 改变分区cdQ?br />  u change display/entry units
  v verify the partition table
  w write table to disk and exit 注:(x)把分写入盘q出;
  x extra functionality (experts only) 注:(x)扩展应用Q专家功能;
  其实我们常用的只有注有中文的Q其它的功能我们不常用(呵,主要是我不会(x)用,否则早会(x)卖弄一下了Q;x扩展功能Q也不是常用的;一般的情况下只要懂?d l m p q t w p了;下面以实例操作来详述Q没有例子没有办法就Q新手也看不懂;
  2、列出当前操作硬盘的分区情况Q用pQ?/span>
  Command (m for help): p
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  /dev/sda6 51 76 200781 83 Linux
  3、通过fdisk的d指o(h)来删除一个分区;
  Command (m for help): p 注:(x)列出分区情况Q?br />  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  /dev/sda6 51 76 200781 83 Linux
  Command (m for help): d 注:(x)执行删除分区指定Q?br />  Partition number (1-6): 6 注:(x)我想删除 sda6 Q就在这里输?6 Q?br />  Command (m for help): p 注:(x)再查看一下硬盘分区情况,看是否删除了Q?br />  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  Command (m for help):
  警告Q删除分区时要小心,L(fng)好分区的序号Q如果?zhn)删除了扩展分区,扩展分区之下的逻辑分区都会(x)删除Q所以操作时一定要心Q如果知道自己操作错了,请不要惊慌,用q不保存退出;切记切记Q!Q!在分区操作错了之Ӟ千万不要输入w保存退出!Q!
  4、通过fdisk的n指o(h)增加一个分区;
  Command (m for help): p
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  Command (m for help): n 注:(x)增加一个分区;
  Command action
  l logical (5 or over) 注:(x)增加逻辑分区Q分区编可大于5Qؓ(f)什么要大于5Q因为已l有sda5了;
  p primary partition (1-4) 注:(x)增加一个主分区Q编号从 1-4 Q但sda1 和sda2都被占用Q所以只能从3开始;
  p
  Partition number (1-4): 3
  No free sectors available 注:(x)p|中,Z么失败?
   注:(x)我试囑֢加一个主分区Q看来是p|了,Z么失败?因ؓ(f)我们看到d?扩展分区把整个磁盘都用光了,看扩展分区的End的|再看一? p输出信息中有125 cylindersQ最好还是看前面部䆾Q那里有提到Q所以我们只能增加逻辑分区了; Command (m for help): n
  Command action
  l logical (5 or over)
  p primary partition (1-4)
  l 注:(x)在这里输入lQ就q入划分逻辑分区阶段了;
  First cylinder (51-125, default 51): 注:(x)q个是分区的Start |q里最好直接按回RQ如果?zhn)输入了一个非默认的数字,?x)造成I间费Q?br />  Using default value 51
  Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M 注:(x)q个是定义分区大的Q?200M 是大小?00M Q当然?zhn)也可以根据p提示的单位cylinder的大来,然后来指? End的数倹{回头看看是怎么的Q还是用+200Mq个办法来添加,q样能直观一炏V如果?zhn)x加一?0G左右大小的分区,误?+10000M Q?br />  Command (m for help):
  5、通过fdisk的t指o(h)指定分区cdQ?/span>
  Command (m for help): t 注:(x)通过t来指定分区类型;
  Partition number (1-6): 6 注:(x)要改变哪个分区类型呢Q我指定?Q其实也是sda6
  Hex code (type L to list codes):L 注:(x)在这里输入LQ就可以查看分区cd的id了;
  Hex code (type L to list codes): b 注:(x)如果我想让这个分区是 W95 FAT32 cd的,通过L查看得知 b是表C的是,所以输入了bQ?br />  Changed system type of partition 6 to b (W95 FAT32) 注:(x)pȝ信息Q改变成功;是否是改变了Q请用p查看Q?br />  Command (m for help): p
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
  /dev/sda2 26 125 806400 5 Extended
  /dev/sda5 26 50 201568+ 83 Linux
  /dev/sda6 51 75 201568+ b W95 FAT32
  6、fdisk 的退出,用q或?wQ?/span>
  其中 q?不保存退出,w是保存退出; Command (m for help): w
  ?
  Command (m for help): q
  7、一个添加分区的例子Q?/span>
  本例中我们会(x)d两个200M的主分区Q其它ؓ(f)扩展分区Q在扩展分区中我们添加两?00M大小的逻辑分区Q?Command (m for help): p 注:(x)列出分区表;
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  Command (m for help): n 注:(x)d分区Q?br />  Command action
  e extended
  p primary partition (1-4)
  p 注:(x)dd区;
  Partition number (1-4): 1 注:(x)dd?Q?br />  First cylinder (1-125, default 1): 注:(x)直接回RQ主分区1的v始位|;默认?,默认好Q?br />  Using default value 1
  Last cylinder or +size or +sizeM or +sizeK (1-125, default 125): +200M 注:(x)指定分区大小Q用+200M来指定大ؓ(f)200M
  Command (m for help): n 注:(x)d新分区;
  Command action
  e extended
  p primary partition (1-4)
  p 注:(x)dd?br />  Partition number (1-4): 2 注:(x)dd?Q?br />  First cylinder (26-125, default 26):
  Using default value 26
  Last cylinder or +size or +sizeM or +sizeK (26-125, default 125): +200M 注:(x)指定分区大小Q用+200M来指定大ؓ(f)200M
  Command (m for help): n
  Command action
  e extended
  p primary partition (1-4)
  e 注:(x)d扩展分区Q?br />  Partition number (1-4): 3 注:(x)指定? Q因Z分区已经分了两个了,q个也算d区,?开始;
  First cylinder (51-125, default 51): 注:(x)直接回RQ?br />  Using default value 51
  Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): 注:(x)直接回RQ把其余的所有空间都l扩展分区;
  Using default value 125
  Command (m for help): p
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ 83 Linux
  /dev/sda2 26 50 201600 83 Linux
  /dev/sda3 51 125 604800 5 Extended
  Command (m for help): n
  Command action
  l logical (5 or over)
  p primary partition (1-4)
  l 注:(x)d逻辑分区Q?br />  First cylinder (51-125, default 51):
  Using default value 51
  Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M 注:(x)d一个大ؓ(f)200M大小的分区;
  Command (m for help): n
  Command action
  l logical (5 or over)
  p primary partition (1-4)
  l 注:(x)d一个逻辑分区Q?br />  First cylinder (76-125, default 76):
  Using default value 76
  Last cylinder or +size or +sizeM or +sizeK (76-125, default 125): +200M 注:(x)d一个大ؓ(f)200M大小的分区;
  Command (m for help): p 列出分区表;
  Disk /dev/sda: 1035 MB, 1035730944 bytes
  256 heads, 63 sectors/track, 125 cylinders
  Units = cylinders of 16128 * 512 = 8257536 bytes
  Device Boot Start End Blocks Id System
  /dev/sda1 1 25 201568+ 83 Linux
  /dev/sda2 26 50 201600 83 Linux
  /dev/sda3 51 125 604800 5 Extended
  /dev/sda5 51 75 201568+ 83 Linux
  /dev/sda6 76 100 201568+ 83 Linux
  然后我们Ҏ(gu)前面所说通过t指o(h)来改变分区类型;最后不要忘记w保存退出;
  五、对分区q行格式化,以及(qing)加蝲;
  先提CZ下;?mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs {命令来格式化分区,比如我想格式?sda6为ext3文gpȝQ则输入Q?[root@localhost beinan]# mkfs.ext3 /dev/sda6
  如果我想加蝲 sda6到目前系l来存取文gQ应该有mount 命o(h)Q但首先(zhn)得Z个挂载目录;比如 /mnt/sda6 Q?[root@localhost beinan]# mkdir /mnt/sda6
  [root@localhost beinan]# mount /dev/sda6 /mnt/sda6
  [root@localhost beinan]# df -lh
  Filesystem 定w 已用 可用 已用% 挂蝲?br />  /dev/hda8 11G 8.4G 2.0G 81% /
  /dev/shm 236M 0 236M 0% /dev/shm
  /dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10
  /dev/sda6 191M 5.6M 176M 4% /mnt/sda6
  q样我们pq入 /mnt/sda6目录Q然后存取文件了Q具体的权限Ҏ(gu)Q以?qing)mount 更详l的用法Q在以后我会(x)专门写一个帖子;在一帖中放下所有的内容实在有点为难Q?br />  鲜ؓ(f)人知的FDISK命o(h)参数
   怿大家对FDISK已经非常熟?zhn)了,虽然FDISK有英文界面或不支持大定w盘分区{缺点,但是FDISK仍然是许多电(sh)脑爱好者的首选分区程序。鉴 于分区操作是对磁盘结构的重新划分Q具有一定的危险性,所以该E序的全部参数开兛_ƈ没有全部公布出来Q造成FDISK的功能在一定程度上受到了限制。笔?通过长期的资料收集和实践Q得C一部分关于FDISK的未公开参数开养I在此介绍l大Ӟ希望朋友们能更好地利用FDISK?br />  FDISKE序的命令行格式通用语法为:(x)FDISK Q参数开养I下面是它们的具体功能说明Q?br />  QACTOK
  参数功能Q不(g)查磁盘表面是否有坏扇区。它可以在硬盘分区时不检磁盘表面是否有坏区Q直接进行分区?br />  QCMBR
  参数功能Q重新徏立指定磁盘的dD录功能说明。其操作{同于/MBR参数Q不同之处是可以指定盘?br />  QEXT
  参数功能Q在当前盘上徏立扩展分区(用来随后建立逻辑盘分区Q?br />  QFPRMT
   参数功能Q在交互模式下询问FAT16或FAT32的用。当加上QFPRMT参数时不?x)出现是否支持大定w盘的询问画面,而是在每ơ徏立一个新的分 区时询问使用FAT16q是FAT32格式Q这h们就可以更自由地划分每一个盘的格式,当然现在不是很实用了Q所以大家看q就是?br />  QLOG
  参数功能Q徏立磁盘逻辑分区Q用Q?a target="_blank" >LOG来徏立逻辑盘Q/LOG必须和/EXT同时使用?br />  QLOGO
  参数功能Q用FAT16格式建立盘逻辑分区?br />  QMBR
  参数功能Q重新徏立主盘的主引导记录QMaster Boot RecordQ。卸载WindowsNT或Windows2000后消除在dD录上记蝲的系l启动选择Q当有病毒感染主引导记录Ӟ用来清除病毒相当有效?br />  QPRI
  参数功能Q在盘上徏立主分区Q分Z(x)自动被设定ؓ(f)ȀzdŞ式?br />  QPRIO
  参数功能Q用FAT16格式建立d区ƈ讑֮为激zdŞ式?br />  QQ
  参数功能Q用/Q参数不用在改变分区表后重新启动计算机,q也是一Ҏ(gu)较实用的功能Q如果大家还需要在q行FDISK之后q行别的软gQ记住用q个参数?br />  QSTATUS
  参数功能Q当盘扩展分区上没有进行逻辑分区Ӟ扩展分区不会(x)被显C出来?br />  QX
  参数功能Q用/X参数不?x)生带有LBA属性的分区?br />  q些参数中又以/ACTOKQ/MBRQ/Q q几个最常用和实用。ȝ来讲Q这些参C(x)让FDISKE序更全面,但是q些隐藏参数的危险系C很大Q诸位还是要谨慎使用


心羽 2011-05-21 10:18 发表评论
]]>
gcc命o(h)?/title><link>http://m.shnenglu.com/tdweng/articles/143912.html</link><dc:creator>心羽</dc:creator><author>心羽</author><pubDate>Mon, 11 Apr 2011 01:55:00 GMT</pubDate><guid>http://m.shnenglu.com/tdweng/articles/143912.html</guid><wfw:comment>http://m.shnenglu.com/tdweng/comments/143912.html</wfw:comment><comments>http://m.shnenglu.com/tdweng/articles/143912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/tdweng/comments/commentRss/143912.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/tdweng/services/trackbacks/143912.html</trackback:ping><description><![CDATA[<style type="text/css">h4 { margin-top: 0.04cm; margin-bottom: 0.04cm; page-break-inside: avoid; }h4.western { font-family: "Arial",sans-serif; font-size: 14pt; font-weight: normal; }h4.cjk { font-family: "黑体","SimHei"; font-size: 14pt; font-style: normal; font-weight: normal; }h4.ctl { font-family: "DejaVu Sans"; font-size: 14pt; }p { margin-bottom: 0.21cm; }</style> <p style="margin-bottom: 0cm;" align="CENTER"><font face="宋体, SimSun"><font size="4"><strong>linux</strong></font></font><font size="4"><strong>下?/strong></font><font face="宋体, SimSun"><font size="4"><strong>gcc</strong></font></font><font size="4"><strong>命o(h)~译代码</strong></font></p> <p style="text-indent: 0.74cm; margin-bottom: 0cm;"><font size="3">初学时最好从命o(h)行入手,q样可以熟?zhn)从编写程序、编译、调试和执行的整个过E。编写程序可以用</font><font face="宋体, SimSun"><font size="3">vi/vim(</font></font><font size="3">个h觉得</font><font face="宋体, SimSun"><font size="3">vim</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">vi</font></font><font size="3">好用</font><font face="宋体, SimSun"><font size="3">)</font></font><font size="3">或其它编辑器~写。编译则使用</font><font face="宋体, SimSun"><font size="3">gcc</font></font><font size="3">命o(h)。要往下学?fn)首先就得熟?zhn)?/font><font face="宋体, SimSun"><font size="3">gcc</font></font><font size="3">命o(h)的用法?/font></p> <p style="margin-bottom: 0cm;"> <font face="宋体, SimSun"><font size="3">gcc</font></font><font size="3">命o(h)提供了非常多的命令选项Q但q不是所有都要熟(zhn),初学时掌握几个常用的可以了Q到后面再慢慢学?fn)其它选项Q免得因选项太多而打M学习(fn)的信心?/font></p> <h4 class="cjk">一<font face="Arial, sans-serif">. </font>常用~译命o(h)选项</h4> <p style="margin-bottom: 0cm;"><font size="3">假设源程序文件名?/font><font face="宋体, SimSun"><font size="3">test.c</font></font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">1. </font></font><font size="3">无选项~译链接</font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="DejaVu Serif, serif"><font face="宋体, SimSun"><font size="3">#gcc test.c</font></font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将</font><font face="宋体, SimSun"><font size="3">test.c</font></font><font size="3">预处理、汇~、编译ƈ链接形成可执行文件。这里未指定输出文gQ默认输Zؓ(f)</font><font face="宋体, SimSun"><font size="3">a.out</font></font><font size="3">。编译成功后可以看到生成了一?/font><font face="宋体, SimSun"><font size="3">a.out</font></font><font size="3">的文件。在命o(h)行输?/font><font face="宋体, SimSun"><font size="3">./a.out </font></font><font size="3">执行E序?/font><font face="宋体, SimSun"><font size="3">./</font></font><font size="3">表示在当前目录,</font><font face="宋体, SimSun"><font size="3">a.out</font></font><font size="3">为可执行E序文g名?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">2. </font></font><font size="3">选项 </font><font face="宋体, SimSun"><font size="3">-o</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc test.c -o test</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将</font><font face="宋体, SimSun"><font size="3">test.c</font></font><font size="3">预处理、汇~、编译ƈ链接形成可执行文?/font><font face="宋体, SimSun"><font size="3">test</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">-o</font></font><font size="3">选项用来指定输出文g的文件名。输?/font><font face="宋体, SimSun"><font size="3">./test</font></font><font size="3">执行E序?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">3. </font></font><font size="3">选项 </font><font face="宋体, SimSun"><font size="3">-E</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc -E test.c -o test.i</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将</font><font face="宋体, SimSun"><font size="3">test.c</font></font><font size="3">预处理输?/font><font face="宋体, SimSun"><font size="3">test.i</font></font><font size="3">文g?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">4. </font></font><font size="3">选项 </font><font face="宋体, SimSun"><font size="3">-S</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc -S test.i </font></font> </p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将预处理输出文?/font><font face="宋体, SimSun"><font size="3">test.i</font></font><font size="3">汇编?/font><font face="宋体, SimSun"><font size="3">test.s</font></font><font size="3">文g?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">5. </font></font><font size="3">选项 </font><font face="宋体, SimSun"><font size="3">-c</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc -c test.s</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将汇编输出文g</font><font face="宋体, SimSun"><font size="3">test.s</font></font><font size="3">~译输出</font><font face="宋体, SimSun"><font size="3">test.o</font></font><font size="3">文g?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">6. </font></font><font size="3">无选项链接</font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc test.o -o test</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将~译输出文g</font><font face="宋体, SimSun"><font size="3">test.o</font></font><font size="3">链接成最l可执行文g</font><font face="宋体, SimSun"><font size="3">test</font></font><font size="3">。输?/font><font face="宋体, SimSun"><font size="3">./test</font></font><font size="3">执行E序?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">7. </font></font><font size="3">选项</font><font face="宋体, SimSun"><font size="3">-O</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc -O1 test.c -o test</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q用编译优化?/font><font face="宋体, SimSun"><font size="3">1</font></font><font size="3">~译E序。别ؓ(f)</font><font face="宋体, SimSun"><font size="3">1~3</font></font><font size="3">Q别越大优化效果越好,但编译时间越ѝ输?/font><font face="宋体, SimSun"><font size="3">./test</font></font><font size="3">执行E序?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">8.</font></font><font size="3">~译使用</font><font face="宋体, SimSun"><font size="3">C++ std</font></font><font size="3">库的E序</font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc test.cpp -o test -lstdc++</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将</font><font face="宋体, SimSun"><font size="3">test.cpp</font></font><font size="3">~译链接?/font><font face="宋体, SimSun"><font size="3">test</font></font><font size="3">可执行文件?/font><font face="宋体, SimSun"><font size="3">-lstdc++</font></font><font size="3">指定链接</font><font face="宋体, SimSun"><font size="3">std c++</font></font><font size="3">库?/font></p> <h4 class="cjk">?font face="Arial, sans-serif">. </font>多源文g的编译方?/h4> <p style="margin-bottom: 0cm;"><font size="3">如果有多个源文gQ基本上有两U编译方法:(x)</font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">[</font></font><font size="3">假设有两个源文g?/font><font face="宋体, SimSun"><font size="3">test.c</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">testfun.c]</font></font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">1. </font></font><font size="3">多个文g一L(fng)?/font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">用法Q?/font><font face="宋体, SimSun"><font size="3">#gcc testfun.c test.c -o test</font></font></p> <p style="margin-left: 0.74cm; margin-bottom: 0cm;"><font size="3">作用Q将</font><font face="宋体, SimSun"><font size="3">testfun.c</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">test.c</font></font><font size="3">分别~译后链接成</font><font face="宋体, SimSun"><font size="3">test</font></font><font size="3">可执行文件?/font></p> <p style="margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">2. </font></font><font size="3">分别~译各个源文Ӟ之后对编译后输出的目标文仉接?/font></p> <p style="margin-bottom: 0cm;"><font size="3">用法Q?/font></p> <p style="margin-left: 0.37cm; margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">#gcc -c testfun.c //</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">testfun.c</font></font><font size="3">~译?/font><font face="宋体, SimSun"><font size="3">testfun.o</font></font></p> <p style="margin-left: 0.37cm; margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">#gcc -c test.c //</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">test.c</font></font><font size="3">~译?/font><font face="宋体, SimSun"><font size="3">test.o</font></font></p> <p style="margin-left: 0.37cm; margin-bottom: 0cm;"><font face="宋体, SimSun"><font size="3">#gcc -o testfun.o test.o -o test //</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">testfun.o</font></font><font size="3">?/font><font face="宋体, SimSun"><font size="3">test.o</font></font><font size="3">链接?/font><font face="宋体, SimSun"><font size="3">test</font></font></p> <p style="text-indent: 0.37cm; margin-bottom: 0cm;"><font size="3">以上两种Ҏ(gu)相比较,W一中方法编译时需要所有文仉新编译,而第二种Ҏ(gu)可以只重新编译修改的文gQ未修改的文件不用重新编译?/font></p><img src ="http://m.shnenglu.com/tdweng/aggbug/143912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/tdweng/" target="_blank">心羽</a> 2011-04-11 09:55 <a href="http://m.shnenglu.com/tdweng/articles/143912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的学习(fn)W记 Q-Ubuntu8.10下jdk与tomcat的安装设|?http://m.shnenglu.com/tdweng/articles/116639.html心羽心羽Fri, 28 May 2010 12:29:00 GMThttp://m.shnenglu.com/tdweng/articles/116639.htmlhttp://m.shnenglu.com/tdweng/comments/116639.htmlhttp://m.shnenglu.com/tdweng/articles/116639.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/116639.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/116639.html׃学习(fn)的需要,今天l于把tomcat安装成功了。。虽说不是很难,但也是我上网查资料努力了不少旉的结果呀。。先表扬自己一下,Q?img src="http://zerowang.blog.51cto.com/editor/icons/etc_17.gif" onclick="'window.open("http://blog.51cto.com/viewpic.php?refimg="" + this.src)' http:="" blog.51cto.com="" viewpic.php?refimg=" + this.src)" alt="" border="0">

现在开始介l一下安装过E吧。?br>
1Qjdk和jre的安?br>打开l端Q执行以下命令,或用《新立得软g理器》,在其中分别搜?#8220;sun-java6-jre“?#8220;sun-java6-jdk”q标记安装?br> sudo apt-get install sun-java6-jre
# 如果I间富裕Q徏议安装一个JDK。呵?br> sudo apt-get install sun-java6-jdk
讄当前默认的java解释?br> sudo update-alternatives Q-config java
执行后会(x)出现cM如下的画?
There are 4 alternatives which provide `java’.

Selection    Alternative
——————————————?#8211;
1        /usr/lib/jvm/java-gcj/jre/bin/java
2        /usr/bin/gij-wrapper-4.1
3        /usr/bin/gij-wrapper-4.0
4        /usr/lib/jvm/java-6-sun/jre/bin/java
Press enter to keep the default

or type selection number:

输入 有包?“sun” 的行的前面的数字。如上面昄Q则输入 4Q然后回车确定?br>?/span>Q如果你只有一个程序提?javaQ比如我啦!Q)那这一步命令就可以省略了。。当Ӟ即写了q个命o(h)他也?x)提CZ只有一个的?br>
2Q设|JAVA_HOME变量Q网上有好多U,但我只有下面一U设|成功了Q?br>~辑catalina.shQ?执行命o(h)如下Q?br>
sudo vi /usr/share/tomcat5/apache-tomcat-5.5.27/bin/catalina.sh
修改catalina.sh文gQ在文g开头注释后插入

JAVA_HOME="/usr/lib/jvm/java/jdk1.6.0_12"
我是?# OS specific support.  $var _must_ be set to either true or false.  q句话后面另起一行添加的?br>
3Q安装tomcat5.5

apt-get install tomcat5.5
如果你要和apache2整合Q可以把mod_jk安装上?
apt-get install libapache2-mod-jk


4 ,启动tomcat
执行Q?br> sudo /usr/share/tomcat5.5/bin/startup.sh
如果能看C列提C,p明启动成功了Q?
Using CATALINA_BASE:   /usr/share/tomcat5.5
Using CATALINA_HOME:   /usr/share/tomcat5.5
Using CATALINA_TMPDIR: /usr/share/tomcat5.5/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun

5 Q关闭tomcat
执行Q?br>
 sudo /usr/share/tomcat5.5/bin/shutdown.sh
 如果能看C列提C,p明关闭成功了Q?
Using CATALINA_BASE:   /usr/share/tomcat5.5
Using CATALINA_HOME:   /usr/share/tomcat5.5
Using CATALINA_TMPDIR: /usr/share/tomcat5.5/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun

注意Q上面各步的路径可能?x)不同,需要以自己pȝ的\径ؓ(f)准。?br>

心羽 2010-05-28 20:29 发表评论
]]>
ubuntu下vim配置使用http://m.shnenglu.com/tdweng/articles/113026.html心羽心羽Mon, 19 Apr 2010 14:56:00 GMThttp://m.shnenglu.com/tdweng/articles/113026.htmlhttp://m.shnenglu.com/tdweng/comments/113026.htmlhttp://m.shnenglu.com/tdweng/articles/113026.html#Feedback0http://m.shnenglu.com/tdweng/comments/commentRss/113026.htmlhttp://m.shnenglu.com/tdweng/services/trackbacks/113026.html                        
 配置vim
?只对各个用户在自q当前目录下的.vimrc修改的话Q修改内容只Ҏ(gu)用户有效,要想全部有效Q可以修?etc/vim/vimrc.
1.apt-get install vim-full
2.讄/etc/vim/vimrc加上下面语句:
"语法高亮度显C?br>   syntax on
"L有关vi一致性模式,避免以前版本的一些bug和局?br>   set nocompatible
"昄行号
  set number
"(g)文件的cd
  filetype on
"记录历史的行?br>   set history=1000
"背景使用黑色
  set background=dark
"vim使用自动对vQ也是把当前行的对h式应用到下一?br>   set autoindent
"依据上面的对h式,的选择对v方式Q对于类似C语言~?br>   set smartindent
"讄Windows风格的C/C++自动~进,W一行设|tab键ؓ(f)4个空|W二行设|当行之间交错时使用4个空?br>   set tabstop=4
  set shiftwidth=4
"讄匚w模式Q类似当输入一个左括号时会(x)匚w相应的那个右括号
  set showmatch
"去除vim的GUI版本中的toolbar
  set guioptions-=T
"在编辑过E中Q在右下角显C光标位|的状态行
  set ruler
"默认情况下,L匚w是高亮度昄的,该设|关闭高亮显C?br>   set nohls
"使用此设|会(x)快速找到答案,当你找要匚w的单词时Q别忘记回R
  set incsearch
"如果没有下列行,加上?br>   if &term=="xterm"
  set t_Co=8
  set t_Sb=^[[4%dm
  set t_Sf=^[[3%dm
  endif
  pȝ的一些设|?包括l端下的颜色Qls命o(h),vi{?
    ?只对各个用户在自q当前目录下的.vimrc修改的话Q修改内容只Ҏ(gu)用户有效,要想全部有效Q可以修?etc/bash.bashrc
       使用alias命o(h)修改?br>   其中的与颜色有关的讄改ؓ(f)Q?br>    # enable color support of ls and also add handy aliases
   if [ "$TERM" != "dumb" ] && [ -x /usr/bin/dircolors ]; then
      eval "`dircolors -b`"
      alias ls='ls --color=auto'
      alias vi='vim'
      alias ll='ls -l --color=auto'
      alias dir='ls --color=auto --format=vertical'
      alias vdir='ls --color=auto --format=long'

      alias grep='grep --color=auto'
      alias fgrep='fgrep --color=auto'
      alias egrep='egrep --color=auto'
  fi
  增加命o(h):
   # some more ls aliases
   alias ll='ls -l'
   alias la='ls -A'
   alias l='ls -CF'
                    
               
               
                       
               
                       
                                 
                       
                       
                  
vi(m)用法
     vi ?Linux/Unix 世界里极为普遍的全屏q文本编辑器Q?br> 几乎可以说Q何一?Linux/Unix 机器都会(x)提供q个软g?br>      vi 有三U状态,即编辑方式、插入方式和命o(h)方式?br> 在命令方式下Q所有命令都要以:开始,所键入的字W系l均作命令来处理Q?br> ?q 代表退出,:w 表示存盘?br>      当你q入vi Ӟ?x)首先进入命令方式(同时也是~辑方式Q?br> 按下Ip入插入方式,用户输入的可视字W都d到文件中Q显C在屏幕上?br> 按下ESC可以回到命令状态(同时也是~辑方式Q?br> ~辑方式和命令方式类|都是要输入命令,
但它的命令不要以:开始,它直接接受键盘输入的单字W或l合字符命o(h)Q?br> 例如直接按下u pC取消上一ơ对文g的修改,相当于WINDOWS 下的Undo 操作?br> ~译方式下有一些命令是要以/开始的Q?br> 例如查找字符串就是:(x)/string 则在文g中匹配查找string 字符丌Ӏ?br> 在编辑模式下按下:p入命令方式?br> 基本命o(h)解释Q?br> 1Q光标命?br> k、j、h、l——上、下、左、右光标Ud命o(h)?
虽然(zhn)可以在Linux 中用键盘右边的4 个光标键Q?br> 但是Cq? 个命令还是非常有用的。这4 个键正是x在键盘上攄的基本位|?br> nG——蟩转命令。n 敎ͼ该命令立即光标跛_指定行?br> Ctrl+G——光标所在位|的行数和列数报告?br> w、b——光标向前或向后蟩q一个单词?br> 2Q编辑命?br> i、a、r——在光标的前、后以及(qing)所在处插入字符命o(h)(i=insert、a=append、r=replace)?br> cw 、dw—?改变( |换)/删除光标所在处的单词的命o(h) (c=change 、d=delete)?br> x、d$、dd——删除一个字W、删除光标所在处到行所有字W以?qing)删除整行的命o(h)?br> 3Q查扑֑?br> ---- /string?string——从光标所在处向后或向前查扄应的字符串的命o(h)?br> 4Q拷贝复制命?br> ---- yy、p——拷贝一行到剪脓(chung)板或取出剪脓(chung)板中内容的命令?br> 常用操作Q?br> 无论是开启新档或修改旧文Ӟ都可以用viQ所需指o(h)为:(x)
  $ vi filemane
如果文g是新的,׃(x)在荧q底部看C个信息,告诉用户正在创徏新文件?br> 如果文g早已存在Qvi 则会(x)昄文g的首廿四行, 用户可再用光标(cursorQ上下移动?br> ?br> ?br> 上面是一个经vi 开启的模拟文gQ一行开始处的L折号Q~Q表C文件的l尾?br> —指令i 在光标处插入正文
—指令I 在一行开始处插入正文
—指令a 在光标後q加正文
—指令A 在行追加正?br> —指令o 在光标下面新开一?br> —指令O 在光标上面新开一?br> 在插入方式下Q不能打入指令,必需先按〈Esc〉键Q返回命令方式?br> 假若户不知n处何态,也可以按〈Esc〉键Q不处g态,都会(x)q回命o(h)方式?br> 在修Ҏ(gu)件时Q如何存档及(qing)退出指定文仉非常重要。在vi 内,行存档或退出的指o(h)Ӟ
要先按冒P:Q,改变为命令方式,用户可以看见在荧幕左下方,出现冒号Q?Q,
昄vi 已经改ؓ(f)?令态,可以q行存档或退出等工作?br> :q!攑ּM改动而退出viQ也是退?br> :w 存档
:w! 对于只读文g存档
:wq 存档q出vi
:x 与wq 的工作一?br> :zz 与wq 的工作一样删除正?br> 删除或修Ҏ(gu)文都是利用编辑方式,故此Q下面所提及(qing)的指令只需在编辑方式下Q?br> 直接键入指o(h)卌?br> —x 删除光标处字W(CharacterQ?br> —nx 删除光标处後n 个字W?br> —nX 删除光标处前n 个字W?br> —ndw 删除光标处下n 个单词(wordQ?br> —dd 删除整行
—d$或D 删除由光标至该行最?br> —u 恢复前一ơ所做的删除
当用vi 修改正文Q加减字W时Q就?x)采用另一l在~辑方式下操作的指o(h)?br> ?r char 由char 代替光标处的字符
—Rtext〈Esc〉由text 代替光标处的字符
—cwtext〈Esc〉由text 取代光标处的单词
—Ctext〈Esc〉由text 取代光标处至该行l尾?br> —cc 使整行空白,但保留光标位|,让你开始打?br> —如删除指o(h)一P在指令前打入的数Q表C执行该指o(h)多少ơ?br>
要检索文Ӟ必需在编辑方式下q行?br> —/str〈Return〉向前搜寻str 直至文gl尾?br> ?str〈Return〉往後搜寻str 直至文g开首处
—n 同一方向上重复检?br> —N 相反方向上重复检?br> —vi ~绕整个文gQ不断检索,直至扑ֈ与模式相匚w的下一个出现?br> 全程替换命o(h)Q?br> :%s/string1/string2/g 在整个文件中替换“string1”?#8220;string2”?br> 如果要替换文件中的\径:(x)
使用命o(h)“:%s#/usr/bin#/bin#g”可以把文件中所有\?usr/bin 换成/bin?br> 也可以用命?#8220;:%s/\/usr\/bin/\/bin/g”实现Q其?#8220;\”是{义字W,表明其后?#8220;/”字符是具有实际意义的字符Q不是分隔符?br>
同时~辑2 个文Ӟ拯一个文件中的文本ƈ_脓(chung)到另一个文件中Q?br> 命o(h)如下Q?br> ---- vi file1 file2
---- yy 在文? 的光标处拯所在行
---- :n 切换到文? (n=next) 或者按ctrl+wwQ就在两个文仉切换?br> ---- p 在文? 的光标所在处_脓(chung)所拯的行
---- :n 切换回文? QCtrl +WW 也可实现切换Q?br>
文件中的某一部分修改保存C(f)时文Ӟ
例如仅仅把第20?9 行之间的内容存盘成文?tmp/1Q我们可以键入如下命令?br> ---- vi file
---- :20,59w /tmp/1

如果要在 vi 执行期间Q{到shell 执行Q用惊叹号Q?Q执行系l指令,
例如在vi 期间Q列出当前目录内容,可以键入 Q?br> :!ls
另一斚wQ用户可以在ȝ录中创徏.exrc 环境文gQ用set 打入选项Q?br> 每次调用vi Ӟ׃(x)d.exrc 中的指o(h)与设|。下面是.exrc 环境文g的实例:(x)
set wrapmargingQ?
set showmode
set autoindent

心羽 2010-04-19 22:56 发表评论
]]>
޾Ʒþþþþο| ľþþþר| պһþ| ƷŮþþ| þݺҹҹ2O2O| 99ȳ˾ƷȾþ| һۺϾþù| ձƷþ| þ| 99þþƷѾƷ| ɫۺϾþ| aëƬþѲ| þþƷֻоƷ2020| þþƷ| Ʒ˾þþþӰԺ| þþþһëþþ| ĻƷþþþþ3Dն | þ99Ʒŷ| þùӾƷŮ| þþƷһ| Ʒ˾þþþþþ| þþƷ7777| þþ| þþƷˬӰ| þþƷ99͵| þþþùһ| ҹ91þø| պƷþĻ| .Ʒþþ鶹Ʒ| ݺɫ˾þþƷۺ| þþƷAV㽶| ھƷ˾þþþAVӰԺ| պþӰԺ| Ļþҹ| ձƬҹþ| ѾþþƷ99reѾy| ŷ˾þƬ| þAV| ۺ˾þۺ| þþƷŮAV| þþƷ|