hp_unix学习笔记
HPUNIX基础命令总结

HPUNIX相关1 基本命令1.1 修改系统参数set_parms,以root用户身份登录并键入以下命令:#/sbin/set_parms options其中,options代表以下选项之一:1.2 更改口令$passwd可以使用passwd命令设置或者更改口令,系统将提示您输入旧口令,然后,提示您输入新口令,并重新输入新口令进行确认。
1.3 列举文件#ls要查看有关文件的其他信息,请使用ll(long listing)命令:#ll1.4 查看文件使用more命令,可以逐屏查看文本文件。
对于多屏才能查看完,可以执行下列任何操作:(1) 按空格键,逐页滚动查看文件。
(2) 按B,逐页回滚查看。
(3) 按Enter键,逐行滚动查看文件。
(4) 按Q,结束查看文件并退出more。
1.5 显示文件的前几行和后几行通常,只需查看文件的起始部分(开头)和结束部分(结尾)。
查看文件的前几行可以使用head命令,如下所示:$head filename缺省情况下,将显示filename的前10行,包括空行。
查看文件的后10行,可以使用tail 命令,如下所示:$tail filename将显示filename的后10行,包括空白行。
head和tail均可附带数字参数,如下所示:$head 25 filename表示显示文件filename的前25行。
1.6 重命名、复制和删除文件(1) 使用mv重命名文件$mv myfile foofilemv命令还可用于将文件移动到系统中的其他位置。
(2) 使用cp复制文件$cp myfile myfile2(3) 使用rm删除文件$rm myfile2 使用方法2.1 如何判断服务器光纤卡和磁盘阵列正确连接切换到root用户,使用如下命令:#ioscan –fnCdisk有一列H/W Type,如果为CLAIMED表示连通,如果为NO_HW表示断开。
2.2 如何查看服务器和磁盘阵列建立的通道切换到root用户,使用如下命令:#strings /etc/lvmtab2.3 如何根据槽位确定网卡的名称在HP服务器后面有标识数字槽位的标牌,对应相应的槽位。
HP-unix常用命令及日志

HP-unix常用命令及日志HP-UX基本操作SAP BASIS 2009-01-07 16:54:13 阅读8 评论0 字号:大中小订阅vi编辑器常用操作:所需操作vi 命令向前移动一个字符h向后移动一个字符l向前移动一个单词 b向后移动一个单词w移动到一行的开头^移动到一行的结尾$删除光标所在位置的字符x在光标之前.光标后的所有内容都向后移i在一行的第一个字符之前I在当前光标位置之后插入文本 a在一行的结尾处 A在光标下方另起一行以输入文本o在光标上方另起一行以输入文本O使用行号:要移动到指定的行请使用G“转至”命令.例如假定您正在编辑文件并希望转至第799行请键入799G这样光标就会移到第799行同样要转至文件的第1行请键入1G要将光标移动到最后一行请键入G 要查找当前行的行号请按CTRL-G键要沿文件左边距显示行号请键入:set number要滚动查看文本请按ESC键确定您是否处于命令模式,然后按住CTRL键和适当的键滚动方式按住滚动到上一屏CTRL-B向上滚动半屏CTRL-U向上滚动一行CTRL-Y滚动到下一屏CTRL-F向下滚动半屏CTRL-D向下滚动一行CTRL-E要自当前光标位置向上搜索,使用命令/pattern(要搜索的字符)并按下enter要自当前光标位置向下搜索,使用命令?pattern(要搜索的字符)并按下enter例如:/place enter如果vi找到了place,它将把光标定位在p处.要搜索place的其他匹配,按n表示继续朝同一方向搜索;N表示朝反方向搜索常用的删除命令:rm filenamerm -r dir(同时删除目录中所有东西)rm -ri dir(删除目录中所有东西前询问)使用另外的shell:直接在命令行提示符下面输入shell类型,比如csh或者ksh;查看系统中正在使用的shell用ps命令;要退出shell用exit永久更改登陆shell:$ chsh username full_shell_name,例如:$ chsh terry /usr/bin/csh%各种shell及其登陆教本:shell 系统登陆脚本本地登陆脚本POSIX /etc/profile $HOME/.profileC /etc/csh.login $HOME/.cshrc$HOME/.loginBourne /etc/profile $HOME/.profile在以下示例中将shell 提示符(PS1) 重新设置为Ready ==>如果PS1是shell变量则subshell 通过键入sh创建不会识别新值如果导出PS1 PS1 的值将传递到subshell$ PS1="Ready ==> " 设置shell变量PS1Ready ==> sh 键入subshell名$ exit Subshell当前有缺省提示符退出到原始shellReady ==> export PS1 使用export设置环境变量Ready ==> sh 进入subshellReady ==> Subshell识别新的PS1值Ready ==> exit 退出subshellReady ==> PS1="$ " 使用export 设置环境变量$ 返回到正常的工作环境三种shell都使用参数替换引用变量值参数替换表示用变量值替换变量名如果在变量名前加一个货币符号($)即发生参数替换例如在上文我们已了解到如何使用命令echo $SHELL确定登录shell$ echo SHELL 由于省略$将回显单词SHELLSHELL$ echo $SHELL如果加上$将回显SHELL的值/usr/bin/sh以下示例说明如何更改PATH 以将$HOME/bin 放在其他目录前并将当前目录作为搜索路径中的最后一个目录此示例假设用户使用的是POSIX shell$ echo $PATH/usr/bin/sh:/usr/bin:/usr/bin:/usr/contrib/bin:/usr/local/bin$ PATH=$HOME/bin:$PATH:. 包含作为最后一个元素的. 使当前目录成为$ echo $PATH 最后一个搜索目录/home/terry/bin:/usr/bin/sh:/usr/bin:/usr/bin:/usr/contrib/bin:/usr/local/bin:.在命令行中输入elm命令启用电子邮件,J和K用于上移下移可以通过nslookup命令获取远程主机列表,例如:# nslookup hpabc如果nslookup找到了远程系统,就能够在该系统中执行FTP命令在FTP工作模式下列举和创建目录:操作键入显示当前远程工作目录的名称pwd显示当前本地工作目录的名称!pwd将远程系统上的工作目录更改为remore_directory cd remote_directory将本地系统上的工作目录更改为local_directory lcd local_directory列举当前远程目录的内容ls创建远程目录mkdir remote_directory删除远程文件delete remote_file将文件复制到远程系统:rcp local_file remote_hostname:remote_file从远程系统复制文件:rcp remote_hostname:remote_file local_file将目录复制到远程系统:rcp -r local_dir remote_hostname:remote_dir从远程系统复制目录:rcp -r remote_hostname:remote_dir local_dir登陆到远程系统:rlogin remote_hostname要以其他用户身份登陆到远程系统,使用-l username选项,例如用户leslie可以使用以下命令从其他用户以登陆的本地系统登陆到远程系统hpabc:rlogin hpabc -l leslie处于rlogin下时,要在本地系统上执行命令,需要键入rlogin转义字符'~!'以及要在本地执行的命令,例如:~! pwd/home/leslie在远程系统上运行命令:remsh remote_hostname command列举远程主目录的内容:remsh hostname ls要将scores文件的所有权限授予用户george,使用命令chown george scores如果还想将scores所属的组也更改,使用命令chown george:team scoresumask的缺省值为0,说明每个用户对创建的新文件都具有读写权限-rw-rw-rw-,且每个用户对创建的新目录都具有读写或执行权限drwxrwxrwxumask的语法如下:umask who operator permissions确定当前的umask设置,输入umask -SHP-UX中的常见日志SAP BASIS 2009-01-07 16:56:33 阅读12 评论0 字号:大中小订阅/etc/rc.log/etc/rc 运行记录用读取文本文件的方法/var/adm/syslog/syslog.log 一般系统日志注意提示信息及对应的/var/adm/sw/*.log 软件安装日志日期,分析发生的相关问题/var/adm/wtmp 用户登录信息用last命令查看/var/adm/btmp 用户登录失败信息用lastb命令查看/var/sam/log/samlog SAM日志/var/spool/mqueue/syslog sendmail日志/etc/shutdownlog 关机(shutdown)信息/usr/adm/diag/LOGxxx 用工具查看/var/adm/nettl.LOG* 网络日志由HP工程师负责/var/adm/crash core dump文件由HP工程师负责文件清理。
unix环境高级编程读书笔记

Unix环境高级编程读书笔记Unix环境高级编程是一本经典的计算机编程指南,它深入探讨了Unix 操作系统的各个方面,并提供了大量有关高级编程和系统级编程的知识。
在本文中,我将根据这本书的内容,为您撰写一份读书笔记,希望能够帮助您更深入地理解Unix环境的高级编程。
1. Unix环境概述Unix操作系统诞生于20世纪70年代初,在经过几十年的发展之后,成为了当今世界上最流行的操作系统之一。
Unix系统以其稳定性、可靠性和安全性而闻名,被广泛应用于服务器、工作站和嵌入式系统中。
Unix环境高级编程这本书就是帮助读者深入理解Unix操作系统的各个方面,包括文件I/O、进程控制、信号处理、线程和内存管理等内容。
2. 文件I/O文件I/O是Unix编程中的基础,Unix环境高级编程中详细介绍了文件描述符、标准I/O库、文件和目录操作等内容。
这些知识对于理解Unix系统中的文件系统操作非常重要,可以帮助开发人员更好地处理文件和目录,提高程序的效率和稳定性。
3. 进程控制Unix系统以进程为核心,Unix环境高级编程深入探讨了进程的创建、终止、信号处理、进程间通信等内容。
理解这些内容可以帮助开发人员编写更加健壮和高效的多进程程序,提高系统的并发能力和响应速度。
4. 线程和同步Unix环境高级编程还介绍了线程的创建、同步、互斥和条件变量等内容。
线程编程是Unix系统中的重要部分,了解这些知识可以帮助开发人员编写更加高效和安全的多线程程序,提高系统的并发能力和性能表现。
5. 内存管理Unix系统的内存管理也是非常复杂的,Unix环境高级编程对内存分配、共享内存、内存映射等内容进行了深入讲解。
理解这些知识可以帮助开发人员更好地管理系统内存,避免内存泄漏和内存碎片问题,提高系统的稳定性和性能。
总结回顾通过阅读Unix环境高级编程这本书,我对Unix系统的各个方面有了更深入的了解。
文件I/O、进程控制、线程和内存管理等内容让我受益匪浅,我相信这些知识对我的编程能力会有很大的提高。
HP-UNIX维护知识

HP-UNIX维护知识Unix安装后創建文件系統前的準備*注:因为我的机器只有一个磁盘,所以,此步中除创建逻辑卷外大部分操作可以省略。
①建物理卷。
找出与磁盘相关的设备文件:ioscan(命令):ioscan–funC disk。
找到disk对应的设备文件名:c1t15d0因只有一个磁盘,所以只能创建一个物理卷。
在创建前,通过mediainit对磁盘格式化合校验完整性:#mediainit/dev/rdsk/c1t15d0l创建物理卷:#pvcreate/dev/rdsk/c1t15d0【hpux】这里应该用#pvcreate-B/dev/rdsk/c1t15d0,因为您说只有一个硬盘,那么这个硬盘一定同时是启动盘,需要加-B参数!注:如果此时该磁盘以输入某卷组的一部分,而且确信要创建物理卷。
在命令行加“-f”来强制执行。
②创建卷组。
(仅供理解用,本系统不需要)1.用卷组名在/dev下创建一目录。
如果卷组名为vg01,则目录为:/dev/vg01。
#mkdir/dev/vg01.在此目录下为该卷组创建一组设备文件。
#mknod/dev/vg01/group c640x010000创建卷组(以物理卷为参数):#vgcreate/dev/vg01/dev/dsk/c1t15d0.建完后,可以用命令:vgdisplay来检查设置是否正确。
③创建逻辑卷。
创建逻辑卷时,相应的字符设备和块设备会在卷组目录下生成。
现在,我们在默认卷组vg00中创建以下逻辑卷:一个256MB,名为lvoltuxlog的逻辑卷。
#lvcreate-L256-n lvoltuxlog。
参数:-L以MB为单位表示逻辑卷的大小。
-n指定逻辑卷名称,缺省为:lvol1,lvol2…..。
【hpux】如果涉及多个卷组,最好加上卷组名称比如:#lvcreate-n lvname vgname二、創建文件系統。
注:系统安装完成后,会自动创建一些文件系统和目录。
HPUNIX培训

/var/adm/syslog/mail.log 系统电子邮件的信息
UNIX基本操作
常用系统文件
/etc/hosts /etc/passwd /etc/group
主机名,别名与IP地址对应文件 口令文件,内容为: 用户组文件,内容为:
Agenda
UNIX 历史 UNIX 操作系统基本概念
UNIX 基本操作
UNIX 进一步学习资料
总结
UNIX 基本操作
目录结构
/
bin dev etc sbin lib root usr home
存放常用命令 所有外部设备 系统管理时要用到的各种配置文件 存放系统管理员的系统管理程序 存放系统动态连接共享库 超级用户的主目录 用户的很多应用程序和文件都存放在该目录下
列出正在运行的所有进程的各种信息:如进程号及进程名等
UNIX基本操作
文件操作
$mkdir $cd $cat $vi $cp $mv $rm $diff $wc $grep (global regular expression print) $tar
UNIX基本操作
显示系统剩余空间信息
UNIX基本操作
日志文件
/etc/rc.log /etc/shutdownlog
/etc/rc
关机信息
运行记录
/var/adm/syslog/syslog.log一般系统日志 /var/adm/wtmp
用户成功登录信息
/var/adm/btmp
unix学习笔记

rm 删除 -i info -r 包括目录本身 -f移除用户没有写权限许可的文件??(其实是删除了一个链接)
ln 创建文件或目录的快捷方式并改写源文件的链接数 -f 强制建立链接,不询问覆盖许可 -n 不覆盖现有文件 -s建立符号链接??
cd .. ~ 或直接回车至用户子目录
df disk free 检测磁盘空间
ps 显示系统进程信息 F(列出进程标记) S状态 UID PPID父进程 ID C系统调度编号 PRI优先级 NI ADDR地址 SZ大小/块 WCHAN TTY终端号 TIME COMD
-a all
-e everything
-f full 显示它的全面进程
-size +n -n 大于多少 小于多少
-OK 命令{} \; -exec 找出来的文件直接用命令来操作?
-maxdepth n 找多少层子目录
mount 挂载设备到指定目录 默认为 /mount 找到光驱 /dev/cdrom 找到软驱 /dev/fd0
umount 卸载设备
chmod 改变文件或目录的权限 谁(u g o a) 操作符(+ - =) 许可权限(r w x s?t?) 文件名/目录名 用,隔开每次改变权限 注:只有文件主和超级用户才能改变权限
3个数值(八进制) 目录名
umask 显示或改变默认的文件权限状态字 若为 umask 111 则用原来的mask值 逐位减1
int1 -le int2
-d file 这个目录是否存在
-f file 这个文件是否存在
-s file 判断文件长度是否为非0
-r file 判断文件是否可读
unix学习笔记

●File命令可用来确定文件类型#file 文件名●Lsls –a 列出目录中的所有条目,包括以”.”开头的隐藏文件ls –R 列出目录下子目录、文件例如:ls –aR /home/denisels –x 用多栏格式列出文件ls –F 在目录后面加”/”,可执行文件后面加”*”,符号链接后面加”@”ls –d 只列出目录ls –t 按修改时间列出条目ls –x|pg 使用分页程序显示●文件名扩展和模式匹配* ls *.c 匹配零个或多个字符? ls conf.? 匹配任意单个字符[list] ls conf.[co] 匹配列表中的任意字符[lower-upper] ls libdd.9873[5-6].sl 匹配范围中的任意字符~ ls –a~ 主目录~usename ls –a~gene 该用户名对应的主目录●cp –i file1 file2 ,使用-i 选项,执行复制是,在要覆盖文件之前,-i 选项会前询问是否覆盖文件-f 强制复制,-p 在复制时保留权限-r 递归复制cp,mv,rm -i -i选项使用交互式方式执行命令cp file1 path-to-directory/. /.选项在目录不存在时,用户会获得一个错误信息●mkdir –p 可以创新包含任意多个子目录的目录。
创建一个名为level1的目录,在其下创建一个目录level2,及其下子目录level3mkdir –p level1/level2/level3●rm 删除文件和目录-i 交互式删除,-f 强制删除,-r 递归删除目录中的文件,然后删除目录本身为需要额外包含的特殊目录中建立一个称为–i 的文件,rm命令将-i文件看做一个命令参数touch ./-i删除以短划线开始的文件名,例如删除文件-i , rm ./-i删除以圆点开始的文件,可以通配符模式.??*删除除了某个文件以外的所有文件rm –i `ls –d *.txt|grep –v …^john\.txt$‟`删除所有名称以.txt结尾的文件,除了john.txt以外。
HP—UNIX基本操作

HP-UX 基本命令学习1.HPUX 查看CPU个数ioscan -fnCprocessor2.HPUX 查看主机型号model3.HPUX 查看物理内存大小dmesg4.HPUX 查看系统配置print_manifest5.HPUX 查看序列号cstm补充一些网上找来的:1.model查看机器型号,和uname -a 差不多。
2.uptime查看机器上次启动时间和cpu平均负载3.top前几行是cpu个数,型号,和平均负载,下面的十几行信息是进程占用cpu实时状况,一般占用cpu越多排名就越靠前。
4.sar 2 3查看系统当前负载,sar -u 查看cpu的负载,sar -d 查看磁盘的负载,还有其他的参数,查man吧。
5.cd var/admll net*tail shut*查看最后几次关机的休息,包括时间,用户。
6.dmesg用于显示系统硬件的诊断消息。
7.swapinfo查看交换区信息,还有一些其他参数,可以man一下。
8.cstm(这个工具非常好用,大家可以重点注意)set dev 1infoilusalmapinfowait ilru -lquit9.ioscan -fnkClanioscan是扫描并列出所有设备和发现的其他设备,-f表示显示完整列表,-C表示类别,-k表示扫描内核的设备文件,默认是扫描机器实际有的,-n表示只列出/dev/下的设备文件。
nscan列出系统内所有网卡的信息stat -in这个大家都经常使用,-i表示网络接口状态,包括主接口和逻辑接口;-n表示显示IP地址。
12.ioscan -fnkCdisk这个同9。
13.armdsp -i(注:armdsp是VA7400的专用命令)14.armdsp -a va7400 > /tmp/valogvi /tmp/valog显示阵列的状态和设置信息,包括逻辑配置,物理的配置及当前的状态都会显示出来,-a 显示所有的阵列信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分: UNIX系统基础第一章:UNIX shell1. UNIX操作系统的核心称为内核,内核是处理用户软件和计算机硬件之间所有通信的一个软件.由内核决定如何同外围设备通信等等.UNIX用户是无法与内核直接交互的,而是经常同一个叫做UNIX shell的程序打交道.shell是一个命令解释器.shell接受用户的命令,解释它们并采取必要的动作去执行这个命令.这也为用户提供这些命令的输出.Shell是一个UNIX用户的命令解释器。
它从用户那里取得输入并根据输入完成一个动作。
内部命令内置在shell中而,外置命令以单独的文件保存。
如果你使用了一个长度大于8的口令,第8个字符以后的字符被忽略。
2. 在UNIX系统中,每一个用户都有一个独一无二的号码和用户名联系在一起,这个号码叫做User ID. Root 用户的ID是0 因此任何用户拥有了这个ID也就拥有了超级用户权限.3. $表示为普通用户. #表示为超级用户.4. 按ESC+K: 重新执行上一次的命令.5. History命令用来回调以前使用过的命令.History -3 :显示最近使用的三个命令.6. 别名: alias dir=ls 用dir来取代ls7.启动文件有两种:系统启动文件和用户启动文件.系统启动文件对系统中所有用户都是通用的,但用户启动文件可以为每一个用户定制.HP-UX系统的启动文件叫作profile 存放在/etc目录下用户的启动文件叫作.profile 存放在用户的主目录下.8. w命令会告诉你系统已经启动多长时间,当前的时间及登录的用户在做什么.9.命令链接是为了给频繁使用的命令提供一个较短的名字.10.打印标签: banner 字符 banner yujile.11.cal 显示日历12.shell允许用户在单独一行里输入多个命令.每个命令之间用冒号分隔.13.请注意口令长度必须为6~8个字符,并且同时包括字符和数字.口令中至少有两个字符是字母而且至少有一个是数字或特殊字符.(第八个字符以后的字符都会被忽略)第二章:管理文件和目录1.创建文件cat>文件名注意:在每一行的结尾按Enter, 完成文本的输入后按ctrl+d以结束文本输入过程并保存文件。
2.在UNIX里执行文件没有特殊的名字,文件权限显示哪个文件是可执行的,哪个是不可执行的。
3.ls –a 可以显示隐含文件包括以一个点(.)开头的隐含文件4.文件权限d 表示目录–表示常规文件5.ls –f 或 lsf 命令在显示目录时:在目录名结尾附加―/‖符号。
6.rm –rf 删除一个非空目录。
不会对用户有任何警告。
7.UNIX文件系统由目录和文件构成,顶级目录叫做根目录,用―/‖符号表示,所有其他目录和文件在根目录里面。
一个目录的上一级叫做父目录,而下一级目录叫做子目录。
8.无论何时创建一个新目录,两个条目自动创建在新目录里,它们是―.‖(参照于当前目录)和―..‖(参照于当前目录的父目录)―.‖字符是指当前目录的一个相对路径.9.两个或多个文件可以用mv命令同时移动,目标必须是一个目录名. mv –i 当目标文件已存在时,会有提示.10.通配符: *星号匹配零个或多个字符问号?只能匹配一个字符, []在方括号检查一定范围内的字符.11.grep –i 区分大小写grep –v 所有不匹配字符串模板的行会显示出来.grep –c 检测出字符在文件中出现的次数,但是不显示包含字符串的行.12. tail – n 3 /etc/passwd 显示文件的最后三行.13.软链接可以跨文件系统建立, 软链接是一个特殊类型的文件,:ln myfile abc 创建一个硬链接abc 到myfile文件ln -s myfile abc创建一个软链接abc 到myfile文件第3章环境变量1.用户一旦登录HP-UX系统,就会启动一个shell 并且等待用户输入命令,为了执行这些命令,shell需要知道一些所用环境的信息.shell在环境变量中存储环境信息.2.当shell执行一个命令时,UNIX在内存中为这个命令创建一个进程,这个进程叫做shell 的子进程,因为是shell 创建了这个进程,这个shell叫做该命令进程的父进程.3.所有子进程从父进程shell继承环境变量,另一方面,shell变量由shell在局部设置而且对于子进程是不可见的.每一个子进程取得一份环境变量的拷贝并且允许对这些变量进行修改.但是要记住这些变化只对子进程有限制而不会作用于父进程.这就意味着对环境变量的修改会随着子进程的结束而丢失.或者说子进程不能修改父进程的变量.环境变量(全局变量):被所有子进程继承,通常包括系统特殊信息Shell变量(局部变量):不被子进程继承,通常用于保存shell程序的临时值4.$符号作为变量名的开始,$符号告诉echo命令这个参数是一个变量,而不是简单的字符串.echo命令显示的是它的参数文本,变量的值.5.UNIX用户用{}括起一个变量名以避免混淆.在一个shell变量和一些其他文本共用时必须使用方括弧.6.单引号之间的一切原封不动地指定给了变量.7.当你只按下‖~‖键而不按shift键时就会显示反引号‖`‖ 它用于指定一个命令的结果给变量.8.HOME是在用户登录HP-UX时自动设置的,它包含了用户主目录的路径,参照你的主目录下的.profile文件,可以用$HOME/.profile作为这个文件的完整路径.9.TERM包含你的终端名或类型,它一般通过用tset 或ttytype 命令/etc/profile shell 启动文件设置.10.导出shell变量:Shell变量对地子进程是不可见的而环境变量是可见的,我们可以导出shell变量,这样它就对子进程有效了,export命令正是用于这个目的. 为了让子进程继承变量的正确值:如果你改变了一个环境变量,就要导出它.第4章输入/输出重定向和管道1.UNIX命令是以简单的文本(字母数字)数据和标点符号为输入.一般,输出也是简单文本.2.无论什么时候启动一个命令,它都会打开三个数据流:标准输入(stdin),标准输出(stdout)标准错误( stderr),每个unix命令从stdin获得输入数据而将正常的输出传送给出stdout,并且把错误消息交给stderr.这些数据流通常称为标准输入/输出.3.UNIX把所有打开的文件与一个称为文件描述符的数字联系起来,文件描述0用于标准输入,1用于标准输出.而2用于标准错误.4.UNIX shell可以按用户的需要把这些数据流重定向到一个文件,一个设备或其它命令上.这个过程叫做输入/输出重定向.5.管道:可以把一个命令的输出发送给另一个命令的输入.它经常用于处理和格式化一个命令的数据流程,并使它更易理解.6.UNXI也称为基于文件的操作系统,即任何类型的输入或输出设备都可以被认为是一个文件,所有连接到系统的设备通过设备驱动文件控制.当你想要打印时,只须将它定向到一个打印设备文件.7.> 命令输出重定向,覆盖原文件中的内容.>>命令输出重定向, 不覆盖原文件中的内容,追加到文件尾.< 输入重定向8.控制台的设备文件是/dev/console9.ls xyz 2>abc :现在没有任何显示,因为错误消息被保存在一个名为abc的文件中.可以用cat命令来查看abc文件.10.sort <xyz >sorted 2>error 这个命令的输出重定向到一个名为了sorted的文件却错误定向到名为error的文件的情况11.who | cut –f 1 –d ― ‖ |grep mike :cut命令从用空白字符分隔的域中读取输入并获取每一行的第一个域.12.tee 命令用于实现一个T接头功能,它从stdin得到输入并把同样的内容同时写到stdout和别的文件中. who | tee whofile13.标准I/O重定向:> 重定向stdout覆盖原文件中的内容< 重定向stdin>> 重定向stdout并追加或创建一个文件.2> 重定向stderr2>&1 发送stderr和stdout到同一个文件中.|& 连接prog1的stdout 和stderr到prgo2的stdin管道 . (prog1表示一个命令或可执行文件)第5章VI 编辑器在插入模式中,任何键入的字符都被插入到一个文件缓冲区中。
在命令模式中,每一个键入的字符被认为是一个命令。
剪切---粘贴在打开的文件缓冲中执行。
导入—导出是针对磁盘文件来完成的。
移动光标命令:I 右移一个字符 h 左移一个字符 j下移一行k 上移一行G 到文件最后一行, nG 到文件的第n行.H 到屏幕的第一行L到屏幕的最后一行 M到屏幕的中间一行:set number命令指示vi显示每一行的行号.:set readonly 设置当前文件为只读.插入:I 从当前行的开头开始插入文本 A 从当前行的结尾开始插入文本i 从当前的光标位置开始插入文本a 从当前光标位置的下一个字符处开始插入文本删除:x 删除当前光标所在位置上的字符. X从当前光标位置开始删除前一个字符nx 从当前光标位置开始删除n个字符 dd删除当前行 dG删除当前行一直到文件结尾替换:r 仍保持在命令模式替换当前字符 R 直到按下esc键才替换多个字符.s 替换当前字符并进入插入模式.撤消: u 命令或 . 点滚动:Ctrl +b 回滚一屏 ctrl +f 向前滚一屏Ctrl +u回滚半个屏 ctrl +d 向前滚半个屏幕查找和替换/text 从当前光标位置开始向前查找text?test 从当前光标位置开始向后查找test/ 向前重复前一次的查找 ? 向后重复前一次的查找7,23t25 将挎贝第7行至23行并把这引行的内容粘贴到第55行后面VI 编辑器有一个配置文件名为.exrc 它存放在每一个用户的主目录下.创建了这个文件后,无论什么时候启动编辑器,它会首先读取$HOME/.exrc文件并自动设置选项。
vi 编辑器命令状态:j,k,h,l:上下左右0:行首$: 行尾i,I :插入命令,i 在当前光标处插入I 行首插入a,A:追加命令,a 在当前光标后追加,A 在行末追加o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换数字s: 替换指定数量字符x: 删除光标处字符dd: 删除当前行d0: 删除光标前半行d$: 删除光标后半行ctrl+f :后翻页ctrl+b:前翻页G : 文件尾数字G: 数字所指定行/string 查找字符串n 继续查找N 反向继续查找% 查找对应括号u 取消上次操作ex命令状态:set number 显示行号:set smd 显示显示状态:0 文件首:1,5 copy 7 块拷贝:1,5 del 块删除:1,5 move 7 块移动:1,$s/string1/string2/g 全文件查找string1并替换为string2:wq! 存盘退出第六章正则表达式正则表达式包括字符串,定位符或锚字符以及有特殊特殊的元字符。