linux学习笔记
清楚/var/log下的log文件
cat/dev/null>messages清除messages里面的信息
关闭防火墙用
serviceiptablesstop
启用Linux下的ftp服务用servicevsftpdstart
vsftpd配置文件在/etc/vsftpd/目录下
配置文件有user_listftpusersvsftpd.conf
启动telnet服务:
1:装上telnet-server可以在系统安装光盘里找到
2:修改配置文件/etc/xinetd.d/telnet将disable=yes改为no
3:重新启动xinetdservicexinetdrestart
默认不能从root登录。可以在里面进行切换。
需要开机启动哪些进程用ntsysv然后勾选相应的进程。
然后需要重新启动xinetd
servicexinetdrestart
需要查看目录的权限用ll-dprojects
目录的读权限是指:用户可以查看该目录中的文件和目录的名称
目录的写权限是指:用户可以创建,重命名,或删除该目录中包含的文件或目录
目录的执行权限指:用户可以在目录中查看文件内容,并在该目录下运行命令执行脚本
$touch{report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}
建立report_dec_a1report_dec_a2.........................等空文件(排列组合)
vi高级命令
xp交换光标处两字符的位置
ddp交换光标处上下两行的位置
一次输入多个字符
例如一次输入10句Iloveyou.
则命令行下输入10i然后输入Iloveyou.最后按Esc
cc删除一行并进入插入模式
cw删除一个单词并进入插入模式
命令行下按R,则不停的替换后面的内容.
当光标停留在某个单词上时,输入*来查找与该单词匹配的上一个单词或者下一个单词.输入n向下查找,输入N反方向查找
当光标停留在某个单词上时输入gd来查找与该单词匹配的第一次出现在的非注释段中的地方.
g*匹配包含该单词的所有字符串
在当前光标处输入f字母则会查找下个字母,按';'继续往下找,按','表示反方向查找.此命令只作用于一行.
点号.在光标所在位置重复上一次操作.
按u可以撤销上一次操作,ctrl+r可以恢复.
命令行下ctrl+r反向搜索历史命令。
ctrl+e光标移到行尾
ctrl+a光标移到行首
ctrl+k删除从光标到行尾的部分
ctrl+u删除从光标到行首的部分
ctrl+y插入最近删除的单词
ctrl+w删除从光标到当前单词开头的部分
alt+d删除从当前光标到单词结尾的部分
!$重复上个命令最后的参数
ls[38]*列出所有以3或8开头的文件
ls[3-8]*列出所有以3到8开头的文件
command<file1>>file1
可以很好地工作,将加工过的file1内容加回到文件中。
若想在屏幕上输出的同时也输入到文件中用管道和tee命令
ls-l|teelist
pstee命令显示系统进程数和进程间父子关系,用户通过该命令可清楚了解进程间层次关系
who命令可以查看当前有哪些用户登录到系统上
whoami显示出当前用户的详细信息
fdisk-l命令可以查看系统中分区情况。
cd-转到用户上一次所在的目录
cd~oracle在root用户下直接用户的宿主目录。注意:~和oracle中间没空格。(一般在root用户下使用)
cd命令后不接任何参数直接进入该用户的主目录。
禁用某个账户
在/etc/shadow下将该用户的密码文件前加个*
修改group名
groupmod-g新的GID-n新组名现有组名
groupmod-g700-njobwork
将原work组改名为job并制定gid为700
使用vi同时编辑多个文件的方法
1.单个窗口多个文件
*.文件打开
同时打开多个需要同时编辑的文件,例如viactinia_proenrule.shservice_listTRAFFICSHAPE.xml,这个时候vi界面中显示的是actinia_proenrule.sh的内容
*.文件切换
命令行模式下,输入n跳到下一个文件,输入e#跳到上一个文件,输入e文件名,跳到指定的文件处
2.窗口分割实现编辑多文件
*先使用vi打开一个文件,例如viactinia_proenrule.sh
*分割窗口打开另外的文件
命令行模式下输入sp另外一个文件就可以水平分割继续打开第二个文件,如果想纵向分割,可以使用vsp文件名
注:sp=split,vsp=vsplit.上面的写法是vi支持的简略写法,v实际就是vertical,从中我们可以看出改命令的含义,另外vi不仅仅支持两个文件,还支持更多个文件同时在一个大的窗口中显示编辑,同时还支持同时打开的两个文件是同一个文件。
*窗口切换
可以使用ctrl+两次按w,这样就可以在各个文件中切换
方式2的优点在可以直接使用nyy和pp命令在各个窗口的文件之间进行拷贝和粘贴,操作比较方便。
tail-ffilename把文件最尾部的内容显示在屏幕,并且不断刷新,使你看到最新的内容
vi下
:sethls打开高亮
:setnohls关闭高亮
mt命令
mt命令用来控制磁带机。
mt命令格式:mt[-fdevice]command[count],
mt-f/dev/st0status检视磁带机的硬件信息。
mt-f/dev/st0erase将磁带机中的磁带进行数据删除动作。
mt-f/dev/st0rewind将磁带进行回带动作。
mt-f/dev/st0offline将磁带进行回带并由磁带机中退出。
mt–f/dev/st0unload将磁带由磁带机中退出。
mt-f/dev/st0compressionoff将硬件压缩功能关闭。
grep-v排除选定的字符grep-vabcd
cpio命令
含子目录打包,常先利用find目录名-print来找出找出所有文件与子文件的名称,然后通过管道|传给cpio打包
find/usr/lib-print|cpio-o>/root/temp1.cpio
不含子目录打包
ls/usr/lib|cpio-o>/root/temp1.cpio
给特定文件打包
ls/usr/lib/*.c|cpio-o>/root/temp1.cpio
或者ls/usr/lib/grep'.c$'|cpio-o>/root/temp1.cpio
可以在-0参数后加入-c表示以ascii字符格式写入头信息。这可以确保可以移植到其他的商业操作系统。
打包后可以用compress命令压缩打包
compress/root/temp1.cpio打包后将生成temp1.cpio.Z
解压缩
uncompress/root/temp1.cpio.Z则自动还原为temp1.cpio
解包展开
cpio-id</root/temp1.cpio将cpio文件解压
cpio-idu<......................若文件存在,则强行覆盖
cpio-id</root/temp1.cpio*.c则展开其中的*.c文件。
显示文件库里的文件
cpio-it</root/temp1.cpio
从磁带中提取所有文件
cpio-icvd</dev/st0
tar命令
r追加文件,把要存档的文件追加到档案文件的末尾。tarrfall.tar*.gif将gif所有图片添加到all.tar包中
u更新文件,用新增的文件取代原有的备份文件。tarufall.tarlogo.gif更新原有all.tar包中的logo.gif文件
t列出文件,
辅助选项
b为磁带机设定的,用来说明区块的大小,预设置值为20(20*512bytes)
k保存已经存在的文件,例如在还原过程中,遇到相同的文件,则不进行覆盖
m在还原文件时,把所有文件的修改时间设为现在。
M创建多卷的档案文件,以便在几个磁盘中存放。
L指定磁带的大小tarcpf/dev/st0-M-L40000000/home
p所有权限都要保留完整备份/hometarpcvf/dev/st0/home
w每一步都要求确认。
只解开其中的某个文件tarpxvf/dev/st0/home/collins
linux下各种文件解压缩
.tar结尾的tarxfall.tar
.gz结尾的gunzipall.gz
.tgz,tar.gztarzxvfall.tar
.bz2结尾的bunzip2all.tar
.tar.bz2tarjxvfall.tar
.z结尾的uncompressall.z
.tar.ztarZxvfall.tar.z
gzip-dhttpd-NN.tar.gz解压缩
当运行&使作业在后台运行时,仍然会将结果输出到屏幕上。如果放在后台的作业产生大量的输出,
最好使用command>out.file2>&1&将所有的标准输出和错误输出都重定向到out.file文件中,
在shell中,文件描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2
Ifyoutype>1,Theshellwillthinktakethisasafilenamed1
Soyouwanttotype&1todistinguish.
So2>&1meansredirectstderrtostdout.
Youredirectstdouttofileanme,sothatallstderrandstdoutwillredirecttofilename.
重定向文件
1.标准输入的控制
语法:命令<文件将文件做为命令的输入。
例如:
mail-s“mailtest”[email protected]<file1将文件file1当做信件的内容,主
题名称为mailtest,送给收信人。
2.标准输出的控制
语法:命令>文件将命令的执行结果送至指定的文件中。
例如:
ls-l>list将执行“ls-l”命令的结果写入文件list中。
语法:命令>!文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
例如:
ls-lg>!list将执行“ls-lg”命令的结果覆盖写入文件list中。
语法:命令>&文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
例如:
ccfile1.c>&error将编译file1.c文件时所产生的任何信息写入文件error中。
语法:命令>>文件将命令执行的结果附加到指定的文件中。
例如:
ls-lag>>list将执行“ls-lag”命令的结果附加到文件list中。
语法:命令>>&文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
例如:
ccfile2.c>>&error将编译file2.c文件时屏幕所产生的任何信息附加到文件error中。
关于输入、输出和错误输出
在字符终端环境中,标准输入/标准输出的概念很好理解。输入即指对一个应用程序或命令的输入,无论是从键盘输入还是从别的文件输入;输出即指应用程序或命令产生的一些信息;与Windows系统下不同的是,Linux系统下还有一个标准错误输出的概念,这个概念主要是为程序调试和系统维护目的而设置的,错误输出于标准输出分开可以让一些高级的错误信息不干扰正常的输出信息,从而方便一般用户的使用。
在Linux系统中:标准输入(stdin)默认为键盘输入;标准输出(stdout)默认为屏幕输出;标准错误输出(stderr)默认也是输出到屏幕(上面的std表示standard)。在BASH中使用这些概念时一般将标准输出表示为1,将标准错误输出表示为2。下面我们举例来说明如何使用他们,特别是标准输出和标准错误输出。
输入、输出及标准错误输出主要用于I/O的重定向,就是说需要改变他们的默认设置。先看这个例子:
$ls>ls_result
$ls-l>>ls_result
上面这两个命令分别将ls命令的结果输出重定向到ls_result文件中和追加到ls_result文件中,而不是输出到屏幕上。">"就是输出(标准输出和标准错误输出)重定向的代表符号,连续两个">"符号,即">>"则表示不清除原来的而追加输出。下面再来看一个稍微复杂的例子:
$find/home-namelost*2>err_result
这个命令在">"符号之前多了一个"2","2>"表示将标准错误输出重定向。由于/home目录下有些目录由于权限限制不能访问,因此会产生一些标准错误输出被存放在err_result文件中。大家可以设想一下find/home-namelost*2>>err_result命令会产生什么结果?
如果直接执行find/home-namelost*>all_result,其结果是只有标准输出被存入all_result文件中,要想让标准错误输出和标准输入一样都被存入到文件中,那该怎么办呢?看下面这个例子:
$find/home-namelost*>all_result2>&1
上面这个例子中将首先将标准错误输出也重定向到标准输出中,再将标准输出重定向到all_result这个文件中。这样我们就可以将所有的输出都存储到文件中了。为实现上述功能,还有一种简便的写法如下:
$find/home-namelost*>&all_result
如果那些出错信息并不重要,下面这个命令可以让你避开众多无用出错信息的干扰:
$find/home-namelost*2>/dev/null
同学们回去后还可以再试验一下如下几种重定向方式,看看会出什么结果,为什么?
$find/home-namelost*>all_result1>&2
$find/home-namelost*2>all_result1>&2
$find/home-namelost*2>&1>all_result
另外一个非常有用的重定向操作符是"-",请看下面这个例子:
$(cd/source/directory&&tarcf-.)|(cd/dest/directory&&tarxvfp-)
该命令表示把/source/directory目录下的所有文件通过压缩和解压,快速的全部移动到/dest/directory目录下去,这个命令在/source/directory和/dest/directory不处在同一个文件系统下时将显示出特别的优势。
下面还几种不常见的用法:
n<&-表示将n号输入关闭
<&-表示关闭标准输入(键盘)
n>&-表示将n号输出关闭
>&-表示将标准输出关闭
solarisbackup
BackuptoTape
#ufsdump–0ucf/dev/rmt/0n/dev/md/dsk/d6
查看磁带内容
ufsrestorefi/dev/rmt/0
取前一天的日期
echo`exportTZ=GMT+8;date+%y%m%d`
linux下查看cpu信息
查看cpu物理个数
cat/proc/cpuinfo|grep"physicalid"|sort|uniq|wc-l
查看cpu逻辑个数
cat/proc/cpuinfo|grep"processor"|wc-l
一般说cpu多少核就用查询出的processor的数量除以2
LVM分区推荐配置
1:在硬盘上创建/boot分区大小200M左右
2:硬盘上创建/swap分区大小为内存2倍左右,8G以上的设为8G左右
3:另外需要建立一个/分区大小为5G左右
serviceconf图形界面的启动显示有哪些进程开机自启动。
vim下批量注释(本质是批量替换)
注释从第二行到10行,在前面加个#
:2,10s/^/#/
另一种方法:
:<<'BLOCK
....注释内容
BLOCK'
linux替换命令:
:s/vivian/sky/替换当前行第一个vivian为sky
:s/vivian/sky/g替换当前行所有vivian为sky
:n,$s/vivian/sky/替换第n行开始到最后一行中每一行的第一个vivian为sky
:n,$s/vivian/sky/g替换第n行开始到最后一行中每一行所有vivian为sky
n为数字,若n为.,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian为sky
:%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian为sky
可以使用#作为分隔符,此时中间出现的/不会作为分隔符
:s#vivian/#sky/#替换当前行第一个vivian/为sky/
:%s+/oradata/apras/+/user01/apras1+(使用+来替换/):/oradata/apras/替换成/user01/apras1/
1.:s/vivian/sky/替换当前行第一个vivian为sky
:s/vivian/sky/g替换当前行所有vivian为sky
2.:n,$s/vivian/sky/替换第n行开始到最后一行中每一行的第一个vivian为sky
:n,$s/vivian/sky/g替换第n行开始到最后一行中每一行所有vivian为sky
(n为数字,若n为.,表示从当前行开始到最后一行)
3.:%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian为sky
:%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian为sky
linux下修改时间
在命令行输入:
date
显示当前时间FriAug314:15:16CST2007
第一种方式:
date-s
按字符串方式修改时间
只修改日期输入:date-s2007-08-03
只修改时间,输入:date-s14:15:00
同时修改日期时间,输入:date-s"2007-08-0314:15:00"
修改完后,记得输入:clock-w
把系统时间写入CMOS
第二种:
date--set="07/07/0610:19"(月/日/年时:分:秒)
查看硬件时钟:
hwclock--show
同步系统时间和硬件时间
hwclock--systohc
时区设置:tzselect
或者在/etc/sysconfig/clock文件下修改
GPS数据库在sqlplus中关不掉时,可以用在svrmgrl中关掉
svrmgrl路径$ORACLE_HOME/bin
>shutdownabort
GPS开batchq
root@GPSPROD#nohupbatchqRBATCH&
root@GPSPROD#nohupbatchqQBATCH&
root@GPSPROD#nohupbatchqFBATCH&
在sqlplus下可以执行host命令来执行外部linux命令
或者在命令前加个!也可以。
sb_release-a查看系统版本。
cat/etc/redhat-release看这个配置文件也可以。不过管理员可以修改这里的内容
cat/proc/cpuinfo查看cpu信息,processor0为一个U,1为两个,flags超线程。
lspci查看主板信息
free查内存
fidsk-l查硬盘空间
df-h查硬盘
du-sh查看文件夹大小
top这个比较全,内存进程负载都有了。
uptime查运行时间负载情况
VNC配置:
开启vnc服务:
vncserver
vncviewer客户端用输入IP地址后面跟个:1例如:10.83.200.89:1
关闭vnc服务:
vncserver-kill:1杀死编号为1的vnc
更改密码可用:vncpasswd命令
可以采用不同的X界面,若采用kde桌面,则在$HOME/.vnc/xstart中注释掉所有行,最后添上startkde&
若是开启gnome桌面,则在后面加上gnome-session&
修改/etc/sysconfig/vncserver修改其中的分辨率参数可以使系统适应自己的桌面
可以自行指定编号
vncserver:17
用浏览器要在端口号加上display号,默认端口5800,远程连接输入XXX.XXX.XXX.XXX:5817
vncserver-name指定VNCserver桌面名字
VNCserver-geometry800x600指定显示桌面的分辨率为800×600
VNCserver-depth16指定显示颜色,depth设定范围8~32
远程桌面连接
rdesktop-g1024x768-d2410.83.200.12
其中"g1024×768"设置分辨率为1024×768,"d24"设置真彩24位,
rdesktop-f10.83.200.12全屏模式
在HP-UNIX上查看交换内存使用率命令
swapinfo-atm
综合命令:查看cpu,内存,磁盘使用率
glance命令
xstart连接linux
参数设置:/usr/bin/X11/xterm-ls-display$DISPLAY
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思(nohangup)。
命令后面加上&转入后台运行。
查看alert日志文件:
morealert.log|grep-iora-参数i不区分大小写。
查看机房服务器温度:
nagios机器/usr/local/ipmi/log目录里
ds1一期机房服务器温度
ds2二期机房服务器温度
ds1-mes一期旁边Mlcc温度
mtime
如果希望按照更改时间来查找文件,可以使用mtime选项。如果系统突然没有可用空间了,很有可能某一个文件的长度在此期间增长迅速,这时就可以用mtime选项来查找这样的文件。
用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。
希望在系统根目录下查找更改时间在5日以内的文件,可以用:
$find/-mtime-5-print
为了在/var/adm目录下查找更改时间在3日以前的文件,可以用:
$find/var/adm-mtime+3-print
查询文件属性用file命令
查看文件中的可打印的ascii字符用strings命令
head300btest.txt查看text.txt文件的前300个字节
head3mtest.txt查看text.txt文件的前3MB
tail-n55test.txt查看text.txt文件的后55行
tail4ktest.txt查看text.txt文件的后4KB个字节
①less并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如vi)来的快速。②如果LESS无法查看中文,你需要设置环境变量:exportLESSCHARSET=iso8859
wc-ltest.txt统计test.txt文件中的行数
wc-ctest.txt统计test.txt文件中的字符数
wc-wtest.txt统计test.txt文件中的单词数
查看gps备份文件
gpstest/data/prodbak/exp
gpsprod/backup/prodbak/exp
gpsjob
/bpcs/cron/root/root.cron
export作用1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;2、一个shell中的系统环境变量才会被复制到子
shell中(用export定义的变量);3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失
(并不能返回到父shell中)。3、不用export定义的变量只对该shell有效,对子shell也是无效的。
解压cpio文件
cpio-idmv<lnx_920_disk1.cpio
rpm-qa查询系统所有包
rpm-ql查询某个包里的文件列表
rpm-qi查询包信息
rpm-qf(文件名)查询文件属于哪个包
rpm-ivh(包名)--nodeps安装忽略依赖包关系
查询某个安装包是否安装
rpm-qa|grepvsftpd
find命令
find/-amin-10#查找在系统中最后10分钟访问的文件
find/-atime-2#查找在系统中最后48小时访问的文件
find/-empty#查找在系统中为空的文件或者文件夹
find/-groupcat#查找在系统中属于groupcat的文件
find/-mmin-5#查找在系统中最后5分钟里修改过的文件
find/-mtime-1#查找在系统中最后24小时里修改过的文件
find/-nouser#查找在系统中属于作废用户的文件
find/-userfred#查找在系统中属于FRED这个用户的文件
2个linux主机之间传送文件:
将10.83.200.89上/usr/local/nagios.tar.gz传到10.83.200.153机器上/root操作在153机器上,
scp/root/[email protected]:/usr/local/nagios.tar.gz这时输入密码即可
但这种方法有时候行不通,如果在89机器上做同样的操作,会被153机器拒绝连接,
top命令:
top-dtime显示更新速度(多少秒更新一次)
top-c显示进程的名称及路径
top-n显示更新多少次以后停止top运行
top-i不显示任何idle或无用进程
P:根据CPU使用大小进行排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
oracle
数据块->区->段->表空间
nagios监控的linux服务器更改服务要在本机上更改,不是在nagios服务器上改
将dmp文件上传到190机器上ftp10.83.201.190
>bin二进制
在190机器上/u51/ftp新建一个目录s1mes