科学网

 找回密码
  注册

tag 标签: Linux

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

64位 Linux下安装ENVI 4.7时,IDLDE不能启动问题的解决
environment 2009-10-18 20:53
64位Fedora下安装ENVI4.7时可能会遇到这样的问题,IDLDE不能启动: (.:11816): Gtk-WARNING **: 无法在模块路径中找到主题引擎:nodoka, (.:11816): Gtk-WARNING **: 无法在模块路径中找到主题引擎:nodoka, Gtk-Message: Failed to load module gnomebreakpad: libgnomebreakpad.so: 无法打开共享对象文件: 没有那个文件或目录 Gtk-Message: Failed to load module canberra-gtk-module: libcanberra-gtk-module.so: 无法打开共享对象文件: 没有那个文件或目录 (.:11812): Gtk-WARNING **: 无法在模块路径中找到主题引擎:nodoka, (.:11812): Gtk-WARNING **: 无法在模块路径中找到主题引擎:nodoka, Gtk-Message: Failed to load module gnomebreakpad: libgnomebreakpad.so: 无法打开共享对象文件: 没有那个文件或目录 Gtk-Message: Failed to load module canberra-gtk-module: libcanberra-gtk-module.so: 无法打开共享对象文件: 没有那个文件或目录 解决办法: #yum install bug-buddy* #yum install gtk-nodoka-engine* #yum install gtk-nodoka-engine.i386 #yum install libXtst.so.6
个人分类: Linux|9419 次阅读|2 个评论
不要让你的程序挂起
guodanhuai 2009-9-22 14:35
在Linux中,ssh客户端启动geoserver,当退出ssh后,geoserver进程退出停止了,这是为什么呢? 我们在启动geoserver后,用查看进程的命令查看geoserver进程 ps -ef 的可以看到: geoserver进程的父进程(PPID)为12505,这个进程的副进程又属于12292,在上图中,实际上是该客户端启动了三个ssh窗口。所以当客户端的所有ssh窗口退出后,geoserver的进程也被终止。 要解决此问题,就需要将你的应用程序在后台运行,可以用nohup命令 和 ,nohup命令的原意应该是no hang up: 在Unix/Linux下一般比如想让某个程序在后台运行,一般可以使用在程序的结尾加上来让程序自动运行。但是并不是所有的程序都做成了守护进程,这样,如果终端被关闭,程序也会被关闭。为了能够后台运行,可以使用nohup命令 nohup命令的语法: nohup Command nohup运行有Command参数和任何相关的Arg参数指定的命令,忽略所有挂断(SIGUP)信号,在注销后使用nohup命令运行后台中的程序。要运行后台中的nohup命令,添加到命令的尾部。 无论是否将nohup命令的输出重定向到终端,输出都将附加到当前目录的nohup.out文件中。若当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么Command参数指定的命令不可调用。 在本例中,运行了 nohup ./startup.sh 后,12280进程的父进程为1,即init进程,这样在你关闭终端后,你的geoserver仍然在后台运行。 PS:Linux的可控制性确实很好,但如果你没有掌握它,使用起来还挺麻烦,现在我是越来越喜欢上它了。
个人分类: Linux|5153 次阅读|0 个评论
Linux下Web玩QQ
dabing 2009-9-18 16:14
QQ现在成了很多人的必备聊天工具,而在linux下如果安装使用QQ成为了许多刚使用者头痛的事情。我当初也经历了同样的感受。有一次听朋友说如何安装,学着慢慢安起了,得益于自己下的安装包就是deb格式的(当时也不知道什么样的格式能够直接安装),可以直接安装。如果新手遇到是压缩包的又麻烦了。后来慢慢也熟悉了linux系统,知道如何解压一些压缩包后安装。为方便像我当初一样不知从何下手的人,就写出了自己的安装过程。 此文稿有幸能被戴小华老师看到,经过两次的留言,让在下懂得了在Linux下玩QQ是如此简单---WebQQ。 谢谢戴老师,这一简单的交流真是长见识! 2009-09-18于北京
4126 次阅读|0 个评论
老外收集的windows软件替代品[转载]
osos 2009-8-27 19:47
老外收集的windows软件替代品 The Linux Equivalent Project Welcome to the Linux Equivalent Project. The goal is to provide an informational and available website for all linux users. The website is currently in beta form. I will be periodically updating the database with Windows software and the Linux equivalents and alternatives. http://www.linuxeq.com/ Comments and suggestions: submit@linuxeq.com . Read my blog about the site. New! There is now a form for submissions here. Windows Software Linux Equivalent 3D Studio Max Blender ( http://www.blender.org/ ) Adobe Audition Audacity ( http://audacity.sourceforge.net/ ) Adobe Illustrator Inkscape ( http://www.inkscape.org/ ) Karbon14 ( http://www.koffice.org/karbon/ ) Xara Xtreme for Linux ( http://www.xaraxtreme.org/ ) Adobe PageMaker Scribus ( http://www.scribus.net/ ) Adobe PhotoAlbum F-Spot ( http://f-spot.org/Main_Page ) digiKam ( http://www.digikam.org/ ) Adobe Photoshop Krita ( http://www.koffice.org/krita/ ) GIMP ( http://www.gimp.org/ ) Adobe Premier LiVES ( http://lives.sourceforge.net/ ) Kino ( http://www.kinodv.org/ ) Cinelerra ( http://cvs. cinelerra .org/ ) kdenlive ( http://kdenlive.sourceforge.net/ ) AOL Instant Messenger (AIM) Kopete ( http://kopete.kde.org/ ) Gaim ( http://gaim.sourceforge.net ) APC PowerChute Apcupsd ( http://www.apcupsd.com/ ) PowerD ( http://power.sourceforge.net/ ) CDex Sound Juicer ( http://www.burtonini.com/blog/computers/sound-juicer ) Rubyripper ( http://wiki.hydrogenaudio.org/index....tle=Rubyripper ) Grip ( http://nostatic.org/grip/ ) Dreamweaver Quanta Plus ( http://quanta.kdewebdev.org/ ) Nvu ( http://www.nvu.com/index.php ) Screem ( http://www.screem.org/ ) Bluefish ( http://bluefish.openoffice.nl/index.html ) DVDShrink k9copy ( http://k9copy.sourceforge.net/ ) OGMRip ( http://ogmrip.sourceforge.net/ ) Thoggen ( http://thoggen.net/ ) xdvdshrink ( http://dvdshrink.sourceforge.net/ ) qVamps ( http://vamps.sourceforge.net/ ) dvd::rip ( http://www.exit1.org/dvdrip/ ) AcidRip ( http://untrepid.com/acidrip/ ) FruityLoops LMMS ( http://lmms.sourceforge.net/ ) Hydrogen ( http://www.hydrogen-music.org/ ) iTunes Banshee ( http://banshee-project.org/Main_Page ) SongBird ( http://www.songbirdnest.com ) Exaile ( http://www.exaile.org/ ) Amarok ( http://amarok.kde.org/ ) Legacy Family Tree GRAMPS ( http://gramps-project.org/ ) Microsoft Frontpage Quanta Plus ( http://quanta.kdewebdev.org/ ) Nvu ( http://www.nvu.com/index.php ) Bluefish ( http://bluefish.openoffice.nl/index.html ) Microsoft HyperTerminal minicom ( http://alioth.debian.org/projects/minicom/ ) GtkTerm ( http://freshmeat.net/projects/gtkterm/ ) Microsoft Internet Explorer Opera ( http://www.opera.com/download/ ) Firefox ( http://www.mozilla.com/firefox/ ) Konqueror ( http://www.konqueror.org/ ) Microsoft Office KOffice ( http://www.koffice.org/ ) OpenOffice ( http://www.openoffice.org/ ) Microsoft Outlook (Express) Thunderbird ( http://www.mozilla.com/thunderbird/ ) Evolution ( http://www.gnome.org/projects/evolution/ ) Microsoft Project Planner ( http://live.gnome.org/Planner ) Microsoft Visio Dia ( http://www.gnome.org/projects/dia/ ) Kivio ( http://www.koffice.org/kivio/ ) Microsoft Windows Media Center Freevo ( http://freevo.sourceforge.net/ ) Elisa Media Center ( http://www.fluendo.com/elisa/ ) MythTV ( http://www.mythtv.org ) mIRC BitchX ( http://www.bitchx.org/ ) Xchat ( http://www.xchat.org/ ) ChatZilla! ( http://chatzilla.hacksrus.com/ ) irssi ( http://www.irssi.org/ ) Gaim ( http://gaim.sourceforge.net ) Mp3tag EasyTAG ( http://easytag.sourceforge.net/ ) Audio Tag Tool ( http://pwp.netcabo.pt/paol/tagtool/ ) MSN messenger aMSN ( http://amsn-project.net/ ) Gaim ( http://gaim.sourceforge.net ) Nero Burning Rom X-CD-Roast ( http://www.xcdroast.org/ ) Brasero ( http://perso.orange.fr/bonfire/index.htm ) GnomeBaker ( http://gnomebaker.sourceforge.net/ ) K3b ( http://www.k3b.org/ ) NetMeeting Ekiga ( http://www.gnomemeeting.org/ ) NetStumbler SWScanner ( http://www.swscanner.org/ ) Notepad gedit ( http://www.gnome.org/projects/gedit/ ) Scribes ( http://scribes.sourceforge.net/ ) tpad ( http://tclpad.sourceforge.net/ ) Quicken KMyMoney ( http://kmymoney2.sourceforge.net/ ) GNUcash ( http://www.gnucash.org/ ) Gnofin ( http://gnofin.sourceforge.net/ ) Grisbi ( http://www.grisbi.org/ ) SoulSeek Nicotine ( http://nicotine.thegraveyard.org/ ) Nicotine-Plus ( http://nicotine-plus.sourceforge.net/ ) Winamp XMMS ( http://www.xmms.org/ ) Windows Movie Maker LiVES ( http://lives.sourceforge.net/ ) Avidemux ( http://fixounet.free.fr/avidemux/ ) Cinelerra ( http://cvs. cinelerra .org/ ) kdenlive ( http://kdenlive.sourceforge.net/ ) WS_FTP gFTP ( http://gftp.seul.org/ ) FireFTP ( http://fireftp.mozdev.org/ ) ZoneAlarm Firestarter ( http://www.fs-security.com/ )
个人分类: 生活点滴|9793 次阅读|0 个评论
linux下的压缩/解压命令速查
dabing 2009-8-25 20:47
.tar   解包: tar xvf FileName.tar   打包:tar cvf FileName.tar DirName   (注:tar是打包,不是压缩!)   --------------------------------------------- .gz   解压1:gunzip FileName.gz   解压2:gzip -d FileName.gz   压缩:gzip FileName   .tar.gz 和 .tgz   解压:tar zxvf FileName.tar.gz   压缩:tar zcvf FileName.tar.gz DirName   --------------------------------------------- .bz2   解压1:bzip2 -d FileName.bz2   解压2:bunzip2 FileName.bz2   压缩: bzip2 -z FileName   .tar.bz2   解压:tar jxvf FileName.tar.bz2   压缩:tar jcvf FileName.tar.bz2 DirName   --------------------------------------------- .bz   解压1:bzip2 -d FileName.bz   解压2:bunzip2 FileName.bz   压缩:未知   .tar.bz   解压:tar jxvf FileName.tar.bz   压缩:未知   --------------------------------------------- .Z   解压:uncompress FileName.Z   压缩:compress FileName .tar.Z   解压:tar Zxvf FileName.tar.Z   压缩:tar Zcvf FileName.tar.Z DirName   --------------------------------------------- .zip   解压:unzip FileName.zip   压缩:zip FileName.zip DirName   --------------------------------------------- .rar   解压:rar a FileName.rar   压缩:r ar e FileName.rar      rar请到:http://www.rarsoft.com/download.htm 下载 !   解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):    # cp rar_static /usr/bin/rar   --------------------------------------------- .lha   解压:lha -e FileName.lha   压缩:lha -a FileName.lha FileName      lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/ 下载 !   解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):    # cp lha /usr/bin/   --------------------------------------------- .rpm   解包:rpm2cpio FileName.rpm | cpio -div   --------------------------------------------- .deb   解包:ar p FileName.deb data.tar.gz | tar zxf - {参考文献}http://linux.chinaitlab.com/administer/31333.html
个人分类: LINUX&IRAF|3577 次阅读|0 个评论
运维中心网站服务器系统维护手册(Linux版)
pkuzeal 2009-8-25 10:24
1. 概述 ..................................................................................................................................................... - 1 - 2. 系统组件部分 ....................................................................................................................................... - 1 - 2.1. 配置专用帐号 ............................................................................................................................ - 1 - 2.2. 配置专用目录 ............................................................................................................................ - 2 - 2.3. 配置域名解析 ............................................................................................................................ - 2 - 2.4. 升级系统组件包 ......................................................................................................................... - 2 - 2.5. 配置时间同步服务 ..................................................................................................................... - 5 - 2.6. 配置内核网络参数 ..................................................................................................................... - 6 - 2.7. 启用新内核配置 ......................................................................................................................... - 6 - 3. 应用组件部分 ....................................................................................................................................... - 7 - 3.1. 安装应用组件 ............................................................................................................................ - 7 - 3.2. 维护应用组件 ............................................................................................................................ - 7 - 1. 概述 此手册旨在为确保 WEB 维护调试过程的协调一致性,避免出现相互之间工作衔接而产生的种种问题而制定。 2. 系统组件部分 2.1. 配置专用帐号 # useradd -d /home/webmaster -g users webmaster 修改默认 PATH 环境变量 # vi ~/.bash_profile 查找: PATH=$PATH:$HOME/bin 替换为以下内容(蓝色部分) PATH=$PATH:$HOME/bin:/sbin:/usr/sbin:/usr/local/sbin 核对后保存并退出 2.2. 配置专用目录 建立专用组件下载目录和专用组件安装目录 # mkdir -p /home/webmaster/software # chown -R webmaster.users /opt 2.3. 配置域名解析 # vi /etc/resolv.conf 用以下内容(蓝色部分)替换原文件内容 search localdomain nameserver 202.96.209.6 nameserver 202.96.209.133 核对后保存并退出 注:以上 IP 地址为上海地区 DNS 服务器,其他地区请按实际情况酌情修改 2.4. 升级系统组件包 查看当前系统版本号 # less /etc/redhat-release 检查系统已安装的组件包中是否已存在 Redhat 的自带的 yum 系列组件包 # su root # rpm -qa | grep yum 如果存在请逐一全部删除 # rpm -e --nodeps 组件包名称 建立 Centos 专用目录,然后下载并安装 Centos 系统的 yum 系列组件包 # su webmaster # cd /home/webmaster # mkdir centos 下载 Centos 升级组件包(注:根据 RedHat AS4 或 RedHat AS5 分别操作) RedHat AS4 : # wget http://centos.ustc.edu.cn/centos/4.7/os/i386/CentOS/RPMS/python-elementtree- 1.2.6 -5.el4.centos.i386.rpm # wget http://centos.ustc.edu.cn/centos/4.7/os/i386/CentOS/RPMS/python-sqlite- 1.1.7 -1.2.1.i386.rpm # wget http://centos.ustc.edu.cn/centos/4.7/os/i386/CentOS/RPMS/python-urlgrabber- 2.9.8 -2.noarch.rpm # wget http://centos.ustc.edu.cn/centos/4.7/os/i386/CentOS/RPMS/sqlite- 3.3.6 -2.i386.rpm # wget http://centos.ustc.edu.cn/centos/4.7/os/i386/CentOS/RPMS/yum- 2.4.3 -4.el4.centos.noarch.rpm # wget http://centos.ustc.edu.cn/centos/4.7/os/i386/CentOS/RPMS/yum-metadata-parser-1.0-8.el4.centos.i386.rpm # wget http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 RedHat AS5 : # wget http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/python-iniparse- 0.2.3 -4.el5.noarch.rpm # wget http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/yum- 3.2.19 -18.el5.centos.noarch.rpm # wget http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/yum-fastestmirror- 1.1.16 -13.el5.centos.noarch.rpm # wget http://centos.ustc.edu.cn/centos/5.3/os/i386/CentOS/yum-metadata-parser- 1.1.2 -2.el5.i386.rpm # wget http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 安装 Centos 升级组件包 # su root # rpm -Uvh --nodeps /home/webmaster/centos/*.rpm 导入 Centos 升级组件授权(注:根据 RedHat AS4 或 RedHat AS5 分别操作) RedHat AS4 : # rpm --import /home/webmaster/centos/RPM-GPG-KEY-CentOS-4 RedHat AS5 : # rpm --import /home/webmaster/centos/RPM-GPG-KEY-CentOS-5 创建并编辑 yum 升级源配置文件 # su root # mkdir -p /etc/yum.repos.d/ # vi /etc/yum.repos.d/CentOS-Base.repo 粘贴以下内容(蓝色部分)覆盖文件: RedHat AS4 : name=CentOS-$releasever - Base baseurl=http://centos.ustc.edu.cn/centos/4.7/os/$basearch/ gpgcheck=1 gpgkey= http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #released updates name=CentOS-$releasever - Updates baseurl=http://centos.ustc.edu.cn/centos/4.7/updates/$basearch/ gpgcheck=1 gpgkey= http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #packages used/produced in the build but not released name=CentOS-$releasever - Addons baseurl=http://centos.ustc.edu.cn/centos/4.7/addons/$basearch/ gpgcheck=1 gpgkey= http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #additional packages that may be useful name=CentOS-$releasever - Extras baseurl=http://centos.ustc.edu.cn/centos/4.7/extras/$basearch/ gpgcheck=1 gpgkey= http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #additional packages that extend functionality of existing packages name=CentOS-$releasever - Plus baseurl=http://centos.ustc.edu.cn/centos/4.7/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey= http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #contrib - packages by Centos Users name=CentOS-$releasever - Contrib baseurl=http://centos.ustc.edu.cn/centos/4.7/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey= http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 RedHat AS5 : name=CentOS-$releasever - Base baseurl=http://centos.ustc.edu.cn/centos/5.3/os/$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 #released updates name=CentOS-$releasever - Updates baseurl=http://centos.ustc.edu.cn/centos/5.3/updates/$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 #packages used/produced in the build but not released name=CentOS-$releasever - Addons baseurl=http://centos.ustc.edu.cn/centos/5.3/addons/$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 #additional packages that may be useful name=CentOS-$releasever - Extras baseurl=http://centos.ustc.edu.cn/centos/5.3/extras/$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 #additional packages that extend functionality of existing packages name=CentOS-$releasever - Plus baseurl=http://centos.ustc.edu.cn/centos/5.3/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users name=CentOS-$releasever - Contrib baseurl=http://centos.ustc.edu.cn/centos/5.3/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5 核对后保存并退出 开始升级系统 # yum update 等待系统列出需要升级的组件清单并按 y 确认 Total download size: 334 M Is this ok : y Complete! 等待全部组件下载完成后,重新启动服务器,操作系统升级完毕! 2.5. 配置时间同步服务 # vi /etc/crontab 添加以下内容(蓝色部分)至文件末尾 01 * * * * root rdate -s stdtime.gov.hk 核对后保存并退出 重启系统 Crond 服务使新设置生效 # /etc/init.d/crond restart 2.6. 配置内核网络参数 # su root # vi /etc/sysctl.conf 添加以下内容(蓝色部分)至文件末尾 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 300 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_rmem = 32768 net.ipv4.tcp_wmem = 32768 net.ipv4.tcp_sack = 0 核对后保存并退出 2.7. 启用新内核配置 # sysctl -p 配置内核文件参数 # su root # vi /etc/sysctl.conf 添加以下内容(蓝色部分)至文件末尾 fs.file-max = 8061540 核对后保存并退出 # vi /etc/security/limits.conf 添加以下内容(蓝色部分)至文件末尾 webstart - nofile 1006154 root - nofile 1006154 核对后保存并退出 启用新内核配置并重新登陆后生效 # sysctl -p 3. 应用组件部分 3.1. 安装应用组件 l 应用组件应尽量采用源代码编译方式安装 l 应用组件的源码包请下载到目录请存放在专用组件下载目录: ~/software l 配置应用组件编译的目标路径为专用组件安装目录: --prefix=/opt l 安装应用组件过程中,需要附加安装依赖的系统组件,请尽量通过 yum 网络方式安装,如 yum 源无此组件,需要下载源代码并通过编译方式安装的,请指定系统组件的安装目录为: --prefix=/usr 3.2. 维护应用组件 l 请勿删除应用组件的源码包编译目录,因为源码包目录包含了一些配置信息以及卸载脚本: make uninstall l 在大范围变动应用组件配置文件时请一定记得备份原文件,备份格式为:原文件名 .yyyymmdd l 请定时通过 yum 方式升级应用组件运行所依赖的系统组件,以保证应用组件的安全性和稳定性 l 请定时通过手工或者脚本调度的方式来清理应用组件运行所产生的日志文件,以保证应用组件的性能 l 请定时通过手工或者脚本调度的方式备份重要数据和配置文件
个人分类: 未分类|827 次阅读|0 个评论
如何修改Linux的主分区的空间
guodanhuai 2009-8-1 11:29
如何修改Linux的主分区的空间 今日在学习Linux的时候,由于使用的是虚拟机,所以硬盘空间较小,在软件安装是比较麻烦(虽然可以将软件安装在指定的地址,但软件安装时需要将文件解压缩和make时产生大量的临时文件),所以,继续扩充,由于本人不是虚拟机管理员,又不好意思老是麻烦别人,所以,就自己将另加的一块盘加到主分区中,在网友小宝的帮助指导下,成功完成,贴出此文,为帮助有同样需要的朋友,也对小宝表示感谢!其中叙述有不规范和不全之处,请读者自行查阅资料。 l 第一步,给虚拟机加个硬盘 这个可以向管理员提出,或自行解决, l 第二步,分区 # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 1958. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1958, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1958, default 1958): Using default value 1958 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 结束后,用df查看 # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 4031168 3688700 134392 97% / /dev/sda1 101086 12495 83372 14% /boot tmpfs 1029816 0 1029816 0% /dev/shm 没有发现sdb,不要进行格式化,格式化后分区表又没了,我就上了这个当 用fdisk l可以看见 # fdisk -l Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1044 8281507+ 8e Linux LVM Disk /dev/sdb: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1958 15727603+ 83 Linux l 第三步,将分区指定为pv # pvcreate --help pvcreate: Initialize physical volume(s) for use by LVM pvcreate |--force ] ] PhysicalVolume # pvcreate /dev/sdb Device /dev/sdb not found (or ignored by filtering). # pvcreate /dev/sdb1 Physical volume /dev/sdb1 successfully created l 第三步vgextend 添加分区组 # vgextend --help vgextend: Add physical volumes to a volume group vgextend VolumeGroupName PhysicalDevicePath 这时关键要查到 VolumeGroupName PhysicalDevicePath这两个名称 可用vgdisplay查看 # vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 7.88 GB PE Size 32.00 MB Total PE 252 Alloc PE / Size 252 / 7.88 GB Free PE / Size 0 / 0 VG UUID PqvyQ3-4JXx-PGCc-9H2q-7BcJ-HW7N-xHZeNP 所以,执行如下命令: # vgextend VolGroup00 /dev/sdb1 Volume group VolGroup00 successfully extended l 第四步lvextend 扩展分区组 # lvextend --help lvextend: Add space to a logical volume lvextend ] {-l|--extents LogicalExtentsNumber | -L|--size LogicalVolumeSize } LogicalVolume 后执行 # lvextend -l 1000000 /dev/VolGroup00/LogVol00 Extending logical volume LogVol00 to 30.52 TB Insufficient free space: 999873 extents needed, but only 479 available 这里比较容易出错的是 是logicalVolum的名称容易输成VolGroup00LogVol00,logicalnumber的单位应该是簇,也不要估计,如果你想把整个分区都加上去,数个天文数字吧,系统会告诉你最大数应该是多少 l 最后一步resize2fs lvm卷名 # resize2fs /dev/VolGroup00/LogVol00 resize2fs 1.39 (29-May-2006) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 3923968 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 3923968 blocks long. 最后用df查一下,呵呵,大了吧 # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup00-LogVol00 15207152 3690736 10733404 26% / /dev/sda1 101086 12495 83372 14% /boot tmpfs 1029816 0 1029816 0% /dev/shm 再次感谢网友小宝的帮助。 【Reference】 Normal07.8 磅02falsefalsefalseEN-USZH-CNX-NONE/* Style Definitions */table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-priority:99;mso-style-qformat:yes;mso-style-parent:;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin-top:0cm;mso-para-margin-right:0cm;mso-para-margin-bottom:10.0pt;mso-para-margin-left:0cm;line-height:115%;mso-pagination:widow-orphan;font-size:11.0pt;font-family:Calibri,sans-serif;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-fareast-language:EN-US;mso-bidi-language:EN-US;} 许杜村 (2003). Red Hat Linux 9中文版入门与进阶. 北京, 清华大学出版社.
个人分类: Technology|4836 次阅读|0 个评论
Linux入门(六)
guodanhuai 2009-8-1 11:27
1 常用命令 l Pwd 显示当前目录 l Cd 改变当前目录 l Ls 显示目录内容 l Find 查找文件 n -name n -size n -user n -atime n -mtime n -newer n -print l Mkdir 建立新目录 l Rmdir 删除目录 l Mv 移动文件和目录 l Cp 复制文件和目录 l Rm 删除文件和目录 l Chmod 改变文件权限 l Chown 改变文件所有权 l Gzip 压缩文件 l Tar 文件打包 l File 查看文件类型 l Mount 安装文件系统 n Mount t msdos 装载软盘 n Mount t iso9660 装载光驱 l Umount 卸载 l Df 列出磁盘空间 l Format 格式化软盘 l Cat 显示文件内容 l Head 仅看文件前部 l Tail 仅看文件尾部 l Grep 查找文件内容 l More less 分屏显示 l Vi 文本编辑工具 l Useradd 创建用户 l Passwd 设置修改用户口令 l Usermod 修改用户信息 l Groupadd 新建群组 l Userdel 删除用户 l Groupdel 删除群组 l Su 用户间切换 l Who 查看当前用户 l Ps 报告进程状态 l Kill 发送信号给进程 l Man 显示帮助手册 l Whereis 寻找命令所在位置 l Info 介绍用户命令 2 管理网络服务2.1 服务守护进程执行流程 Ps 查处的进程,tty=?的即为守护进程 设计和使用守护进程的目的是为了节约系统资源,所以各种守护进程所占有的系统cpu、内存mem以及运行时间time几乎都为零 在没有执行请求时,init守护进程处于等待状态,并不占用太多的系统资源。当它发现创建进程的请求是,就自动结束等待状态,产生进程;进程成果创建后,进入运行状态,当它发现创建的进程结束后,系统要求释放资源,就立即释放进程所占的资源,然后在进入等待状态。 2.2 常见的守护过程2.2.1 Init守护进程 l 设置计算机名称、网络参数 l 设置区域时间 l 坚持文件系统,无误后进行安装 l 删除临时文件 l 启动系统守护进程 2.2.2 Cron 执行一些周期性的自动任务, 2.2.3 Syslog 根据配置文件/etc/syslog.conf中描述的一系列文件,通过中心登记机记录信息。包括 2.2.4 Sendmail2.3 网络配置文件2.3.1 服务 /etc/services 这是一个最著名的超级守护进程,它利用该文件识别网络请求是FTP还是NFS服务的。 每一行都是一个服务,将#可将该服务停止,每个服务使用一个端口 其中0~1023 是专供服务使用,well-known port 1024~49151 所有在internet上登记使用的端口 49151 私人或动态的端口号。 2.3.2 使用xinetd2.3.3 主机地址文件 /etc/hosts2.4 配置FTP服务3 与Windows共享资源3.1 使用Samba共享资源3.1.1 SMB简介 Sewer Message Block,SMB 是在会话层和表示层记以及小部分应用层的协议。SMB使用了NetBIOS应用程序接口。 Samba,Australia, Andrew Tridgell 开发 l 文件服务和打印服务,实现Windows和Linux的资源共享 l 作为NetBIOS名字服务器,解析NetBIOS名字IP。 l 提供SMB客户功能,利用Samba提供的smbClient程序可以在Linux写意类似FTP的方式访问Windows资源 l 备份PC机上的资源 l 提供一个命令行工具,以便对Windows NT服务器和Samba服务器进行有限远程管理。 l http://us6.samba.org/samba/ 3.2 Wine3.3 Ext2tool3.4 Iread3.5 Fsdxt2 以上内容源自ADDIN EN.CITE 许杜村200332243224许杜村RedHatLinux 9中文版入门与进阶3522003 北京 清华大学出版社(许杜村 2003) 4 系统工程师4.1 Shell l 通配符 n #ls /dev/tty? l 一次建立多个目录 n # mkdir {g1,g3} l Ls l Ln n 对文件建立链接,它使指定的文件与一个新文件名链接起来,用ln命令链接的两个文件具有相同的索引号,每用ln命令建立一个链接,改文件的链接数目就增加1,每用rm命令删除一个文件名,该文件的链接数就会减1,知道链接数减到0,该文件就真正被删除了 n 与cp不同的是,cp是将文件内容复制了一遍,而ln命令却只是建立一个新的链接。 l Passwd n 修改口令 l Shutdown n -a: use /etc/shutdown.allow u -k: don't really shutdown, only warn. u -r: reboot after shutdown. u -h: halt after shutdown. u -P: halt action is to turn off power. u -H: halt action is to just halt. u -f: do a 'fast' reboot (skip fsck). u -F: Force fsck on reboot. u -n: do not go through init but go down real fast. u -c: cancel a running shutdown. u -t secs: delay between warning and kill signal. u ** the time argument is mandatory! (try now) ** 4.2 设置自动启动项 让PostgreSQL自动运行 让Linux每次开机时自动运行用户脚本 可在/etc/rc.d/rc.local文件中,最后加入两行 http://www.searchsv.com.cn/ShowContent_8017.htm 【Reference】 Normal07.8 磅02falsefalsefalseEN-USZH-CNX-NONE/* Style Definitions */table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-priority:99;mso-style-qformat:yes;mso-style-parent:;mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin-top:0cm;mso-para-margin-right:0cm;mso-para-margin-bottom:10.0pt;mso-para-margin-left:0cm;line-height:115%;mso-pagination:widow-orphan;font-size:11.0pt;font-family:Calibri,sans-serif;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-fareast-language:EN-US;mso-bidi-language:EN-US;} 许杜村 (2003). Red Hat Linux 9中文版入门与进阶. 北京, 清华大学出版社.
个人分类: Linux|3326 次阅读|0 个评论
Linux入门(五)
guodanhuai 2009-8-1 11:25
1 系统管理 1.1 用户管理 1.1.1 添加用户 # useradd 1.1.2 删除用户 #userdel 1.1.3 禁用用户 将/etc/passwd文件中相应用户的用*注释掉即可 1.1.4 建立组 Groupadd 1.1.5 组中加入用户 在 /etc/group文件,将用户名加入用户列表中,用逗号分割开就行了 1.1.6 删除组 Groupdel 1.1.7 查看用户操作 W 1.1.8 查看登录用户 Who 1.1.9 查看登录用户历史 Last 1.2 更新或添加软件包1.2.1 使用图形化界面1.2.2 使用RPM l -i安装 l -U升级 l -F 更新 l -v 显示安装信息 l -h 显示安装进度条 l -e 删除 l -q 查询 l -V验证 l http://www.rpm.org/ 1.2.3 安装tar格式的软件包 l 下载 l 阅读 l 解压缩 l 执行./config l 运行make l 执行make intall 1.3 进程管理1.3.1 查看进程 l # Ps l Top 1.3.2 结束进程 Kill 1.4 任务管理1.5 日志文件系统
个人分类: Linux|2694 次阅读|0 个评论
Linux学习(四)
guodanhuai 2009-8-1 11:24
1.1 文件系统 l 引导块 (boot block) n 文件开头,一个扇区,含有系统引导代码,每个文件系统都有一个引导块 l 超级块(super block) n 描述文件系统的状态,大小、存储能力,空闲空间,等 l 索引节点表 (inode list) n 在超级块的后面,是一张索引的节点表, l 数据块 (data block) n 在索引节点表结束之后开始,并且保护文件数据与管理数据,一个已被分配的数据块能且仅能属于文件系统中的一个文件 1.1.1 文件连接 n 硬连接系、 u 系统调用link在文件系统结构中连接到另外一个新的名字上,也就是为被连接的文件的索引节点创建了一个新的目录项,通过连接操作,一个文件可以有两个以上不同的名字,系统可以通过其中任意一个名字来访问文件,内核并不知道哪个名字是最初的文件名,这种为所应节点创建新目录项的连接方式,成为硬连接 n 符号连接 u 内核按照硬连接为新名字创建了一个新的目录项,当目录项中并不包含索引节点号,而是含有从当前目录下访问被连接文件的相对路径名和绝对路径名。当进程使用新名字访问文件是,内核首先读出被连接文件的路径名,俺吃路径名访问指定的文件。符号连接可以跨文件系统,而硬连接是不可以跨文件系统。 1.1.2 文件系统类型 l ext2 l ext3 l msdos,8.3 l vfat,长文件名支持 l reserfs:大容量日志文件系统,具有文件系统修复功能 l nfs:网络文件系统,允许多台计算机之间共享文件的一种文件系统 l umsdos:专为Linux使用的扩展DOS文件类型,在msdos上基础上增加了对长文件名的支持和对文件属主、POSIX文件保护和特殊文件(设备、管道)的支持,同时也保持了对msdos的兼容,他可以在一个msdos分区的目录中安装linux, l iso9660:一种常用的CD-ROM的文件系统类型 l hpfs:IBM的操作系统OS/2使用的一种高性能文件系统 l sysv:Unix system V使用的系统 l minix: Minix操作系统中使用的一种,缺点,最大只能使用64M的分区,使用短文件名,单一时间标签等,因为出现早,现在有时还用在软盘和内存虚拟盘中。 l smb:支持Windows for workgroups Windows NT和Lan Manager等系统中使用的SMB协议的网络文件系统类型。 l ncpfs:支持Novel Netware 使用的NCP协议的网络文件系统类型。 每个文件类型存储数据的基本格式都是不一样的,但不同的操作系统中文件系统包含的信息不同,在MSDOS中,文件系统没有问价按属主的概念,但是在Linux下的文件系统就需要这些属性 1.2 Linux的目录结构1.2.1 文件系统标准 Filesystem Hierarchy Standard, FHS http://proton.pathname.com/fhs/ l 根文件系统(/) n 引导和运行Linux系统所需的文件, n /bin 常用系统命令 n /dev 与硬件设备驱动程序有关的特殊文件和字符文件 n /etc 系统配置文件,系统状态等 n /lib 存放常用程序的库函数文件 n /mnt 用用户安装临时文件系统的目录,通常为空 n /sbin 存放系统自举和系统恢复时所用程序 n /tmp 暂存区 l /usr文件系统 n 含有可以被共享的命令和系统管理数据库,包括机器特定的可共享文件和与机器无关的可共享文件, n /usr/bin 一般用户常用命令及使用程序 n /usr/include C头文件 n /usr/lib 用户程序的库函数 n /usr/sbin 系统管理命令 n /usr/share 存放不同体系结构可以共享的文件,网络共享文件一般都存在于此 n /usr/local 通常存放为本地用户共享使用的文件 n l /var文件系统 n 包括用于管理和维护本地计算机的文件,这些主要是一些进程频繁变动的文件,如系统日志,邮箱文件,应用软件包等 n /var/log 存放系统日志和记账文件 n /var/cron 存放corn日志文件 u 系统管理员通常需要在每天,每周,每月做备份和运行其他的进程。虽然这些进程都可以手工运行,但是通常都需要安排它们自动运行。cron守护进程的作用就在与此。cron守护进程在系统引导的时候和系统管理员和其他用户执行时间调度任务提交的时候启动。你可以用ps 命令来检查是否cron守护进程正在运行。 # ps ef |grep cron   #cron正在运行吗 n /var/lp 存放打印机活动的日志 n /var/mail 存放用户的邮件文件 n /var/spool 存放临时假脱机缓冲文件 n /var/uucp 存放uucp系统日志和状态文件 l /home文件系统 n 存放用户文嘉,在默认条件下,每个用户的注册目录都放在/home目录下 n 每新建一个用户,/home目录下就会多一个以用户名明明的新目录 l /boot文件系统 n 非常特殊 n 包含了系统引导内核及相关工具,如引导管理程序Grub及Lilo,但他需要建在根文件系统下 n 启动文件及启动后装入和执行的核心程序,都在这个目录下面,他们是Linux系统必须的部分,因此必须放在系统的根目录下才能保证Linux系统核心的成果装载。 1.3 管理文件和目录1.3.1 识别和使用文件类型 l Bz2 使用bizp2压缩的文件 l Gz 使用gzip压缩的文件 l Tar 使用tar(磁带归档tap archive)压缩的文件, l Tbz 用tar和bzip压缩的文件 l Tgz 用tar和gzip压缩的文件 l Conf 配置文件 l Loch lock文件,用来判定程序或设备是否正在使用 l Rpm 用来安装软件的软件包管理器文件 l Pl perl文件 l So 库文件 l Tcl tcl脚本 1.3.2 归档文件(archive file)和压缩文件(compressed file) 归档文件是一个文件和目录的集合,而存在在一个目录中,归档文件一般不压缩 1.3.3 常用压缩命令和解压缩 l Bzip2和bunzip2 n 压缩时,源文件会被删除 n 压缩比大约为5.5倍 n 处理多个文件时,文件名用可个隔开,分别生成多个文件 l Gzip和gunzip n 压缩比比前者略小 n 加参数 r可以将多个文件和目录压缩在一个文件中 l Zip和unzip 1.3.4 在shell下给文件归档 tar l 创建文件 n Touch l 创建目录 n Mkdir l 复制文件 n Cp l 移动文件 n Mv l 删除文件和目录 n Rm n Rmdir (不能删除正在使用和非空文件夹) n 1.4 管理磁盘 l Df 查看磁盘使用情况 1.4.1 磁盘分区 Parted 1.4.2 优化Linux系统硬盘 优化措施 l 清理磁盘 l 整理磁盘碎片 l 从IDE升级到SCSI n IDE需要度访问CPU,而SCSI不需要 l 获取更快的控制器和磁盘驱动器 l 使用多个控制器 l 调整硬盘参数 n Hdparm l 使用软件RAID l 配置内核参数 l Tweak内存性能
个人分类: Linux|3042 次阅读|0 个评论
Linux入门(三)
guodanhuai 2009-8-1 11:22
1 常用命令:1.1 使用终端1.2 切换系统模式 l 设置启动模式 n 修改/etc/inittab n 介绍inittab文件的文章: http://unix-cd.com/unixcd12/article_1899.html l 切换到文字模式 n 切换到指定的模式,该模式为文字模式, n Init 5 n 1.3 使用shell 系统与用户交互式的环境,用户可以通过shell环境变量了解shell的特性。 Linux 支持很多中的shell,都集中在/etc/shells目录下 # cat \etc\shells 查询当前的shell变量 #echo $SHELL # echo $SHELL /bin/bash 说明当前使用的是bash 1.3.1 显示环境变量 # set 可显示所有变量 # echo $ 可显示指定变量属性 1.3.2 修改环境变量 $= 这是直接修改变量, $=$ 也可创建自己的环境变量, 新的变量名只能用数字、英文字母和下划线,变量名不能以下划线开始 系统设置的环境变量都是大写字母,自定义环境变量可以使用小写字母。 以上是临时修改环境变量,系统重启后,环境变量会被重置,如果需要每次开机都改变环境变量,可修改用户主目录下的.bashrc文件 .bash_profile只会在会话开始时被读取_profile中,而像alias这样的函数和变量则放在.bashrc中。但由于.bash_profile经常被设置为先读取.bashrc的内容,如果图省事就把所有配置都放在.bashrc,系统级的设置存储在etc/profile, ./etc/bashrc/profile下的文件中。当系统级与用户级的设置发生冲突时,将采用用户的设置。 1.3.3 浏览目录及文件 l PWD:判断当前的目录 l CD:修改当前目录,可使用绝对路径,也可使用相对路径 cd 回登录目录 cd~ 回登录目录 cd/ 回系统根目录 cd/root 回根用户或超级用户的主目录 cd/home 回到到主目录,用户登录通常存储在此处 cd.. 移动到上一级目录 cd~other user 到其他用户目录 cd /dir1/subdirfoo 到绝对路经 cd ../../dir3/x11 到当前路径以上的两级路径的相对路径 1.3.4 su 替代用户substitute users(代替用户),允许暂时登录为其他用户 1.3.5 ls 查看目录内容 -a 全部,包括隐藏文件(.filename) -l 长,列举目录内容的细节,包括权限、所有者、组群、大小、创建日期、文件是否到系统其他地方连接,以及连接的指向 -F 文件类型。在每个列举项目之后添加一个符号,/表明是一个目录,@表明是到其他文件的符号链接,*表明是一个执行文件 -r 逆向(reverse),从后向前列举目录中的内容 -R 递归(recursive)。递归地列举所有目录(当前目录之下的)内容 -S 大小(size)按文件大小排序 1.3.6 man 查看某命令的说明书页 1.3.7 alias 定义别名 alias dir=ls -al 1.3.8 locate 定位文件和目录 1.3.9 corn 守护进程 1.3.10 命令行打印 # lpq Active root 365 foo.txt 365是打印作业号 #lprm 取消打印队列中的作业 如果是其他用户的作业,因不是root用户,打印作业将无法取消 1.3.11 清除和重设终端机 # clear 清除终端窗口 # reset 重设窗口。但不会导致系统重新启动 1.3.12 管道和重定向 重导向就是使shell改变它所认定的标准输出。或者改变标准输出的目标 重定向可能会覆盖一个现存的文件,要特别小心 后补重定向,并不覆盖原文件,而是在其后添加信息 重导向标准输入 less 管道和换页器 按space键,向前移动一个屏幕,B向后移动一个屏幕,按Q键退出 demsg/less 可以一屏幕一屏幕地翻看 grep 查看某文件中出现某关键字的位置 Ctrl+page down和Ctrl_Page up强行控制翻页 1.3.13 其他阅读文本文件命令 Cat Head Tail Grep 1.4 I/O重定向和管道 | 1.5 通配符?/* \*表示通配文件中含有*的文件。 1.6 命令历史和Tab自动补全 More。查看长文件 History 查看命令历史 自动补全,按两次tab键 1.6.1 使用多重命令 使用分号将命令进行分割 1.6.2 所有权和许可权限 Ls l 可以查看到 十位文件所有权的权限 1:类型 2-4:所有者的读写权限 5-7:组群的读写权限 8-10:其他人的读写权限 D:目录 -:常规文件 R: W: X:可执行 Chmod 改变权限 User U 文件所有者 G 文件所有者所在的组群 O 其他人 A 所有人 权限 R 读取 W 写入 X 执行 执行 + 添加 - 删除 = 使他成为唯一权限 当文件的权限被删除后,只有文件所有者可以对他进行操作并赋予新的权限。 也可以用数字来改变文件的权限,即将权限设置为几个二进制的数值,分别计算每个用户的权限值的和: R=4 (二进制100) W=2 (二进制010) X=1 (二进制001) -=0 (二进制000) 将这些值相加,他的总和便用来设立特定的权限 如: _ (rw-) (rw-) (r--) 4+2+0 4+2+0 4+0+0 该文件的权限是664 1.7 使用vi编辑器 Vi Vim 必须先输入冒号,将光标停在屏幕的下方,才可进行命令输入 退出: 先按ECS,后输入:q按回车,退出 或 Vi的三种模式 Command Mode Insert Mode 按:键 命令错误或按ESC键 Last lineMode :搜索、替换、保存、结束 按Esc键 按a,I,o键 Input Mode :输入文字 Command Mode :移动鼠标或编辑文字 Last Line Mode 常用命令 光标移动 H 光标左移动一格 l 光标右移一个 J 下移一格 K 上移一格 0 移动到该行的在最前面 $ 移动到该行的最后面 G 最后一行开头 W或w 将光标移动到一个字(单词) e 将光标移动到单词的最后一个字符 b 将光标单词的第一个字符 { 将光标移动到单词的{处,这在c语言编程比较有用 } 将光标移动到单词的}处 Ctrl+b 光标向前卷一页 Ctrl+f 光标向后卷一页 Ctrl+u 光标向前移半页 Ctrl+d 光标后移半页 Ctrl+e 光标向下卷一行 Ctrl+y 光标向上卷一行 N+\ 将光标移至第n行 复制文字 y+y 连续输入两次y,整行复制 yw 复制光标后的一个字符 nyw 复制光标后的n个字符 nyy 复制光标后n行 p 粘贴复制内容 删除命令 D+ 删除光标前一字符 +右方向键 删除光标所在字符 +向上键 删除光标所在行及其上一行 +向下键 删除光标所在行及其下一行 dd 删除所在行,连续按住会一直删除 n+ 删除指定的行数(同上) x 删除光标当前一字符 X 删除光标前一字符 n 删除n个字符 位置显示及其他 Ctrl+g 最后一行显示光标所在位置的行数及文章的总行数 nG 将光标移至n20行 r+* 将光标处字符替换成输入字符 R 切换到替换模式 u 复原功能,回退 U 撤销回退,只能撤销最后一个 . 重复执行上一命令 ZZ 保存并推出vi % 符号匹配功能,在编程时,如果输入%(,系统将会自动匹配相应的) Last Line Mode e 创建新的文件 n 加载新的文件 w 写文件 w! 强制写文件,包括可以写入只读文件 q 退出 wq 强行退出 set nu Set 可以设置vi的某些特征 / 文字查找,按n向后,N向前 ? 和/类似,只是向前而已。
个人分类: Linux|3062 次阅读|0 个评论
Linux入门(二)
guodanhuai 2009-8-1 11:19
1.1 使用Telnet Telnet经典的远程管理服务,源于1969年的ARPANET,全称是Telecommunication Network Protocol,虽应其明文传输信息造成的安全隐患颇遭人非议,仍是当今使用得最多的远程管理方式之一 需要启动两个程序,一是服务器端程序,一是客户端程序 客户程序: l 建立与服务器的连接 l 从键盘上接受输入的字符 l 把输入的字符串变成标准格式并送给远程服务器 l 从远程服务器接收输出信息 l 并将返回信息显示在屏幕上 1.1.1 使用Telnet客户端 l 启动Telnet客户端 【root@localhost root】# telnet 若对方系统运行有Telnet服务程序,便可进行用户登录和口令验证后,就可进入到远程系统中,可以进行权限操作了 l 使用Telnet命令 # telnet ] telnet常用参数 参数 Description -l user 若远程登录可以设置环境变量,就把USER变量设置为user -x 若有加密功能,就打开这个功能 Host 所要登录的主机的IP地址或主机名 Port 服务器的服务端口,默认情况下为端口23 l 使用Telnet服务器 默认Redhat Linux9安装时,Telnet服务器已经安装在系统中,但并没有被启动,有两种方法可以启动: n 在命令行模式下,键入setup,进入系统配置菜单,选择System Service,重启后每次都会启动 n 图形界面下,【启动程序】【系统设置】【服务】 Telnet不仅可以用在同种操作系统之间的系统登录,还可以应用于不同操作系统之间的远程登录,而rsh,rloging等只能用于Linux和Unix之间 Telnet使用的明文,没有加密功能等缺点,会带来很大的管理风险 1.2 使用更安全的SSH SSHSecurity Shell l 产生SSH的原因 Man-in-the-middle 中间人冒充真正的服务器接收客户机传给服务器的数据,然后在冒充客户机把数据传给真正的服务器。这样便可未经验证而获取服务器和客户机的信任,从而进行非法操作。 SSH不仅可以对数据进行加密,由于进行了数据压缩,可加快传输的速度,既可以替代Telnet,又可以为FTP,POP3甚至PPP等应用协议提供一个安全的加密通道 l SSH的实现 1.x和2.x版本,不兼容, Open SSH l 配置OpenSSH服务器 OpenSSH服务器在系统 安装时,设置已经安装在系统中,Red Hat Linux9 中将默认的远程管理服务设置为OpenSSH而不是Telnet,是推荐用户使用安全性更高的OpenSSH进行远程登录操作 n SSH配置文件 u /etc/ssh/ssh_config n 启动服务器 u 【启动程序】【系统设置】【服务】 u # service sshd start n 重启服务器 u #service sshd restart n 停止服务器 u # service sshd stop n 其他报警信息 u 出现: @ WARNING: REMOTE HOST INDENTIFICATION HAS CHANGED! @ 这是由于在系统重新安装时也同时产生了身份密钥,因此是用原来的客户端设置访问,会产生RSA主机密钥改变的报警 u 处理: 要避免上述情况的发生,在重新安装系统之前备份/etc/ssh/ssh_host *key*文件,在重装系统后,把备份文件恢复到原来的目录下。 l 使用OpenSSH客户端 n 基于口令的验证方式 需要一个和服务器存在的用户名登录,同样帐号。 u # ssh 192.168.10.1 u # ssh username@192.168.10.1 u # ssh l username 192.168.10.1 u 如果是第一次登录到OpenSSH服务器,会看到如下信息: The authenticity of host 192.168.10.1 cant be established. DSA key fingerprint is ********* Are you sure you want to continue connecting (yes/no)? 输入yes后: Warning: Permanently added 192.168.10.1 (RSA)to the list of known hosts 表示,已经将服务器加入到用户的~/.ssh/honown_hosts(记录的已知主机名单)。 提示输入帐号口令进行验证。验证正确后,用户便可成功登录到远端系统中。 n 基于密钥的验证方式 首先需要为自己创建一对密钥,OpenSSH支持的公开密钥体制有RSA、DSA u # ssh -keygen t rsa l 默认的密钥存放目录为~/.ssh/id_rsa,之后系统提示你输入密钥时的口令,输入并确认,便产生了公钥~/.ssh/id_rsa.pub和私钥~/.ssh/id_rsa 一定要保存好自己的私钥,否则私钥一旦被他人获得,则可以冒充你登录到服务器中。 l 使用chmod 755 ~/.ssh 命令更改 ~/.ssh目录的权限为755 l 将公钥复制到想要登录到服务器 ~/.ssh/目录下,并把文件改名为authothorized_keys l 完成以上步骤后,便可以用密钥的验证方式登录远程服务器了 l # ssh n 使用OpenSSH还可以在不登录远程系统的情况下,在远程系统上执行命令,格式 u # ssh u #ssh 192.168.10.1 ps -A n OpenSSH 还提供了两个在网络中保密地传输文件的小工具,scp和sftp u Scp,可以将本地文件复制到远程系统中,也可将远程文件复制到本地系统中 u #scp localfile username@tohostname:/newfilename u #scp username@tohostname:/newfilename localfile u Sftp可以打开一个安全的ftp会话,除了使用一个安全、加密的连接以外,其他方面都与通常所用的ftp命令十分相似,sftp在OpenSSH的version2.5.0pl或更高版本中才提供。 l 使用Windows的SSH客户端 n 使用Window系统的SSH客户端远程登录到red hat Linux,需要选用第三方客户端软件 如SecureCRT u 可以管理多个主机,在不同的窗口之间切换。 l 功能强大,容易使用 l 自动注册、对不同主机保持不同的特性、支持打印、颜色可设置、可变屏幕尺寸、用户定义键位图、优良的VT100、VT102、VT220和ANSI兼容性 l 支持DES、3SDES、RC4等对称密码,以及RSA等公钥密码的鉴别 l http://www.vandyke.com/ 1.2.1 文件传输工具 可在图形区域内直接将图形进行拖动处理,这个图形界面和一般的ftp的Windows界面是一致的。 1.3 图形化的远程管理工具1.3.1 VNC概述 l Cambridge大学的ATT实验室开发。一种远程显示系统。 l 支持Unix,Linux,Windows,Macintosh l VNC客户端支持的环境有X Windows, Windows, Windows CE, Macintosh, Java l 1.3.2 使用VNC服务器 #rpm version 可以查看到VNC的版本号 l 启动VNC服务器 n # vncserver l 配置VNC服务器 n 设置VNC显示环境 u # vncserver geometry 800*600 depth 16t n 停止VNC服务器,在不使用时,建议停止,以防止他人使用VNC客户端连接你的系统。 u Vncserver kill :n 1.3.3 VNC客户端 l 下载VNC客户端连接, l 也可通过以下方式连接:http://:5800+显示装置编号 n http://192.168.3.137:5801/ n 认证后也可进行连接。 1.4 更加安全地使用VNC l 利用SSH的安全性和VNC的方便性结合起来,形成应用安全的远程管理界面 1.4.1 工作原理 VNC是使用未加密的明文进行通讯的,存在安全隐患,尤其在远程控制系统非常关键,或是在传输中的信息十分重要的时候。 OpenSSH不仅仅只是一种安全的远程管理工具,同时可以为其他各种网络应用提供一个安全保密的隧道,即OpenSSH的端口转发功能(Port Forwarding) 端口转发的工作原理是:把 本地客户端的一个端口映射为远端服务器的服务端口。 SSH允许用户映射服务器的任一服务端口到本地客户机的任何没有使用的端口上,这样就可以在本地和远程服务器之间通过SSH建立一条加密通道。所有对本地映射端口的请求都被SSH加密,然后转发到远程服务器的端口上。 l 配置过程 n 检查SSH配置 u # telnet 22 n 建立安全隧道 u 要创建一个TCP/IP端口转发隧道,执行如下命令 u #ssh L localport:remote-hosrname:remote-port username@hostname l Local-port 指明本地尚未被使用的端口号 l Remote-hostname 指明需要被映射的远程服务器名或IP地址 l Remote-port 指明需要被映射的远程服务器的服务端口号 l username@hostname 指明本地的用户名和主机名 u 当客户机和主机之间的线路带宽较窄时,可以使用参数-c 开启数据压缩 ,使SSH在转发数据之前先进行数据压缩 n 建立SSH端口映射 u 具体生成将VNC浏览器和服务器通过SSH端口映射的过程:这样可对连接进行加密 u #ssh L 5902:192.168.10.2:5901 192.168.10.1 u 执行VNC浏览器VNCView并输入本地主机名和显示设备代号,设备代号由本地端口号-5900得出。 u 输入VNC服务的验证口令
个人分类: Linux|4102 次阅读|0 个评论
Linux入门(一)
guodanhuai 2009-8-1 11:12
最近在学习Linux,以下是入门的笔记: 1.1 基础知识 Unix:ATT贝尔实验室 20世纪60年代 源程序开放后,产生了多个版本:DEC公司的VAX的Ultrix,HP的HP-Unix,SCO-Unix,Sun公司的SunOS及Solaries等 Unix 技术成熟、稳定性高、可扩展性强, Linux是Unix的一个变种,Linux Torvalds(芬兰人),在网络上实现了Linux l 不同的Linux发行包差别有限 l Linux可以完成关键业务 l Linux更加可靠 l Linux花费很小 常见的Linux版本 l SuSE Linux-德国,性能稳定、界面清晰流畅,提供了许多易用功能,适合家用 l Turbo Linux最早的汉化版本,Turbo Linux公司更注重于服务器端的应用,它是最早提供Linux集群服务器的厂商之一 l Dedian Linux,最符合GNU(http://zh.wikipedia.org/w/index.php?title=GNUvariant=zh-cn)精神的Linux,基于自由源码软件,结构紧凑,目录设置规范,适宜于教学只用 l Slack Ware Linux是最早出现的Linux版本,曾经是Linux下的经典,安装不便 l Red Hat Linux是最流行的Linux版本。将易用性和可扩展性完美结合 国内主要的Linux版本: l 红旗Linux 北京中科红旗技术有限公司开发中科院软件所 l Xterm Linux网上冲浪平台上最早推出的中文Linux l 蓝点Linux 首个将内核进行汉化 l Red Hat Linux Red Hat公司 1.2 What you should know l 类似于Unix, Linux区别大小写, l root帐号具有最高级的特权,是系统自动创建的,建议在使用时建立并使用其他的帐号登录 l 可用图形化登录界面,也可用虚拟控制台登录,且速度更快,还可批处理 l 在Linux下,简单用~/表示用户的根目录,而也.开始的文件则定义为隐藏文件,直接查看目录时,并不显示。 n .xinitrc 和.Xclients两个文件功能很相似,但.xinitrc着重于X Window系统方面,而.Xclients则侧重于用户自定义窗口及桌面环境 n 1.3 使用 OpenSSH客户端 SSH连接参数 Password:sdb.cnic SSHSecureShellClient 用SSH客户端可以安全远程登录和管理
个人分类: Linux|3030 次阅读|0 个评论
Linux压缩与解压缩方式大集合
friendpine 2009-5-24 22:27
转载自http://www.chinaitlab.com/www/techspecial/tar/  Linux下有相当多的压缩命令,初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊的意义的,不过,为了方便记忆,针对这些压缩命令所做出来的压缩文件,还是会有一些特殊的命名方式,Linux下常见的压缩文件有*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2等,为什么要用这样的文件名呢? 1 后缀名的含义 在Linux中,文件的后缀名与文件的属性可能没有什么联系,很多时候是为了表征文件作者自身的命名习惯,或者反映文件的内容。但也有不少后缀在Linux是通用的表征文件属性的,如压缩文件和解压缩文件的后缀。 *.Z 是compress命令压缩的文件;    *.bz2 是bzip2命令压缩的文件;    *.gz 是gzip命令压缩的文件;    *.tar 是tar命令打包的资料,并没有压缩过;    *.tar.gz 是tar命令打包的文件,其中并且经过 gzip 的压缩. 2 各个不同的后缀需要不同的命令和参数进行解压缩,分别如下:  .tar   解包: tar xvf FileName.tar   打包:tar cvf FileName.tar DirName   (注:tar是打包,不是压缩!) .gz   解压1:gunzip FileName.gz   解压2:gzip -d FileName.gz   压缩:gzip FileName .bz2   解压1:bzip2 -d FileName.bz2   解压2:bunzip2 FileName.bz2   压缩: bzip2 -z FileName .tar.gz 和 .tgz   解压:tar zxvf FileName.tar.gz   压缩:tar zcvf FileName.tar.gz DirName .tar.bz2   解压:tar jxvf FileName.tar.bz2   压缩:tar jcvf FileName.tar.bz2 DirName .Z   解压:uncompress FileName.Z   压缩:compress FileName .tar.Z   解压:tar Zxvf FileName.tar.Z   压缩:tar Zcvf FileName.tar.Z DirName .zip   解压:unzip FileName.zip   压缩:zip FileName.zip DirName .rar   解压:rar a FileName.rar   压缩:r ar e FileName.rar 一般情况下,上面的这些命令足够了,而且也不太可能用到这么多命令。Linux的压缩和解压缩非常的复杂,上面的只是简单的介绍,有点入门的意思。
个人分类: Linux|5517 次阅读|1 个评论
An internal system error has occurred
environment 2009-5-18 20:56
Fedora 9 yum update: An internal system error has occurred 无论 是安装个别组件还是Yum Update均不成功。 解决办法:1)Yum clean all 2) yum update
个人分类: Linux|23 次阅读|0 个评论
Linux入门
friendpine 2009-5-12 10:20
Linux 文件命令精通指南 (转载http://www.oracle.com/technology/global/cn/pub/articles/calish_file_commands.html) 作者:Sheryl Calish 为刚接触 Linux 文件命令的初学者提供的速成教程 虽然 GUI 桌面(如 KDE 和 GNOME)能够帮助用户利用 Linux 特性,而无需关于命令行接口的功能知识,但还是经常会需要更多的功能和灵活性。而且,基本熟悉这些命令对于在 shell 脚本中正确地使某些功能自动化仍然是必需的。 这篇文章是关于 Linux 文件命令的一个速成教程,它是为那些刚接触这个操作系统或者只是需要补充这方面知识的用户提供的。它包含了对一些更有用的命令的一个简明的概述以及关 于它们的最强大的应用的指导。下面包含的信息 结合一些实验 将使您能够容易地掌握这些基本的命令。(注意:当涉及到一个与 Oracle 集群文件系统 (OCFS) 结合的内核时,这些命令中的某些命令的行为可能会稍微有所不同。在此情况下,Oracle 提供了一个 OCFS 工具集 ,该工具集可以为文件命令应用提供一个更好的选择。) 注意,这里包含的所有示例都在 SUSE Linux 8.0 Professional 上进行了测试。虽然没有理由相信它们在其它的系统上将不能工作,但如果出现问题,您应当查看您的文档,以了解可能的变化。 背景概念 在深入研究规范之前,让我们回顾一些基础知识。 文件和命令 在 Linux/UNIX 操作系统中,所有事物都被当作文件来处理:硬件设备(包括键盘和终端)、目录、命令本身,当然还有文件。这个奇怪的惯例实际上是 Linux/UNIX 的能力和灵活性的基础。 大多数(几乎是全部)的命令形式如下: command 获取帮助 最有用的命令之一是那些提供帮助的命令(特别是对那些学习 Linux 的人而言)。Linux 中的两个重要的信息来源是联机参考手册,或 man 页面和 whatis 工具。您可以用 whatis 命令来访问一个不熟悉的命令的 man 页面。 $ whatis echo 要了解关于这个命令的更多信息,可以使用: $ man echo 如果您不知道某个特殊任务所需的命令,您可以用 man -k (也称为 apropos )和一个主题来生成可能的命令。例如: $ man -k files 一个很有用但常常被忽视的命令可以提供关于使用 man 本身的信息: $ man man 您可以用 SPACEBAR 来浏览任意的 man 页面;UP ARROW 将向上翻滚文件。.要退出,则输入 q,!,或 CTRL-Z。 用户类别 记得那句名言所有动物一例平等但有些动物比其他动物更加平等吗?在 Linux 世界中,根用户掌管一切。 根用户可以以另一个用户名 su (源自 superuser)登录。要执行诸如添加一个新用户、打印机或文件系统之类的任务,必须作为根用户登录或者用 su 命令和根用户密码切换到超级用户。系统文件(包括控制初始化过程的系统文件)归根用户所有。虽然可能允许普通用户对它们进行读操作,但出于系统安全性的原因,编辑的权利将留给根用户。 BASH shell 虽然提供了其它的 shell,但 BASH (Bourne Again Shell) 是 Linux 的默认 shell。它结合了与它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。 BASH 内置的命令 history 默认记录最后输入的 500 条命令。可以通过在命令提示符下输入 history 来查看它们。要检索某个特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN ARROW,或在历史列表中输入它的编号,并在编号前面加上 !,例如: $ !49 您还可以通过一条命令在历史列表中离位置最靠前的项目的距离来执行该命令: 如果在历史列表中有 53 个事件, $ !-3 将执行事件号 51。 像 UNIX/Linux 世界的其它 shell 一样,BASH 使用了特殊的环境变量来方便系统管理。例如: HOME,用户主目录 PATH,Linux 用来搜索您输入的命令的可执行镜像的搜索路径 HISTSIZE,系统保存的历史事件的数量 除了这些保留的关键字之外,您还可以定义您自己的环境变量。例如,Oracle 使用 ORACLE_HOME (还有其它一些变量),要使 Oracle 安装成功完成,必须在您的环境中设置这些变量。 可以在提示符下临时设置变量: $HISTSIZE=100 或者,在 /etc/profile (需要根用户权限)中进行系统范围的永久设置,或在 .profile 中进行局部永久设置。 可以通过 echo 命令,并用一个 $ 符号来访问一个环境变量的值,进而查看该值。 $ echo $HOME /home/bluher 可以用 env 命令来查看当前所有的环境变量。 正则表达式和通配符 许多 Linux 命令使用通配符 * 和 ? 来匹配任意数量的字符或分别匹配任意的单个字符;正则模式匹配表达式利用一个句点 (.) 来匹配除换行符之外的任意单个字符。这两种情况下都使用方括号 ( ) 来匹配除*号之外的字符组。不过,* 号在各种情况下有类似但不同的意义:虽然它在 shell 中将匹配一个或更多的字符,但在正则表达式中,它匹配上述字符的零个或更多的实例。一些命令(如 egrep 和 awk )使用了一组更广泛的特殊字符来进行模式匹配。 文件处理命令 剖析一个文件列表 ls 命令用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile 19942 -rw-r--r-- 1 scalish users 30 Jan 3 20:00 test2.out 925 -rwxr-xr-x 1 scalish users 378 Sep 2 2002 test.sh 上面的列表显示 8 列: 第 1 列指示文件的 inode,因为我们使用了 -i 选项。剩下的列通过 -l 选项来进行正常显示。 第 2 列显示文件类型和文件访问权限。 第3 列显示链接数,包括目录。 第 4 和第 5 列显示文件的所有者和组所有者。这里,所有者 bluher 属于组 users。 第 6 列显示文件大小(单位为所显示的单位,而不是默认的字节数,因为我们使用了 -h 选项。 第 7 列显示日期(它看起来像是三列),包括月、日和年,以及当天的时间。 第 8 列显示文件名。在选项列表中使用 -a 将使列表中包含隐藏文件(如 .profile)的列表。 处理文件 可以移动 ( mv )、复制 ( cp ) 或删除 ( rm ) 文件和目录。明智地使用 -i 选项,以获得确认通常是个不错的主意。 $ cp -i ls.out ls2.out cp:overwrite `ls2.out'? mv 命令允许使用 -b 选项,这将在移动文件之前作一个备份拷贝。 rm 和 cp 接受功能强大但却危险的 -r 选项,它将在一个目录和它的文件上递归执行。 $ rm -ir Test rm:descend into directory `Test'? y 可以用 mkdir 来创建目录,用 rmdir 来删除目录。不过,因为不能用 rmdir 来删除包含文件的目录,所以使用 rm 加 -r 选项通常要更方便些。 出于安全的原因,所有的文件都有所有权和保护。文件访问权限(或文件模式)包含之前提到的相同的 10 个字符: 第一个字符指示文件类型。最常见的是 - 代表文件, d 代表目录,而 l 代表链接。 接下来的 9 个字符是三种用户类别的访问权限:文件所有者(字符 2-4),用户组 (5-7) 和其它 (8-10),其中 r 表示读权限, w 表示写权限, x 指示一个文件上的执行权限。破折号 - 如果出现在这九个位置的任意一个,则指示这个操作对该类别的用户禁止。 可以使用 chmod 命令通过字符符号或二进制掩码来设置访问权限。要使用二进制掩码,必须将三个权限组的字符表示转换成二进制格式,然后转换成八进制格式: 用户类别: 所有者 用户组 其它 字符表示: rwx r-x r-- 二进制表示: 111 101 100 八进制表示: 7 5 4 将写权限赋予用户组,您可以使用: chmod g+w test.sh or chmod 774 test.sh 用 umask 命令,在 /etc/init.dev 文件中进行系统范围内的、或在 .profile 文件中进行的本地的文件权限默认设置。这个命令指示用 777 减去这个数字来获取默认的权限: $ umask 022 这将为用户创建的所有新文件生成一个默认的文件权限 755。 可以用 chown 来修改文件的所有权: $ chown bluher ls.out 这里, bluher 是新的文件所有者。类似地,组成员资格将按以下方式修改: $ chgrp devgrp ls.out 这里,devgrp 是新的用户组。 ls 不提供哪些文件是文本的,哪些文件是二进制的的信息。要了解这个信息,您可以使用 file * 命令。 重命名文件 赋予一个文件多个名字的两种流行的方法是利用链接和 alias 命令。 Alias 可以用来为一个更长的命令重新起一个更方便的名字: $ alias ll='ls -l' $ ll 注意单引号的使用,这使得 BASH 将该项目传递给别名,而不是自己估计它。别名还可用作较长的路径名的缩写: $ alias jdev9i=/jdev9i/jdev/bin/jdev 关于 alias 和它的反命令 unalias 的更多信息,请查看 BASH 的 man 页面的 SHELL BUILTIN COMMANDS 子部分。在最后一个例子中,定义了一个环境变量来实现相同的结果。 $ export JDEV_HOME=/jdev9i/jdev/bin/jdev $ echo $JDEV_HOME /jdev9i/jdev/bin/jdev $ $JDEV_HOME 链接允许几个文件名引用单个源文件,格式如下: ln fileyouwanttolinkto newname 单独的 ln 命令创建到文件的一个硬链接,而使用 -s 选项来创建一个符号链接。简而言之,一个硬链接几乎不能和原始的文件区分开(除了这两个文件的 inode 将相同之外)。符号链接较容易区分,因为它们出现在一个长的文件列表中,并用 - 来指示源文件, l 指示文件类型。 查看和查找文件 文件过滤器 用来读取文件内容和在文件内容上执行操作的命令有时被称为 ¹滤器 。 sed 和 awk 命令是两个滤波器的例子,因为在以前的 OTN 文章中有它们详细的讨论,在这里将略过。 诸如 cat、 more 和 less 之类的命令让您能够从命令行查看一个文本文件的内容,而无需调用编辑器。 Cat 是 concatenate 的缩写,它将默认地在标准输出(显示屏)上显示文件内容。和 cat 一起提供的最有趣的选项之一是 -n 选项,它用编号的输出行来显示文件内容。 $ cat -n test.out 1 This is a test. 因为 cat 一次性输出文件中的所有行,所以您可能更喜欢用 more 和 less ,因为它们都一次输出一屏的文件内容。 Less 是 more 的一个增强的版本,它允许用来自 vi 文本编辑器的关键命令来增强文件查看。例如, d 向前翻滚、 b 向后翻滚 N 行(如果 N 是在 d 或 b 之前指定的)。为 N 输入的值成为随后的 d 命令的默认值。 man 页面实用工具使用 less 来显示使用说明的内容。 重定向和管道 重定向允许将命令输出重定向到文件中,而不是标准输出,或者类似地,也可重定向输入。重定向的标准符号 创建一个新的文件。 符号将输出添加到一个现有的文件中: $ more test2.out Another test. $ cat test.out test2.out $ cat test2.out Another test. This is a test. 到文件的标准输入可以用 符号来重定向: $ cat test2.out 错误消息用 2 和 2 来重定向和添加,格式如下: $ command 2 name_of_error_file 要避免无意地覆盖一个现有的文件,使用 BASH 内置的命令集: $ set -o noclobber 可以在命令和输出文件之间用 ! 符号来重载这个特性。要关闭这个特性,用 +o 代替 -o 。 重定向在一个命令和文件之间、或文件和文件之间工作。重定向语句的一项必须是一个文件。 管道使用 | 符号,并且在命令之间工作。例如,您可以用以下方式将一个命令的输出直接发送到打印机上: $ ls -l * | lpr 可以用以下方式快速地找到历史列表中的一个命令: $ history | grep cat 更多的滤波器 Grep、fgrep 和 egrep 都显示匹配一种模式的行。所有这三个命令都在文件中搜索指定的模式,如果您想不起来一个所需文件的名称,这将非常有用。基本格式是: grep PATTERN $ grep -r 'Subject' nsmail CTRL-Z 将终止上述或其它任何命令。 grep 的最有用的选项可能是 -s 。如果您以除根用户之外的任何身份搜索系统文件,那么对于每一个您没有访问权限的文件,都将产生错误消息。这个命令禁止那些消息。 Fgrep (也以 grep -F 调用)只查找固定的字符串,而不是 grep 接收的正则表达式。而 egrep 接收包含更大范围的特殊字符(如 |,它指示条件 OR 运算符)的模式。 $ egrep 'Subject|mailto' * 查找文件 find 命令的 GNU 版本非常强大、灵活并且比 UNIX 系统上存在的经典版本更具包容性。它对于涉及到目录结构的任务非常有用,包括在文件上查找和执行命令。 find 命令的基本格式是: $ find startdirectory options matchcriteria 如果您知道文件的名称、或者甚至名称的一部分,但不知道它所处的目录,您可以这么做: $ find .-name 'test*' ./test ./jdevhome/mywork/EmpWS/EmpBC4J/test 与经典的 UNIX 系统不同,在 Linux 中不需要在末尾添加 -print 操作,因为如果没有指定其它的操作选项,就将假定执行这个操作。在目录起始位置上的一个点 ( . ) 将使 find 在您的工作目录中开始搜索。两个点, .. ,在父目录中开始搜索。您可以在任意目录下开始搜索。 注意,您可以使用通配符作为搜索准则的一部分(只要用单引号将整个项目括起来)。 $ find .-name 'test*' -print ./test.out ./test2.out 显示拥有 .out 扩展名的一系列文件: $ find /home -name '*.out' 不过记住,除非您是作为超级用户运行这个命令,否则您将可能得到许多的 Permission denied 错误消息。 最强大的搜索工具之一是和 grep 一起使用的 -exec 操作 : $ find .-name '*.html' -exec grep 'mailto:foo@yahoo.com' {} \;
个人分类: Linux|3854 次阅读|0 个评论
如何修改terminal命令提示信息?
cgh 2008-12-3 12:58
(自 http://www.chinaunix.net/jh/24/257100.html ) 如果您很容易使 shell 提示行变得色彩绚烂斓且带有更多信息,为什么还要坚持用单调的标准 shell 提示行呢?在这篇技巧中,Daniel Robbins 将说明如何获得符合您的意愿的 shell 提示行,并会说明如何动态更新 X 终端的标题栏。   作为 Linux/UNIX 人,我们有很长的时间是在 shell 中工作,并且在许多情况下,下面这一行就是始终盯着我们的那个提示行:   bash-2.04$   如果您恰巧是超级用户 (root),您就有权使用下面这个美丽的标示身份的提示行版本:   bash-2.04#   这些提示行并不是十分漂亮。这也就难怪几种 Linux 版本对默认提示行进行了升级,在其中增加了颜色和更多的信息。但是,即便您恰好有一个本身带有很好的彩色提示行的新式版本,它也不可能是完美无缺的。您或许希望在提示行中增加或更改几种颜色,或者增加(或删除)一些信息。从头开始设计属于您自己的彩色的、经过装饰的提示行并不难。   提示行基础   在 bash 下,可以通过更改 PS1 环境变量的值来设置提示行,如下所示:   $ export PS1=      更改会立即生效,通过将 export 定义放在您的 ~/.bashrc 文件中可将这种更改固定下来。只要您愿意,PS1 可以包含任意数量的纯文本:   $ export PS1=This is my super prompt   This is my super prompt   尽管这很有趣,但在提示行中包含大量静态文本并不是特别有用。大多数定制的提示行包含诸如用户名、工作目录或主机名之类的信息。这些花絮信息可以帮助您在 shell 世界中遨游。例如,下面的提示行将显示您的用户名和主机名:   $ export PS1=\u@\H   drobbins@freebox   这个提示行对于那些以多个不同名称的帐户登录多台机器的人尤为有用,因为它可以提醒您:您目前在哪台机器上操作,拥有什么权限。   在上面的示例中,我们使用了专用的用反斜杠转义的字符序列,藉此通知 bash 将用户名和主机名插入提示行中,当这些转义字符序列出现在 PS1 变量中时,bash 就会用特定的值替换它们。我们使用了序列 u(表示用户名)和 H(表示主机名的第一部分)。下面是 bash 可识别的全部专用序列的完整列表(您可以在 bash man page 的 PROMPTING 部分找到这个列表):   序列 说明   a ASCII 响铃字符(也可以键入 07)   d Wed Sep 06 格式的日期   e ASCII 转义字符(也可以键入 33)   h 主机名的第一部分(如 mybox)   H 主机的全称(如 mybox.mydomain.com)   j 在此 shell 中通过按 ^Z 挂起的进程数   l 此 shell 的终端设备名(如 ttyp4)   换行符   回车符   s shell 的名称(如 bash)   24 小时制时间(如 23:01:01)   T 12 小时制时间(如 11:01:01)   @ 带有 am/pm 的 12 小时制时间   u 用户名   v bash 的版本(如 2.04)   V Bash 版本(包括补丁级别) ?/td   w 当前工作目录(如 /home/drobbins)   W 当前工作目录的基名 (basename)(如 drobbins)   ! 当前命令在历史缓冲区中的位置   # 命令编号(只要您键入内容,它就会在每次提示时累加)   $ 如果您不是超级用户 (root),则插入一个 $;如果您是超级用户,则显示一个 #   xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 07)表示的 ASCII 字符   反斜杠    这个序列应该出现在非打印字符序列之后。   这样,您已经知道了 bash 中用反斜杠转义的全部专用序列。请稍微演练一下这些序列,以对它们的工作方式获得一些感性认识。在您做了一些测试之后,下面开始添加颜色。   彩色化   添加颜色相当容易;第一步是设计不带颜色的提示行。然后,我们所要做的只是添加终端(而不是 bash)可识别的专用转义序列,以使它以彩色显示文本的某些部分。标准 Linux 终端和 X 终端允许您设置前景(文字)颜色和背景颜色,如果需要,还可以启用 bold 字符。有八种颜色可供我们选择。   颜色是通过在 PS1 中添加专用序列来选择的 -- 基本上是夹在 e 括起来。这两个序列通知 bash,被括起来的字符不占用行上的任何空间,这样就使自动换行能够继续正常工作。没有这两个转义序列,尽管您有了一个非常漂亮的提示行,但是如果您键入的命令恰好到达终端的最右端,就会造成显示混乱。下面是我们最终的提示行:   export PS1= w   别担心在同一个提示行中使用几种颜色,就像下面这样:   export PS1= u@ H   Xterm 中的乐趣   我已说明了如何在提示行中添加信息和颜色,但您还可以更进一步。您可以通过在提示行中添加专用代码来使 X 终端(如 rxvt 或 aterm)的标题栏得到动态更新。您所要做的只是将下面的序列添加到您的 PS1 提示行中:   e]2;titlebara   只须用您希望其出现在 xterm 标题栏中的文字替换子串 titlebar 即可,现在已经一切就绪了!不必使用静态文字;您可以将 bash 转义序列插入标题栏中。请查看下面这个示例,它将用户名、主机名和当前工作目录显示在标题栏中,并定义了一个简短、明亮的绿色提示行:   export PS1= 2;u@H wae   这就是我在上面的抓屏结果中所用的那个提示行。我喜欢这个提示行,因为它将全部信息显示在标题栏上,而不是显示在终端上,终端对一行可以显示多少字符有限制。顺便提一句,确保用 将您的标题栏序列括起来(因为就终端而言,这个序列是非打印序列)。将大量信息放在标题栏中的问题是,如果您使用非图形终端(如系统控制台),则看不到这些信息。为了解决这个问题,可以在您的 .bashrc 中添加以下几行:   if   then   #we're on the system console or maybe telnetting in   export PS1= u@H   else   #we're not on the console, assume an xterm   export PS1= 2;u@H wae   fi   这个 bash 条件语句将根据当前的终端设置动态设置提示行。为了获得一致性,您一定希望配置您的 ~/.bash_profile,以便它在启动时搜索 (source) 您的 ~/.bashrc。确保您的 ~/.bash_profile 文件中有以下这样一行:   source ~/.bashrc   这样,无论您开启一个登录 shell 还是一个非登录 shell,都会获得同样的提示行。   好了,您已掌握了提示行魔术。现在尽情享受一下,制作一个漂亮的彩色提示行吧!
个人分类: Linux|5122 次阅读|0 个评论
X11,xorg.conf配置详解(转)
cgh 2008-12-2 10:59
(自 http://hi.baidu.com/axg111/blog/item/02793a1fbbe492cfa7866908.html ) X11R重要目录 与X11R7有关的软件,大多放在/usr及其子目录中。以下是较为重要的目录的说明: /usr/bin:存放X Server和不同的X Clients。 /usr/include:开发X Client和图形所需的文件路径。 /usr/lib:X Server和X Clients所需的函数库目录。 /usr/lib/X11:保存多项资源,如字体和文件等。 /usr/lib/xorg/modules:包含驱动程序与多种X Server模块。 /usr/X11/man:保存X11程序编写时的手册说明页。 /etc/X11/xorg.conf文件 在安装时如果没有设置X Window系统,之后必须先行设置鼠标、键盘、显示器以及显示卡等,这样才能成功启用X Window系统,而这些设置都记录在/etc/X11/xorg.conf文件中。这个文件的重要性可见一斑。 这个文件由数个Section/EndSection的区块组成,而每个区块的格式如下: Section Section名称 选项名称 选项值 选项名称 选项值 选项名称 选项值 EndSection 下面将说明/etc/X11/xorg.conf文件中使用的Section类型及每个类型可用的选项名称和选项值。 ServerLayout ServerLayoutSection主要用于建立X Server启动时的外观,如果文件中包含多个ServerLayout Section,则默认会使用第一个ServerLayout Section的设置。 以下是此区块的系统默认值,以及可供使用的选项说明: Section ServerLayout Identifier Default Layout Screen Default Screen InputDevice Generic Keyboard InputDevice Configured Mouse InputDevice stylus SendCoreEvents InputDevice cursor SendCoreEvents InputDevice eraser SendCoreEvents EndSection Identifier:此ServerLayout Section的惟一名称。 Screen:ScreenSection指定的名称,此名称左侧的数字表示在Multi-head环境下的屏幕数量,如果使用标准的Single-head显示卡,则此值为0。在此名称右侧的数字分别代表屏幕左上角的X与Y绝对坐标,默认值为0 0。 InputDevice:在X Server中的InputDeviceSection名称。通常在此仅有两行设置,即Mouse0和Keyboard0,也就是系统中的第一个鼠标和键盘,而其他的设备大多可以忽略。 Files FilesSection用于设置X Server服务的路径,如字体和颜色。以下是此区块的系统默认值,以及可供使用的选项说明: Section Files FontPath /usr/share/X11/fonts/misc FontPath /usr/share/X11/fonts/cyrillic FontPath /usr/share/X11/fonts/100dpi/:unscaled FontPath /usr/share/X11/fonts/75dpi/:unscaled FontPath /usr/share/X11/fonts/Type1 FontPath /usr/share/X11/fonts/100dpi FontPath /usr/share/X11/fonts/75dpi FontPath /usr/share/fonts/X11/misc # path to defoma fonts FontPath /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType EndSection RgbPath:RGB数据库的路径。这个文件定义在X中所有有效颜色的名称,并且指定数值。 FontPath:设置X Server寻找字体时的路径。可以同时使用多个路径,但需用逗号隔开。 Module ModuleSection主要用来告诉X Server应加载哪些模块。这些模块可以提供额外的服务功能,一般并不需要更改此处的值。此处使用的惟一选项为Load,它可用来加载模块。以下是此区块的系统默认值: Section Module Load i2c Load bitmap Load ddc Load dri Load extmod Load freetype Load glx Load int10 Load type1 Load vbe EndSection InputDevice InputDeviceSection用于设置鼠标或键盘等输入设备,以便通过X Server提供信息给Linux系统,多数系统至少都存在两个InputDevice Section(鼠标和键盘)。 以下是此区块的系统默认值,以及可供使用的选项说明: Section InputDevice Identifier Generic Keyboard Driver kbd Option CoreKeyboard Option XkbRules xorg Option XkbModel pc105 Option XkbLayout us Option XkbOptions lv3:ralt_switch EndSection Section InputDevice Identifier Configured Mouse Driver mouse Option CorePointer Option Device /dev/input/mice Option Protocol ExplorerPS/2 Option ZAxisMapping 4 5 Option Emulate3Buttons true EndSection Section InputDevice Driver wacom Identifier stylus Option Device /dev/wacom # Change to # /dev/input/event # for USB Option Type stylus Option ForceDevice ISDV4 # Tablet PC ONLY EndSection Section InputDevice Driver wacom Identifier eraser Option Device /dev/wacom # Change to # /dev/input/event # for USB Option Type eraser Option ForceDevice ISDV4 # Tablet PC ONLY EndSection Section InputDevice Driver wacom Identifier cursor Option Device /dev/wacom # Change to # /dev/input/event # for USB Option Type cursor Option ForceDevice ISDV4 # Tablet PC ONLY EndSection Identifier:设置设备的名称。通常这些名称后面都会加上一个数字,第一个设备的数字为0。例如,第一个键盘的Identifier为Keyboard0。 Driver:告诉X Server应该从哪里加载驱动程序。 在大多数的InputDevice Section中,尚有为数不等以Option为首的选项,并且包含特定的选项值。如果要启用这些选项功能,只要将每行开头的注释符号#去除即可。 Monitor MonitorSection用于设置系统使用的显示器类型,设置此处选项时应特别留意,因为不适当的设置可能会给显示器造成损害。 以下是此区块的系统默认值,以及可供使用的选项说明: Section Monitor Identifier Generic Monitor Option DPMS HorizSync 28-51 VertRefresh 43-60 EndSection Identifier:显示器的惟一名称。在这些名称后面都会加上一个数字,而第一个显示器的代表数字为0(Monitor0)。 VendorName:显示器制造商名称。 ModelName:显示器类型名称。 HorizSync:与显示器兼容的水平刷新频率范围,其单位为kHz。这个设置值会同时指出是否在此显示器中使用特定的Modeline值。 VertRefresh:与显示器兼容的垂直刷新频率范围,其单位为kHz。这个设置值会同时指出是否在此显示器中使用特定的Modeline值。 Device DeviceSection用于设置显示卡的信息内容,在此文件中至少需要包含一个以上的Device Section。如果系统中包含多张显示卡,或一张显示卡上有多种设置值,则可以使用多个Device Section设置。 以下是此区块的系统默认值,以及可供使用的选项说明: Section Device Identifier VMWare Inc PCI Display Adapter Driver vmware BusID PCI:0:15:0 EndSection Identifier:显示卡的惟一名称。 Driver:用来告诉X Server应从何处加载显示卡的驱动程序。 VendorName:显示卡制造商名称。 BoardName:显示卡类型名称。 BusID:显示卡的总线位置,这个选项适用于多显示卡环境。 Screen ScreenSection合并了Device和Monitor的部分,以便能够形成成对的设置内容。在此文件中至少需要包含一个以上的Screen Section。 以下是此区块的系统默认值,以及可供使用的选项说明: Section Screen Identifier Default Screen Device VMWare Inc PCI Display Adapter Monitor Generic Monitor DefaultDepth 24 SubSection Display Depth 1 Modes 1024768 800600 640480 EndSubSection SubSection Display Depth 4 Modes 1024768 800600 640480 EndSubSection SubSection Display Depth 8 Modes 1024768 800600 640480 EndSubSection SubSection Display Depth 15 Modes 1024768 800600 640480 EndSubSection SubSection Display Depth 16 Modes 1024768 800600 640480 EndSubSection SubSection Display Depth 24 Modes 1024768 800600 640480 EndSubSection EndSection Identifier:定义一个Screen名称,以便在ServerLayoutSection中进行参照。 Device:指定DeviceSection中的名称。 Monitor:指定MonitorSection中的名称。 DefaultDepth:默认的色深(Color Depth)位数。 DRI Direct Rendering Infrastructure(DRI)是一种接口,它让3D软件可以使用新型显示设备的3D硬件加速功能。除此之外,DRI也能改善2D硬件加速的性能。但通常并不使用这个选项功能,除非在ModuleSection中打开DRI设置。以下是此区块的系统默认值: Section DRI Mode 0666 EndSection 如果不希望通过文件编辑的方式设置X Window,可使用gdm和kdm这两种图形设置工具。
个人分类: Linux|6972 次阅读|0 个评论
Linux安装后频繁死机的解决方法
czliu 2008-10-9 22:07
最近帮师弟装Linux操作系统遇到一个问题,顺利安装后用不了一会儿就死机,鼠标键盘均无反应,我们试着安装了若干版本,网上查了很多解决办法均不管用。 最后发现是串口的鼠标键盘接反了,倒过来一试,一切OK了。 希望这花了很多时间换回来的教训能让大家在以后碰到类似问题时能尽快解决。
个人分类: Linux相关|4595 次阅读|1 个评论
硬盘安装Linux
czliu 2008-9-20 20:25
下载Linux安装光盘镜像*.iso,解压出isolinux文件夹。 进入引导程序grub: grub root (hdX,Y) ;(hdX,Y)是电脑中存放安装光盘镜像的硬盘分区。 grub kernel$path/isolinux/vmlinuz grub initrd $path/isolinux/initrd.img grub boot OK,大功告成。
个人分类: Linux相关|2472 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 00:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部