您的位置:首页 > 运维架构 > Linux

RHCE033复习(一)---常用文本处理命令、打包命令、磁盘文件系统处理命令

2012-02-01 22:52 411 查看
++++++++++++++++++++++++++

+(一)linux基本配置和常用文本命令+

++++++++++++++++++++++++++

-------------------基本配置-----------------

1.网络配置文件

/etc/sysconfig/network-script/ifcfg-eth0 //网卡配置文件

/etc/sysconfig/network //次级网络配置文件配置gateway

/etc/hosts //主机hosts配置文件

/etc/resolv.conf //dns配置

2.查看/关闭服务

chkconfig --list //查看当前系统服务

chkconfig iptables on //使服务开机生效

service iptables stop

service iptables save

service iptables start/restart

3.查看/设置selinux状态

getenforce

setenforce 0

或调用系统工具

system-config-securitylevel //来修改

system-config-selinux //来修改

system-config-securitylevel-tui //来修改

4.配置YUM源

vim /etc/yum.repos.d/base.repo

---------------2.文件内容查看命令(cat,less,more,tail,head)-------

a)cat [-AEnTv]

-A 相当于-vET的整合参数,可以列出一些特殊字符。

-E 将结尾的换行符$显示出来

-n 显示行号

-T 将Tab按键以^I显示出来

-v 列出一些看不出来的特殊字符

b)less

·<space> 和[pagedown] 向下翻一页

·[pageup] 向上翻一页

·/ 向下搜索

·?向上搜索

·n 重复前一个搜索动作(与/&?有关)

·N 反方向重复前一个搜索动作(与/&?有关)

·q 退出less程序

c)more---翻页查看

·<space> 向下翻一页

·Enter 向下翻一行

·/ 向下搜索“字符串”

· :f立即显示文件名以及当前的行数????

·q 离开退出more程序

d)head---取出前几行

Head [-n number] 文件

-n 表示显示前多少行,默认前10行

e)tail---取出后几行

tail [-n number] 文件

-n 显示尾巴多少行,默认显示后10行

-f 实时显示,立即更新

------------------3.vim/vi工具的使用------------------

vi的3模式:一般模式,编辑模式,命令行模式

一般模式和编辑模式之间的切换用i, Esc;

一般模式和命令行模式之间用:,/、?,Esc;

在一般模式下可通过/、?,进入命令行来搜索匹配字符

常用命令查考“vi手册”

eg:

0 移动到行首

$ 移动到行尾

G 移动到整个文件的最后一行

nG 移动到第n行(配合set nu)

gg 移动到整个文件的第一行=1G

------------

dd 删除光标所在的那一行

ndd 从光标开始向下删除n

yy 复制一行

nyy 复制光标所在的向下n行

------------

p,P p为将已复制的数据粘贴到光标的下一行;

P则为贴在光标上一行。

u 撤销

[ctrl]+r 重做上一个操作

===================================

/word 从光标开始的位置,向下搜索word字符串

?word 从光标开始的位置,向上搜索word字符串

===================================

:wq

:q!

:w

:q

=============

dos2unix

unix2dos

eg: unix2dos -k hosts -k//保留原文件的mtime时间格式

dos2unix -k -n host.dos host.linux -n//保留久文件,生成新文件

----------------4.查看文件类型file-------------

file---查看文件的基本信息(例如是属于ASCII,二进制,数据文件;是否使用到动态函数库

(share library)等信息。)

Eg: file ~/.bashrc

file /usr/bin/passwd

file /var/lib/slocate/slocate.db

----------------5.搜索文件------------------

·find---直接从硬盘开始搜索,一般不用速度慢,耗费硬盘空间。通常先用whereis,locate检查,

如果真找不到了,再用find.

·which---寻找“执行文件”(命令)

·whereis---寻找特定文件,使用数据库来检索数据

·locate---支持模糊搜索,也是使用数据库来检索数据

*手动更新检索数据库命令updatedb,其配置文件/etc/updatedb.conf

eg:

#which updatedb

/usr/bin/updatedb

# which ls

alias ls='ls --color=tty'

/bin/ls

whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz

/usr/share/man/man1/passwd.1.gz

======find:博大精深,具体见file,dir.doc======

find可以按时间,用户(用户组),文件名,大小,权限,文件类型来查找,还可以带附加操作

find [path] [option] [action]

find还支持模糊查找,可以使用通配符*

eg:

#find /home -user zhaoyan

/home/zhaoyan

/home/zhaoyan/.bash_profile

/home/zhaoyan/.bash_logout

/home/zhaoyan/.bashrc

/home/zhaoyan/.bash_history

#find / -nouser

find: /proc/1931/task/1931/fd/4: No such file or directory

find: /proc/1931/fd/4: No such file or directory

# find / -name passwd

/etc/passwd

/etc/pam.d/passwd

#find /etc -newer /etc/passwd //比文件file还要新的

#find /tmp -perm +7000 -exec ls -l {} \;

* -exec 后面的ls –l就是额外的命令,{}表示“由find找到的内容”。所以,-exec ls –l {}

就是将前面find找到的内容以ls –l 列出详细的信息。至于\;表示-exec命令到此为止。

-exec最后一定要以\;结束才行。

+++++++++++++++++++++++++++++++++++++

+(二)linux基本命令-磁盘与文件系统管理 +

+++++++++++++++++++++++++++++++++++++

--------------1.查看磁盘和目录容量------------

a)df---查看磁盘分区信息(大小等,注已经分区格式化后的)

df [-ahikHTm] [目录或文件名]

-a 列出所有的文件系统,包括系统特有的/proc等文件系统。

-k 以KB为单位显示各文件系统

-m 以MB为单位显示各文件系统

-h 以GB,MB,KB等格式显示

-T 连同该分区的文件系统名(例如ext3)一起列出

-i 不用硬盘容量,而以inode的数量来显示

-H 以M=1000K取代M=1024k的计算方式。

* df -h /etc-----在df后加上目录或文件是,df会自动分析该目录或文件所在分区,并将该分区的

容量信息显示出来。

[root@student021 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

8.6G 4.7G 3.6G 58% /

/dev/sda1 99M 12M 82M 13% /boot

tmpfs 252M 0 252M 0% /dev/shm

[root@student021 ~]# df -ah

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

8.6G 4.7G 3.6G 58% /

proc 0 0 0 - /proc

sysfs 0 0 0 - /sys

devpts 0 0 0 - /dev/pts

/dev/sda1 99M 12M 82M 13% /boot

tmpfs 252M 0 252M 0% /dev/shm

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

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

b)du ---查看文件或目录的大小

du [-ahskm] 文件或目录名称

-a 列出所有文件与目录的容量,默认是仅统计目录的容量的

-h 以人们易读的格式(G/M)显示

-s 列出总容量,不列出每个目录占用的容量

-k 以KB列出容量显示

-m 以MB列出容量显示

eg

[root@student021 ~]# du -sh vsftpd-2.0.5-16.el5_4.1.i386.rpm

152K vsftpd-2.0.5-16.el5_4.1.i386.rpm

[root@student021 ~]# du -sh

1020K .

----------------2.文件系统操作---------------

a)fdisk---分区

fdisk [-l] 设备名称

-l 输出所接设备所有的分区内容

[root@student021 ~]# fdisk -l /dev/sda

Disk /dev/sda: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1305 10377990 8e Linux LVM

[root@student021 ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1305 10377990 8e Linux LVM

Disk /dev/sdb: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

*直接fdisk 设备名称,进入fdisk程序菜单,进行分区,查看、修改分区信息等。

fdisk的作用主要是修改“分区表”,并没有实际将硬盘划分,它会定义出某一分区是从n1柱到n?柱面之间。只有root才能执行fdisk,设备后不能带数字,因为要查看的是整个硬盘的分区。

具体操作见磁盘和文件系统管理或鸟哥。

b)mke2fs---磁盘格式化

mke2fs [-bicLj] 设备名称

-b 可以设置每个块的大小,当前支持1024、2048、4096

-i 给一个inode多少容量

-c 检查磁盘错误,仅仔细一次–c时,会进行快速读取测试。如果执行两次-c –c,会测试读写(read-write),会很慢。

-L 后面可接卷标(Label)。

-j 本来mke2fs是EXT2,加上-j后,会主动加入日志而成为EXT3。

eg:

mke2fs –j –L “logical” /dev/sda5 ---将刚刚建立的/dev/sdb5格式化成EXT3,名称logical。

默认的块大小事4096.

mk2fs –j –L “logical” –b 2048 –i 4096 /dev/sdb5---结果和上面一样,就是块大小和inode数量会有变化。

*如果想格式化为其他文件系统,可以直接使用mkfs命令,可以man 一下瞅瞅。这个命令其实是将几个命令整合起来。实际可以参考“ls –l /sbin/mkfs*”来查看系统支持的文件格式。

c)partprobe /dev/sda 分区立即生效

d)mount 磁盘载入与卸载

mount -t 文件系统类型 [-o 其他参数] 设备 挂载点

-a 按照/etc/fstab的内容将所有的磁盘都挂上来

-L 将卷标名挂载

-t 指明以何种文件系统格式挂载

-o 包含(ro,rw;async,sync;-o remount是重新挂载某个分区;loop 是挂载虚拟ISO用的等参数)

eg:

#mount -t iso9660 -o ro /dev/hdc /mnt/dvd

-o 是附加参数 rw(读写) ro(只读)

# mount -t vfat -o rw /dev/sda /mnt/upan

#mount -t ext3 -o remount,rw /

其他具体可看磁盘和文件系统管理

#mount 将系统以挂载的分区数据列出来

umount 设备号或载入点

umount /dev/hdb5

umount /mnt/hdb5

e)e2label 修改Label名称

+++++++++++++++++++++++++++++++++++++

+(三)linux基本命令-文件的压缩与打包 +

+++++++++++++++++++++++++++++++++++++

Linux中常见的压缩文件扩展名:

·*.Z compress程序压缩文件

·*.bz2 bzip2程序压缩文件

·*.gz gzip程序压缩文件

·*.tar tar程序打包的数据,并没有压缩

·*.tar.gz t tar程序打包的文件,并且经过gzip压缩

1)tar [-cxtzjvfpPN] 文件与目录

-c 创建tar包

-x 解压tar包

-t 查看tar包文件内容。

* c/x/t---3个只能有一个存在,不可同时存在

-z 是否压缩成gzip包

-j 是否压缩成bzip2包

-v 压缩过程中显示文件,但不建议用在后台执行过程

-f 使用文件名,在f之后要立即接文件名。不要再加参数。

-p 保持原文件属性

-P 使用绝对路径来压缩

-N 比较后面接的日期(yyyy/mm/dd)要新的才会被打包进新建的文件中。

--exclude FILE 排除什么文件

EG:

tar –cvf /tmp/etc.tar /etc-----打包etc,但不压缩。

tar –zcvf /tmp/etc.tar.gz /etc -----打包并压缩成gzip包。

tar –jcvf /tmp/etc.tar.bz2 /etc -----打包并压缩成bzip2包。

tar –ztvf /tmp/etc.tar.gz ----由于是gzip包所以要加参数z才能查看。

tar –zxvf /tmp/etc.tar.gz----解压包

tar –zxvf /tmp/etc.tar.gz etc/passwd----只解压包中的etc/passwd文件。注意没有

‘/’

tar –zcvpf /tmp/etc.tar.gz /etc----加了p保留原有文件属性。

tar –N ‘2007/06/01’ –zcvpf home.tar.gz /home ---只打包home目录中比

2007.06.01时间新的文件。

tar –exclude /home/zhaoyan –zcvf hom.tar.gz /home----打包home目录,但排

除/home/zhaoyan文件。

tar –xvpf /tmp/etc.tar –C /home ---加-C参数表明解压到指定目录。

tar –cvf - /etc | tar -xvf – 打包/etc后直接解压到/tmp,而不产生文件。

*’-’分别代表了标准输入(stdin)和标准输出(stdout)

*在使用tar打包时,默认出现“tar:Removing leading ’/’ from member names”默

认把/去掉是担心将来解压时不慎覆盖了原文件,所以在tar中,默认都是把/去掉的。如果一定要使

用绝对路径来打包加-P参数。

2)dd---块复制

dd if=”input_file” of=”output_file” bs=”block_size” count=number

if 输入文件(源),也可是设备

of 输出文件(目标),也可是设备

bs 规划的一个块的大小,如果没有设置时,默认是512字节

count 多少个bs.

eg:

dd if=/etc/passwd of=/tmp/passwd.back

dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1---备份MBR分区表

dd if=/dev/hda1 of=/some/path/filename ---备份整个分区,后接的of必须不在hda1

分区内,否则,就读不完。

*dd用来备份整个分区或整个磁盘。不过,如果要将数据填回到文件系统中,可能需要考虑到原来的

文件系统才能成功。

3)cpio

cpio 命令很神奇最适合在备份的时候使用。由于cpio无法直接读取文件,而需要“每一个文件或目

录的路径连同文件名一起”才可以记录下来,因此cpio常和find一起使用。

cpio –covB > [file|device] <==备份

cpio –icduv < [file|device] <==还原

-o 将文件复制输出到文件或设备。

-i 将数据从文件或设备复制到系统中。

-t 查看cpio建立的文件或设备的内容

附件:http://down.51cto.com/data/2359734
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息