find
1
2
3
4
5
6
7
8
|
find . -size +100M -exec du -sh {} \; #查找当前目录下大于100M的文件
find . -maxdepth 2 -name 201507* -exec rm -rf {} \; #清理备份命令
find / -type f -name "test.txt" | xargs rm -f #查找并删除
find / -type f -name "test.txt" -exec rm -rf {} \; #查找并删除
find / -type f -name "*.log" -mtime +5|xargs rm -f #删除五天前的log文件 -type d 查找文件夹 -type f 查找文件
find / -type f -name 'test.txt' | xargs sed -i s#test#newtest#g 查找内容并替换
find / -type f -name '*.txt' | xargs cat 批量查看
find /mds -xdev -printf '%h\n' |sort|uniq -c|sort -k 1 -n # 查看Linux目录的inode数量
|
ls
1
|
ls -l --time-style=long-iso # 显示成年月日格式
|
cut
1
2
3
4
5
6
7
|
-d :后面跟分隔字符,分隔字符要用单引号括起来
-c :后面接的是第几个字符
-f :后面接的是第几个区块
cut -d ':' -f 2 /etc/passwd
cut -d ':' -f 1-3 /etc/passwd
cut -d ':' -f 1,3 /etc/passwd
cut -c 2-5 /etc/passwd
|
sort
1
2
3
4
5
6
7
8
9
|
-t 分隔符 :作用跟cut的-d一个意思
-n :使用纯数字排序
-r :反向排序
-u :去重复
-kn1,n2 :由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
sort -t ':' -k3 /etc/passwd
sort -t ':' -k3 -n /etc/passwd |cut -d ':' -f 3
cut -d ':' -f 3 /etc/passwd | sort -n 常用
cut -d ':' -f 3 1.txt | sort -nr|uniq -c
|
awk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
以冒号为分隔符取出IP
ifconfig eth0 | awk -F: '/inet addr/ {print $2}'| awk '{print $1}'
以一个或者多个空格和单个冒号作为分隔符取出ip
ifconfig eth0 | grep 'inet addr'|awk -F ' +|:' '{print $4}'
以一个或者多个空格和一个或者多个空格冒号作为分隔符取出ip
ifconfig eth0 | grep 'inet addr'|awk -F '[ :]+' '{print $4}'
过滤出404URL
cat access.log |awk '$9~/404/'
过滤出IP和url
grep -Ev '(HTTP|GET)' access.log|awk '{print $1,$7}' access.log|sort | uniq -c |sort -n -k 1 -r
|
压缩解压
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
tar打包当前目录到tarname.tar
tar cvf tarname.tar ./*.* #tar zcvf tarname.tar.gz ./*.*
tar解压到当前目录
tar xvf tarname.tar #tar zxvf tarname.tar
zip压缩
zip -r data.zip data
zip解压
unzip data.zip -d databak
rar解压
rar -x data.rar
|
nslookup
1
2
3
4
|
cmd-->nslookup -qt=mx mulinux.com #查看域名mx记录
cmd-->nslookup-->set q=mx-->mulinux.com #查看域名的mx记录
cmd-->nslookup-->set q=any-->mulinux.com #查看mulinux.com的解析服务情况
nslookup -qa=ptr (ip) #检测反向解析
|
tracert
1
2
|
windows:tracert -d mulinux.com
linux:traceroute -d www.baidu.com
|
DD
整盘数据备份与恢复
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
备份:
dd if=/dev/hdx of=/dev/hdy
将本地的/dev/hdx整盘备份到/dev/hdy
dd if=/dev/hdx of=/path/to/image
将/dev/hdx全盘数据备份到指定路径的image文件
dd if=/dev/hdx | gzip >/path/to/image.gz
备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径
恢复:
dd if=/path/to/image of=/dev/hdx
将备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/hdx
将压缩的备份文件恢复到指定盘
|
利用netcat远程备份
1
2
3
4
5
6
7
8
9
|
dd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234
在源主机上执行此命令备份/dev/hda
netcat -l -p 1234 | dd of=/dev/hdc bs=16065b
在目的主机上执行此命令来接收数据并写入/dev/hdc
netcat -l -p 1234 | bzip2 > partition.img
netcat -l -p 1234 | gzip > partition.img
以上两条指令是目的主机指令的变化分别采用bzip2 gzip对数据进行压缩,并将备份文件保存在当前目录。
|
备份MBR
1
2
3
4
5
6
7
|
备份:
dd if=/dev/hdx of=/path/to/image count=1 bs=512
备份磁盘开始的512Byte大小的MBR信息到指定文件
恢复:
dd if=/path/to/image of=/dev/hdx
将备份的MBR信息写到磁盘开始部分
|
备份软盘
1
2
|
dd if=/dev/fd0 of=disk.img count=1 bs=1440k
将软驱数据备份到当前目录的disk.img文件
|
拷贝内存资料到硬盘
1
2
|
dd if=/dev/mem of=/root/mem.bin bs=1024
将内存里的数据拷贝到root目录下的mem.bin文件
|
从光盘拷贝iso镜像
1
2
|
dd if=/dev/cdrom of=/root/cd.iso
拷贝光盘数据到root文件夹下,并保存为cd.iso文件
|
增加Swap分区文件大小
1
2
3
4
5
6
7
8
9
10
11
|
dd if=/dev/zero of=/swapfile bs=1024 count=262144
创建一个足够大的文件(此处为256M)
mkswap /swapfile
把这个文件变成swap文件
swapon /swapfile
启用这个swap文件
/swapfile swap swap defaults 0 0
在每次开机的时候自动加载swap文件,需要在 /etc/fstab文件中增加一行
|
销毁磁盘数据
1
2
|
dd if=/dev/urandom of=/dev/hda1
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作无法执行。
|
得到最恰当的block size
1
2
3
4
5
|
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小
|
测试硬盘读写速度
1
2
3
|
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度
|
修复硬盘
1
2
|
dd if=/dev/sda of=/dev/sda
当硬盘较长时间(比如1,2年)放置不使用后,磁盘上会产生magnetic flux point。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
|
测试硬盘读写
1
2
3
4
5
6
7
|
dd if=/dev/zero of=test.dbf bs=8k count=200000 conv=fdatasync
参考文档:http://elf8848.iteye.com/blog/2089055
测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件。
测试指令:dd if=/dev/zero of=/data01/test.dbf bs=8k count=200000 conv=fdatasync
|
正确的使用dd进行磁盘读写速度测试
dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,所以可以用来测试硬盘的顺序读写能力。可以写文件,可以写裸设备。