2010年(23)
分类: LINUX
2010-06-06 15:49:37
一、阵列、磁盘
1、挂载阵列
(1)、首先确定阵列是否分区,如果没有分区,需要对磁盘进行分区。
a、fdisk /dev/sdc (假设要对sdc进行分区)
b、输入n
c、输入p,选择要分区到第几区
d、输入1,选择要分区到第一个,(分区后为sdc1)。
e、按回车,确认。
f、输入要分区的大小(格式为+GB*1024M,或者*1000)
g、输入w,保存。
i、对磁盘进行格式化 mk + Tab键。选择mkfs+ext3 /dev/sdc1(sdc1为要格式化的磁盘)
h、先对主机进行挂载:mount /dev/sdc1 /disk (disk为挂载文件)然后再挂载备份机。
(2)、如果已经划好分区。就进行如下操作。
将sda1就是阵列挂载到/work上。
输入命令: mount /dev/sda1 /work
然后将数据拷贝进去 命令:cp -r /disk/* /work/
然后卸载阵列 umount /work
将阵列挂在/disk下 mount /dev/sda1 /disk
2、查看阵列
(1)、mount
(2)、fdisk -l 显示所有u盘或移动硬盘
(3)、df -h 查看磁盘空间
二、登录和退出linux系统
1、重新启动:reboot
2、关闭系统:shutdown -r +10 关机后立即重启 10代表10分钟 10分后关机重启
-h now 关机后不重启
-n 快速关机不经过init程序
3、从命令模式转到图形:startx
4、从图形转到命令模式:login out ??ctrl+Alt+F1(长按3秒)之后重启。
三、用户管理
1、增加用户:useradd 用户名
2、改某个用户的密码:passwd 用户名 回车 输入新密码 重复输入新密码
3、用某个用户直接登录ssh:ssh IP -l用户名
4、删除用户:userdel 用户名
5、查看所有用户:cd /etc/ cat passwd
6、将系统账号名保存到特定的文件,就可以:cut -d: -f1 /etc/passwd > /tmp/users
-d用来定义分隔符,默认为tab键,-f表示需要取得哪个字段
如:
使用|分隔
cut -d'|' -f2 1.test>2.test
使用:分隔
cut -d':' -f2 1.test>2.test
这里使用单引号或双引号皆可
7、查看所有系统用户:cut -d: -f1 /etc/passwd
8、显示目前登入系统的用户信息:w和who都可以。(注:w显示用户信息详细。who只显示tty<虚拟终端>和时间)
w命令详解
USER:显示登陆系统的用户的帐号名。如果用户重复登录,则该帐号名就会重复显示。
TTY:用户登录的终端代号。登录的形式不同,登录代号也不相同。
FROM:显示用户从何处登录系统。如果是本地登录,则此字段为-,若从远程登录,便会显示远程主机的IP地址或主机名。至于“:0.0”之类的标示,代表该用户是从X Window System以文本模式登录的。
LOGIN@:这是Login At的意思,表示该用户登录系统时的时间(不是登录后经过的时间)。
IDLE:表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置。
JCPU:以终端的代号区分显示,表示该终端所有相关的进程(process)执行时所消耗的cpu时间。每当进程结束就停止计时,开始新的进程则会重新计时。
PCPU:表示cpu执行程序消耗的时间。
WHAT:表示用户正在执行的程序的名称,如果正在执行文本模式命令,则会显示用户环境的名称。
9、last 查看最近有哪些用户登录过系统。
10、lastb 显示不成功登陆的用户信息。 错误信息/var/log/btmp文件中
四、文件和目录操作命令
1、查看当前目录下的文件:ls: -a 可显示隐藏文件
-l 显示更详细的文件资料
-f 在列出的文件(目录)后加一符号
2、进入目录:cd: cd 全目录名称
3、建立新的目录:mkdir 删除目录:rmdir
4、复制文件:cp cp -r 源文件 目的文件 (-r拷贝文件且包括内容)
5、删除文件:rm rm命令常用的参数有三个-i,-r,-f
-r 目录名:可删除目录下的所有子目录和文件
-f 文件名:不经确认强制删除文件
-i 系统会询问是否删除test文件 y/n确认
6、移动文件:用法同cp
7、显示文件内容或将多个文本合并成一个:cat
cat text
该命令显示text 这个文件的内容
cat file1 file2
该命令依顺序显示file1,file2 的内容
cat file1 file2>file3
该命令把file1,file2 的内容结合起来再重定向>到file3 文件中
8、显超一屏的内容:more
9、清除屏幕:clear
10、用于显示文本文件的末尾几行:tail 10
11、查信息总数:grep “
12、tar
tar 命令用于把多个文件合并于一个档案文件中并提供分解的合并后的档案
文件的功能它独立于压缩工具因此可以选择在合并前是否压缩tar 命令的基本用法为tar [选项] 文件名
常用的选项包括
-c 创建一个新的档案文件
-t 查看档案文件的内容
-x 分解档案文件的内容
-f 指定档案文件的名称
-v 显示过程信息
-z 采用压缩方式
举例:
(1) tar -czf oracle.tar.gz /u01/app/oracle /etc/oratab /home/oracle
该 命 令 将/u01/app/oracle 目录下的所有文件/etc/oratab 文件和
/home/oracle 目录下的所有文件合并到oracle.tar 文件中并采用压缩方式
(2) tar -tzf oracle.tar.gz
该命令列出归档文件 oracle.tar 中的所有文件列表
(3) tar –xzvf oracle.tar.gz
该命令将归档文件分解并解压缩到原有文件的路径中
13、文件查找命令find
find 命令用于查找文件系统中的指定文件其命令格式为
find 要查找的路径表达式
例如
find . -name 1.txt 在当前目录及其子目录下查找文件 1.txt
find /tmp -name 1.txt 在 /tmp 目录及其子目录下查找文件1.txt
14、locate 查找所有名字中包含制定字符串的文件
15、sort 文件列表 对文件中的所有行进行排序
16、split 将多个文件的内容合并到一个文件中 split 输入文件 输出文件前缀
17、wc -l -w -c 统计字符 行
18、stat 用于显示文件制定文件的相关信息
19、备份压缩文件远程拷贝到备机上
Scp
五、进程及任务管理命令
1. ps 命令 是最基本同时也是非常强大的进程查看命令、使用该命令可以查看有哪些进程正在运行、以及运行的状态进程是否结束、
进程有没有僵死、哪些进程占用了过多的资源、等等。
其中常用的选项有:
-e 显示所有进程
-f 全格式
-l 长格式
举例:在控制台输入以下命令
ps –ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jan14 ? 00:00:05 init
root 2 1 0 Jan14 ? 00:00:00 [keventd]
root 3 1 0 Jan14 ? 00:00:00 [kapmd]
…………………..
该命令将显示所有执行进程的信息
显示的项目依次为UID 执行进程的用户ID PID(进程ID) PPID(父进程ID) TTY(终端名称) STIME(进程启动时间) TIME(进程执行时间) (后台进程算守护进程,末尾带d为守护进程。父进程关子进程仍然运行)
CMD(该进程的命令行输入)该命令的输出较多 可以使用grep 命令进行过虑以方便查看如ps –ef|grep oracle
2. top top 命令和ps 命令的基本作用是相同的显示系统当前的进程和其他状况、
但是top 是一个动态显示过程即可以通过用户按交互来不断刷新当前状态。
3. kill
kill 命令可以用于终止后台进程kill 命令是通过向进程发送指定的信号来结束进程的。
(1) kill [-s 信号] 进程号
其中 发出的信号既可以是信号名也可以对应数字
如 kill -9 1234 命令将终止PID(进程号)为1234 的进程
(2) kill -l
该命令显示信号列表
六、vi编辑器 如果在文本输入模式下,首先按ESC 键进入命令模式。
1、插入:i----在目前光标前插入
a----在目前光标后输入文字
o----在当前光标所在行下新增一空行,从行首开始输入
I----插于行首
A----插于行尾
O----同o
2、保存后退出::x
3、修改:cw----修改光标处的字到此单字的字尾处。
cc----修改行
c-----替换到行尾
4、删除:x-----删除当前光标所在后面一个字符。
dd----删除行
D-----删除至行尾
5、复制:yw----拷贝光标处的字到字尾
yy----复制整行
6、粘贴:p
7、还原上以操作:u
8、列出行号:g / :set nu
9、寻找字符串:首至尾寻找 /work 反之 ?work
10、取代:r
11、光标移动:左下上右:hjkl w:移到下个字的开头 b:跳至上个字的开头 G:移到文件最好
12、替换字符串: :l,&s/pattern1/pattern2/g 将每个都做替换
13、:q! 不保存内容 强制退出
七、查询系统版本命令:lsb_release -a
八、linux基本网络配置
1、配置IP和子网掩码和网关:
vi编辑接口文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=192.168.0.21 //IP地址
NATMASK=255.255.255.0 //子网掩码
BOOTPROTO=static //引导时静态分配
ONBOOT=yes //引导时是否激活
GATEWAY=10.233.134.23 //网关
2、配置网关和主机名:vi /etc/sysconfig/network
NETWORKING=yes //表示网络是否被配置
HOSTNAME=smbss //主机名
3、Ping 命令
ping 命令用于查看网络上的主机是否在工作。
ping IP地址
九、系统信息及运行状态监控
1、 Linux 的文件系统中有一个特殊目录/proc、 该目录下列出的文件并非保存在磁盘上、而是内存中的一个映像在该目录下可以找到许多有意思的东西。
例如
/proc/cpuinfo 本机 CPU的相关信息
/proc/meminfo 本机内存及交换分区的使用信息
/proc/modules 本机已安装的硬件模块信息
/proc/mounts 本机已挂载 mount 上的设备信息
此外 该目录下有一些以数字为名称的子目录每个子目录用于维护一个正在运行的进程而目录名即为相应的进程ID 例如进入名称为1
的子目录cd /proc/1。
2、df 命令
用于查看 Linux 文件系统的状态信息显示各个分区的容量已使用量未使
用量及挂载点等信息
如
df -k 以千字节 KB 为单位显示各分区的信息
df -a 显示所有分区 包括大小为0 的分区
df -T 显示分区类型 EXT2 或EXT3 等
df -v 显示系统分区
3、du 命令
用于查看文件或文件夹的大小 如
du -b /home 以字节为单位显示 /home 文件夹下各个子文件夹的大小
du -ks home 以千字节 KB 为单位显示/home 文件夹的总大小
4、top 命令
用于实时查看系统状态信息 运行该命令后屏幕上会显示如下信息:
CPU状态CPU states 包括用户进程占用比率系统进程占用比率用户的nice 优先级进程占用比率及空闲CPU资源比率等
内存状态 Mem 包括内存总量使用量空闲量等
交换分区状态 Swap 包括交换分区总量使用量空闲量等
每个进程的状态 包括进程ID 用户名优先级CPU和内存使用量以及运行该进程时执行的命令行
执行 top 命令后每隔5 秒系统会自动刷新一次状态信息如果要指定刷新间隔在启动时加入-d 参数即可
例如
top -d 1 启动 top 并且每隔1 秒刷新一次
进入 top 后按下如下按钮会有相应功能
(1)、空格 立即刷新显示信息
(2)、M 按内存使用量排序
(3)、N 按进程ID 排序
(4)、P 按 CPU使用量排序
(5)、c 扩展命令行信息 显示完整的命令行
(6)、? 显示帮助信息
(7)、q 退出 top 程序
PID 每个进程的ID。
PPID 每个进程的父进程ID。
UID 每个进程所有者的UID 。
USER 每个进程所有者的用户名。
PRI 每个进程的优先级别。
NI 该进程的优先级值。
SIZE 该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。
TSIZE 该进程的代码大小。对于内核进程这是一个很奇怪的值。
DSIZE 数据和堆栈的大小。
TRS 文本驻留大小。
D 被标记为“不干净”的页项目。
LIB 使用的库页的大小。对于ELF进程没有作用。
RSS 该进程占用的物理内存的总数量,单位是KB。
SHARE 该进程使用共享内存的数量。
STAT 该进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态。
TIME 该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME。
%CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
%MEM 该进程占用的物理内存占总内存的百分比。
COMMAND 该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行。
5、iostat
统计并输出 CPU使用信息及特定设备或分区的IO 信息
iostat -c 仅显示 CPU使用情况统计信息
iostat -d 仅显示设备/分区使用情况统计信息
iostat -d 2 统计设备/分区使用情况并每隔2 秒刷新一次
显示的 IO 统计信息中各部分说明如下
tps 设备每秒收到的 IO 传送请求数
Blk_read/s 设备每秒读入的块数量
Blk_wrtn/s 设备每秒写入的块数量
Blk_read 设备读入的总块数量
Blk_wrtn 设备写入的总块数量
显示的 CPU统计信息各部分的含义同top
6、free
查看内存占用率的命令
十、Linux 的系统服务及其配置
1、Linux 系统的所有服务程序脚本均可以在/etc/rc.d/init.d 文件夹中找到每一项服务对应一个脚本文件如果CAMS 已经安装我们可
以在该文件夹下找到oracled camsd 和tomcat4 这三个文件
2、 启动和停止服务
service 命令用于启动及停止某个服务例如
service camsd stop 停止 camsd 服务
service oracled start 启动 oracled 服务
service tomcat4 start 启动 tomcat4 服务
CAMS引入的三个服务间有依赖关系即camsd 服务和tomcat4 服务依赖与oracled 服务在oracled 服务启动前不能启动camsd 服务
和tomcat4 服务而在oracled 服务停止前必须先停止camsd 服务和tomcat4 服务。
3、 服务的添加删除自动运行及状态
CAMS 在安装过程中会自动添加相关的服务在安装的最后过程中会提示用户是否启动服务使服务生效需要注意的是一个服务被添加
后并不表示该服务在系统启动过程中会自动运行仅表示可以使用service 命令来
启动停止服务
4、 添加服务
添加服务的步骤为
(1)、 将该服务的脚本文件拷入/etc/rc.d/init.d 文件夹下保证其状态为可执行
(2)、 使用chkconfig 命令将服务添加到服务列表中
chkconfig --add camsd 注意有两个 -将服务添加以后 该服务即可以使用service 来启动/停止了
5. 删除服务
如果要删除某项服务 将上述命令的add 改为del 即可
chkconfig --del camsd 注意有两个 -
6. 设置服务自动运行
Linux 运行有7 种运行级别分别使用0-6 来表示控制台界面运行级别为3
图形界面运行级别为5 要使某服务在系统启动时自动运行使用chkconfig
将该服务添加到相应级别的自启动服务列表中即可。
chkconfig --level 35 camsd on 注意有两个 “-”。
上面的命令将 camsd 服务添加到级别为3 5 的自启动服务列表中
而下面的命令则将服务camsd 从级别为3 5 的自启动服务列表中删除chkconfig --level 35 camsd off 注意有两个 “-”。
如果需要查看某项服务的自启动状态信息 使用如下命令即可
chkconfig --list camsd 注意有两个 “-”。
十一、 系统管理
1、mkfs 将分区进行格式化
2、dmesg 显示系统最好一次启动时的内核内部缓存信息
3、free 显示当前内存和交换分区的使用情况
4、time 计算执行一个进程所需要的时间
5、lsmod 显示目前已经加载的内核模块
6、set 显示当前用户的环境设置
7、rulevel 输出前一个和当前的运行级别
8、sysctl -a 显示所有可以设置的内核参数
9、uptime 系统自上次启动到现在总的运行时间
10、pstree 将所有的进程以树状图的方式进行显示
11、jobs 目前正在后台执行的任务列表
12、fg 将用户在后台运行的程序后台运行的程序移到前台
13、echo 将命令中的字符串显示在屏幕上
十二、防火墙
Linux下关闭和开启防火墙
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 字串6