




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UNIX linux vi命令 收藏 vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要:命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下Esc键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“-INSERT-”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件,这时我们需要先返回命令模式,在进入末行模式保存。末行模式:在命令模式输入“:”即可进入该模式,在末行模式中有好多好用的命令。1.进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename.filename :打开多个文件,依次进行编辑2.移动光标类命令 h或Backspace:光标左移一个字符l或space :光标右移一个字符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:(注意是数字零)光标移至当前行首$:光标移至当前行尾3.屏幕翻滚类命令 Ctrl+u:向文件首翻半屏Ctrl+d:向文件尾翻半屏Ctrl+f:向文件尾翻一屏Ctrlb;向文件首翻一屏nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。4.插入文本类命令(文本输入模式) i :在光标前I :在当前行首a:光标后A:在当前行尾o:在当前行之下新开一行O:在当前行之上新开一行r:替换当前字符R:替换当前字符及其后的字符,直至按ESC键s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之ncw或nCW:修改指定数目的字nCC:修改指定数目的行5.删除命令 ndw或ndW:删除光标处开始及其后的n-1个字do:删至行首d$:删至行尾ndd:删除当前行及其后n-1行dd: 删除一行x或X:删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u:删除输入方式下所输入的文本6.复制操作 yy命令复制当前整行的内容到vi缓冲区yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词y$复制光标所在位置到行尾内容到缓存区y复制光标所在位置到行首内容到缓存区#yy例如:5yy就是复制5行#yw例如:2yw就是复制两个单词如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny例如:3,5y复制第三行到第五行内容到缓存区。粘贴缓冲区中的内容,用p7.撤销操作 u命令取消最近一次的操作,可以使用多次来恢复原有的操作U取消所有操作Ctrl+R可以恢复对使用u命令的操作8.搜索及替换命令 vi的查找和替换功能主要在末行模式完成:至上而下的查找/ 要查找的字符窜,其中/代表从光标所在位置起开始查找,例如:/ work至下而上的查找?要查找的字符窜 例如:/ work替换:s/old/new用new替换行中首次出现的old: s/old/new/g 用new替换行中所有出现的old:#,# s/old/new/g用new替换从第行到第行中出现的old:% s/old/new/g用new替换整篇中出现的old9.选项设置 :set nu 显示行号:set nonu 隐藏行号:set showmode 显示当前操作模式(如用vedit将自动打开):set noshowmode 关闭模式显示:set 显示所有vi变量:set all 显示所有可能的vi变量和它们的当前的值all:列出所有选项设置情况term:设置终端类型ignorance:在搜索中忽略大小写list:显示制表位(Ctrl+I)和行尾标志($)number:显示行号report:显示由面向行的命令修改过的数目terse:显示简短的警告信息warn:在转到别的文件时若没保存当前文件则显示NO write信息nomagic:允许在搜索模式中,使用前面不带“”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息10.最后行方式命令(末行模式) :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d :将n1行到n2行之间的内容删除:w :保存当前文件:e filename:打开文件filename进行编辑:x:保存当前文件并退出:q:退出vi:q!:不保存文件并退出vi:!command:执行shell命令command:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入:r!command:将命令command的输出结果放到当前行11.恢复文件 vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:O只读打开,不改变文件内容E继续编辑文件,不恢复.swp文件保存的内容R将恢复上次编辑以后未保存文件内容Q退出viD删除.swp文件或者使用vi r 文件名来恢复未保存的内容12.寄存器操作 ?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。 零.入门级SHELL命令1. man 对你熟悉或不熟悉的命令提供帮助解释举例:#man ls /就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。2. ls 查看目录或者文件的属*,列举出任一目录下面的文件举例: ls /usr/man 或者ls -l(1).d表示目录(directory),如果是一个-表示是文件,如果是l则表示是一个连接文件(link)(2).表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。3. cp 拷贝文件举例: #cp filename1 filename2 /把filename1拷贝成filename2 #cp 1.c netseek/2.c /将1.c拷到netseek目录下命名为2.c 4. rm 删除文件和目录举例: #rm 1.c /将1.c这个文件删除5. mv 移走目录或者改文件名举例: #mv filename1 filename2 /将filename1 改名为filename2 #mv qib.tgz ./qib.tgz /移到上一级目录6. cd 改变当前目录 pwd 查看当前所在目录完整路径举例: #pwd /查看当前所在目录路径 #cd netseek /进入netseek这个目录 #cd /退出当前目录7. cat,more命令将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示举例: #cat1.c /就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。#cat 1.c 或more 1.c /都可以查看里面的内容。#gcc -o 1 1.c /将1.c编译成.exe文件,我们可以用此命编译出代码。8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。举例: #chmod u+x filenmame /只想给自己运行,别人只能读/u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行#chmod g+x filename /同组的人来执行9. clear,date命令#clear:清屏,相当与DOS下的cls;date:显示当前时间。10. mount 加载一个硬件设备用法:mount 参数 要加载的设备 载入点举例: #mount /dev/cdrom#cd /mnt/cdrom /进入光盘目录11. su 在不退出登陆的情况下,切换到另外一个人的身份用法: su -l 用户名(如果用户名缺省,则切换到root状态)举例:#su -l netseek (切换到netseek这个用户,将提示输入密码)12.whoami,whereis,which,idwhoami:确认自己身份whereis:查询命令所在目录以及帮助文档所在目录which:查询该命令所在目录(类似whereis)id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)举例: #whoami /显示你自已登陆的用户名#whereis bin 显示bin所在的目录,将显示为:/usr/local/bin #which bin 13. grep,findgrep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索举例: #grep success * /*查找当前目录下面所有文件里面含有success字符的文件14. kill 可以杀死某个正在进行或者已经是dest状态的进程举例; #ps ax15. passwd 可以设置口令16. history 用户用过的命令举例: #history /可以显示用户过去使用的命令17. ! 执行最近一次的命令18. mkdir命令举例: #mkdir netseek /创建netseek这个目录19. tar 解压命令举例: #tar -zxvf nmap-3.45.tgz /将这个解压到nmap-3.45这个目录里20. finger 可以让使用者查询一些其他使用者的资料 举例: #finger /查看所用用户的使用资料#finger root /查看root的资料一.用来发送消息的命令1.使用write命令用户可以使用write命令给其他在线用户发送消息。格式:#write username tty在Shell提示符号输入write,username指接受发送信息的用户名。如果一个用户多次登录到系统, tty参数指定要发送的终端。使用write发送信息的前提条件是该用户已经登录到系统。否则会出现以下提示:#write cjhwrite:cjh is not logged in可以使用who命令查询登录用户名称。接着可以输入要发送的信息。当输入完毕后,键入EOF表示信息结束,用Crtl+D组合键发送信息。输入内容会出现在用户的屏幕上,同时通信中止。如果在网络上可以使用write命令在username后加入主机名称或域名,建立网络通信。如果要和cao主机上的bj用户通信使用命令:#write bjcao可以使用rusers命令列出所有局域网上的登录用户。2.wall命令如果想要发送一条信息给系统中所有用户,可以使用wall命令,wall表示:write all。输入wall,然后编辑信息,如果shell支持可以使用中文。然后使用Crtl+D组合键发送信息。这样系统所有登录用户的桌面会收到信息。如果在网络上,可以使用rwall命令把信息发送到局域网上所有的用户。3.talk命令talk命令可以和另一个登录系统用户实现双向对话。系统管理员输入信息,用户也可以输入自己的信息。双方都可以看到交流时的屏幕信息。格式:#talk username一个例子:#talk b对方屏幕显示:Message from Talk_D at 7:18 .talk: connection requested by .talk: respond with: talk 然后进入talk分屏界面,双方输入的信息。会出现的对方的屏幕。用户完成会话后使用Crth+C断开连接。和write一样可以使用在username后加入主机名称或域名,建立网络会话连接。4.mesg 命令用户可以阻止其他用户给自己发送消息打断工作,使用mesg n命令禁止其他用户发送消息。当别人试图再使用write给他发送信息时,发送者将会看见提示:#write: user has messages disabled on pts/n?但是超级用户可以给任何用户发送消息,即使用户使用mesg n命令。要恢复接受信息输入:# mesg -y二.系统关机/重启命令1.shutdown shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失使系统处于不稳定的状态甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的还可能重启。这是由所有进程process都会收到系统所送达的信号signal决定的。这让像vi之类的程序有时间储存目前正在编辑的文档而像处理邮件mail和新闻news的程序则可以正常地离开等等。 shutdown执行它的工作是送信号signal给init程序要求它改变runlevel。Runlevel 0被用来停机haltrunlevel 6是用来重新激活reboot系统而runlevel 1则是被用来让系统进入管理工作可以进行的状态这是预设的假定没有-h也没有-r参数给shutdown。要想了解在停机halt或者重新开机reboot过程中做了哪些动作你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。 shutdown 参数说明: -t 在改变到其它runlevel之前告诉init多久以后关机。 -r 重启计算器。 -k 并不真正关机只是送警告信号给每位登录者login。 -h 关机后关闭电源halt。 -n 不用init而是自己来关机。不鼓励使用这个选项而且该选项所产生的后果往往不总是你所预期得到的。 -c cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数但是可以输入一个用来解释的讯息而这信息将会送到每位使用者。 -f 在重启计算器reboot时忽略fsck。 -F 在重启计算器reboot时强迫fsck。 -time 设定关机shutdown前的时间。 2.halt-最简单的关机命令 其实halt就是调用shutdown -h。halt执行时杀死应用进程执行sync系统调用文件系统写操作完成后就会停止内核。 参数说明: -n 防止sync系统调用它用在用fsck修补根分区之后以阻止内核用老版本的超级块superblock覆盖修补过的超级块。 -w 并不是真正的重启或关机只是写wtmp/var/log/wtmp纪录。 -d 不写wtmp纪录已包含在选项-n中。 -f 没有调用shutdown而强制关机或重启。 -i 关机或重启前关掉所有的网络接口。 -p 该选项为缺省选项。就是关机时调用poweroff。 3.reboot reboot的工作过程差不多跟halt一样不过它是引发主机重启而halt是关机。它的参数与halt相差不多。 4.init init是所有进程的祖先它的进程号始终为1所以发送TERM信号给init会终止所有的用户进程守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机init 1为重启。关于init可以长篇大论这里就不再叙述。另外还有telinit命令可以改变init的运行级别比如telinit -iS可使系统进入单用户模式并且得不到使用shutdown时的信息和等待时间。 三.系统打包命令在Unix/Linux系统中,是先通过cpio或tar将众多的文件打包成一个文件库后,再用compress将文件库压缩来达到目的的。下面分别以cpio和tar来说明使用的方法和步骤。1.文件或目录打包。打包有如下多种情况:A)含子目录打包:find /usr/lib -print|cpio -o/u0/temp1.cpio将/usr /lib目录下的文件与子目录打包成一个文件库为/u0/temp1.cpio。若通过-o选项来打包整个目录下的所有文件与子目录,常先利用find目录名-print来找出所有文件与子目录的名称,通过管道“|”传给cpio打包。B)不含子目录的打包:ls /usr/lib|cpio -o/u0/temp1.cpio将/usr/lib目录下的文件(不含子目录下的文件)打包成一个文件库为/u0/temp1.cpio。C)特定文件打包:可利用文本搜索命令grep与管道配合,可以排除或选择特定类型的文件传给cpio打包。如:ls /usr/lib/*.c|cpio -o/u0/temp1.cpio或ls /usr/lib|grep .c$|cpio -o/u0/temp1.cpio意思均为找出/usr/lib目录下以.c结尾的文件予以打包。又如:ls /usr/lib|grep abcd|cpio -o/u0/temp1.cpio ,其意为找出/usr/lib目录下文件名中含有abcd字符的文件予以打包。ls /usr/lib|grep -v abcd|cpio -o/u0/temp1.cpio,其意为找出/usr/lib目录下文件名中不含 abcd 字符的文件予以打包。-v选项在grep命令中的意思是排除含有字符串的行列。 2.压缩:compress /u0/temp2.tar 压缩为/u0/temp2.tar.Z3.解压:uncompress /u0/temp2.tar.Z 则还原为/u0/temp2.tar。4.解包展开:tar -xvf /u0/temp2.tar若以相对路径打包的,解包时,以相对路径存放展开的文件数据;若以绝对路径打包的,解包时,以绝对路径存放展开的文件数据。若指定展开的文件名,须注意文件的目录路径。5.显示:tar -tvf /u0/temp2.tar 显示文件库内的文件名称。当指定文件名时,亦须注意文件的路径。相对来说这两个命令各有优缺点。1)tar速度比cpio慢,且不能跨越两份存储媒体,但文件格式几乎在所有的Unix系统中都能通用,且使用简便。2)cpio则由于可通过管道功能,使得其打包时的文件选择、排除功能非常强,且能跨越多份媒体,并能备份特殊的系统文件。另外,压缩命令compress比DOS下的Pkzip的压缩率要低些。经测试,在一个目录下527个文本文件共15.7MB,在Unix打包后用compress压缩,大小为 2.1MB;相同的文件拷到DOS系统用Pkzip压缩,则大小为1.4MB。四.系统备份常用命令Unix/Linux系统在多数情况下都是运行在服务器环境下的,在服务器上数据就是至关重要,需要格外重视的财产。所以,数据的保护备份就成了每一个服务器管理员每天的必修课。 vdump的常用方式: 1). 对于文件需要在只读方式下备份的文件,建议进入单用户: # init s 或 boot fl s 2). 对操作系统各MOUNT点进行备份 3). # mount -a # vdump -0uvf /dev/ntape/tape0_d1 / # vdump -0uvf /dev/ntape/tape0_d1 /usr # vdump -0uf /dev/ntape/tape0_d1 /var (如过var区是做为单独的文件子集也需要单独备份) -f : 设备文件名 ( 比如 DDS tape driver) -u : 更新/etc/vdumpdates,用于增量备份 - v: 备份内容详细列表 - 0 : 零级备份 /dev/ntape0_d1: 系统执行完毕后,磁带停止在当前位置,可继续往下备份 /;/usr;/var : 各文件系统的MOUNT点 4). 其他说明 a、该命令方式对系统当前mounted的文件系统进行备份 b、备份级别说明 备份级别有09个级别,如果当前系统采用零级备份,当下一次采用5级备份时,系统仅将会对有变化的文件进行备份。 系统恢复常用命令-vrestore 恢复整个操作系统各文件系统的内容:1). 准备工作: a. 准备一个可用的新硬盘,容量大小和原盘基本相符。 b. 准备一套与备份系统相同版本的安装光盘 2). 用操作系统安装光盘启动到安装界面,调整新硬盘各分区大小后进入单用户。 * boot dqa0 (dqa0 为SRM下的光驱设备号) * 按正常安装步骤选着OKNEXTNEXT-NEXTNEXT-NEXT-CUSTOMIZE FILE SYSSTEM LAYOUT(调整分区大小)-QUIT OR SHELL WINDOW。 * 注意:在调整新硬盘分区时一定要在引导块上选择ADVFS,并定义B区为SWAP 3). 创建操作系统的各文件系统。(如系统新盘为 dsk0) mkfdmn /dev/disk/dsk0a root_temp ( 创建文件系统域) mkfset root_temp root (创建文件子集) mkfdmn /dev/disk/dsk0g usr_temp mkfset usr_temp usr mkfset usr_temp var (条件:在原系统中VAR为单独的文件子集) 注:在高级文件系统创建过程中,域名只要不和原来冲突,命名是任意的。但对文件子集命名方面最好和原来一致。(以避免不必要的修改工作) 4). 操作系统各文件系统的的恢复 #mount root_temp#root /mnt #cd /mnt #vrestore -xvf /dev/ntape/tape0_d1 (恢复该文件系统上所有数据) #cd / #umount /mnt #mount usr_temp#usr /mnt #cd /mnt #vrestore -xvf /dev/ntape/tape0_d1 #cd / #umount /mnt #mount usr_temp#var /mnt (条件:VAR为单独的文件子集) #cd /mnt #vrestore -xvf /dev/ntape/tape0_d1 -f: 设备文件名 -x: 恢复磁带当前备份数据段上的所有数据 - v: 备份内容详细列表 5). 如果恢复硬盘与备份盘在系统中设备名的不同(如:备份盘为dsk0,恢复盘为dsk1)需要做以下修改: #mount root_temp#root /mnt #cd /mnt/etc/fdmns #cd root_domain #rm * #ln s /dev/disk/dsk1a #cd . #cd usr_domain #rm * #ln s /dev/disk/dsk1g #cd /mnt/etc #vi sysconfigtab 将swapdevice=/dev/disk/dsk0b修改为swapdevice=/dev/disk/dsk1b 6). SHUTDOWN系统,在SRM下,用新盘引导 恢复文件系统中某些目录或文件: #vrestore if /dev/ntape/tape0_d1 (/) add vmunix genvmunix (在系统根区备份中只恢复vmunix和genvmunix两个文 件) (/) extract (开始恢复) 对个别或若干个目录单独恢复同上 操作磁带机需要注意的几个问题 磁带机在备份过程中是分段记录的,在恢复时一定考虑磁带的位置问题。按上 述备份例子,在数据带上一共创建了3段独立的数据备份信息(/;/usr;/var)。以下命令可调整数据带的位置。 #mt rewind (磁带机回卷磁带到初始位置) 需要单独恢复/usr文件系统或个别文件信息: #mt rewind #mt fsf 1 ( 跳过第一个数据备份段 / ) 如果以上需求发生在/var上则: #mt rewind (跳过前两个数据备份段) #mt fsf 2 五.系统内存管理命令unixLinux的内存管理,实际上跟windows的内存管理有很相像的地方,都是用虚拟内存这个的概念,说到这里不得不骂MS,为什么在很多时候还有很大的物理内存的时候,却还是用到了pagefile. 所以才经常要跟一帮人吵着说Pagefile的大小,以及如何分配这个问题,在Linux大家就不用再吵什么swap大小的问题,我个人认为,swap设个512M已经足够了,如果你问说512M的SWAP不够用怎么办?只能说大哥你还是加内存吧,要不就检查你的应用,是不是真的出现了memory leak. 夜也深了,就不再说废话了。在Linux下查看内存我们一般用命令 free;rootnonamelinux # free total used free shared buffers cached;Mem: 386024 377116 8908 0 21280 155468;-/+ buffers/cache: 200368 185656;Swap: 393552 0 393552;下面是对这些数值的解释:total:总计物理内存的大小。used:已使用多大。free:可用有多少。Shared:多个进程共享的内存总额。Buffers/cached:磁盘缓存的大小。第三行(-/+ buffers/cached):used:已使用多大。free:可用有多少。第四行就不多解释了。区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X,oracle,etc)使用的+buffers+cached.第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。如上例:185656=8908+21280+155468 接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行交换。如何看额定值(RHEL4.0):#cat /proc/meminfo交换将通过三个途径来减少系统中使用的物理页面的个数:1.减少缓冲与页面cache的大小,2.将系统V类型的内存页面交换出去,3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。事实上,少量地使用swap是不是影响到系统性能的。下面是buffers与cached的区别。buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages. cached是用来给文件做缓冲。 那就是说:buffers是用来存储,目录里面有什么内容,权限等等。而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。实验:在一台没有什么应用的机器上做会看得比较明显。记得实验只能做一次,如果想多做请换一个文件名。#free#man X#free#man X#free你可以先后比较一下free后显示buffers的大小。另一个实验:#free#ls /dev#free你比较一下两个的大小,当然这个buffers随时都在增加,但你有ls过的话,增加的速度会变得快,这个就是buffers/chached的区别。六.UNIX系统常用管理命令资料汇总(上)对于unix系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,UNIX系统管理的命令是它正常运行的核心本文主要是针对UNIX系统管理员,以SUN SOLARIS 2.6 系统为例,列举了一些UNIX常用的管理命令的使用及其使用中遇到的问题和解决方法,供大家参考。 下面是常用系统管理命令介绍:1. share 和 mount 命令这是系统管理员常用的两个命令,share命令用于把本机的目录共享出来,以便其它UNIX系统可以使用;mount命令则用于把其它UNIX系统共享出来的目录挂接到本机的挂接点上,从而可以使用其它UNIX系统的资源。 例如:在机器A上输入 machineA# share -F nfs -o rw /share-dir在机器B上输入 machineB# mount -F nfs machineA:/share-dir /mount-point第一条命令把机器A的 share-dir 目录共享出来,并且共享的权限是可读写;第二条命令把机器A的共享目录挂接到机器B的 mount-point 目录上。完成这两个命令后,用户在机器B上通过对mount-point的访问就可以操作机器A上的share-dir目录了。但是有时我们操作时,在机器B上执行了mount命令后,会返回RPC: Program not registered这样的错误,这是因为在机器A上缺少mountd和nfsd 这两个守护进程(daemon)。UNIX系统启动时,系统会自动检查/etc/dfs/dfstab文件,如果文件中有要共享的资源,则启动这两个守护进程,反之,则不启动。所以如果我们在/etc/dfs/dfstab中没有内容,则系统不能启动mountd和nfsd这两个守护进程,用share命令共享的目录也不能真正被别的系统共享。解决这个问题的方法很简单,我们可以把要共享的目录放入/etc/dfs/dfstab中,则下一次系统启动时会自动共享这个目录;另外,我们也可以手动启动这两个守护进程,方法是首先用超级用户(root)登陆,在命令行输入如下命令:machine_A# /etc/rc3.d/S15nfs.server start或输入:machine_A# /usr/lib/nfs/mountdmachine_A# /usr/lib/nfs/nfsd -a 16就可以启动这两个守护进程了。守护进程启动后,共享目录才真正被共享出去,这时再在机器B上用mount命令就可以把机器A的目录挂接到机器B上了。2. quota 系列命令UNIX作为一种多用户系统,它允许多个用户共同使用系统的资源,包括系统的内存,CPU和硬盘。在默认情况下,系统并不会限制每个用户可以使用硬盘空间的大小,所以如果用户恶意使用硬盘,或用户由于疏忽,将硬盘空间全部占用,将导致其他用户无法使用硬盘,从而使系统性能下降,甚至有崩溃的危险。其实,UNIX提供的quota系列命令可以帮助我们解决这个问题,这些命令包括:quota : 显示用户的硬盘限额和使用情况。 edquota : 为每个用户设定硬盘限额。quotaon: 启动文件系统硬盘限额服务quotaoff : 关闭文件系统硬盘限额服务repquota : 显示当前硬盘限额状态配置这项服务的方法很简单。但在使用硬盘限额服务之前,我们要明白硬限制和软限制这两个概念。所谓硬限制是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制;而软限制是指用户可以在一定时间范围内(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间。如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源。明白了这两个概念,我们就可以配置硬盘限额服务了,首先我们必须在要限制的文件系统的根目录下建立一名字为quotas的文件,该文件的所有者应是root,且其它用户不可以对它进行写操作。方法是:# cd /home (进入文件系统根目录,注意并不是系统根目录,本例为/home目录)# touch quotas (创建一名字为quotas的空文件)# chmod 644 quotas (更改文件属性,使只有root可以对它进行写操作)然后,我们编辑/etc/vfstab文件,找到要进行硬盘限额服务的文件系统,并将mount option字段的值设为rq,然后并存盘退出。完成这两步后,我们使用edquota命令为每个用户设置硬盘限额,在root权限下输入以下命令:#edquota username这时系统会自动生成一个临时文件,并且有如下内容:fs /users blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)其中fs字段表明使用硬盘限额的文件系统,本例为/users,block和inodes表明用户可以使用的硬盘千字节数和I节点数,即用户可使用的硬盘空间和可建立的文件数,soft和hard分别对于前面提及的软限制和硬限制。 编辑这个文件,把软,硬限制设置到合适的数值,然后存盘退出。这时我们可以看到quotas文件的大小已经被改变,说明用户的限额已经储存。重复这条命令,给每一个用户都配置硬盘限额。另外,如果我们分配给用户的硬盘限额都相同,我们可以使用 -p 参数而不用为每个用户都编辑一个文件,它的使用方法是:#edquota -p reference-username username编辑完文件后,我们就可以用quotaon来启动服务了,在root权限下输入#quotaon /users就可以启动限额服务。如果我们要查看各个用户的当前使用情况,可以使用repquota 命令,在root权限下输入:#repquota /users系统会显示:从中我们可以很容易看到用户的硬盘和文件的使用情况以及超过软限制后仍可申请资源的时间等等。当然我们可以用quotaoff取消硬盘限额服务。另外,系统还提供quotacheck 命令对限额的一致性进行检查。3. ifconfig命令ifconfig命令用于查看和更改网络接口的地址和参数,如果要显示某台UNIX主机的IP地址,我们可以在命令行下输入:$ifconfig -a 系统会显示网络接口的名称,接口的状态(up or down),接口的IP地址和掩码等信息。如果我们要更改网络接口的IP地址,可以在root权限下输入:#ifconfig hme0 down#ifconfig hme0 netmask up首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用ifconfig命令给接口分配新的IP地址和掩码,并启动网络接口服务。本例中把hme0接口的IP地址设为,掩码为。我们也可以通过改变文件/etc/hosts中的IP地址的值并重新启动系统来更改机器的IP地址。在系统启动时,网络接口服务时自动被启动的,我们不需要手动地创建网口服务,但有时我们更改了网卡或增加了网卡后,系统不能自动启动该接口服务,这时我们需要手动创建网口服务,在root权限下输入:#ifconfig hme0 plumb即可以为接口le0创建网口服务。相应地,用ifconfig带unplumb参数可以停止服务并关闭网络接口,这时我们再用ifconfig -a 命令将看不到该网络接口。七.UNIX系统常用管理命令资料汇总(下)对于unix系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,UNIX系统管理的命令是它正常运行的核心本文主要是针对UNIX系统管理员,以SUN SOLARIS 2.6 系统为例,列举了一些UNIX常用的管理命令的使用及其使用中遇到的问题和解决方法,供大家参考。 4. format命令format也是一个重要的系统管理命令,但由于它的破坏性极大,使用时一定要小心。format命令主要有两个用途,即格式化硬盘和重新对硬盘分区,下面分别加以说明: 1) 格式化硬盘和DOS一样,UNIX的硬盘在使用之前也需要格式化,在对它格式化之前,我们要用单用户形式重启动系统#reboot -s启动后用root用户登录,然后在命令行下输入:#format系统会显示所有的硬盘并让我们选择要格式化的硬盘:本例中系统有两个SUN2.1G的硬盘,我们选择1并回车,系统会显示如下菜单:在提示符下输入type来选择硬盘类型,系统会列出它支持的硬盘类型,选择合适的硬盘类型并输入相应的代码(也可以输入0让系统自动检测)。选择完硬盘类型后,就可以配置硬盘分区,有关分区的具体操作请参见2)重新分区一节。配置结束后,输入format命令进行格式化,这将花费一定的时间,具体时间的长短受机器型号和硬盘大小的影响。格式化完成后,就可以输入quit命令退出了。硬盘格式化后,并不能立即被使用,我们还需要在上面创建文件系统,使用命令newfs来为每一个分区创建文件系统:#newfs /dev/rdsk/c0t1d0s0#newfs /dev/rdsk/c0t1d0s1参数的具体数值根据分区的情况来设置。另外,如果该硬盘包含启动分区(根分区),我们需要手动安装启动模块,安装之前首先要有UNIX系统安装光盘,我们通过光盘启动后,将系统根分区挂接上,并从光盘安装启动模块,具体方法如下:#reboot cdrom -s (从光盘启动,并进入单用户模式)#mount /dev/dsk/c0t1d0s0 /mnt (将系统根分区挂接到mnt目录下)#cp /ufsboot /mnt#installboot /lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s0 (安装启动模块)#umount /mnt (卸下挂接)#reboot (重启动)至此,硬盘的格式化操作已经完成,我们可以使用该硬盘了。2) 重新分区format命令也可以对硬盘进行重新分区。重新分区后,受影响分区上的所有文件将被清除,所以在进行这个操作前,我们应注意要先对文件系统进行备份。重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 边缘计算标准化-洞察及研究
- 建筑方案设计单位要求(3篇)
- 区块链浏览器中的智能合约优化技术-洞察及研究
- 体验场景设计分析-洞察及研究
- 豪特建筑调温方案设计(3篇)
- 有关美食的课件
- 月经不调科普课件
- 网格员消防工作培训课件
- 新版小学科学教学教案设计及案例分析
- 光缆突发故障应急抢修指南
- 2025至2030牙科实践行业项目调研及市场前景预测评估报告
- 小学科学新教材培训心得分享
- 心理工会活动方案
- 2025年上海市高考化学试卷(等级性)(含解析)
- 2025秋人教版(2024)八年级上册地理 【教学课件】1.2《人口》
- 2025年广西中考物理真题含答案
- 服装工艺培训课件
- 美术介绍教学课件
- 脑梗死合并高血压护理查房
- 2025届上海市中考语文真题作文题目解析+范文
- 暖通运维面试题库及答案
评论
0/150
提交评论