Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10168543
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: LINUX

2013-11-27 15:19:16

linux 命令集合1
2012-01-10 09:53:19
标签:shell linux
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
linux 命令集合1
#请使用 Ctrl + F 键查找
 
#A
#B
#C
chmod + t
Set uid, gid,sticky bit的三个权限的详细说明 
如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户 
的密码. 
 
setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有 
和该目录所属的组相同的组.sticky bit: 该位可以理解为防删除位. 一个文件是否可以被>某用户删除, 主要取决于 
 
该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不 
能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则 
可以对文件使用sticky bit位. 设置该位后, 就算用户对目录 
 
chmod u+s temp — 为temp文件加上setuid标志. (setuid 只对文件有效)  
chmod g+s tempdir — 为tempdir目录加上setgid标志 (setgid 只对目录有效)  
chmod o+t temp — 为temp文件加上sticky标志 (sticky只对文件有效)  
  
设置完这些标志后, 可以用 ls -l 来查看. 如果有这些标志, 则会在原来的执行标志位置上显示. 如  
  
rwsrw-r– 表示有setuid标志  
rwxrwsrw- 表示有setgid标志  
rwxrw-rwt 表示有sticky标志  
  
chmod 4777  //是设sid  
chmod 2777  //是设置gid  
chmod 1777  //是设sticky  
  
0: 不设置特殊权限  
1: 只设置sticky  
2 : 只设置SGID  
3: 只设置SGID和sticky  
4 : 只设置SUID  
5 : 只设置SUID和sticky  
6 : 只设置SUID和SGID  
7 : 设置3种权限  
#D
date 命令
$ date -d '6 days ago' +'%F %T' 
2011-12-25 12:59:35 
$ date  +'%F %T' 
2011-12-31 12:59:41 
 
 -d, --date=STRING
              display time described by STRING, not ‘now’
 dd
用dd把iso镜像写到U盘
dd if=xx.iso of=/dev/sdb 
注意:sdb文件和分区会清空,请先备份文件。 
df "inode 与 block"
root@dn-laptop:~# df  
文件系统           1K-块      已用      可用 已用% 挂载点 
/dev/sda10            14513072   8232492   5543352  60% / 
none                   1987620       344   1987276   1% /dev 
none                   1992152      5252   1986900   1% /dev/shm 
none                   1992152       120   1992032   1% /var/run 
none                   1992152         0   1992152   0% /var/lock 
none                   1992152         0   1992152   0% /lib/init/rw 
/dev/sda1             52436128   7817028  44619100  15% /mnt/sys 
/dev/sda5            101410280  80687628  20722652  80% /mnt/zm 
/dev/sda6            101378148  15257952  86120196  16% /mnt/cy 
/dev/sda7             20472816  10377856  10094960  51% /mnt/isolinux 
/dev/sda11            19704500   8949012   9754528  48% /data 
/dev/sda8                94195     21950     67381  25% /boot 
/dev/sdb1              7804068   2806716   4997352  36% /media/live 
 
root@dn-laptop:~# df -ih 
文件系统            Inode (I)已用 (I)可用 (I)已用% 挂载点 
/dev/sda10              901K    156K    745K   18% / 
none                    486K     925    485K    1% /dev 
none                    487K       7    487K    1% /dev/shm 
none                    487K      61    487K    1% /var/run 
none                    487K       1    487K    1% /var/lock 
none                    487K       3    487K    1% /lib/init/rw 
/dev/sda1                43M     33K     43M    1% /mnt/sys 
/dev/sda5                20M     670     20M    1% /mnt/zm 
/dev/sda6                83M     25K     83M    1% /mnt/cy 
/dev/sda7                  0       0       0    -  /mnt/isolinux 
/dev/sda11              1.2M      23    1.2M    1% /data 
/dev/sda8                24K     206     24K    1% /boot 
/dev/sdb1                  0       0       0    -  /media/live 
 
root@dn-laptop:~# dumpe2fs -h /dev/sda11  
dumpe2fs 1.41.11 (14-Mar-2010) 
Filesystem volume name:    
Last mounted on:          /data 
Filesystem UUID:          661be7c6-c98f-49c7-b319-6a089c8c0ef3 
Filesystem magic number:  0xEF53 
Filesystem revision #:    1 (dynamic) 
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize 
Filesystem flags:         signed_directory_hash  
Default mount options:    (none) 
Filesystem state:         clean 
Errors behavior:          Continue 
Filesystem OS type:       Linux 
Inode count:              1253376 
Block count:              5004800 
Reserved block count:     250240 
Free blocks:              2688872 
Free inodes:              1253353 
First block:              0 
Block size:               4096 
Fragment size:            4096 
Reserved GDT blocks:      1022 
Blocks per group:         32768 
Fragments per group:      32768 
Inodes per group:         8192 
Inode blocks per group:   512 
Flex block group size:    16 
Filesystem created:       Wed Nov  9 02:42:52 2011 
Last mount time:          Sun Feb  5 12:09:29 2012 
Last write time:          Sun Feb  5 12:09:29 2012 
Mount count:              4 
Maximum mount count:      25 
Last checked:             Sun Jan 15 08:46:34 2012 
Check interval:           15552000 (6 months) 
Next check after:         Fri Jul 13 08:46:34 2012 
Lifetime writes:          13 GB 
Reserved blocks uid:      0 (user root) 
Reserved blocks gid:      0 (group root) 
First inode:              11 
Inode size:           256 
Required extra isize:     28 
Desired extra isize:      28 
Journal inode:            8 
Default directory hash:   half_md4 
Directory Hash Seed:      0f11af5d-2a04-4715-a393-9aa09db6f743 
Journal backup:           inode blocks 
Journal features:         journal_incompat_revoke 
日志大小:             128M 
Journal length:           32768 
Journal sequence:         0x00000f42 
Journal start:            0 
 
root@dn-laptop:~# ls -i tmp 
275362 1key_install_haproxy+keepalived.tgz 
278238 cluster 
275363 cluster_25.tar.gz 
275424 convert 
272480 convert_old 
 15501 Discuz_X1.5.1_SC_UTF8.zip 
418768 hadoop 
278250 libevent-2.0.16-stable.tar.gz 
278235 mem 
278251 memcache-2.2.6.tgz 
278249 memcached-1.4.10.tar.gz 
278295 memcached.tar.gz 
278415 webbench-1.5.tar.gz 
278448 yh 
 
root@dn-laptop:~# stat tmp 
  File: "tmp" 
  Size: 4096        Blocks: 8          IO Block: 4096   目录 
Device: 80ah/2058d  Inode: 272479      Links: 7 
Access: (0755/drwxr-xr-x)  Uid: ( 1000/      dn)   Gid: ( 1000/      dn) 
Access: 2012-02-05 14:24:31.595409520 +0800 
Modify: 2012-02-05 14:24:30.924790284 +0800 
Change: 2012-02-05 14:24:30.924790284 +0800 
 
#E
#F
find 命令
40分钟内更改过的文件
find -mmin -40 | grep php | xargs ls -l 
-rw-r--r-- 1 www www 106336 Nov 24 15:29 ./forumdisplay.php 
time 相关参数
 
?mtime n ?-n +n 
 
用减号(-n)?来限定更改时间在距今n日以内的文件,而用加号(+n)来限定更改时间在距今n日以前的文件.
注意:用加号+来限定更改时间在距今 (n+1) 日以前的文件.
 
-amin n 
查找系统中最后N分钟访问的文件 
-atime n 
查找系统中最后n*24小时访问的文件 
-cmin n 
查找系统中最后N分钟被改变文件状态的文件 
-ctime n 
查找系统中最后n*24小时被改变文件状态的文件 
-mmin n 
查找系统中最后N分钟被改变文件数据的文件 
-mtime n 
查找系统中最后n*24小时被改变文件数据的文件 
 找到并且打包!
find . -name '*expect*' | xargs tar czvf /root/expect.tar.gz 
./Server/expect-5.43.0-5.1.i386.rpm 
./Server/expect-5.43.0-5.1.x86_64.rpm 
./Server/expect-devel-5.43.0-5.1.i386.rpm 
./Server/expect-devel-5.43.0-5.1.x86_64.rpm 
./Server/expectk-5.43.0-5.1.x86_64.rpm 
./Server/pexpect-2.3-1.el5.noarch.rpm 
#找到5天以前的文件 
date +'%F %T' 
2013-01-11 10:59:28 
 
find /test/DB/serverx/var/ -name 'mysql-bin*0*' -ctime +5 
/test/DB/serverx/var/mysql-bin.000063 
 
ll /test/DB/serverx/var/mysql-bin.000063  
-rw-rw----. 1 mysql mysql 1073742035 Dec 25 10:04 /test/DB/serverx/var/mysql-bin.000063 
 
#找到5天以内的文件 
find /test/DB/serverx/var/ -name 'mysql-bin*0*' -ctime -5 
# fsck
功能说明:检查文件系统并尝试修复错误。 
 
语  法:fsck [-aANPrRsTV][-t <文件系统类型>][文件系统...] 
 
补充说明:当文件系统发生错误四化,可用fsck指令尝试加以修复。 
 
参  数: 
-a   自动修复文件系统,不询问任何问题。 
-A   依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。 
-N   不执行指令,仅列出实际执行会进行的动作。 
-P   当搭配"-A"参数使用时,则会同时检查所有的文件系统。 
-r   采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。 
-R   当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。 
-s   依序执行检查作业,而非同时执行。 
-t<文件系统类型>   指定要检查的文件系统类型。 
-T   执行fsck指令时,不显示标题信息。 
-V   显示指令执行过程。 
 
#G
#H
hdparm
功能:显示与设定硬盘的参数,hdparm可检测,显示与设定IDE或SCSI硬盘的参数。 
 -a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。 
  -A<0或1> 启动或关闭读取文件时的快取功能。 
  -c 设定IDE32位I/O模式。 
  -C 检测IDE硬盘的电源管理模式。 
  -d<0或1> 设定磁盘的DMA模式。 
  -f 将内存缓冲区的数据写入硬盘,并清除缓冲区。 
  -g 显示硬盘的磁轨,磁头,磁区等参数。 
  -h 显示帮助。 
  -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。 
  -I 直接读取硬盘所提供的硬件规格信息。 
  -k<0或1> 重设硬盘时,保留-dmu参数的设定。 
  -K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。 
  -m<磁区数> 设定硬盘多重分区存取的分区数。 
  -n<0或1> 忽略硬盘写入时所发生的错误。 
  -p 设定硬盘的PIO模式。 
  -P<磁区数> 设定硬盘内部快取的分区数。 
  -q 在执行后续的参数时,不在屏幕上显示任何信息。 
  -r<0或1> 设定硬盘的读写模式。 
  -S<时间> 设定硬盘进入省电模式前的等待时间。 
  -t 评估硬盘的读取效率。 
  -T 评估硬盘快取的读取效率。 
  -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。 
  -v 显示硬盘的相关设定。 
  -W<0或1> 设定硬盘的写入快取。 
  -X<传输模式> 设定硬盘的传输模式。 
  -y 使IDE硬盘进入省电模式。 
  -Y 使IDE硬盘进入睡眠模式。 
  -Z 关闭某些Seagate硬盘的自动省电功能。 
history 命令中显示时间戳
export HISTTIMEFORMAT="%F %T " 
history 
 
1008  2011-11-03 16:58:03 date 
1009  2011-11-03 16:58:07 date -s '20111104 16:58:01' 
1010  2011-11-04 16:58:03 history  
 
添加 export HISTTIMEFORMAT="%F %T " 到 
/etc/profile  中即可自动开启 history 时间戳了 
#I
iostat 察看磁盘io
$ iostat -d -k -x 2 
Linux 2.6.32-71.el6.x86_64 (localhost.localdomain)     01/09/2012     _x86_64_    (48 CPU) 
 
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 
sda               0.00    17.77    0.01   21.33     0.20   156.29    14.67     0.04    1.65   0.08   0.16 
 
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 
sda               0.00    59.00    0.00  107.50     0.00   666.00    12.39     0.02    0.17   0.02   0.25 
 
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util 
sda               0.00     5.50    0.00   35.50     0.00   164.00     9.24     0.00    0.01   0.01   0.05 
 
^C 
$ iostat -d -k  2 
Linux 2.6.32-71.el6.x86_64 (localhost.localdomain)     01/09/2012     _x86_64_    (48 CPU) 
 
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
sda              21.34         0.20       156.29     445596  349320689 
 
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
sda               0.00         0.00         0.00          0          0 
 
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
sda              16.50         0.00        70.00          0        140 
 
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn 
sda              81.50         0.00       392.00          0        784 
 
-k 参数
 
某些使用block为单位的列强制使用Kilobytes为单位
 
-d 参数 
 
tps:该设备每秒的传输次数(Indicate the number of transfers  per  second  that  were  issued  to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。 
kB_read/s:每秒从设备(drive expressed)读取的数据量; 
kB_wrtn/s:每秒向设备(driveexpressed)写入的数据量; 
kB_read:读取的总数据量; 
kB_wrtn:写入的总数量数据量;以上这些单位都为Kilobytes 。 
 
-x 参数 
rrqm/s:  每秒进行 merge 的读操作数目。即 delta(rmerge)/s 
wrqm/s:  每秒进行 merge 的写操作数目。即 delta(wmerge)/s 
r/s:     每秒完成的读 I/O 设备次数。即 delta(rio)/s 
w/s:     每秒完成的写 I/O 设备次数。即 delta(wio)/s 
rsec/s:  每秒读扇区数。即 delta(rsect)/s 
wsec/s:  每秒写扇区数。即 delta(wsect)/s 
rkB/s:   每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算) 
wkB/s:   每秒写K字节数。是 wsect/s 的一半。(需要计算) 
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio) 
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。 
await:    平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) 
svctm:    平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio) 
%util:    一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒) 
 
#J
#K
#L
#M
minicom 
1.minicom 的执行 
 
第一次 启动时: 
即输入 minicom提示 错误。则 需: minicom -s 
启动 
出现配置菜单:选serial port setup 
进入串口配置 
输入A配置串口驱动为/dev/ttyS0 
输入E配置速率为115200 8N1 
输入F将 Hardware Flow Control 设 为 NO 
回车 退出 
由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空. 设置完成后选择Save setup as dfl将当前设置保存为默认设置. 
在配置菜单 选Save setup as df1保存(一定要记得这一步) 
选Exit退出 
 
下次在输入minicon 即可直接进入。 
命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。 
说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。 
 
注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复 
#N
nc 命令
-h 帮助信息 
-i secs 延时的间隔 
-l 监听模式,用于入站连接 
-n 指定数字的IP地址,不能用hostname 
-o file 记录16进制的传输 
-p port 本地端口号 
-r 任意指定本地及远程端口 
-s addr 本地源地址 
-u UDP模式 
-v 详细输出——用两个 
-v可得到更详细的内容 
-w secs timeout的时间 
-z 将输入输出关掉——用于扫描时,其中端口号可以指定一个或者用lo-hi式的指定范围。 
//监控端口
nc -nz 192.168.57.91 443 && echo $? 

 
nc - arbitrary TCP and UDP connections and listens 
-n 这个参数只能识别IP地址,如果是域名则不给解析 
-z 这个参数only scan 
//扫描端口
$ nc -w 2 10.0.100.70 -z 22-999 
Connection to 10.0.100.70 22 port [tcp/ssh] succeeded! 
Connection to 10.0.100.70 80 port [tcp/http] succeeded! 
Connection to 10.0.100.70 111 port [tcp/sunrpc] succeeded! 
Connection to 10.0.100.70 822 port [tcp/*] succeeded! 
Connection to 10.0.100.70 910 port [tcp/*] succeeded! 
Connection to 10.0.100.70 941 port [tcp/*] succeeded! 
//主机之间拷贝文件
主机A监听端口
主机监听 1234端口,重定向数据到 rem.tar.gz 
dn@dn-Vostro-230:~$ nc -l 1234 > rem.tar.gz  
dn@dn-Vostro-230:~$ file rem.tar.gz  
rem.tar.gz: gzip compressed data, from Unix, last modified: Fri May 18 11:26:45 2012 
主机B传送文件
root@dn-ThinkPad-E420:~# nc 192.168.4.164 1234 < remmina.tar.gz
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 17 
ESTABLISHED 3254 
LAST_ACK 236 
FIN_WAIT_1 648 
FIN_WAIT_2 581 
CLOSING 7 
CLOSE_WAIT 4916 
 
解析: 
CLOSED //无连接是活动的或正在进行 
LISTEN //服务器在等待进入呼叫 
SYN_RECV //一个连接请求已经到达,等待确认 
SYN_SENT //应用已经开始,打开一个连接 
ESTABLISHED //正常数据传输状态/当前并发连接数 
FIN_WAIT1 //应用说它已经完成 
FIN_WAIT2 //另一边已同意释放 
ITMED_WAIT //等待所有分组死掉 
CLOSING //两边同时尝试关闭 
TIME_WAIT //另一边已初始化一个释放 
LAST_ACK //等待所有分组死掉  
netstat -s | grep timestamp
... packets rejects in established connections because of timestamp
//netstat 其他参数
  -e    显示以太网统计信息。此选项可以与 -s选项组合使用。
  -s   显示按协议统计信息。默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
//Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
执行netstat后,其输出结果为
.....


从整体上看,netstat的输出结果可以分为两个部分:
一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
常见参数


-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
#O
#P
parted 命令详细说明
check NUMBER                                检查文件系统 
cp [FROM-DEVICE]FROM-NUMBER TO-NUMBER      复制文件系统到另外一个分区 
help[COMMAND]                             显示全部帮助信息或者指定命令的帮助信息 
mklabel,mktable LABEL-TYPE                  在分区表中创建一个新的磁盘标签 
mkfs NUMBER FS-TYPE                         在分区上创建一个指定类型的文件系统 
mkpart PART-TYPE[FS-TYPE]START END          创建一个分区 
mkparts PART-TYPE[FS-TYPE]START END         创建一个分区,并在分区上创建指定的文件系统 
move NUMBER START END                       移动分区 
name NUMBER NAME                            以指定的名字命名分区号 
print [free|NUMBER|all]                     显示分区表、指定的分区或者所有设备 
quit                                        退出parted程序 
rescue START END                            修复丢失的分区 
resize NUMBER START END                     更改分区的大小 
rm NUMBER                                   删除分区 
select DEVICE                               选择需要更改的设备 
set NUMBER FLAG STATE                       更改分区的标记 
toggle [NUMBER[FLAG]]                       设置或取消分区的标记 
unit UNIT                                   设置默认单位 
version                                     显示parted的版本信息
 
//resize 更改分区大小
(parted) p 
 
Model: VMware Virtual disk (scsi) 
Disk /dev/sda: 107GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
 
Number  Start   End     Size    Type      File system  标志 
 1      32.3kB  107MB   107MB   主分区    ext3         启动 
 2      107MB   4401MB  4294MB  主分区    linux-swap        
 3      4401MB  21.5GB  17.1GB  主分区    ext3              
 4      21.5GB  107GB   85.9GB  扩展分区               lba  
 
(parted) rm                                                                
分区编号? 4                                                               
(parted) p                                                                 
 
Model: VMware Virtual disk (scsi) 
Disk /dev/sda: 107GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
 
Number  Start   End     Size    Type    File system  标志 
 1      32.3kB  107MB   107MB   主分区  ext3         启动 
 2      107MB   4401MB  4294MB  主分区  linux-swap        
 3      4401MB  21.5GB  17.1GB  主分区  ext3              
 
(parted) mkpart 
分区类型?  primary/主分区/extended/扩展分区? extended                     
起始点? 21.5GB                                                            
结束点? 100GB 
(parted) p 
 
Model: VMware Virtual disk (scsi) 
Disk /dev/sda: 107GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
 
Number  Start   End     Size    Type      File system  标志 
 1      32.3kB  107MB   107MB   主分区    ext3         启动 
 2      107MB   4401MB  4294MB  主分区    linux-swap        
 3      4401MB  21.5GB  17.1GB  主分区    ext3              
 4      21.5GB  100GB   78.5GB  扩展分区               lba  
 
(parted) resize 4 21.5GB 107GB                                             
(parted) p                                                                 
 
Model: VMware Virtual disk (scsi) 
Disk /dev/sda: 107GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
 
Number  Start   End     Size    Type      File system  标志 
 1      32.3kB  107MB   107MB   主分区    ext3         启动 
 2      107MB   4401MB  4294MB  主分区    linux-swap        
 3      4401MB  21.5GB  17.1GB  主分区    ext3              
 4      21.5GB  107GB   85.9GB  扩展分区               lba  
(parted) p                                                                 
.... 
 5      21.5GB  483GB   462GB   logical 
(parted) toggle 5 lvm  
(parted) p                                                                 
....
 5      21.5GB  483GB   462GB   logical                   lvm 
pidof
pidof -- find the process ID of a running program. 
 
pidof sshd 
1051 
#Q
#R
resize2fs
NAME 
       resize2fs - ext2/ext3/ext4 file system resizer 
 
SYNOPSIS 
       resize2fs  [  -fFpPM  ]  [ -d debug-flags ] [ -S RAID-stride ] device [ 
       size ] 
 
 
resize2fs计划将调整的ext2,ext3或ext4文件系统。 
它可用于放大或缩小位于挂载的文件系统设备。 
如果文件系统被安装,它可以用来扩大挂载文件系统的大小,假设内核支持上线调整。  
(Linux 2.6内核的支持上线调整为文件系统的安装使用ext3和ext4)。 
rsync 命令
rsync -av /root  /tmp/         #同步整个源目录(包括子目录,隐藏文件) 到 目的目录 
rsync -av /root/ /tmp/         #同步源目录下的所有文件(不包扩源目录本身) 到 目的目录
rsync -av /root/* /tmp/        #同步源目录下的所有文件(不包括源目录本身,隐藏文件) 到 目的目录
 
#rsync服务器 本地 
rsync -avz --progress test@xen::test/ /uu/test1/ 
 
#本地 rsync服务器 
rsync -avz --progress /data/yia_upload test@xen::test/       
 
#本地 本地 
rsync -av  --progress /  
rsync -av  --progress  /
 
--delete 参数删除多文件,注意 root 是系统账户,test 则是rsync配置的虚拟账户
rsync -avz --progress --delete root@xen:/data/test/ /mnt/isolinux/test/ 
--bwlimit 参数限制网络带宽 limit I/O bandwidth; KBytes per second
 
rsync -avzP rsync://192.168.57.71/iso/ 
 
 
rsync://
Rsync的命令格式可以为以下六种: 
  rsync [OPTION]… SRC DEST 
  rsync [OPTION]… SRC [USER@]HOST:DEST 
  rsync [OPTION]… [USER@]HOST:SRC DEST 
  rsync [OPTION]… [USER@]HOST::SRC DEST 
  rsync [OPTION]… SRC [USER@]HOST::DEST 
  rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST] 
--exclude=PATTERN       exclude files matching PATTERN 
--exclude=PATTERN 
              This  option  is  a  simplified form of the --filter option that 
              defaults to an exclude rule and does not allow  the  full  rule- 
              parsing syntax of normal filter rules. 
 
              See  the  FILTER  RULES section for detailed information on this 
              option. 
-f, --filter=RULE           add a file-filtering RULE 
-f, --filter=RULE 
              This option allows you to add rules to selectively exclude  cer- 
              tain  files  from  the  list of files to be transferred. This is 
              most useful in combination with a recursive transfer. 
 
              You may use as many --filter options on the command line as  you 
              like to build up the list of files to exclude. 
 
              See  the  FILTER  RULES section for detailed information on this 
              option. 
#S
sar  察看网卡流量
$ sar -V 
sysstat version 7.0.2 
$ sar -n DEV 2 0 
Linux 2.6.18-164.el5 (haproxy_space.yoka.com)     01/09/2012 
 
11:15:00 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s 
11:15:02 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
11:15:02 AM      eth0   2414.72   2253.30 474214.72 1541307.11      0.00      0.00      0.00 
11:15:02 AM      eth1   2789.85   2902.54 1576987.82 535732.49      0.00      0.00      0.00 
11:15:02 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 
11:15:02 AM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s 
11:15:04 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
11:15:04 AM      eth0   1967.50   1746.50 407060.50 1156965.00      0.00      0.00      0.00 
11:15:04 AM      eth1   2343.50   2363.50 1226763.00 458485.50      0.00      0.00      0.00 
11:15:04 AM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 
 
 
$ sar -V 
sysstat version 9.0.4 
$ sar -n DEV 2 | grep -E 'IFACE|eth1' 
10:43:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
10:43:02 AM      eth1    140.50    133.00     25.70     64.43      0.00      0.00      0.00 
10:43:02 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
10:43:04 AM      eth1    145.26    139.47     27.48     65.21      0.00      0.00      0.00 
10:43:04 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
10:43:06 AM      eth1     59.81     44.50      7.08     27.71      0.00      0.00      0.00 
10:43:06 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
10:43:08 AM      eth1    101.96     89.71     21.05     31.50      0.00      0.00      0.00 
10:43:08 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
10:43:10 AM      eth1    138.31    134.33     25.19     57.16      0.00      0.00      0.00 
10:43:10 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 
10:43:12 AM      eth1    132.49    134.01     24.64     74.04      0.00      0.00      0.00 
 
-n DEV | EDEV | SOCK | FULL 
 
DEV参数: 
 
Network devices 的统计信息被报告 
IFACE:设备名字 
rxpck/s:每秒收到的包(package) 
txpck/s:每秒传输的包 
rxbyt/s:每秒收到的字节 
txbyt/s:每秒传输的字节 
rxcmp/s:每秒收到的压缩包(如cslip..) 
txcmp/s: 
rxmcst/s: 每秒收到的广播包 
scp -P 参数
scp -P 90  rsync_tmp root@1.1.1.2:/root/ 
-P port  Specifies the port to connect to on the remote host  
# ssh 默认端口为22,如果更改了使用-P参数即可,这里可以发现一个规律!  
command(命令名称) option(选项) argument(参数)
          scp          -P 90        rsync_tmp root@1.1.1.2:/root/
sleep && usleep
usleep - 睡眠若干微秒   
总览 (SYNOPSIS) 
 
usleep [number]   
描述 (DESCRIPTION) 
 
usleep 睡眠 指定数目 的 微秒数. 缺省值 是 1.   
 
时间的单位换算 
1秒=1000毫秒(ms) 
1毫秒=1/1,000秒(s) 
1秒=1,000,000 微秒(μs)  
1微秒=1/1,000,000秒(s)  
1秒=1,000,000,000 纳秒(ns)  
1纳秒=1/1,000,000,000秒(s)  
1秒=1,000,000,000,000 皮秒(ps)  
1皮秒=1/1,000,000,000,000秒(s) 


ssh
选项 
 
-C (compression) 启用压缩功能。(在ssh的商业版本中,"-C"关闭压缩功能,而"+C"则开启压缩功能。) 
 
-f (not foreground) 在询问口令之后且在执行command之前,将ssh送到后台运行。如果希望在后台执行command但是又必须输入口令的话,这个选项就特别有用。该选项还暗含着-n选项。 
 
-L 将本地系统中的某个端口转发到远程系统。更多信息请参见8.6节。 
 
-l user (login)试图以user用户身份进行登录。 
 
-n (null)将ssh的标准输入重定向,从/dev/null获取输入。如果在后台运行ssh的话(-f选项),就需要这个选项。 
 
-o option (option)按照配置文件所用的格式来指定option(参见8.3.7节)。 
 
-p (port)指定要连接到的远程主机的端口。通过使用配置文件中的host声明(参见8.3.7节),可以为你所连接到的每个系统指定不同的端口。 
 
-R 将远程系统上的某个端口转发到本地客户端。更多信息请参见8.6节。 
 
-t (tty)为远程系统上的ssh进程分配一个伪tty(终端)。如果没有使用这个选项,当你在远程系统上运行某条命令的时候,ssh不会为该进程分配tty(终端)。相反,ssh将会把远端进程的标准输入和标准输出附加到ssh会话上去,这通常就是你所希望的(但并非总是如此)。这个选项将强制ssh在远端系统上分配tty,这样那些需要tty的程序就能够正常运行。 
 
-v (verbose)显示与连接和传送有关的调试信息。如果命令运行不太正常的话,这个选项就会非常有用。 
 
-X (X11)开启不可信X11转发。如果在配置文件中开启X11不可信转发的话,这个选项就没有必要。更多信息请参见8.6节的"X11转发"部分。 
 
-x (X11)关闭X11转发。 
 
-Y (X11trusted)开启可信X11转发。如果在配置文件中开启X11可信转发的话,这个选项就没有必要。更多信息请参见8.6节的"X11转发"部分。 
ssh 执行远程命令
执行远程命令 如果包含了command参数,ssh就会登录到host,执行command,关闭与host的连接,
然后将控制返回到本地系统。远程系统不曾显示提示符。
 
$ ssh bbs2 'cat /etc/hosts' | diff - /etc/hosts
 
在运行ssh时,这条命令(在远程系统上运行)的标准输出将会传送到本地shell,就像是这条命令在本地系统中运行一样。
跟所有shell命令一样,如果不希望本地系统解释某些特殊字符,就必须将这些特殊字符用引号引起来。在上一个示例中,
bbs2上cat命令的输出通过上的一个管道发送到diff,diff拿本地文件/etc/hosts与
标准输入(-)进行比较。下面的命令行具有同样的效果,但是会让diff在远程系统上执行:
 
$ cat /etc/hosts | ssh bbs2 'diff - /etc/hosts'
远程系统上diff的标准输出被发送到本地shell,然后显示在屏幕上(因为没有进行重定向)。 
strace 命令
strace使用参数
-p 跟踪指定的进程 
-f 跟踪由fork子进程系统调用 
-F 尝试跟踪vfork子进程系统调吸入,与-f同时出现时, vfork不被跟踪 
-o filename 默认strace将结果输出到stdout。通过-o可以将输出写入到filename文件中 
-ff 常与-o选项一起使用,不同进程(子进程)产生的系统调用输出到filename.PID文件 
-r 打印每一个系统调用的相对时间 
-t 在输出中的每一行前加上时间信息。 -tt 时间确定到微秒级。还可以使用-ttt打印相对时间 
-v 输出所有系统调用。默认情况下,一些频繁调用的系统调用不会输出 
-s 指定每一行输出字符串的长度,默认是32。文件名一直全部输出 
-c 统计每种系统调用所执行的时间,调用次数,出错次数。 
-e expr 输出过滤器,通过表达式,可以过滤出掉你不想要输出
$ strace -c -p 30809 
Process 30809 attached - interrupt to quit 
Process 30809 detached 
% time     seconds  usecs/call     calls    errors syscall 
------ ----------- ----------- --------- --------- ---------------- 
 28.27    0.019333           1     25372           close 
  9.57    0.006546           1     12686           writev 
  9.21    0.006297           0     12686           accept 
  8.70    0.005951           0     12686           write 
  7.12    0.004868           0     12686           open 
  6.96    0.004756           0     12825           epoll_wait 
  6.19    0.004231           0     12635           stat 
  4.97    0.003398           0     12686           recvfrom 
  4.52    0.003092           0     12686           fstat 
  4.03    0.002755           0     12605           setsockopt 
  4.01    0.002741           0     12704           epoll_ctl 
  3.28    0.002241           0     12605           sendfile 
  3.17    0.002171           0     12686           ioctl 
------ ----------- ----------- --------- --------- ---------------- 
100.00    0.068380                177548           total 
 
#T
tar
Removing leading '/' from members names 
tar  
-P, --absolute-names 
              don’t strip leading ‘/’s from file names 
 -C, --directory=DIR 
              change to directory DIR 
 例如:tar包压缩时相对路径问题
tar czfP mysql.tar.gz -C /usr/local/mysql/var/ mysql  
tar czfP /data/20130216/2013-02-16-wd.tar.gz -C /var/www/html/ wd 
#注意中间的空格 -C是临时切换工作目录,-P是绝对路径.


tr 命令从标准输入删除或替换字符,并将结果写入标准输出。根据由 String1 和 String2 变量指定的字符串以及指定的标志,tr 命令可执行三种操作。
$ cat tt 


c  
$ cat tt | tr '\n' ' ' 
a b c  [~]$ 
echo 'FLUSH TABLES WITH READ LOCK' | tr '[A-Z]' '[a-z]' 
flush tables with read lock 
#U
unzip
功能说明:解压缩zip文件 
语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>][.zip文件][文件][-d <目录>][-x <文件>] 或 unzip [-Z] 
补充说明:unzip为.zip压缩文件的解压缩程序。 
参  数: 
  -c   将解压缩的结果显示到屏幕上,并对字符做适当的转换。 
  -f   更新现有的文件。 
  -l   显示压缩文件内所包含的文件。 
  -p   与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。 
  -t   检查压缩文件是否正确。 
  -u   与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。 
  -v   执行是时显示详细的信息。 
  -z   仅显示压缩文件的备注文字。 
  -a   对文本文件进行必要的字符转换。 
  -b   不要对文本文件进行字符转换。  
  -C   压缩文件中的文件名称区分大小写。 
  -j   不处理压缩文件中原有的目录路径。 
  -L   将压缩文件中的全部文件名改为小写。 
  -M   将输出结果送到more程序处理。 
  -n   解压缩时不要覆盖原有的文件。 
  -o   不必先询问用户,unzip执行后覆盖原有文件。 
  -P<密码>   使用zip的密码选项。 
  -q   执行时不显示任何信息。 
  -s   将文件名中的空白字符转换为底线字符。 
  -V   保留VMS的文件版本信息。 
  -X   解压缩时同时回存文件原来的UID/GID。 
  [.zip文件]   指定.zip压缩文件。 
  [文件]   指定要处理.zip压缩文件中的哪些文件。 
  -d<目录>   指定文件解压缩后所要存储的目录。 
  -x<文件>   指定不要处理.zip压缩文件中的哪些文件。 
  -Z   unzip -Z等于执行zipinfo指令 
#V
#W
#wget 命令
//-S | --server-response
//Print the headers sent by HTTP servers and responses sent by FTP servers.
 wget -S http://blog.test.com/wp-content/uploads/2012/07/u12-1.png 
--2012-07-23 13:48:30--  http://blog.test.com/wp-content/uploads/2012/07/u12-1.png 
Resolving blog.test.com (blog.test.com)... 192.168.57.82 
Connecting to blog.test.com (blog.test.com)|192.168.57.82|:80... connected. 
HTTP request sent, awaiting response...  
  HTTP/1.0 200 OK 
  Server: nginx 
  Date: Mon, 23 Jul 2012 02:50:52 GMT 
  Content-Type: image/png 
  Content-Length: 26191 
  Last-Modified: Mon, 23 Jul 2012 02:49:44 GMT 
  Expires: Sun, 19 May 2013 02:50:52 GMT 
  Cache-Control: max-age=25920000 
  Accept-Ranges: bytes 
  Age: 10644 
  X-Cache: HIT from cache02.test.com 
  X-Cache: MISS from cache01.test.com 
  Via: 1.1 cache02.test.com:80 (squid/2.7.STABLE9), 1.0 cache01.test.com:80 (squid/2.7.STABLE9) 
Length: 26191 (26K) [image/png] 
Saving to: `u12-1.png.1' 
 --no-check-certificate 以不安全的方式连接
wget
--2011-10-13 11:37:24--  
正在连接 192.168.7.81:1443... 已连接。 
错误: 无法验证 192.168.7.81 的由 “/O=VMware Installer” 颁发的证书: 
  无法本地校验颁发者的权限。 
错误: 证书通用名 “VMware default certificate” 与所要求的主机名 “192.168.7.81” 不符。 
要以不安全的方式连接至 192.168.7.81,使用‘--no-check-certificate’。 
 
wget --no-check-certificate
--2011-10-13 11:38:01--  
正在连接 192.168.57.81:1443... 已连接。 
警告: 无法验证 192.168.57.81 的由 “/O=VMware Installer” 颁发的证书: 
  无法本地校验颁发者的权限。 
警告: 证书通用名 “VMware default certificate” 与所要求的主机名 “192.168.7.81” 不符。 
已发出 HTTP 请求,正在等待回应... 200 OK 
长度: 26534072 (25M) [application/octet-stream] 
正在保存至: “VMware-Converter-Client.exe” 
 
100%[======================================>] 26,534,072  11.0M/s   in 2.3s     
 
2011-10-13 11:38:03 (11.0 MB/s) - 已保存 “VMware-Converter-Client.exe” [26534072/26534072]) 
#X
#Y
#Z
 
本文出自 “dongnan” 博客,转载请与作者联系!
阅读(1385) | 评论(0) | 转发(0) |
0

上一篇:正则表达式

下一篇:shell-脚本集合2(monitor)

给主人留下些什么吧!~~