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: <none> 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<I/O模式> 设定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模式> 设定硬盘的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 $? 0 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.gznetstat -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"指 的是接收队列和发送队列。这些数字一般都应该是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 lvmpidof
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 <src-dir>/ <dst-dir> rsync -av --progress <src-dir> <dst-dir>/ --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 命令
-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 a b 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 https://192.168.7.81:1443/converter/VMware-Converter-Client.exe --2011-10-13 11:37:24-- https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 正在连接 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 https://192.168.57.81:1443/converter/VMware-Converter-Client.exe --2011-10-13 11:38:01-- https://192.168.7.81:1443/converter/VMware-Converter-Client.exe 正在连接 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
转载于:https://www.cnblogs.com/CHEUNGKAMING/p/4383044.html