luvzhan 2011-09-21
①下载Metasploit下的Linux安装包,拷贝至Ubunto的/opt目录。
②在Terminal下运行命令“chmod +x /opt/framework-linux-4.0.0.run”
③在Terminal下运行命令“sudo /opt/framework-linux-4.0.0.run”,选择安装目录进行安装。
④将Metasploit升级至最新版本,运行命令“sudo svn update /opt/framework4.0.0/msf3/”。
Linux下一些常用命令:
Linux命令大全
命令集合
linux命令集合
1 文档和目录操作命令
1.1文档内容查询命令 grep、fgrep、egrep
语法:grep[选项][查找模式][文档名1,文档名2,……]
选项: -E 每个模式作为一个扩展的正则表达式对待
-F 每个模式作为一组固定字符串对待,而不作为正则表达式
-i 比较时不区分大小写
-l 显示首次匹配匹配串所在的文档名并用换行符将其分开。当在文档中多次出现匹配串时,不重复显示次文档名;
-x 只显示整行严格匹配的行
1.2文档查找命令 find、locate
语法:find 起始目录 寻找条件 操作
以名称和文档属性查找
-name‘字串‘ 查找文档名匹配所给字串的任何文档,字串内可用通配符*、?、[]。
-lname‘字串‘ 查找文档名匹配所给字串的任何符号链接文档,字串内可用通配符*、?、[]。
-gid n 查找属于ID号为n的用户组的任何文档。
-uid n 查找属于ID号为n的用户的任何文档。
-group‘字串‘ 查找属于用户组名为所给字串的任何的文档。
-user‘字串‘ 查找属于用户名为所给字串的任何的文档。
-path‘字串‘ 查找路径名匹配所给字串的任何文档,字串内可用通配符*、?、[]。
-perm 权限 查找具备指定权限的文档和目录,权限的表示能够如711、644。
-type x 查找类型为 x的文档,
语法:locate 相关字
1.3文档的复制、删除和移动命令文档复制命令cp
[选项] 源文档或目录 目标文档或目录
选项:
- a 通常在拷贝目录时使用
-d 拷贝时保留连接
-f 删除已存在的目标文档而不提示
-i 和f选项相反
-p 此时cp除复制源文档内容外,还将其修改的时间和访问权限也复制到新文档中
-r 若给出的源文档是一目录文档,此时cp将递归复制该目录下的任何的子目录和文档,此时目标文档必须为一个目录名;
-l 不作拷贝,只是链接文档
文档移动命令 mv
[选项] 源文档或目录 目标文档或目录
-i 交互式操作
-f 禁止交互式操作
文档删除命令 rm
[选项] 文档…
-f 忽略不存在的文档,从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归地删除
-i 进行交互式删除
1.4文档链接命令ln
[选项] 目标 [链接名] 或 ln [选项] 目标 目录
选项:- s 建立符号链接
1.5目录的创建和删除命令
mkdir 创建一个目录
语法:mkdir [选项] dirname
选项:- m 对新建目录配置存取权限
-p 能够是个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次能够建立多个目录。
rmdir 删除空目录
语法:rmdir [选项] dirname
选项: - p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。
1.6改变工作目录,显示目录内容命令
1、改变工作目录:cd [directory]
2、显示当前工作的目录的绝对路径: pwd
3、显示目录内容:ls [选项] [目录或是文档]
选项:
- a 显示指定目录下任何子目录和文档,包括隐藏文档;
-c 按照文档的修改时间排序
-C 分成多列显示各项
-d 假如参数是目录,只显示其名称而不显示其下的个文档
-F 在目录名后面标记“/”,可执行文档后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文档后面标记“=”。
-l 以长格式来显示文档的周详信息
-L 若指定的名称为一个符号链接,则显示链接所指向的文档
-t 显示时按修改时间而不是名字排序
-u 显示时按文档上次存取的时间而不是名字排序
4、改变文档或目录的访问权限命令
chmod [who] [+| - | = ] [mode] 文档名?
Who选项:
- u表示用户,即文档和目录的任何者
-g表示同组用户
-o(other)表示其他用户
-a (all)表示任何用户
操作符号:
+ 添加某个权限 - 取消某个权限
= 赋予给定权限并取消其他任何的权限(假如有的话)
mode 选项:
- r 可读
-w 可写
-x 可执行
chgrp [-R] group filename? 改变目录或文档所属的组
chown [-Rv] 用户或组 文档
1.7备份和压缩命令
1、tar命令 为文档和目录创建档案
语法:tar [主选项+辅助选项] 文档或目录
u 主选项
c 创建新的档案文档。假如用户想备份一个目录或是一些文档,则选此项
r 把要存档的文档追加到档案文档的末尾
t 列出档案文档的内容,查看已备份了哪些文档;
u 更新文档
x 从档案文档中释放文档;
u 辅助选项
b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20
f 使用档案文档或设备,这个选项通常是必选的
k 保存已存在的文档。例如把某个文档还原,在还原的过程中,碰到相同的文档,不会进行覆盖;
m 在还原文档时,把任何文档的修改时间设定为现在;
M 创建多卷的档案文档,以便在几个磁盘中存放;
v 周详报告tar处理的文档信息
w 每一步都需要确认
z 用gzip来压缩/解压缩文档
2、gzip命令 压缩/解压缩命令
语法:gzip [选项] 压缩(解压缩)的文档名
选项:-c 将输出写到标准输出上,并保留原有文档
-d 将压缩文档解压
-l 显示每个压缩文档的周详信息
-r 递归式地查找指定目录并压缩其中的任何文档或是解压缩
-t 测试、检查压缩文档是否完整
-v 对每一个压缩和解压的文档,显示文档名和压缩比
3、unzip 命令
用MS windows下的压缩软件winzip压缩的文档在linux系统下展开
语法:unzip [选项] 压缩文档名.zip
选项: -x 文档列表 解压缩文档,但不包括指定的file文档
-v 查看压缩文档目录,但不解压
-t 测试文档有无损坏 ,但不解压
-d 目录 将压缩文档解到指定目录下
-z 只显示压缩文档的注解
-n 不覆盖已存在的文档
-o 覆盖已存在的文档且不需要用户确认
-j 不重建文档的目录结构,把任何文档解压到同一目录下
1.8在LINUX环境下运行DOS命令
linux系统提供了一组称为mtools的可移植工具,能够让用户轻松地从标准的DOS软盘上读写文档和目录。
mcd 目录名 改变MSDOS目录
mcopy 源文档 目标文档 在MSDOS和UNIX之间复制文档;
mdel 目录名 删除MSDOS目录
mdir 目录名 显示MSDOS目录
mformat 驱动器号 在低级格式化的软盘上创建MSDOS文档系统
rnlabel 驱动器号 产生MSDOS卷标
mmd 目录名 删除MSDOS目录
mren 源文档 目标文档 重新命名已存在的MSDOS文档
mtype 文档名 显示MSDOS文档的内容
2 设备管理命令
linux采用下面的形式定义一个IDE硬盘:/dev/hd[drive][partition]
SCSI硬盘使用同样的机制表示: /dev/sd[drive][partition]
对于一般的LINUX分区,能够用mkfs将其格式化并生成文档系统,命令如下:
mk2fs -c
装载文档系统:mount -t ext2 [-o optioms] partition mountpiont
其中,-t为指定装载文档系统的类型;-o指定一些选项,如只读ro,可读可写rw等等;partition定义分区名称;mountpiont定义文档系统被装载的目录名称。
装载CD-ROM文档系统:mount -t iso9660 -r /dev/cdrom /mnt/cdrom
装载软驱文档系统: mount -t msdos -rw /dev/fd0 /dev/mnt/floppy
卸载文档系统 umount /mnt/cdrom
磁带设备的安装要注意以下几点:
1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置
2、 选择驱动程式。
3、
生成设备文档。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文档名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)
用 ls /dev/*rst*
检查磁带设备文档是否存在,假如不存在,用
mknod -m 666 /dev/nrst0 c 9 9
mknod -m 666 /dev/rst0 c9 0 生成
4、 能够对块长度、缓存、磁带密度等参数进行一些配置,例如
mt setblk 20 将块长度指定为20
mt setblk 0 指定块程度没有限制
5、 通过检查系统的启动信息能够确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 软件包管理命令
3.1软件安装的步骤
在LINUX系统上安装软件的步骤有:
1、 查找所要安装软件的源文档
2、 把源文档解开放到一个目录中,命令如下:
tar zxvf 源文档名>
3、 针对本操作系统配置源文档。能够是编辑make文档或其他文档,也可能是运行该软件自带的自动配置工具,如./configure
4、 make源文档,通常是运行make命令,即执行 make
5、 安装二进制文档和其他支撑文档,运行命令: make install
6、 最后,完成任何其他必须的配置
3.2软件包管理命令
rpm -ivh 软件包>
// 安装指定的软件包,并在安装过程中用#表示安装的进度
rpm -Uvh 软件包>
// 更新一个已存在的或还没安装好的软件包,并删除任何该软件包的旧版本。
rpm -e
//卸载一个rpm软件包
rpm -qa
// 查看系统中已安装的软件包
rpm -q 软件包>
// 查看系统中某个软件包的版本号;
rpm -qlp 软件包>
//列出某个软件包中的任何文档
rpm -qf 软件包>
//找出一个文档属于哪个软件包
4 LINUX系统常用命令
4.1 和系统管理有关的命令
Wall (Write All)
对全部已 登录的用户发送信息,用户能够先反要发送的信息写好存入一个文档中,然后输入:# wall 例:Wall ‘Thank you !’
Write
向某一用户发送信息。
Write xxq
hello
输入Ctrl+C组合即可终止
Shutdown命令
Shutdown [选项] [时间] [警告信息]
-k 并不真正关机,而只是发出警告信息给任何的用户。
-r 关机后立即重新启动。
-h 关机后不重新启动。
-f 快速关机,启动时跳过fsck。
-n快速关机,不经过init程式。
-c 取消一个已运行的shutdown
例:系统马上关机:Shutdown -h now
Free命令
查看当前系统内存的使用情况,
Free [-b] [-k] [-m]
-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以M字节为单位显示。
Uptime
显示系统已运行了多长的时间:现在时间、系统已运行的时间、现在有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
4.2和用户有关的命令
Passwd命令
配置、更换用户口令。
Passwd [用户名]
Su
使一个普通的用户具备终极用户的权利,离开可用EXIT命令。
4.3其他命令
Echo命令
在显示器上显示一段文字,一般起到一个提示的作用。
echo [-n] 字符串
Cal命令
显示某年某月的日历。
cal [选项] [月[年]]
选项的含义:
-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。
-y 显示也整年的日历。
Date命令
date命令的功能是显示和配置系统日期和时间。
4.4磁盘管理
磁盘空间管理
df命令
检查文档系统的磁盘空间占用局部。
Df [选项]
-a 显示任何文档系统的磁盘使用情况,包括0块(block)的文档系统,如/proc文档系统。
-k 以K字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
- t 显示各指定类型的文档系统的磁盘空间使用情况。
-x 列出不是某一指定类型文档系统的磁盘窨使用情况(和t相反)。
-T 显示文档系统类型。
du命令
du的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文档)所占磁盘空间的大?gt;>?br>du [选项] [Names…]
-s 对每人Names 参数只给也占用的数据块总数。
-a 递归地显示指定目录中各文档用子孙目录中的各文档占用的数据块总数。
-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)
-k 以1024字节为单位列也磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省)
-l 计算任何的文档大小,对硬链接文档,则计算多次。
-x 跳过在不同文档系统上的目录不予统计。
dd命令
把指定的输入文档拷贝到指定的输出文档中,并且在拷贝的过程中能够进行格式转换。语法:
--------------------------------------------------------------
dd>>[选项]
if =输入文档(或设备名称)。
of =输出文档(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。
bs = bytes 同时配置读/写缓冲区的字节数(等于配置obs和obs)。
cbs = bytes 一次转换bytes字节。
count = blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCII码。
conv = ebcdic 把ASCII码转换为EBCDIC码。
conv = ibm 把ASCII码转换为alternate EBCDIC码。
conv = blick 把变动位转换成固定字符。
conv = ublock 把固定们转换成变动位
conv = ucase 把字母由小写变为大写。
conv = lcase 把字母由大写变为小写。
conv = notrunc 不截短输出文档。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。
fdformat命令
低级格式化软盘。
format [-n] device
-n 格式化后不做检验。
4.5常用的网络命令
FTP命令
Telnet命令。
Netstat命令
-a 显示任何的scoket,包括正在监听和。
-c 每隔1秒就重新显示一遍,直到用户中断他。
-i 显示任何网络接口的信息,格式同”ifconfig -e”
-n 以网络IP地址代替名称,显示也网络连接情形。
-r 显示核心路由表,格式同”route -e:。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
nslookup命令。
finger命令,功能是查询用户的信息。
ping命令。
(用户和组的管理能够使用工具:TurboUserCfg或是XturboUserCfg。)
4.6有关进程的命令。
进程和启动
at [-V] [-q] [-f文档名] [-mldbv]时间
at -c 作业 [作业….]
AT命令启动的进程系统只执行一次。
batch [-V] [-q 队列] [-f 文档名] [-mv] [时间]
在系统负载较小时,资源比较空闲时执行。
cron命令
按一定的时间间隔执行命令。
crontab命令
用于安装、删除或列出用于驱支cron后台进程的表格。
进程查看
who命令。
w命令
是个比who命令更强大的命令
w -[husfV] [user]
-h 不显示标题。
-u 当列出当前进程和CPU时间时忽略用户名。
-s 使用短模式。不显示登录时间JCPU和PCPU时间。
-f 转换显示FROM项,也就是远程主机名项。
-V 显示版本信息。
user 只显示指定用户的情况。
ps命令。
-e 显示任何进程。
-f 全格式
-h 不显示标题。
-l 长格式。
-w 宽输出。
A 显示终端上任何进程,包括其他用户的进程。
r 只显示正在运行的进程。
x 显示没有控制终端的进程。
top 命令
动态显示系统当前的进程和其他状况。
5系统的启动过程。
5.1初始启动
在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR)。MBR的格式是:
地址偏移量 内容 大小
+00 h 可执行的代码(启动模块) 可能变化
+1BE h 第一分区表项 16字节
+1CE h 第二分区表项 16字节
+1DE h 第三分区表项 16字节
+1EE h 第四分区表项 16字节
+1FE h 可执行的标记(AA55 h) 2字节
启动模块包含足以装入操作系统的代码,或是第二步的加载代码的位置。启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT 13h
等,限制了最大磁盘柱面号为1023。这也就是说启动模块需要加载的一切内容,如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内。
在MBR中只有四个分区表项,每个表项的格式如下:
地址偏移 内容 大小
+00h 分区状态:00代表非启动分区,80h代表启动分区 1字节
+01h 分区的起始位置 磁头 1字节
+02h 分区的起始位置 柱面和扇区 1字节
+04h 分区的类型 1字节
+05h 分区的结束位置 磁头 1字节
+06h 分区的结束位置 柱面和扇区 1字节
+08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节
+0Ch 分区内的扇区数目 4字节
5.2 Linux的启动过程
1启动的命令行参数
在Linux启动时,他处理任何传递给他的命令行参数。这能够影响Linux的运行方式。命令行参数包括:
mem=xxxM:定Linux能够使用的内存大?gt;>U庠谟没У募扑慊 低秤谐 ?4MB的内存时才需要。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个电脑的性能下降,任何内存均按无缓存的速度运行。
single:使Linux按单用户方式启动,缺省方式是多用户方式。
root=/dev/xxx:指定Linux要安装为根文档系统的设备。
init=:指定作为初始化进程的文档。
initrd=:指定作为初始内存磁盘的设备。
ro:指定根文档系统为只读。
rw:指定根文档系统为可读可写。
2 Init进程
在内核初始化自身和找到的硬件设备后,在后台启动进程init(/sbin/init),init进程号1运行。
在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。
init是由文档/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。
单用户模式:init进程忽略/etc/inittab文档,在执行少数几个脚本程式后调用/dev/console
shell。这样,用户就能够有了一个shell,而且能够执行一定限度的任务。
多用户模式:init进程把系统带入/etc/inittab文档指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。
3.进行级别
Linux和其他UNIX操作系统相同,能够任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程式(后台daemon)的不同造成的。Linux共有6种运行级别。
0:关闭电脑或终止电脑运行,这个级别就是系统停止运行。
1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。
2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,能够通过虚拟控制台或串行线路。
3:多用户模式,有网络功能。在这个运行级别,任何标准网络服务均被启动。
4:现在没有实现。
5:X11运行级别,在这个运行级别,X服务器软件运行,提供图像界面的登录方式。
6:系统重新启动。
查询当前运行级别:runlevel;
4在启动过程中运行的脚本
在init进程运行时,他负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程式来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文档有不同的作用。其中:
以K开头的脚本程式是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的任何K程式。
以S开头的脚本程式是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的任何S程式。
5增加启动脚本程式
用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程式,用户能够增加自己的初始化脚本程式来完成这些工作。通常步骤是:
复制一个已存在的脚本,这样能够得到一个通用的框架格式。
修改这个脚本,以完成自己的需求,要注意使程式能够处理启动和关闭的参数,尽管可能关闭处理什么也无需干。
把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。
按下面的方法在相应的目录下建立运行控制链接:
ln -s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
进行测试。
6 LILO和其他的启动模块
要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO能够通过修改/etc/lilo.conf文档内容来进行配置,对引导区内容的更新通过lilo命令来完成。
下面给也了一个装有DOS,TurboLinux3.4.0和RedHat
5.2系统的电脑的lilo.conf文档。在例子中的数字标号是用户加上去并要在文中周详解释的。
[root@fred/root] # more /etc/lilo.conf
boot=dev/had
map=/boot/map
instll/boot/boot.b
prompt
表示引导盘是/dev/had,这是主IDE硬盘。
timeout=50
表示等待用户输入的时间是50秒。
default=TL3.4
other=dev/hda1
表示假如在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0
label=dos
table=dev/had
表示假如在LILO提示用户输入启动系统时,用户按了键,各个系统将以label的内容显示出来,供用户选择。
image=/mnt/tl3.4/boot/vmlinuz
label=TL3.4
root=/dev/hda3
read-only
TurboLinux的启动文档,/mnt/tl3.4/boot/vmlinuz被确定,根文档系统在/dev/hda3,根文档系统是只读方式的。
image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
label=RH5.2
root=/dev/hda4
read-only
RedHat的启动文档,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被确定,根文档系统在/dev/hda4,根文档系统可读写。
6 LINUX引导盘创建
6.1 在MS Windows 9x/2000下创建引导盘
能够在MS Windows 9x/2000下创建引导盘,步骤如下:
假定当前的CD-ROM驱动器是D:先将Red Hat cd-rom盘放在驱动器内,在MS-DOS shell窗口中运行以下命令:
d:/dosutils/rawrite
2. rawrite实用程式将会立即显示如下提示信息:
Enter disk image source file name:
Please insert a formmated diskette into drive A: and pressthe enter key
3.输入 images\boot.img 作为映像源文档,现在 rawirte 会立即显示如下提示信息:
Enter target diskette drive:
4. 输入适当的驱动器名
5.将格式化的空盘插入到软驱中,按回车键继续
6.rawrite实用程式将把boot.img映像到磁盘中,操作完毕;
6.2 在LINUX下创建引导盘
步骤:
根据常规装上REDHAT
CD-ROM盘,这里假定已把系统装在/mnt/cdrom目录下。现在应把当前目录更改成/mnt/cdrom/images,以便存放引导映像文档;
假定软驱是/dev/fd0,使用的是1.44 M软盘,运行以下命令:
dd if=boot.img of=/dev/fd0 bs=1440k
这样便创建了所需的引导盘。还能够创建辅助映像软盘,只需把上面命令中的if=boot.img该成if=supp.img语句即可。