做DBA必须学会,不会会死的11个Linux基本命令

数据库绝大部分运行在Linux与UNIX平台,随着X86平台的运算能力逐渐接近甚至超过小型机,以及在去IOE的大潮下,运行在Linux平台的数据库环境越来越多。

Linux系统庞大而复杂,经过总结,做为一名DBA,一些基本管理、网络管理、进阶应用、性能诊断、管道复杂应用、硬件相关传感命令都需要掌握,这篇文章,专门来讲做为一名DBA,必须学会的11个基本应用命令。

1、 ls命令

Ls命令是Linux中最常用的命令,是list的缩写,缺省下ls命令是列出当前目录的清单,如果ls指定其他目录,就会显示指定目录里的文件及文件夹清单。

常用用法(常用参数):

(1) ls –l


以长格式(每行只显示一个文件或目录信息)列出文件及目录的详细信息,输出结果如下:

[[email protected] single]$ ls -l

total 14091544

-rw-r-----. 1 oracle oinstall 5368717312 Apr 10 10:50 sysaux02.dbf

-rw-r-----. 1 oracle oinstall 9061015552 Apr 10 08:05 users01.dbf

(2) ls –a


列出目录下的所有文件及目录,输出结果如下:

[[email protected] single]$ ls -a

.  ..  sysaux02.dbf  users01.dbf

(3) ls –s


列出目录占用空间总大小,以及各个文件名称及其大小(单位为KB),输出结果如下:

[[email protected] single]$ ls -s

total 14091544

5242892 sysaux02.dbf  8848652 users01.dbf

(4) ls –lh


以长格式(每行只显示一个文件或目录信息),并且以直观形式显示文件及目录总大小,输出结果如下:

[[email protected] single]$ ls -lh

total 14G

-rw-r-----. 1 oracle oinstall 5.1G Apr 10 10:50 sysaux02.dbf

-rw-r-----. 1 oracle oinstall 8.5G Apr 10 08:05 users01.dbf

(5) ls –lrt


以长格式(每行只显示一个文件或目录信息),并用对文件及目录按照最时间进行排序,输出结果如下:

[[email protected] single]$ ls -lrt

total 14091544

-rw-r-----. 1 oracle oinstall 9061015552 Apr 10 08:05 users01.dbf

-rw-r-----. 1 oracle oinstall 5368717312 Apr 10 10:50 sysaux02.dbf

(6) ls –lrth


与“ls –lrt”相比,将文件大小以更直观的方式显示出来,输出结果如下:

[[email protected] single]$ ls -lrth

total 14G

-rw-r-----. 1 oracle oinstall 8.5G Apr 10 08:05 users01.dbf

-rw-r-----. 1 oracle oinstall 5.1G Apr 10 10:50 sysaux02.dbf

2、 pwd命令

pwd命令是Print Working Directory的缩写,基本功能是打印当前的工作目录。

常用用法(常用参数):

(1) pwd


显示当前所处目录绝对路径,输出结果如下:

[[email protected] oradata]$ pwd

/u01/oradata

(2) pwd -p


显示当前所处目录的物理路径。因为有些目录是link后的结果,用-P可以显示link的源头路径,输出结果如下:

[email protected] oradata]$ cd /etc/init.d

[[email protected] init.d]$ pwd

/etc/init.d

[[email protected] init.d]$ pwd -P

/etc/rc.d/init.d

3、 cd命令

cd命令是linux中最常用的命令之一,用于切换目录路径

常用用法(常用参数):

(1) cd


回到自己的HOME目录,输出结果如下:

[[email protected] init.d]$ pwd

/etc/init.d

[[email protected] init.d]$ cd

[[email protected] ~]$ pwd

/home/oracle

(2) cd –


返回进入此目录之前所在的目录,输出结果如下:

[[email protected] ~]$ pwd

/home/oracle

[[email protected] ~]$ cd /u01/oradata/single

[[email protected] single]$ pwd

/u01/oradata/single

[[email protected] single]$ cd -

/home/oracle

[[email protected] ~]$ pwd

/home/oracle

(3) cd ..


返回到上一级目录,输出结果如下:

[[email protected] ~]$ pwd

/home/oracle

[[email protected] ~]$ cd ..

[[email protected] home]$ pwd

/home

(4) cd ../..


返回上两级目录,输出结果如下:

[[email protected] single]$ pwd

/u01/oradata/single

[[email protected] single]$ cd ../..

[[email protected] u01]$ pwd

/u01

(5) cd /u01


切换到指定的目录路径,输出结果如下:

[[email protected] /]$ cd /u01

[[email protected] u01]$ pwd

/u01

4、 grep命令

grep 是global search regular expression(RE)的缩写,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

(1) grep命令用法:


grep [OPTIONS] PATTERN [FILE...]

grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

(2) 常用的参数(OPTIONS)


-a :将 binary 文件以 text 文件的方式搜寻数据

-c :计算找到 ‘搜寻字符串‘ 的次数

-i :忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 ‘搜寻字符串‘ 内容的那一行

-s:不显示不存在或无匹配文本的所有行

--color:将找到的关键词部分加上颜色显示(值有:never、always、auto三种)

(3) 常用的正则表达式(PATTERN)


\:忽略正则表达式中特殊字符的原有含义。

^:匹配正则表达式的开始行。

$: 匹配正则表达式的结束行。

\<:从匹配正则表达 式的行开始。

\>:到匹配正则表达式的行结束。

[ ]:单个字符,如[A]即A符合要求 。

[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

。:所有的单个字符。

* :有字符,长度可以为0。

(4) 简单使用实例

常用用法或常用参数:


将包含passwd字符的文件及其所在行显示出来:

[[email protected] admin]$ grep -n passwd *

catexp7.sql:170:                   (name, userid, passwd, defrole, datats, tempts, profile#,

catzxs.sql:364:  tmp := DBMS_XDB.CreateResource(‘/sys/xs/roles/dbms_passwd.xml‘,XSAUTHXSD);

csminst.sql:25:rem   ywu       02/19/04 - fix bug 3434808, delete hard code passwd.

将包含0-9数字的行取出来:

[[email protected] admin]$ grep -n ‘[0-9]‘ xsu111.sql

2:Rem $Header: rdbms/admin/xsu111.sql /main/13 2010/06/06 21:49:30 snadhika Exp $

4:Rem xsu111.sql

6:Rem Copyright (c) 2007, 2010, Oracle and/or its affiliates.

5、 cat

cat是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。

常用用法(参数):

(1)cat /文件名


最简单的cat用法,原原本本的打印出整个文件的全部内容

(3) cat –b /文件名


打印出整个文件的内容,并且对非空白行进行编号,行号从1开始,输出结果如下所示:

[[email protected] admin]$ cat -b xsu111.sql |more

1  Rem

2  Rem $Header: rdbms/admin/xsu111.sql /main/13 2010/06/06 21:49:30 snadhika Exp $

3  Rem

4  Rem xsu111.sql

5  Rem

……

6、 more

类似 cat 命令,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似)


[[email protected] admin]$ more test.txt

dddddddddddddddddddddddddddddd

7、 echo

Echo命令是在屏幕上显示字符或变量的值。

常用用法:

(1)输出字符串


将要输出的字符串,用双引号引起来,输出结果如下所示:

[email protected] admin]$ echo "please wait 2 minute"

please wait 2 minute

(2)输出变量值


输出$ORACLE_HOME环境变量的值,输出结果如下所示:

[[email protected] admin]$ echo $ORACLE_HOME

/dba/oracle/product/11.2.0/db_1

8、 hostname

显示和设置当前主机系统的名称,只有具有ROOT权限的用户才能设置主机名。

常用用法:

(1) 显示主机名:


[[email protected] admin]$ hostname

ol6-single

(2) 解析主机名所对应的IP地址:


前提是/etc/hosts中有编加主机名对应IP地址的信息,或DNS可以正常解析,输出结果如下:

[[email protected] ~]# hostname -i

192.168.2.150

(3) 临时设置主机名:


临时设置主机名,修改后,/etc/sysconfig/network文件中的HOSTNAME值仍然未改变,要想永久修改主机名,还需要修改/etc/sysconfig/network文件中hostname的值,使用方法如下:

[[email protected] ~]# hostname lijunjie

[[email protected] ~]# hostname

lijunjie

9、 touch

Touch命令用于修访问和更改文件的时间到当前时间或指定时间,或者新建一个不存在的文件

常用用法:

(1)touch 文件名


用于创建一个新文件,如果文件名已经存在,则修改文件的修改时间为当前系统时间

[[email protected] admin]$ ls -l test.txt

-rw-r--r--. 1 oracle oinstall 31 Apr 11 05:18 test.txt

[[email protected] admin]$ date

Sat Apr 11 05:20:01 CST 2015

[[email protected] admin]$ touch test.txt

[[email protected] admin]$ ls -l test.txt

-rw-r--r--. 1 oracle oinstall 31 Apr 11
05:20 test.txt

(2)touch –r 源文件名 目标文件名


将源文件的时间,更新到目标文件上,使两个文件的时间相同

[[email protected] admin]$ ls -l

-rw-r--r--. 1 oracle oinstall  363 Sep 10  2014 listener.ora

-rw-r--r--. 1 oracle oinstall   31 Apr 11 05:20 test.txt

[[email protected] admin]$ touch -r listener.ora test.txt

[[email protected] admin]$ ls -lrt

-rw-r--r--. 1 oracle oinstall   31 Sep 10  2014 test.txt

-rw-r--r--. 1 oracle oinstall  363 Sep 10  2014 listener.ora

(4) touch –t yyyymmddhhmi.ss


将文件的时间修改成指定的年、月、日、小时、分.秒

[[email protected] admin]$ ls -l test.txt

-rw-r--r--. 1 oracle oinstall 31 Sep 10  2014 test.txt

[[email protected] admin]$ touch -t 201101012050.50 test.txt

[[email protected] admin]$ ls -l test.txt

-rw-r--r--. 1 oracle oinstall 31 Jan  1  2011 test.txt

10、 df

Df命令用于显示文件系统与目录的详细信息。

常用用法:

(1) df –a


列出所有的文件系统与挂载点,输出结果如下:

[[email protected] admin]$ df -a

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda3             10321208   3403240   6393680  35% /

proc                         0         0         0   -  /proc

sysfs                        0         0         0   -  /sys

devpts                       0         0         0   -  /dev/pts

tmpfs                   507124         0    507124   0% /dev/shm

/dev/sda1               198337     50193    137904  27% /boot

/dev/sda2             39015880  27626000   9407928  75% /dba

none                         0         0         0   -  /proc/sys/fs/binfmt_misc

sunrpc                       0         0         0   -  /var/lib/nfs/rpc_pipefs

/dev/sdb1             51605436  15703408  33280624  33% /u01

(2)df -h


列出已有使用的文件系统与挂载点与便于识别的大小信息,便于识别的大小信息为K、M、G格式,输出结果如下所示;

[[email protected] admin]$ df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             9.9G  3.3G  6.1G  35% /

tmpfs                 496M     0  496M   0% /dev/shm

/dev/sda1             194M   50M  135M  27% /boot

/dev/sda2              38G   27G  9.0G  75% /dba

/dev/sdb1              50G   15G   32G  33% /u01

11 vim|vi

例似Windows上的记事本,用于编辑文件中的内容或新建一个新文件。功能强大,做为DBA,必须相阅相关资料掌握,在此不详述。

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

时间: 2024-10-05 02:45:25

做DBA必须学会,不会会死的11个Linux基本命令的相关文章

做DBA必须学会的11个Linux基本命令--主要看参数

Linux系统庞大而复杂,经过总结,做为一名DBA,一些基本管理.网络管理.进阶应用.性能诊断.管道复杂应用.硬件相关传感命令都需要掌握,这篇文章,专门来讲做为一名DBA,必须学会的11个基本应用命令. 1. ls命令 Ls命令是Linux中最常用的命令,是list的缩写,缺省下ls命令是列出当前目录的清单,如果ls指定其他目录,就会显示指定目录里的文件及文件夹清单. 常用用法(常用参数): (1) ls –l 以长格式(每行只显示一个文件或目录信息)列出文件及目录的详细信息,输出结果如下: [

新到一个公司做DBA遇到的困局

今天是我我刚到一个公司上班3个月,2个月的时候我转正了,我在两个月内把公司主要系统的性能压力降低了. 可是我更加困惑了.我发现服务器CPU的压力来源与数据库的拙劣设计,查询的性能低下.由于公司系统是一个历史遗留问题, 这我无能为力,但查询我可以改变吧,公司存储过程和查询语句统一用一种格式,存储过程的参数一般在10个以上,然后还给了默认值, 例如: create proc test ( @a1 int=-1, @a2 nvarchar(50)='', ....... ) 在查询语句中,会发现全部都

我做的网站www.lxggzz.cn 2018年11月下旬上线-枣庄立行广告装饰

经过精心的策划和筹备2018年11月枣庄市市中区立行广告部装修装饰专题网站上线了,域名:www.lxggzz.cn枣庄市市中区立行广告部,位于山东省枣庄市市中区君山中路300号,枣庄市君山小学向西50米路北,专注家庭 · 办公室 · 写字楼 · 店铺装修设计施工一条龙服务. 页面模块展示: 网站首页:工程案例多标签展示新闻动态及友情链接商业装修案例图片展示家庭装修效果图展示地址导航及联系方式 新闻文章显示页12月上旬搜索收录情况及排名 原文地址:http://blog.51cto.com/mfl

初中级DBA必须要学会的9个Linux网络命令,看看你有哪些还没用过

笔者不久前写了一篇文章<做DBA必须学会,不会会死的11个Linux基本命令>,博文地址为:http://blog.csdn.net/ljunjie82/article/details/45022355 此篇文章,则是写的初中级DBA必须要学会的9个Linux网络命令,这些命令对一个DBA在维护管理.故障排除方面能否高效的开展工作,起着举足轻重的作用. 1.ethtool Ethtool是用于查询及设置网卡参数的命令,用得最多的,莫过于查看网卡的速度,如百兆.千兆.万兆. 常用用法: (1)e

致DBA:为什么你经常犯错,是因为你做的功课不够

专职做DBA已经6年多的事件了,看同行.同事犯了太多的错误,自己也犯了非常多的错误.一路走来,感触非常深.然而绝大多数的错误其实都是很低级的错误.有的是因为不了解某个引擎的特性导致:有的是因为对线上环境不了解导致:有的是因为经验不足导致:一路上,跌跌撞撞,从小公司DBA,到腾讯高级DBA,再到现在的金融数据库DBA. 不由得想起5年前的我,刚进入DBA行业,缺乏经验,经常犯错误,不是我不够努力,更多的是初来咋到的我根本不知道应该在哪方面下功夫.本文就是基于这方面的考虑,根据自己在DBA这个职业上

在重庆想做Oracle DBA到底有没有必要拿相关的证书?

主要是看你想做DBA还是开发?证书是肯定要拿的,就像有了驾驶证才能开车一样. 其次,有老师带你入门.进入行业会很快的,不然很难进入行业角色.如果有认识的朋友带最好,没有的话,参加培训也是一个不错的选择.选择一家拥有真正培训技术的机构最好,当然我们中心肯定是以技术培训为主的,其他地方的话,需要自己仔细的辨别一下,网络培训机构大多都是拿证一族,实在不敢恭维,而且发现了也不受官方认可~~.选择培训机构的几点参考:1.资质吧,必须的(是否是WDP中心)2.师资是OCP的还是OCM的,一般OCM的经验都是

写给立志做码农的大学生(蘑菇街你都挂了,你还要面腾讯? 我去,我一定要去)

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请.大二起开始在计算机系学习.大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年. 我不是大牛,不是来传播鸡汤或成功学的,只是最近有感于学弟学妹们在学习以及规划方面严重不足,觉得这是一个共性问题,遂捉起纸笔,写点东西. 1. 确定方向 1.1 选择比努力更重要 关于方向的选择其实越早确定

关键20小时,快速学会任何技能

<关键20小时,快速学会任何技能>是一本很神奇的书,就算你觉得这个名字哗众取众,你还是会忍不住打开想看看它讲些什么. 技能习得与技能学习的区别 <关键20小时,快速学会任何技能>首先介绍了技能习得和技能学习这两个概念及它们的区别.简单说: 技能习得以解决某个实际问题为目标,根据问题分析出达成目标需要的关键要素,在实践中掌握这些关键要素,达到能够解决问题的程度. 技能学习则偏向于系统学习理论,深入了解一项技能相关的各种概念.理论.方法.原理等等,然后再想办法应用. 举个简单的例子,我

写给立志做码农的大学生

先简单介绍一下我自己,我是一所普通大学的本科生,大学录取时的专业是非计算机系的,在大一下学期意识到自己喜欢敲代码以后,就提交了转专业申请.大二起开始在计算机系学习.大三时(2015年4月)拿到了腾讯暑期实习的offer,暑期实习的过程中获得留用offer,大四没跑秋招,几乎就在学校浪荡了一年. 我不是大牛,不是来传播鸡汤或成功学的,只是最近有感于学弟学妹们在学习以及规划方面严重不足,觉得这是一个共性问题,遂捉起纸笔,写点东西. 1. 确定方向 1.1 选择比努力更重要 关于方向的选择其实越早确定