suselinux命令_计算机软件及应用_IT计算机_专业资料.docx
SUSE Linux常用命令分类:linux2012-03-17 18:522803人阅读评论(0)收藏举报 linuxsuseoracle 服务器 cachesystem目录国1.1.1. 硬件管理1.1.1.1. 基本配置CPU个数查看:# more /proc/cpuinfo# top内存大小检查:#grep MemTotal /proc/meminfo査看与修改主机名:# hostname修改完毕后,系统提示重启小型机,然后请检査/etc/hosts文件是否正确,并修改racle 监听程序配置文件中的机器名。1.1.1.2. 资源使用情况查看CPU使用率:# top查看10、CPU的使用情况:#sar2 101.1.2. 操作系统与补丁1.1.2.1. 系统版本査看操作系统版本:# SPident# cat /etc/SuSE-release查看内核版本:# uname -r1.1.2.2. 丁与 package检查是否安装了 package:# rpm -q package_name1.1.2.3. 系统运行级别系统运行级别有如下几个:0:关闭系统1:单用户模式,如果没有为shutdown命令指定一h或参数而直接执行,则默认将切换到 此运行级别2:多用户模式(不支持NFS)3:多用户模式(支持NFS), 一般常用此种运行级别5:多用户模式(GUI模式)6:重新启动系统査看系统运行级别的命令:# runlevel自定义一个任务加到启动列表中的步骤如下:1 .在/etc/rc.d目录中建立脚本,记录要处理的内容。这里例如为abc2 .查看当前系统的运行级别,例如为5级3 .进入rc5.d目录,建立一个连接:ln-s/dev/rc.d/abcS99abc,这里99表示执行的先后 顺序4 .执行 chkconfig |grep abc»应看到 abc 55 .将abc加入至check列表中:chkconfig -a abc»然后执行chkconfig list abc应能看到 在5后面为ON1.1.1.1. 启动操作系统査看系统启动历史:# last返回结果例如:# lastroot pts/2 10.70.107.68 Mon Dec 1 09:13 still logged inoracle pts/1 10.164.214.72 Mon Dec 1 09:05 still logged inroot pts/O 10.164.78.145 Mon Dec 1 08:57 still logged inreboot system boot 2.6.16.46-0.12-s Tue Dec 2 07:50 (-22:-35)root pts/O 10.164.106.200 Sun Nov 30 22:48 - crash (1+09:02)reboot system boot 2.6.16.46-0.12-s Tue Dec 2 05:44 (-20:-28)root pts/O 10.164.106.200 Sun Nov 30 21:26 - crash (1+08:18)reboot system boot 2.6.16.46-0.12-s Tue Dec 2 04:57 (-19:-41)其中,system boot表示系统重启。查看系统启动时长:# uptime返回结果例如:9:21am up 9:39, 3 users, load average: 0.01,0.00, 0.00其中,9:21am up表示本终端是早上9点21分连接到服务器的。9:39表示服务器己经启 动了 9个小时39分钟,如果超过一天,则会有days的字样出现在9:39前面。关闭操作系统命令 shutdown:shutdown命令用于安全关闭Linux系统。有些用户会使用直接断掉电源的方式来关闭Linux, 这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可 能会导致进程的数据丢失,使系统处于不稳定的状态,甚至会损坏硬件设备。执行shutdown命令时,系统会通知所有登录的用户系统将要关闭,并且login指令会被冻 结,即新的用户不能再登录系统。使用shutdown命令可以直接关闭系统,也可以延迟指定 的时间再关闭系统,还可以重新启动。延迟指定的时间再关闭系统,可以让用户有时间储存 当前正在处理的文件和关闭已经打开的程序。shutdown命令的部分参数如:-t指定在多长时间之后关闭系统-r重启系统-k!并不真正关机,只是给每个登录用户发送警告信号-h关闭系统(halt)shutdown命令的工作实质是给init程序发送信号(signal),要求其切换系统的运行级别 (Runlevel)。命令halt:halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程, 文件系统写操作完成后就会停止内核。halt命令的部分参数如下:-f没有调用shutdown而强制关机或重启 -i关机或重新启动之前,关掉所有的网络接口-p关机时调用poweroff,此选项为缺省选项命令 reboot:reboot的工作过程与halt类似,其作用是重新启动,而halt是关机。其参数也与halt类似。命令init:init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立 即完成的。init 0命令用于立即将系统运行级别切换为,即关机;init 6命令用于将系统运 行级别切换为6,即重新启动。系统进程系统进程査看命令:# ps- ef# ps -ef | grep ora返回的结果例如:UID PID PPID C STIME TTY TIME CMDroot 1 0 0 19:56 ? 00:00:01 init 5root 2 1 0 19:56 ? 00:00:00 migration/0root 3 1 0 19:56 ? 00:00:00 ksoftirqd/Oroot 4 1 0 19:56 ? 00:00:00 migration/1oracle 24462 1 0 20:11 ? 00:00:00 ora_pmon_ora11g1oracle 24464 1 0 20:11 ? 00:00:00 ora_vktm_ora11g1oracle 24468 1 0 20:11 ? 00:00:00 ora_diag_ora11g1进程号为1的系统进程:进程号1固定为init进程专用,如上面的显示。其中init5中的5表示系统运行级别。如果 此进程被kill,则操作系统会重启。1.1.1.11系统日志系统 II 志位置:/var/log/messages1.1.1. 内核参数与系统环境变量1.1.1.1. 内核参数修改sysctl.conf参数的方法有两种,一是修改此文件,然后执行/sbin/sysctl -p使修改牛.效。 另种方法是使用sysctl修改,例如:# sysctl -w net.ipv4.tcp_keepalive_intvl=15参数名称Sus11上默认值相关文件参数作用描述semmsl/proc/sys/kernel/semsemmnssemopmsemmnishmmax/proc/sys/kernel/shmmaxshmmni/proc/sys/kernel/shmmnishmall/proc/sys/kernel/shmallfile-max/proc/sys/fs/file-maxip_local_port_rang/proc/sys/net/ipv4/ ip_local_port_rangrmem_default/proc/sys/net/core/ rmem_defaultrmem_max/proc/sys/net/core/ rmem_maxwmem_default/proc/sys/net/core/ wmem_defaultwmem_max/proc/sys/net/core/ wmem_max査看方法,例如要查看以sem开头的几个参数设置:# /sbin/sysctl -a | grep sem修改方法是在文件/etc/sysctl.conf中增加或者修改相应的参数。然后执行以下命令使修改 马上生效:# /sbin/sysctl -p要使修改永久生效,即操作系统重启后仍有效,执行以命令:# /sbin/chkconfig boot.sysctl on对用户的限制为了提升用户运行程序的性能,要对shell参数作出限制。例如要求单用户同时打开进程的 个数最大值、同时打开文件句柄的最大值等。例如安装oracle的要求分别是16384和65536, 那么应该做以下处理:1 .在/etc/security/lim让s.conf中加入如下几行内容:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 655362 .添/'session required pam_limits.so”至 Zetc/pam.d/login 中。3 .对于bash类型,增加面的内容到/etc/profile.local中:if $USER = MoracleM ; thenif $SHELL = 7bin/ksh" ; thenlimit -p 16384limit -n 65536elselimit -u 16384 -n 65536fimask 022fi如果是csh贝增力如下内容至ij/etc/csh.login.local中:if ( $USER = -oracle") thenlimit maxproc 16384limit descriptors 65536endif只能以root用户来修改各个用户可打开文件的最大个数。可以ulimit -a来査看当前的设置 值。用ulimit-n 10240来设置。1.1.1. 文件与目录管理1.1.1.1. 挂载远程目录在源服务器端启动nfs和portmap服务:# /etc/init.d/nfsserver start# service portmap start在源服务器编辑配置文件/etc/exports:在其中加入要共享的目录及目标机器的IP等信息。/etc/exports 范例:/tmp *(rw,no_root_squash)/usr/src *.siyongc.domain(ro,insecure) 192.168.100.*(ro,insecure)/var/ftp/pub/incoming192.168.100.24(rw,all_squash,anonuid=50,anongid=50)第一行,我将/tmp这个目录完全分享出去了,不管客户端来自哪里。在括号里面的rw,就是Read&Write的意思,而no_root_squash呢,则是允许让使用者具备root的权限,在 某些特别情况下,例如使用bootp登录的无磁碟工作站,是相当好用的。因为预设情况下NFS 会将root的身份squash为权限最低的anonymous (nobody)身份,而其他身份则以 client端机器上当时拥有的User ID和Group ID (指号码的值)来建立档案。注意哦,在进权限判断的 时候,不是以UserName来作为身份依据哦,UID和GID的号码最後必须对应到server端的/etc/passwd ,而非 client 那边的。第二行,我将/usr/src这个目录分享给以siyongc.domain这个domain做结尾或是以192.168.100开头的任何机器,而无需使用secure port (insecure),但只具备唯读权限(ro)。 这里,您要留意"的使用,在些旧版本的NFS您不能用在IP上。但是,我这里的测试却 是可行的。第三行,我将/var/ftp/pub/incoming这个目录只分享给192.168.0.22这台机器,且具备 了读和写的权限(rw),但在server上写入的档案,必须换成anonymous身份进行。但是其後的 设定又将任何anonymous换成设定的UID和GID (这里都是ftp),这样的安排是要确定任何 存取都按指定身份进行。这个incoming目录预设是不存在的,日後在讨论到FTP服务设定时 候会提到,但您能够自行用mkdir建立,而且为group和others加上+w权限连同sgid和 stickybit (3777) 1.1.1. 文件与目录管理1.1.1.1. 挂载远程目录在源服务器端启动nfs和portmap服务:# /etc/init.d/nfsserver start# service portmap start在源服务器编辑配置文件/etc/exports:在其中加入要共享的目录及目标机器的IP等信息。/etc/exports 范例:/tmp *(rw,no_root_squash)/usr/src *.siyongc.domain(ro,insecure) 192.168.100.*(ro,insecure)/var/ftp/pub/incoming192.168.100.24(rw,all_squash,anonuid=50,anongid=50)第一行,我将/tmp这个目录完全分享出去了,不管客户端来自哪里。在括号里面的rw'就是Read&Write的意思.,而no_root_squash呢,则是允许让使用者具备root的权限,在 某些特别情况下,例如使用bootp登录的无磁碟工作站,是相当好用的。因为预设情况下NFS 会将root的身份squash为权限最低的anonymous (nobody)身份,而其他身份则以 client端机器上当时拥有的User ID和Group ID (指号码的值)来建立档案。注意哦,在进权限判断的 时候,不是以UserName来作为身份依据哦,UID和GID的号码最後必须对应到server端的/etc/passwd,而非 client 那边的。第二行,我将/usr/src这个目录分享给以siyongc.domain这个domain做结尾或是以192.168.100开头的任何机器,而无需使用secure port (insecure),但只具备唯读权限(ro)。 这里,您要留意“的使用,在些旧版本的NFS您不能用在IP上。但是,我这里的测试却 是可行的。第三行,我将/var/ftp/pub/incoming这个目录只分享给192.168.0.22这台机器,目.具备 了读和写的权限(rw),但在server上写入的档案,必须换成anonymous身份进行。但是其後的 设定又将任何anonymous换成设定的UID和GID (这里都是ftp),这样的安排是要确定任何 存取都按指定身份进行。这个incoming目录预设是不存在的,日後在讨论到FTP服务设定时 候会提到,但您能够自行用mkdir建立,而且为group和others加上+w权限连同sgid和 stickybit (3777) 重启源服务器端的nfs服务:#/etc/i nit. d/nf sse rver start在客户端启动portmap服务:#service portmapstart在客户端mount远程文件夹:#mount -t nfs 远程 IP 地址:/data /data拷贝与剪切本地两个目录间拷贝,目标文件可以使用原文件名,也可改为新名:# cp /home/filel /home2/file2拷贝到远程节点,同样文件名可修改,如果拷贝的目录下包含文件,则加一r# scp -r /path/file1 目标机器 IP:/path/file3修改文件名:# mv旧文件名新文件名剪切到不同目录并改名# mv /path1/file1 /path2/file21.1.1.2I査看文件或目录查看H录中有哪些内容:#ll按时间排序目录中的内容:#ll-t查看个指定的文件,如/racle/abc.ora# II /oracle/abc.ora1.1.1.3. 文件宿主及权限修改文件的权限:# chown -R -h oracle:oinstall /abc其中一R表示将H录下的所有子対象也修改,-h表示强制修改修改文件宿主:# chmod +x /abc.sh为abc.sh脚本增加可执行权限1.1.1.1,査找文件查找文件,如abc.ora:#cd要查找的目录,如果是整个环境中査找则输入/# find . -name "abc.ora"在/abc目录下查找名称中包含abc的文件:# find /abc -name “*abc*"如果要在根目录下查找,则用:# find . -name1.1.1.2, 创建链接在目录/abc下建立一个指向到/wch/a.txt文件的名称为SlOOts的连接方法如下:# In -s /wch/a.txt /abc/S100ts1.1.1.3, 文本编辑工具可以使用vi工具编辑文件。编辑完后,执行Esc->:wq表示保存退出,执行:q表示不保存退 出,执行:x表示强制保存只读文本并退出。如果从本地文本中拷贝一段内容黏贴到linux的文本中,那么每行前面会增加越来越多的空 格。可以在黏贴前先执行esc->:->setnoai,这样可以与本地文本的格式保持一致。1.1.1.4, 文本个数及大小统计个目录下符合条件(文件名中含log字符串)的文件个数:# Is -al *log* | wc -I当前目录下所有文件的大小:# du -k文件/tmp/wch的大小:# du -k /tmp/wch查找大小超过多少K的文件及目录:# du -k | awk'if($1 >2097152) print $0'这个命令的意义是找出当前目录下所有大于2097152K的文件1.1.1.5.文本句柄查看oracle用户的进程打开文件句柄的个数:# Isof -n |grep oracle |awk 'pnnt$2'|sort|uniq -c |sort -nr |more1.1.1. 内存及SWAP管理1.1.1.1. 内存使用情况査看执行以下命令查看内存使用情况:# free -m这里一m表示以M为单位统计。返回结果例如:# free -mtotal used free shared buffers cachedMem: 8114 7556 558 0 70 680-/+ buffers/cache: 6804 1309Swap: 8197 2650 5546其中Mem表示物理内存的统计信息,-/+ buffers/cache表示物理内存的缓存统计,Swap 表示硬盘上交换分区的使用情况。这里使用total 1 > used"(、freel、used2、free2等名称来代表上面统计数据的各值,1、2分 别代表第一行和第二行的数据。total 1 :表示物理内存总量。usedl :表示总计分配给缓存(包含buffers与cache)使用的数量,但其中可能部分缓存 并未实际使用。freel :未被分配的内存。sharedl:共享内存主要用于在UNIX环境下不同进程之间共享数据,是进程间通信的一种 方法buffersl :系统分配但未被使用的buffers数量。cached 1 i系统分配但未被使用的cache数量。buffer与cache的区别见后面。used2:实际使用的buffers与cache总量,也是实际使用的内存总量。free2:未被使用的buffers与cache和未被分配的内存之和,这就是系统当前实际可用内存。可以整理出如下等式:total 1 = usedl + freeltotal 1 = used2 + free2usedl = buffersl + cached 1 + used2free2 = buffersl + cached 1 + freel很多人误以为freel是实际的剩余内存,还在奇怪为什么Linux系统占用了如此大的内存, 其实这是正常的。buffer与cache的区别A buffer is something that has yet to be "written*' todisk. A cache is something that has been "read" from the disk andstored for later use.特别注意:1 .使用TOP命令看到的mem使用情况与这里的第一行含义一致top - 10:47:03 up 12 days, 20:08, 5 users, load average: 1.47,1.21,0.91Tasks: 193 total, 1 running, 191 sleeping, 0 stopped, 1 zombieCpu(s): 0.1% us, 0.1% sy, 0.0% ni, 99.8% id, 0.0% wa, 0.0% hi, 0.0% siMem: 8309236k total, 7743612k used, 565624k free, 72432k buffersSwap: 8393920k total, 2714368k used, 5679552k free, 702036k cached1.1.1.1. SWAP 交换区査看当前SWAP的命令:# grep SwapTotal /proc/meminfo扩大交换空间的步骤:新建一个swap文件:# dd if=/dev/zero of=/tmp/myswap bs=32k count=81920格式化该文件:# cd /tmp# mkswap myswap启动/关闭该文件:# swapon /tmp/myswap# swapoff /tmp/myswap设置开机时自动启动sw叩文件:在/etc/fstab文件总加入如下行数据:/tmp/myswap swap swap defaults 0 01.1.1.1. 进程占用的虚拟内存进程运行期间会占用内存,可以通过以下命令看到这个值VS乙# ps -e -o flags,state,user,pid,ppid,pcpu,vsz,args|grep asm这里 VSZ 表示 virtual memory size of the process in KiB (1024-byte u川ts)。它的单位是 K» 它所消耗的是虚拟内存,而非物理内存,因而与memoryjarget无关。它占用/dev/shm的 空间。注意:在SUSE上,VSZ的单位应该是字节对1.1.1.2. 共享内存shm管理要求/dev/shm的可用空间至少为实例memory_target的大小,否则实例启动时会报 ORA-00845的错误。/dev/shm是linux系统独有的临时(tmpfs)文件系统,是以内存为主要 存储方式的文件系统,可以从/etc/fstab中mount。检査共享内存:# df -k/dev/shm/扩大SHM的方法:编辑文件/etc/fstab,加入以下行数据:shm /dev/shm tmpfs size=8G 0 0执行以下命令使修改马上生效:# mount -oremount /dev/shm如果以前shm并未mount»那么执行# mount /dev/shm命令即可査看进程使用的shm:# pmap pid