当前位置:文档之家› AIX下的MPIO

AIX下的MPIO

AIX下的MPIO
AIX下的MPIO

[基础知识]常见的多路径管理软件

Multipath I/O (多路径)

在计算机存储技术里,多路径提供了容错和性能提高,在计算机系统里CPU有多条物理路径通道,块存储设备通过总线,控制器,交换设备以及桥接设备来连接。

简单举例同一台计算机里1块SCSI磁盘连接2个SCSI控制器或者磁盘连接到两个FC端口。如果其中1个控制器,端口或交换设备故障,那操作系统就会自动切换I/O路径到冗余的控制器为应用程序使用,但这样可能会增加延迟.

一些多路径软件可以利用冗余的路径提高性能,例如:

Dynamic load balancing 动态负载均衡

Traffic shaping 流量控制

Automatic path management 自动路径管理

Dynamic reconfiguration 动态设置

Multipath I/O software implementations 多路径软件工具

一些操作系统自带支持多路径功能,如下

SGI IRIX - using the LV, XLV and later XVM volume managers (1990s and onwards)

AIX - MPIO Driver, AIX 5L 5.2 (October 2002) and later

HP-UX 11.31 (2007)

Linux - Device-Mapper Multipath . Linux kernel 2.6.13 (August 2005)

OpenVMS V7.2 (1999) and later

Solaris Multiplexed I/O (MPxIO), Solaris 8 (February 2000) and later

Windows MPIO Driver, Windows Server 2003 and Windows Server 2008 (April 2003)

FreeBSD - GEOM_FOX module

Mac OS X Leopard and Mac OS X Leopard Server 10.5.2

Multipath software products: (软件产品)

AntemetA. Multipathing Software solution for AIX for HP EVA Disk Arrays

NEC PathManager

EMC PowerPath

FalconStorIPStorDynaPath

Fujitsu Siemens MultiPath for Linux and Windows OS

Fujitsu ETERNUS Multipath Driver (ETERNUSmpd) for Solaris, Windows, Linux and AIX.

Hitachi HiCommand Dynamic Link Manager (HDLM)

HP StorageWorks Secure Path

NCR UNIX MP-RAS EMPATH for EMC Disk Arrays

NCR UNIX MP-RAS RDAC for Engenio Disk Arrays

ONStor SDM multipath

IBM System Storage Multipath Subsystem Device Driver (SDD), formerly Data Path Optimizer

AccusysPathGuard

InfortrendEonPath

Sun Multipath failover driver for Windows and AIX

Sun StorEdge Traffic Manager Software, included in Sun Java StorEdge Software suite

Linux

multipath-tools, used to drive the Device Mapper multipathing driver, first released on September 2003 Fibreutils package for QLogic HBAs

RDAC package for LSI disk controllers

lpfcdriver package for Emulex HBAs

Veritas

Veritas Storage Foundation (VxSF)

Veritas Volume Manager (VxVM)

Pillar Data Systems

Axiom Path Manager for AIX, Windows, Linux, and Solaris

Areca Multipath failover driver for Windows

AIX下的MPIO、RDAC、SDDPCM多路径软件操作

一:查看存储盘的路径

1、查看MPIO的存储盘的路径

# lspath (适用于所有存储的MPIO路径查询)

# mpio_get_config -Av (适用于DS3K/DS4K的MPIO路径查询)

2、查看RDAC存储盘的路径

# fget_config -Av (适用于DS3K/DS4K的RDAC路径查询)

3、查看SDDPCM存储盘的路径

# pcmpath query device (适用于DS6K/DS8K和v7000的SDDPCM路径查询)

4、查看当前操作系统自带的支持IBM存储的多路径软件

# manage_disk_drivers

5、将DS4700默认的多路径软件更改成RDAC

# manage_disk_drivers -d DS4700 -o AIX_fcparray

二:MPIO路径的常用操作

1、查看单个盘的路径

# lspath -l hdisk3

# lspath -F "status name path_id parent connection" | grep -w hdisk3

2、MPIO路径控制

将fcs0卡下的hdisk2的路径禁用

# chpath -l hdisk2 -p fscsi0 -s disable

将fcs0卡下的hdisk2的路径启用

# chpath -l hdisk2 -p fscsi0 -s enable

3、其它参数

# chdev -l hdisk3 -a queue_depth=1 //如果ODM是1.0.1.0以上可以是任何数字

# chdev -l hdisk3 -a hcheck_interval=60 //链路失效检查时间间隔;如果等0,则不会自检

# chdev -l hdisk3 hcheck_mode=nonacive

This parameter specifies which I/O paths should be monitored by the path health checking functionality.

nonactive: This mode will check all failed I/O paths and all standby paths of used/opened devices.

failed: This mode with check failed I/O paths only.

enabled: This mode will check all enabled I/O paths which are opened.

Note:

Non-opened devices are not monitored. Also, this attribute is

not being used at this time since path health checking is not

enabled. This attribute can be ignored

4、修改链路优先级

lspath -AHE -l hdisk2 -p vscsi3 //查看链路优先级

# chpath -l hdisk3 -p fscsi0 -w 链路1 -a priority=1

# chpath -l hdisk3 -p fscsi0 -w 链路2 -a priority=2

5、处理故障

1)如果发现有很多路径是missing的,可以用cfgmgr重新扫描,如果还有missing的,可以用步骤2和2来激活路径;

2)如果要更换光纤线,可以该卡上的有的路径禁用,换完线后再启用,避免直接拨线产生的风险。

sdd for aix 安装及基本命令总结出自多个文件(自己做的项目和网上找的资料)

一、sddpcm安装

要安装SDDPCM 驱动程序,需要执行以下步骤。

1. 在安装SDDPCM程序包之前,安装AIX SDDPCM主机附件程序包(devices.fcp.disk.ibm.mpio.rte或devices.sas.disk.ibm.mpio.rte)。

2. 使用root访问权限登录系统,然后解压缩已下载的SDDPCM主机附件程序包(devices.fcp.disk.ibm.mpio.rte.tar.gz或devices.sas.disk.ibm.mpio.rte.tar.gz)并进行安装。您也可以使用smit选项。#installp -aXYdevices.fcp.disk.ibm.mpio.rte

3. 现在,您需要安装SDDPCM程序包(devices.sddpcm.52.rte、devices.sddpcm.53.rte或devices.sddpcm.61.rte)。#installp -aXY devices.sddpcm.61.rte

4. 安装必要组件之后,安装.bff文件。

#installp -aXY devices.sddpcm.61.2.6.3.2.bff

5.sddpcm的检查

# pcmpath query version

# lslpp -l *sddpcm*

检查SDDPCM server(pcmsrv)是否启动

# lssrc -s pcmsrv

Subsystem Group PID Status

pcmsrv 335960 active

手工启停pcmsrv的方法

# stoppcmsrv

0513-044 The pcmsrv Subsystem was requested to stop.

# startpcmsrv

pcmsrv started

完成此安装之后,需要设置一个SDD路径选择策略算法,该算法可以帮助您提高多路径配置的和受支持的存储设备的性能,并且可以让路径故障对应用程序透明。以下路径选择策略受到支持:

?仅故障转移(fo)

由于I/O 错误,在路径发生故障之前,应将所有I/O操作发送至相同(首选)路径。然后为后续的I/O操作选择一个备用路径。

?负载平衡(lb)

通过评估适配器上每个路径连接的负载来选择用于I/O操作的路径。负载是同时进行的I/O操作数量的函数。如果多个路径具有相同的负载,则会从这些路径中随机选择一条路径。负载平衡模式还会并入故障转移保护。负载平衡策略也称为优化策略。

?负载平衡顺序(lbs)

该策略与用于顺序I/O 优化的负载平衡策略相同。此负载平衡顺序策略也称为优化顺序策略。这是默认设置。?轮循(rr)

从没有用于最后一个I/O 操作的路径中随机选择用于每个I/O 操作的路径。如果设备只有两个路径,那么SDD会交替使用这两个路径。

?轮循顺序(rrs)

该策略与针对顺序I/O 进行优化的轮循(round-robin) 策略相同。

您需要为您的环境选择最适当的SDD路径选择策略,并使用以下方法应用该策略。

注意:在更改算法之前,您需要将磁盘保留策略更改为no_reserve。

# chdev -l hdiskX -a reserve_policy=no_reserve

用于设置不同的SDD路径选择策略算法的命令的示例

# chdev -l hdiskX -a algorithm=load_balance_port

# chdev -l hdiskX -a algorithm=round_robin

您可以使用pcmpath query device命令查看磁盘策略。

二、常用命令

1、多路径状态查看

# sddpcm_get_config -Av

Frame id 0:

Storage Subsystem worldwide name: 608e5002c7eb6000050aeea7e

Controller count: 2

Partition count: 1

Partition 0:

Storage Subsystem Name = ''

hdisk LUN # Ownership User Label

hdisk4 0 A (preferred) ha_data1

hdisk5 1 B (preferred) ha_data2

hdisk6 2 A (preferred) ha_cwback1

hdisk7 3 B (preferred) ha_cwback2

pcmpath query device

Total Dual Active and Active/Asymmetric Devices : 6

DEV#: 2 DEVICE NAME: hdisk2 TYPE: 2107900 ALGORITHM: Load Balance SERIAL: 75WH8812800

========================================================================== Path# Adapter/Path Name State Mode Select Errors

0 fscsi0/path2 OPEN NORMAL 543944 0

1 fscsi0/path3 OPEN NORMAL 543359 0

2 fscsi2/path5 OPEN NORMAL 528429 0

3 fscsi2/path7 OPEN NORMAL 48903

4 0

DEV#: 3 DEVICE NAME: hdisk3 TYPE: 2107900 ALGORITHM: Load Balance SERIAL: 75WH8812801

========================================================================== Path# Adapter/Path Name State Mode Select Errors

0 fscsi0/path2 OPEN NORMAL 11759444 1

1 fscsi0/path3 OPEN NORMAL 11758904 1

2 fscsi2/path5 OPEN NORMAL 12656811 2

3 fscsi2/path7 OPEN NORMAL 10132830 1

DEV#: 4 DEVICE NAME: hdisk4 TYPE: 2107900 ALGORITHM: Load Balance SERIAL: 75WH8812802

========================================================================== Path# Adapter/Path Name State Mode Select Errors

0 fscsi0/path2 OPEN NORMAL 2262 0

1 fscsi0/path3 OPEN NORMAL 2418 0

2 fscsi2/path5 OPEN NORMAL 2428 0

3 fscsi2/path7 OPEN NORMAL 2295 0

DEV#: 5 DEVICE NAME: hdisk5 TYPE: 2107900 ALGORITHM: Load Balance SERIAL: 75WH8812900

========================================================================== Path# Adapter/Path Name State Mode Select Errors

0 fscsi0/path2 OPEN NORMAL 2168 0

1 fscsi0/path3 OPEN NORMAL 2608 0

2 fscsi2/path5 OPEN NORMAL 2359 0

3 fscsi2/path7 OPEN NORMAL 227

4 0

DEV#: 6 DEVICE NAME: hdisk6 TYPE: 2107900 ALGORITHM: Load Balance

SERIAL: 75WH8812901

==========================================================================

Path# Adapter/Path Name State Mode Select Errors

0 fscsi0/path2 OPEN NORMAL 2318740 0

1 fscsi0/path3 OPEN NORMAL 2319666 0

2 fscsi2/path5 OPEN NORMAL 2355086 0

3 fscsi2/path7 OPEN NORMAL 2132693 0

DEV#: 7 DEVICE NAME: hdisk7 TYPE: 2107900 ALGORITHM: Load Balance

SERIAL: 75WH8812902

==========================================================================

Path# Adapter/Path Name State Mode Select Errors

0 fscsi0/path2 OPEN NORMAL 2535 0

1 fscsi0/path3 OPEN NORMAL 2475 0

2 fscsi2/path5 OPEN NORMAL 2470 0

3 fscsi2/path7 OPEN NORMAL 2312 0

2、停止对应lun路径(路径分别是2、

3、5、7,这里是路径停止路径7)

pcmpath set device 2 path 7 offline

pcmpath set device 3 path 7 offline

pcmpath set device 4 path 7 offline

pcmpath set device 5 path 7 offline

pcmpath set device 6 path 7 offline

pcmpath set device 7 path 7 offline

3、查看对应端口

(这个端口是ds8700对应的端口,之前我们一起激活的时候按顺序激活的,对应的端口号我给你放到最后面,如果我回去这几天或者以后链路出问题,都可以采用相关的命令查看对应的ds8700上的端口,这样对应着去offline 相应的port,算是及时处理吧。)

pcmpath query port

p750lpar1:/# pcmpath query port

Active TargetPorts :4

Port# Wwpn State Mode Select Errors Paths Active

0 500507630a08471b NORMAL ACTIVE 13085149 3 6 6

1 500507630a08c71b NORMAL ACTIVE 13084689 0 6 6

2 500507630a03471b NORMAL ACTIVE 14008161

3 6 6

3 500507630a03c71b FAILED OFFLINE 11226300 43 6 0

这里是dscli命令行里面操作的(下面标注的4个口是本次扩容用到的ds8700对应的端口,这里的顺序是我们之前一起激活的顺序,)

dscli>lsioport

Date/Time: 2012年12月14日下午04时44分39秒IBM DSCLI Version: 6.5.1.203 DS: IBM.

2107-75WH881

ID WWPN State Type topo portgrp

================================================================

本次扩容左边的I/O卡

I0030 500507630A03071B Offline Fibre Channel-SW - 0

I0031 500507630A03471B Offline Fibre Channel-SW - 0

I0032 500507630A03871B Offline Fibre Channel-SW - 0

I0033 500507630A03C71B Offline Fibre Channel-SW - 0

本次扩容右边的i/o卡

I0100 500507630A08071B Offline Fibre Channel-SW - 0

I0101 500507630A08471B Offline Fibre Channel-SW - 0

I0102 500507630A08871B Offline Fibre Channel-SW - 0

I0103 500507630A08C71B Offline Fibre Channel-SW - 0

之前的i/o卡

I0230 500507630A13071B Online Fibre Channel-SW SCSI-FCP 0

I0231 500507630A13471B Online Fibre Channel-SW SCSI-FCP 0

I0232 500507630A13871B Online Fibre Channel-SW SCSI-FCP 0

I0233 500507630A13C71B Online Fibre Channel-SW SCSI-FCP 0

I0300 500507630A18071B Online Fibre Channel-SW SCSI-FCP 0

I0301 500507630A18471B Online Fibre Channel-SW SCSI-FCP 0

I0302 500507630A18871B Online Fibre Channel-SW SCSI-FCP 0

I0303 500507630A18C71B Online Fibre Channel-SW SCSI-FCP 0

4、启用对应lun路径

pcmpath set device 2 path 7 online

pcmpath set device 3 path 7 online

pcmpath set device 4 path 7 online

pcmpath set device 5 path 7 online

pcmpath set device 6 path 7 online

pcmpath set device 7 path 7 online

5、清除error

p750lpar1:/# pcmpath clear device 3 count error

Success: error counter reset

6、查看sddpcm多路径配置信息

Total Dual Active and Active/Asymmetric Adapters : 2

Adpt# Name State Mode Select Errors Paths Active

0 fscsi0 NORMAL ACTIVE 0 0 4 0

1 fscsi

2 NORMAL ACTIVE 0 0 4 0

7、lun对应路径详细信息

# lspcmcfg

hdisk4 (Avail pvxvg) 60050768028081D5D800000000000004 = path0 (Failed) path1 (Failed) path2 (Enabled) path3 (Enabled)

hdisk5 (Avail pvyvg) 60050768028081D5D800000000000005 = path0 (Failed) path1 (Failed) path2 (Enabled) path3 (Enabled)

hdisk6 (Avail pvxvg) 60050768028081D5A400000000000004 = path0 (Failed) path1 (Failed) path2 (Enabled) path3 (Enabled)

hdisk7 (Avail pvyvg) 60050768028081D5A400000000000005 = path0 (Failed) path1 (Failed) path2 (Enabled) path3 (Enabled)

其他

重要的SDDPCM 命令及其功能:

?pcmpath:显示和管理SDDPCM 设备。

?pcmpath query adapter:显示适配器配置

?pcmpath query version:显示SDDPCM 的版本

?pcmpath query device:显示SDDPCM 设备(pcmpath query device 44 仅显示此设备)

?pcmpath query essmap:显示完整概述

?pcmpath set device algorithm:动态更改路径选择算法

?pcmpath set device hc_mode:动态更改路径运行状况检查模式

?pcmpath set device hc_interval:动态更改路径运行状况检查时间间隔

?pcmpath set device Mpath N online/offline:动态启用(联机)或禁用(脱机)路径

?pcmpath set adapter N online/offline:动态启用(联机)或禁用(脱机)适配器(SDDPCM 保留设备的最后一个路径,并且如果该设备正在使用最后一个路径,则会失败)

?pcmquerypr:读取并清除暂存的保留和注册密钥

?pcmquerypr -vh /dev/hdisk30:查询并显示暂存的保留(-V 详细模式以及详细信息)

?pcmquerypr -rh /dev/hdisk30:释放暂存保留(如果设备被当前主机保留)

?pcmquerypr -ch /dev/hdisk30:删除暂存保留并清除所有保留密钥注册

?pcmquerypr -ph /dev/hdisk30:删除暂存保留(如果设备被其他主机保留)

?pcmgenprkey:设置或清除所有SDDPCM 多路径I/O (MPIO) 设备的PR_key_value Object Data Manager (ODM) 属性

manage_disk_drivers切换RDAC, MPIO2011-04-19 15:16:51

在AIX 6.1 TL3及之前

使用manage_disk_drivers查看以DS4800为例当前使用的是MPIO,支持RDAC跟MPIO

要切换到RDAC则输入

#manage_disk_drivers -c 5 (DS4800所在的序号是5)

然后输入y确认

最后执行# bosboot -a

重启后就切换成RDAC了

AIX 6.1 TL4的命令跟之前的有所不同

#manage_disk_drivers

Usage :

manage_disk_drivers [-l]

manage_disk_drivers -d device -o driver_option

manage_disk_drivers -h

Meaning of the Flags:

-l: Display the Devices, Present Drivers, and Driver Options

-d: The Device to change the Driver

-o: Selects the new Driver

-h: should be help but is interpreted as an illegal option

我们可以通过

#manage_disk_drivers -l 查看当前使用的是哪种多路径模式

Device Present Driver Driver Options

DS4100 AIX_APPCM AIX_APPCM,AIX_fcparray

DS4300 AIX_APPCM AIX_APPCM,AIX_fcparray

DS4500 AIX_APPCM AIX_APPCM,AIX_fcparray

DS4700 AIX_APPCM AIX_APPCM,AIX_fcparray

DS4800 AIX_APPCM AIX_APPCM,AIX_fcparray

DS5020 AIX_APPCM AIX_APPCM

DS5100/DS5300AIX_APPCM AIX_APPCM AIX_APPCM

#manage_disk_drivers -d DS4800 -o AIX_fcparray

将DS4800由AIX_APPCM(MPIO)改成AIX_fcparray(RDAC)

同样输入y确认然后再执行下#bosboot -a 重启

AIX常用命令大全

AIX常用命令大全 查看交换区信息: lsps -a 显示交换区的分布信息 lsps -s 显示交换区的使用信息 slibclean 清除处理程序遗留的旧分页信息 smit mkps 建立交换区空间信息 swapon -a 启动所有的分页空间 /etc/swapspaces 存放分页空间表格信息 ------------------------------------------------- 显示卷信息: lsvg 显示卷的名称 lsvg -l rootvg 显示rootvg卷的详细信息 ------------------------------------------------- mount卷的方法: varyonvg datavg 加载datavg卷 mount /dev/data1 加载datavg下的一个data1卷 裸设备类型:raw,jfs jfs可以转变成文件系统,而raw则不行 ------------------------------------------------- 在裸设备上安装oracle系统: 修改裸设备的权限,如裸设备名为system01,安装数据库用户为oracle chown oracle:dba /dev/system01 chown oracle:dba /dev/rsystem01 在使用文件时必须用rsystem01 ------------------------------------------------- smit快速路径名称:(smit:图形方式,smitty:字符方式) dev 设备管理 diag 诊断 jfs 定期档案管理系统 lvm 逻辑卷册系统管理员管理 nfs NFS管理 sinstallp 软件安装及维护 spooler 列印队列管理 system 系统管理

操作系统实验报告 LINUX基本命令使用和VI编辑器

实验报告模板 实验名称Linux基本命令使用和vi编辑器学院 姓名学号班级 实验地点实验日期评分 指导老师同组其他成员 一、实验目的 掌握Linux一般命令格式。 2.掌握有关文件和目录操作的常用命令。 3.掌握进程操作的常用命令。 4.熟练使用man命令。 5.学习使用vi编辑器建立、编辑、显示及加工处理文本文件。 二、实验环境 VMware,RedHat Linux 三、实验内容 正确地登录和退出系统(logout或exit)。 2.熟悉date,cal,who,clear命令。 3.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。 4.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。 5.利用man显示date等命令的手册页。 6.显示系统中的进程信息。 7.进入和退出vi。 8.利用文本插入方式建立一个文件。 9.在新建的文本文件上移动光标位置。 10.对该文件执行删除、复原、修改、替换等操作。 四、实验结果(含程序、数据记录及分析和实验总结等) 1.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。

Clear之后 2.浏览文件系统: (1)运行pwd命令,确定当前工作目录。 (2)运行ls–l命令,理解各字段含义。 第一部分“-rw-r--r--”表示该文件的权限,即所有者权限为读和写,组用户和其他用户的权限为只读。第二部分“l”表示该文件是符号链接,第三第四部分所 有者和所有者所在的用户组,第五部分的数字表示文件的大小(以字节为单位),剩下的依次是文件创建月日时间和文件名。

IBM-AIX命令详解(DOC)

AIX常用命令 AIX系统的设备有四种状态: Undefined(未定义):表示系统无法识别该设备,也就是系统找不到该设备。Defined(定义):表示系统可以识别设备,但是系统不能使用它。Available(可用):表示该设备在系统中可以使用,用户也可以使用。Stopped(停用):表示设备不能被使用,但操作系统通过驱动程序可以识别它。------------------------------------------------------------------------------- 一、查看错误记录 1、显示错误:errpt 2、显示详细的错误信息:errpt -a 或errpt -a|more 3、清空错误记录信息:errclear 0 二、查看文件系统 df -g 【以G为单位检查】或df -k 【以K为单位检查】 三、查看系统中的设备及其特征 lsdev -C显示的设备都已经安装在系统中。 lsdev -P显示系统预定义设备数据库中的所有设备,即系统能支持的设备。【举例】 1、查看硬盘: lsdev –Cc disk 2、看磁带机: lsdev –Cc tape 3、查看适配卡: lsdev –Cc adapter 4、处理器个数:lsdev –C|grep proc 【grep:强大的文本搜索工具,并把匹配的行打印出来(类似于find)】

5、查看预定义设备对象类中的所有设备,并具有列头:lsdev -P -H 6、要列出预定义设备对象类中的受支持的设备类,输入:lsdev -P -r class 7、要列出其名称以字母‘hdi’开头的所有设备:lsdev -l hdi* 8、要列出所有子pci0 总线,请输入:lsdev -p pci0 9、要列出其名称包含在文件/tmp/f 中的设备,输入:cat /tmp/f | lsdev -l - 四、显示系统的配置信息、诊断信息和重要产品数据(VPD)信息 lscfg -vp获取所有已配置硬件设备的详细信息 【举例】 1、查看硬盘信息: lscfg –vl hdiskx x表示数字 2、查看网卡信息: lscfg –vl entx x表示数字 3、查看磁带机: lscfg –vl rmtx x表示数字 4、要在每一行显示带有设备描述的系统配置:lscfg -s 5、要显示由逻辑名ent0 指定的特定设备的VPD:lscfg -v -l ent0 6、要显示不带有VPD 的逻辑名hdisk(或proc)所指定设备的名称、位置和描述:lscfg -l hdisk(或proc)\* 7、要将开放固件设备树中相应节点的VPD 显示到ent0 设备中: lscfg -vp -l ent0 五、查看硬件属性 lsattr:用于读取指定设备的配置属性,部分属性可更改 lsattr –El获取已配置设备的属性信息。 【举例】 查看硬盘属性: lsattr –El hdiskx x表示数字

Linux系统如何使用vi命令

Linux系统如何使用vi命令 linux系统使用vi命令方法 一、一般模式:删除、复制与粘贴类命令 x,x x为向后删除一个字符,x为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 d 删除当前行所有字符,试成为空行 ndd(n代表数字) 删除光标所在行的向下n列 d1g 删除光标所在行到第一行的所有数据 dg 删除光标所在行到最后一行的所有数据 yy 复制光标所在行 y1g 复制光标所在行到第一行的所有数据 yg 复制光标所在行到最后一行的所有数据 ynj(n代表数字) 复制光标所在行向下n+1行 dnj(n代表数字) 删除光标所在行向下n+1行 p,p p为复制的数据粘贴在光标的下一行,p为复制的数据粘贴在光标的上一行 j 将光标所在行与下一行的数据结合成一行 u 恢复前一个动作(undo) 二、编辑模式命令 i,i i为在当前光标所在处插入输入的文字,i为在光标所

在行第一个非空字符插入输入的文字 a,a a为在当前光标所在处下一个字符插入输入的文字,a 为在光标所在行最后一个字符的下一个字符处插入输入的文字o,o o为在光标所在行的下一行行首开始插入字符,o为在光标所在行的上一行行首开始插入字符 r,r r为替换光标所在那一个字符,r为一直替换光标所指的文字,直到退出 esc 退出,回到一般模式 三、命令模式 h 光标向左移一个字符 j 光标向下移一个字符 k 光标向上移一个字符 l 光标向右移一个字符 ctrl+f 屏幕向下翻一页 ctrl+b 屏幕向上翻一页 ctrl+d 屏幕向下翻半页 ctrl+u 屏幕向上翻半页 + 光标移动到下一行的第一个非空字符 - 光标移动到当前行的第一个非空字符 n空格(n代表数字) 光标向当前行向右移动n个字符 0(数字0) 光标移动到当前行的第一个字符(可以为空字符,注意与-区分) $ 光标移动到当前行的最后一个字符(可以为空字符,注意与-区分)

aix编辑器vi命令

vi FileName 打开文件FileName,并将光标置于第一行首。 vi +n FileName 打开文件FileName,并将光标置于第n 行首。 vi + FileName 打开文件FileName,并将光标置于最后一行。 vi + /pattern File 打开文件File,并将光标置于其中第一个于pattern 匹配的字符串处。vi –r FileName 在上次正用vi 编辑FileName 发生系统崩溃后,恢复FileName。 vi File1 … Filen 打开多个文件,依次对之进行编辑。 :%!xxd 按十六进制查看当前文件 :%!xxd -r 从十六进制返回正常模式 :n1,n2 co n3 将n1 行到n2 行之间的内容拷贝到第n3 行下。 :n1,n2 m m3 将n1 行到n2 行之间的内容移至第n3 行下。 :n1,n2 d 将n1 行到n2 行之间的内容删除。 :n1,n2 w filename 将n1 行到n2 行之间的内容保存到文件filename 中 :n1,n2 w! Command 将文件中n1行到n2行的内容作为Command的输入并执行之,若不指定n1、n2,则将整个文件内容作为Command 的输入。 :r! Command 将命令Command 的输出结果放到当前行。 :nr <文件> 把<文件>插入到第n行 :so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令) :l1,l2w <文件> 把第l1和第l2行之间的文本写到<文件>中去 :w >> <文件> 添加到<文件>末尾. 也可以使用行号 :e! 重新编辑当前文件,忽略所有的修改 ·(、[、、]、)对应显示 % 显示当前(、[、{ 、}、] 、)的对应项 ) 显示对应的( ) 显示对应的[ ] 显示对应的{ ·(、[、、]、)内数据选择 daB 删除{}及其内的内容(在非v可视模式下) diB 删除{}中的内容 ab 选择()中的内容 ib 选择()中的内容( 不含() ) aB 选择{}中的内容 iB 选择{}中的内容( 不含{} ) ·语法提示与自动补齐 ★ 插入模式下的单词自动完成 ★ 行自动完成(超级有用) ·设置ctags #ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686 ^p 自动补齐上下文已有相近项 ^n 自动补齐~/.tags中的相近函数 ^[ 显示~/.tags中的光标下的函数的原型,

AIX常用命令

AIX常用命令目录指令 文件操作 选择操作

安全操作 编程操作 进程操作 时间操作 网络与通信操作 Korn Shell命令

其他命令 1 基本命令 pwd 查看当前目录 ls -a查看隐藏信息-l查看详细信息 cd 转到指定目录 mkdir 创建目录 mkdir –p 创建多级目录 rmdir 删除目录(不能删除当前目录或父目录且必须为空) rm -rf file 删除文件 clear 清屏 istat 查看文件i_node表的信息

touch 更新文件的访问和修改时间 date 列出当前日期时间 who 查看已登陆的用户 who am i 查看当前用户 su 切换用户 man 帮助 vi file 创建/编辑文件 exit 退出 cp source target 拷贝文件 mv source target 移动文件或重命名 cat 查看文件内容 compress -v file 压缩文件 uncompress file.z 解压文件 passwd 修改口令 shutdown -h now 立刻关机 shutdown -r now 关闭并立刻重启 reboot 重启 2 查看端口连接数命令 netstat -an | find /i "8000" /c Windows下查看8000端口的连接

netstat -an | grep 8000 Linux和Aix下查看8000端口的连接 netstat -an | grep 8000 |wc -l 自动统计linux和Aix端口号为8000的连接数 3 更改权限命令 chmod a-x myfile rw- rw- rw-收回所有用户的执行权限chmod og-w myfile rw-r--r--收回同组用户和其他用户的写权限 chmod g+w myfile rw- rw- r--赋予同组用户写权限chmod u+x myfile rwx rw-r--赋予文件属主执行权限(常用) chmod go+x myfile rwx rwx r-x 赋予同组用户和其他用户执行权限 4 拷贝文件命令 //远程目录拷贝到本地 scp cata@108.199.2.201:/home/cata/nmon/nmon /home/oracle/nmon //本地拷贝到远程目录

linux下vi命令大全

linux下vi命令大全 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前

I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:将文件中所有p1均用p2替换 选项设置 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息 最后行方式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

linux下vi命令修改文件及保存等使用方法整理

vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、 游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。 vi的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode), 各模式的功能区分如下: 1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。 2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。 3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。 不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾

AIX命令手册

系统的配置 PV(physical volume)物理卷:普通的直接访问的存储设备,有固定的和可移动的之分,代表性的就是硬盘。 VG(volume group)卷组:AIX中最大的存储单位,一个卷组由一组物理硬盘组成,也就是由一个或多个物理卷组成。 PP(physical partition)物理分区:是把物理卷划分成连续的大小相等的存储单位,一个卷组中的物理分区大小都相等。 LP(logical partition)逻辑分区:适映射物理分区的逻辑单位,一个逻辑分区可以对应一个也可以对应多个物理分区。 LV(logical volume)逻辑卷:是指卷组中由多个逻辑分区组成的集合,逻辑卷中的逻辑分区是连续的,但是对应的物理分区是不连续的,可以在一个磁盘上,也可以在不同的磁盘上。 FS(file system)文件系统:是指在AIX系统中面向用户的存储空间。一个逻辑卷只能创建一个文件系统,也就是说一个文件系统对应一个逻辑卷,如果删除逻辑卷也将删除文件系统。

配置hd6 #smitty chps#lsvg rootvg(PP)#lsps –a(size)(特定的值—size)/pp=128—当前所用的值 修改时区时间#smitty chtz_date 关机重启#shutdown -Fr重启#shutdown -F关机 修改网关#smitty route 编辑limits #vi /etc/security/limits 编辑hosts #vi /etc/hosts 切换用户#su tianhao 修改TCP/IP #smitty tcpip 安装软件#smitty installp 安装数据库软件包PerfTools 补丁bos.adt, bos.data,https://www.doczj.com/doc/bd16737717.html,,https://www.doczj.com/doc/bd16737717.html,pat,bos.cifs_fs, rsct.basic,bos.dosu (https://www.doczj.com/doc/bd16737717.html,pat.basic,https://www.doczj.com/doc/bd16737717.html,pat.clients,rsct.opt.storagem,bos.clvm)为HA补丁查看系统版本#Oslevel –r #oslevel –s 图形界面#smit easy_install 安装文件X11 DT 安装包CDE 启动图形界面#cd /etc #./rc.dt 安装HACMP(doc ha ha nfs不安装)#lslpp -l |grep cluster版本修改系统最大进程数#smitty chgsys 语言环境#smit mlang 安装文件zh_cn gb18030中文 添加文件系统#smitty jfs2 修改文件系统#chfs –a size=10G /usr df –g chfs –a size=2G / (/home /usr /var /tmp /dev /etc /其他)文件系统lsvg rootvg 活动空间free 配置AIO #smit chgaio available 数据库

实验一 Linux下常用命令和Vi的使用

实验一Linux下常用命令和Vi的使用 实验学时:2学时 实验类型:验证型 一、实验目的 了解UNIX/LINUX运行环境,熟悉UNIX/LINUX的常用基本命令,熟悉和掌握 UNIX/LINUX下c语言程序的编写、编译、调试和运行方法。 二、实验内容 ●熟悉LINUX的常用基本命令如ls、who、pwd、ps等。 ●练习LINUX的文本行编辑器vi的使用方法 ●联机帮助命令-man的使用。 三、实验要求 按照要求编写程序,放在相应的目录中,编译成功后执行,并按照要求分析执行结果,并写出实验报告。 四、实验步骤: 1.用pwd显示当前工作目录名:pwd;如果当前目录不是root,需改变到root目录: cd/root。 2.用mkdir建立四个目录:mkdir /root/test1;mkdir /root/test2;mkdir /root/test2/abcd;mkdir /mypro。 3.用cd命令从root开始依次进入test1、test2、abcd、mypro目录,并用 pwd验 证。 cd test1; pwd cd ../test2;pwd cd abcd;pwd cd ../../mypro;pwd 4.用cd 命令从mypro目录返回到根目录,并用pwd命令验证。 cd / pwd 5.用rmdir命令删除子目录 abcd。 Rmdir /root/test2/abcd 6.分别用ls ls –a 和ls-l查看root目录的内容。 ls ls –a ls -l 7.man 命令: (按PageUp键向上翻页PageDown向下翻页,按q退出) man ls 查看ls的帮助信息。 man cp 查看cp的帮助信息。 man mkdir 查看mkdir的帮助信息。 man rm>rm_help 用重定向生成帮助文档

AIX系统常用命令

AIX常用命令 一.目录和文件操作 1.ls命令列出指定目录下的文件,缺省目录为当前目录 #ls -a 列出所有文件,包括隐藏文件 #ls –l 显示文件详细信息 2.pwd显示出当前的工作目录 3.cd改变当前的工作目录 #cd /tmp 进入/tmp 目录 #cd .. 进入上级目录 4.mkdir 建立目录 #mkdir tmp 在当前目录下建立子目录tmp #mkdir -p /tmp/a/b/c 建立目录/tmp/a/b/c ,若不存在目录/tmp/a 及/tmp/a/b 则建立 5.rm 删除文件或目录 - f 删除文件时不作提示 - r 删除目录及其所有子目录 [例子]: #rm file1 删除文件file1 #rm -r /mytmp 删除目录/mytmp 6.cp 拷贝文件 [语法]: cp [ -p ] [ -r ] 文件1 [ 文件2 ...] 目标 文件1(文件2 ...)拷贝到目标上,目标不能与文件同名。 [参数]:

- p 不仅拷贝文件内容,还有修改时间,存取模式,存取控制表 - r 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件 [例子]: #cp file1 file2 将文件file1 拷贝到文件file2 #cp file1 file2 /tmp 将文件file1 和文件file2 拷贝到目录/tmp 下 #cp -r /tmp /mytmp 将目录/tmp 下所有文件及其子目录拷贝至目录/mytmp 7.mv 移动文件 将文件移动至目标,若目标是文件名,则相当于文件改名 #mv file1 file2 将文件file1 改名为file2 #mv file1 file2 /tmp 将文件file1 和文件file2 移动到目录/tmp 下 8.chmod 文件权限设置 [语法]: chmod [-R] 模式文件. #chmod 777 file1将文件file1存取权限置为所有用户可读可写可执行 #chmod 755 file1 文件的属主对文件file1有可读可写可执行的权限,文件所归属的用户组有可读可执行的权限,其它用户有可读可执行的权限。 9.Chown 文件属性设置 [语法]: chown [-R] 文件属主文件... [参数]: -R 改变所有子目录下所有文件的存取模式 [例子]: chown tom file1 将文件file1 的文件属主改为用户tom chown –R oracle /oracle 将/oracle属主改为用户oracle 10.vi 文本编辑 vi是unix上最常用的文本编辑工具 vi filename :打开或新建文件,并将光标置于第一行首 插入命令:i 从光标所在位置前面开始插入资料

AIX最常用命令(中文注释)

AIX常用命令 目录操作 命令名功能描述使用举例 mkdir 创建一个目录mkdir dirname "mkdir yaohc/test" rmdir 删除一个目录rmdir dirname "rmdir yaohc/test" mvdir 移动或重命名一个目录mvdir dir1 dir2 "mvdir test testcopy" cd 改变当前目录cd dirname pwd 显示当前目录的路径名pwd ls 显示当前目录的内容ls -la dircmp 比较两个目录的内容dircmp dir1 dir2 文件操作 命令名功能描述使用举例 cat 显示或连接文件cat filename pg 分页格式化显示文件内容pg filename more 分屏显示文件内容more filename od 显示非文本文件的内容od -c filename cp 复制文件或目录cp file1 file2 rm 删除文件或目录rm filename "rm -r test" mv 改变文件名或所在目录mv file1 file2 "mv copytest copy" ln 联接文件ln -s file1 file2 find 使用匹配表达式查找文件find . -name "*.c" -print

file 显示文件类型file filename 选择操作 命令名功能描述使用举例 head 显示文件的最初几行head -20 filename tail 显示文件的最后几行tail -15 filename cut 显示文件每行中的某些域cut -f1,7 -d: /etc/passwd colrm 从标准输入中删除若干列colrm 8 20 file2 paste 横向连接文件paste file1 file2 diff 比较并显示两个文件的差异diff file1 file2 sed 非交互方式流编辑器sed "s/red/green/g" filename grep 在文件中按模式查找grep "^[a-zA-Z]" filename awk 在文件中查找并处理模式awk '{print $1 $1}' filename sort 排序或归并文件sort -d -f -u file1 uniq 去掉文件中的重复行uniq file1 file2 wc 统计文件的字符数、词数和行数wc filename nl 给文件加上行号nl file1 >file2 安全操作 命令名功能描述使用举例 passwd 修改用户密码passwd chmod 改变文件或目录的权限chmod ug+x filename

linux_vi替换命令详解

有用的命令: vi/vim打开文档后,按shift+: 此时光标在:后面 %s/vivian/sky/g 是将全文中所有的vivian替换成sky 我们一般进行的操作是删除操作,就是替换为空 %s/,wangcaiwei//g 或 %s/wangcaiwei,//g 下面是详细的介绍,有其他需求去下面找 Linux系统攻略关于vi替换命令的使用说明 来源:考试大 2008年01月03日10:50 vi/vim 中可以使用:s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个vivian 为sky :s/vivian/sky/g 替换当前行所有vivian 为sky :n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky :n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为sky

n 为数字,若n 为.,表示从当前行开始到最后一行 :%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian 为sky :%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian 为sky 可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符 :s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/ :%s+/oradata/apras/+/user01/apras1+ (使用+ 来替换/ ):/oradata/apras/替换成/user01/apras1/ 1.:s/vivian/sky/ 替换当前行第一个vivian 为sky :s/vivian/sky/g 替换当前行所有vivian 为sky 2. :n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky :n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为sky

AIX常用命令介绍

常用命令介绍 文件系统维护命令: Mount /umount Lsfs/lsfs -q df命令 # df -k 以兆为单位列出文件系统空间使用情况 who命令 lsdev 命令 # lsdev –C –H –S a 列出系统中的可用设备 # lsdev -Cc adapter # lsdev -Cc disk 列出系统中的所有硬盘 # lsdev -Cc memory 列出系统中的所有内存 # lsdev -Cc processor 列出系统中的所有CPU lsattr 命令 # lsattr -El mem0 查看内存的大小 # lsattr -El hdisk0 查看硬盘的信息 # lsattr -El proc0 查看处理器的个数 lscfg 命令 # lscfg -vl ent0 查看en0网卡的位置 如显示Device Specific.(YL)........P2-I4/E1,表明该网卡在第四个槽位上。 如显示Device Specific.(YL)........P2/E1,表明该网卡在主板上。 #lscfg –vl ssa0 lppchk 命令 # lppchk -v检查是否有安装不正确的软件包 oslevel 命令 # oslevel 查看AIX操作系统版本号 如显示:4.3.3.0 ,表示版本号为4.3.3.0 # oslevel -l 4.3.3.0检查是否有版本低于V4.3.3的软件包,如果有,需重新安装 lslpp 命令 # lslpp -l查看已安装的软件包及版本号 # lslpp -w /usr/bin/vi uname 命令 # uname -m查看CPU的序列号,该序列号用来生成BTP的序列号# uname -S 主机名修改主机系统名 hostname

vi下的一些常用命令

vi 是visual edit 的缩写 文本编辑器是所有计算机系统中最常用的一种工具。UNIX下的编辑器有ex,sed和vi等,其中,使用最为广泛的是vi,而vi命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾

H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令

linux vi 替换命令

linux:vi 替换命令 vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法,记录几种在此,方便以后查询。 1.全局替换 (1) v + G + $ 选定全部,然后输入 :s/原始字符串/目标字符串/ (2) :%s/原始字符串/目标字符串/ 2.清除页面中所有行尾的空白符: :%s/\s\+$// 3.清除所有空白 :%s/\(\s*\n\)\+/\r/ 4.去掉所有的//注释 :%s!\s*//.*!! 5.去掉所有的/* */注释 :%s!\s*/\*\_.\{-}\*/\s*! ! 6.做某些内部数据重复替换 有些时候我们需要组织一些批量的数据进行命令行的执行,比如我们需要利用前面的数据生成后面的数据,例如这样的数据: /var/database/aaa.txt /var/database/bbb.txt /var/database/ccc.txt 我想变成一个个的指令,比如变成一个个复制命令,复制到但前目录,

那么可以执行: :%s/\(.*base\/\)\(.*\.txt\)/cp \1\2 \.\/\2/ 变成了: cp /var/database/aaa.txt ./aaa.txt cp /var/database/bbb.txt ./bbb.txt cp /var/database/ccc.txt ./ccc.txt 这里关键是子模式的使用: () 中间的,\1 代表第一个找到的子模式,\2代表第二个,以此类推,vim里面的()必须转义,跟其他语言不一样 7.增加注释(一个操作应用在多行) 比如需要增加#或者是//这种注释: Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定) 8.对齐行 v 选定需要整齐的行,输入 = 进行归整 9.打开多窗口 在vim中使用 :sp 文件名打开行窗口(横),使用 :vsp 文件名打开列窗口(竖),使用 :q 关闭当前窗口,使用 :qa 关闭所有窗口,使用 Ctrl + w 在各个窗口中进行切换。 最大化窗口:Ctrl + w 激活某个窗口,然后 Shitf + - 进行最大化

AIX使用vi编辑器删除文本中所有空行

AIX使用vi编辑器删除文本中所有空行 2010-08-09 10:40 我这里在编辑一个很大的文件,有几万行,都是文件名sheetid, 中间有很多空行,我现在要做的事情就有要把这个文件中的空行都删除掉,这个本来想在ultraedit里面完成的,结果弄了好半天都没有搞定,时间紧急也没法再去慢慢的try了,干脆放到AIX上面使用vi来做,也是在网上google 结果找到很多这样的: 12)删除操作 :%s/r//g 删除DOS方式的回车^M :%s= *$== 删除行尾空白 :%s/^(.*)n1/1$/ 删除重复行 :%s/^.pdf/new.pdf/ 只是删除第一个pdf :%s/// 又是删除多行注释(咦?为什么要说「又」呢?) :g/^s*$/d 删除所有空行 :g/^s*$/d 删除所有空行 :g!/^dd/d 删除不含字符串'dd'的行 :v/^dd/d 同上(译释:v == g!,就是不匹配!) :g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行 :v/./.,/./-1join 压缩空行 :g/^$/,/./-j 压缩空行 ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。 d0 删至行首。 d$ 删至行尾。 ndd 删除当前行及其后 n-1 行。 x 或 X 删除一个字符。 Ctrl+u 删除输入方式下所输入的文本。 ^R 恢复u的操作 J 把下一行合并到当前行尾 V 选择一行 ^V 按下^V后即可进行矩形的选择了 aw 选择单词 iw 内部单词(无空格) as 选择句子 is 选择句子(无空格) ap 选择段落 ip 选择段落(无空格) D 删除到行尾 x,y 删除与复制包含高亮区 dl 删除当前字符(与x命令功能相同) d0 删除到某一行的开始位置 d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符) dw 删除到某个单词的结尾位置 d3w 删除到第三个单词的结尾位置 db 删除到某个单词的开始位置

IBM--AIX命令

IBM pSeries服务器AIX系统的常用命令 1.如何移动与重命名文件? 要将文件和目录从一个目录移动到另一个目录,或重命名一个文件或目录,使用mv 命令。 如果将一个文件或目录移动到新的目录而不指定新的名字,则其保留原来的名字。 注意: 如果不指定-i 标志,mv 命令可能会覆盖许多已存在的文件。-i 标志会在覆盖文件之前提示确认。而-f 标志则不会提示确认。如果一起指定了-f 和-i 两个标志,则后一个指定的标志优先。 以下是如何使用mv 命令的示例: 1.要将文件移动到另一个目录并给它一个新名字,请输入: # mv intro manual/chap1 按下Enter 键。 该命令将intro 文件移动到manual/chap1 目录。名字intro 从当前目录被除去,同样的文件 在manual 目录中以chap1 的名字出现。 2.要将文件移动到另一个目录,且不改变名字,请输入: # mv chap3 manual 按下Enter 键。 该命令将chap3 移动到manual/chap3。 用mv 命令重命名文件 可以使用mv 命令改变文件的名字而不将其移动到另一目录。 3.要重命名文件,请输入: # mv appendix apndx.a 按下Enter 键。 该命令将appendix 文件重命名为apndx.a。如果名为apndx.a 的文件已存在,则旧的内容被appendix 文件的内容替换。 2.如何在系统中移动或者重命名目录? 如果需要移动或者重命名目录,可以在系统中使用mvdir 命令。 例如,如果需要移动目录,可以在命令行中输入下面的命令: # mvdir book manual 然后按下Enter(回车)键。 如果manual 目录在系统中已经存在,则上面的命令会将book 目录移动到名为manual 的目录下面。否则,book 目录会被重新命名为manual。 例如,如果需要移动和重命名目录,请在命令行中输入下面的命令:

相关主题
文本预览
相关文档 最新文档