linux 命令集合

mac2022-06-30  18

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:   <noneLast 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.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"指 的是接收队列和发送队列。这些数字一般都应该是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 <src-dir>/ <dst-dirrsync -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 命令

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

最新回复(0)