linux如何删除某个时间之前的过期文件,在一个文件夹内部的
发布时间:2025-05-12 05:21:56 发布人:远客网络
一、linux如何删除某个时间之前的过期文件,在一个文件夹内部的
find命令可以完成这一需求,比如删除3天前的所有以“.log”结尾的文件:
find/文件路径-name"*.log"-mtime+2-exec rm{} \;
1.文件路径是目标文件所在路径;
2.-name设定目标文件名,建议采用,否则可能误删其他文件;
3.-ctime文件最后一次修改时间,后面只能用整数,单位为天,同时,还有atime,mtime,amin,cmin,mmin等时间参数可选,具体请查看帮助;
4.时间说明如下图(随手画的,大概是这个意思),所以删除三天前的文件要用+2
5.-exec表示需要执行的命令,{}代表find找到的内容,"\;"是固定写法表示结束-exec,
所以例子的"-exec rm{} \;"就表示对find找到的符合条件的文件执行删除操作
二、如何在 Linux 中安全擦除删除的文件内容
1、/etc/passwd中包含有用户的登录名、经过加密的口令、用户号、用户组号、用户注释、用户主目录和用户所用的Shell程序。其中,用户号(UID)和用户组号(GID)用于Linux系统惟一标识用户和同组用户,以及用户的访问权限。一个好的口令应当至少有6个字符,最好不要取用个人信息(如生日、名字、反向拼写的登录名),普通的英语单词也不好(因为用字典攻击法容易破解)。口令最好含有一些非字母字符(如数字、标点符号、控制字符等),并且要好记,不能写在纸上或计算机中的文件里。选择口令的一个好方法是将两个不相关的词用一个数字或控制字符相连,并截断为8个字符。当然,如果你能记住8位乱码自然更好。不应在不同机器中使用同一个口令,特别是在不同级别的用户上使用同一口令。不要将口令于终端功能键或Modem的字符串器中。用户应定期改变口令,推荐3个月改变一次。系统管理员可以强制用户定期修改口令。为防止眼明手快的人得到口令,在输入口令时应确认身边无人。
2、1.不要让文件或目录被他人读写。
3、如果不信任本组用户,umask设置为022。确保自己的.profile他人不可读写;暂存目录最好不要存放重要文件;home目录任何人不可写; uucp传输的文件应该加密,并尽快转移到自己的目录中。
4、2.若不想要其他用户读文件或目录,就要使其不允许任何人读。
5、umask设置为006/007。若不允许同组用户存取自己的文件和目录,umask设置为077;暂存文件按当前umask设置。存放重要数据到暂存文件的程序,就被写成能确保暂存文件其他用户不可读。这样,就可确保别的用户不可读home目录。
6、拷贝和移动文件的安全用cp命令拷贝文件时,若目的文件不存在,则将同时拷贝源文件的存取许可,包括Suid和Sgid许可。新拷贝的文件属拷贝用户所有,故拷贝别人的文件时应小心,不要被其他用户的Suid程序破坏文件安全。
7、用mv命令移动文件时,新移的文件存取许可与原文件相同,mv仅改变文件名。只要用户有目录的写和搜索许可,就可移走该目录中某人的Suid程序,且不改变存取许可。若目录许可设置不正确,则用户的Suid程序可能被移到不能修改和删除的目录中,从而出现安全漏洞。
8、cpio命令用于将目录结构拷贝到一个普通文件中,然后再用cpio命令将该普通文件转成目录结构。小心使用该命令,因为它能覆盖不在当前目录结构中的文件,用t选项可首先列出要被拷贝的文件。
9、不要离开登录的终端这个问题看起来简单,但却是最容易忽视的问题,哪怕只是几分钟的疏忽,也会给系统造成危害。
10、文件加密的安全crypt命令可提供给用户加密文件。它使用一个关键词将标准输入的信息编码变为不可读的杂乱字符串,送到标准输出设备。再次使用该命令,用同一关键词作用于加密后的文件,可恢复文件内容。
11、一般来说,文件加密后应删除原始文件,只留下加密后的版本,且不能忘记加密关键词。vi命令一般都有加密功能,用vi-x命令可编辑加密后的文件。加密关键词的选取规则与口令的选取规则相同。
12、由于crypt程序可能被做成特洛伊木马,故不宜用口令做为关键词。最好在加密前用pack或compress命令对文件进行压缩,然后再加密。
13、CU的问题CU命令能使用户从一个Linux系统登录到另一个Linux系统。此时,在远地系统还必须输入“~”后回车,以断开CU和远地系统的连接。
14、CU也有安全问题。如果本机安全性弱于远地机,不提倡用CU去登录远地机,以免由于本地机不安全而影响较安全的远地机。由于CU的老版本处理“~”的方法不完善,从安全性强的系统调用,会使安全性弱的系统的用户使用强系统用户的CU,传送强系统的/etc/passwd文件。
15、暂存文件和目录的安全Linux系统中暂存目录为/tmp和/usr/tmp,如果用这些目录存放暂存文件,别的用户可能会破坏这些文件。使用暂存文件最好将文件屏蔽值定义为007。保险的方法是建立自己的暂存文件和目录$Home/Mp,不要将重要文件存放于公共的暂存目录。
16、UUCP文件传输和网络安全UUCP命令用于将文件从一个Linux系统传送到另一个Linux系统。通过UUCP传送的文件,通常存于/usr/spool/uucppublic/login目录中,Login是用户的登录名,该目录存取许可为777。通过网络传输并存放于此目录的文件属于UUCP所有,文件存取许可为666和777。用户应当将通过UUCP传送的文件加密,并尽快移到自己的目录中。其它网络将文件传送到用户home目录下的RJC目录中。该目录对其他人是可写、可搜索的,但不一定是可读的,因而用户的RJC目录的存取许可方式应为733,允许程序在其中建立文件。同样,传送的文件也应加密并尽快移到自己的目录中。
17、Suid/Sgid的安全尽量不写Suid/Sgid程序。in为现有文件建立一个链,即建立一个引用同一文件的新名字。如目的文件已经存在,则该文件被删除而代之以新的链;或存在的目的文件不允许用户写,则请求用户确认是否删除该文件,因为只允许在同一文件系统内建链。若要删除一个Suid文件,就要确认文件的链接数,只有一个链才能确保该文件被删除。若Suid文件已有多个链,一种方法是改变其存取许可方式,这将同时修改所有链的存取许可;也可以Chmod000文件名,这不仅取消了文件的Suid和Sgid许可,同时也取消了文件的全部链。要想找到谁与自己Suid程序建立了链,不要立刻删除该程序,系统管理员可用Ncheck命令找到该程序的其他链。
18、智能终端的安全由于智能终端有Send Enter换码序列,因此告诉终端当前系统就像是用户敲入的一样。这是一种危险的能力,其他人可用Write命令发送信息给本用户终端。禁止其他用户发送信息的方法是使用Mesgn命令。Mesgn不允许其他用户发信息,Mesgy允许其他用户发信息。即使如此仍有换码序列的问题存在,任何一个用户用Mail命令发送同样一组换码序列,不同的要用!rm-r*替换rm-r*。
19、其他安全问题除了信任的用户外,不要运行其他用户的程序。在自己的Path中,将系统目录放在前面。用Ctrl+D或Exit退出后,在断开与系统的连接前看到login:提示后再离开,以免在用户没注销时他人进入。定时使用ls-a.命令列出当前目录中的全部文件,包括以“.”开头的文件,查看所有文件的存取许可方式和所有者。任何不属于自己的文件都应怀疑和追究。
20、以上这些是我作为Linux系统管理员对保持用户账户安全的一些建议。更重要的是要建立安全意识,了解用户。系统管理员越熟悉自己的用户和用户工作习惯源码天空
21、,就越能快速发现不寻常的事件,而不寻常的事件就意味着系统安全问题。避免用户账户不安全事故的最基本方法是预防和定期的安全检查,包括使用嗅探器。
三、linux下scp远程拷贝包含空格的目录或者文件的解决方法
今天遇到个白痴问题,用了linux这么久了,竟然还出现如此低级的错误。
今天需要远程拷贝一些文件到电脑上,ubuntu的。远程电脑是debian的。
文件和目录包含大量的空格,采用scp拷贝,例:
scp-r root@192.168.0.51:/home/xxj/Documents/files/xx xx jj.tar.gz./
最开始就意识到了是空格问题,就采用了文件空格前加“/”,死活不行,
scp-r root@192.168.0.51:/home/xxj/Documents/files/xx/ xx/ jj.tar.gz./
然后又使用引号,单引号,双引号都用了,还是不行。
scp-r root@192.168.0.51:'/home/xxj/Documents/files/xx xx jj.tar.gz'./
scp-r root@192.168.0.51:"/home/xxj/Documents/files/xx xx jj.tar.gz"./
最后同时在空格前加斜杠,整个文件目录加引号才行
scp-r root@192.168.0.51:"/home/xxj/Documents/files/xx/ xx/ jj.tar.gz"./
linux下带空格文件批量cp和scp补充:
背景:主备机同步文件失败,现在需要人工手动的在备机上补齐文件,但是发现文件名竟然有空格
主机的IP:192.168.0.90主机文件清单名称:src_file.txt,备机文件清单名称:dst_file.txt,
从下面可以知道,主备机的文件路径和文件的名称是不一样的,同步的时候,从src_file.txt copy到dst_file.txt需要一一对应,另备机上的目录并不能保证都存在,所以需要先把备机上的目录结构先创建出来
[root@station90 file]# cat src_file.txt
/home/src/10329/g0197/k/19xiazai h264.3gp
/home/src/10327/g0194/10ng h264 xiazai.3gp
/home/src/10329/g0196/lh/10xiazai h263.3gp
/home/src/101117/060/090/1011.3gp
/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp
[root@station90 file]# cat dst_file.txt
/home/dst/1038/g07/k/3/10290upload h264.3gp
/home/dst/10327/g04/10ng h264 upload.3gp
/home/dst/1038/g06/lhppww/10upload h263.3gp
/home/dst/101117/06g090/1011.3gp
/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp
从dst_file.txt(备机文件)可以知道,目录的级别不是一样的,也就是说第一行为6级目录,第二行却为4级目录,如何取出目录结构,先创建出目录结构呢?执行如下命令即可:
[root@station90 file]# awk-F'/''{for(i=1;iNF;i++){printf$i"/"}printf"/n"}' dst_file.txt//注意iNF,即不需要循环到最后一列,printf$i是不打印回车的,一行循环完毕后,printf"/n"会打印回车,这样的结果刚好是我们需要的
[root@station90 file]# awk'{print$1}' dst_file.txt| awk-F'/''{print substr($0,1,(length($0)-length($NF)))}'/tmp/dst_dir.txt
//根据dst_file.txt的特点,先执行awk'{print$1}' dst_file.txt以空格作为分隔符,取出第一列,这样取出的就没有空格,$0为文本里面包含的所有内容,再通过截取字符串的方式,substr($0(去除空格的文本本身),1(从第一个字符开始),(length($0)-length($NF))所有字符的长度减去最后一列的字符长度,就等于我们需要的字符长度,也就是从1,我们需要的字符长度,结果就是我们需要的了
[root@station90 file]# cat/tmp/dst_dir.txt
[root@station90 file]# mkdir-p$(cat/tmp/dst_dir.txt)
[root@station90 file]# ls-ld$(cat/tmp/dst_dir.txt)/目录结构已经创建出来了
drwxr-xr-x 2 root root 4096 11-10 17:37/home/dst/101117/06g090/
drwxr-xr-x 2 root root 4096 11-10 17:37/home/dst/10327/g04/
drwxr-xr-x 2 root root 4096 11-10 17:37/home/dst/1038/g06/lhppww/
drwxr-xr-x 2 root root 4096 11-10 17:37/home/dst/1038/g07/k/3/
drwxr-xr-x 2 root root 4096 11-10 17:37/home/dst/1052g056/0590/33/
part1:单纯的从本机copy到本机的其他目录,会比较简单,如下所示:
[root@station90 file]# sed-i-e"s/^/cp/"/g"-e"s/$//"/g" src_file.txt//在文本中的开头和结尾添加双引号
[root@station90 file]# cat src_file.txt
cp"/home/src/10329/g0197/k/19xiazai h264.3gp"
cp"/home/src/10327/g0194/10ng h264 xiazai.3gp"
cp"/home/src/10329/g0196/lh/10xiazai h263.3gp"
cp"/home/src/101117/060/090/1011.3gp"
cp"/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp"
[root@station90 file]# sed-i-e"s/^//"/g"-e"s/$//"/g" dst_file.txt//在文本中的开头和结尾添加双引号
[root@station90 file]# cat dst_file.txt
"/home/dst/1038/g07/k/3/10290upload h264.3gp"
"/home/dst/10327/g04/10ng h264 upload.3gp"
"/home/dst/1038/g06/lhppww/10upload h263.3gp"
"/home/dst/101117/06g090/1011.3gp"
"/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]#paste-d'' src_file.txt dst_file.txt cp.sh//src_file.txt和dst_file.txt文本以空格作为分隔符合成一个文件
[root@station90 file]#cat cp.sh
cp"/home/src/10329/g0197/k/19xiazai h264.3gp""/home/dst/1038/g07/k/3/10290upload h264.3gp"
cp"/home/src/10327/g0194/10ng h264 xiazai.3gp""/home/dst/10327/g04/10ng h264 upload.3gp"
cp"/home/src/10329/g0196/lh/10xiazai h263.3gp""/home/dst/1038/g06/lhppww/10upload h263.3gp"
cp"/home/src/101117/060/090/1011.3gp""/home/dst/101117/06g090/1011.3gp"
cp"/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp""/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# sed-i"1,1s/^//#/!//bin//bash/n/g" cp.sh//在脚本中添加#!/bin/bash
[root@station90 file]# cat cp.sh
cp"/home/src/10329/g0197/k/19xiazai h264.3gp""/home/dst/1038/g07/k/3/10290upload h264.3gp"
cp"/home/src/10327/g0194/10ng h264 xiazai.3gp""/home/dst/10327/g04/10ng h264 upload.3gp"
cp"/home/src/10329/g0196/lh/10xiazai h263.3gp""/home/dst/1038/g06/lhppww/10upload h263.3gp"
cp"/home/src/101117/060/090/1011.3gp""/home/dst/101117/06g090/1011.3gp"
cp"/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp""/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# chmod+x cp.sh
[root@station90 file]# ls-l"/home/dst/1038/g07/k/3/10290upload h264.3gp"//执行cp.sh脚本前,文件是不存在的
ls:/home/dst/1038/g07/k/3/10290upload h264.3gp:没有那个文件或目录
[root@station90 file]# ls-l"/home/dst/1038/g07/k/3/10290upload h264.3gp"//ok,copy成功
-rw-r--r-- 1 root root 0 11-10 17:44/home/dst/1038/g07/k/3/10290upload h264.3gp
part2从远成主机scp文件过来,先举例一错误的例子,正确的总是慢慢的总结出来的
执行rm.sh,删除刚才copy过来的文件
[root@station90 file]# cat rm.sh
rm-f"/home/dst/1038/g07/k/3/10290upload h264.3gp"
rm-f"/home/dst/10327/g04/10ng h264 upload.3gp"
rm-f"/home/dst/1038/g06/lhppww/10upload h263.3gp"
rm-f"/home/dst/101117/06g090/1011.3gp"
rm-f"/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# sed-i-e"s/^/scp/ root/@192/.168/.0/.90/:/"/g"-e"s/$//"/g" src_file.txt
//在src_file.txt文件的开头和结尾添加双引号,同时添加root@192.168.0.90:,最终如下所示
[root@station90 file]# cat src_file.txt
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazaih264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ngh264 xiazai.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazaih263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_040_0_3.3gp"
[root@station90 file]# sed-i-e"s/^//"/g"-e"s/$//"/g" dst_file.txt//在文本中的开头和结尾添加双引号
[root@station90 file]# cat dst_file.txt
"/home/dst/1038/g07/k/3/10290upload h264.3gp"
"/home/dst/10327/g04/10ng h264 upload.3gp"
"/home/dst/1038/g06/lhppww/10upload h263.3gp"
"/home/dst/101117/06g090/1011.3gp"
"/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# paste-d'' src_file.txt dst_file.txt scp.sh//合成shell脚本步骤一
[root@station90 file]# cat scp.sh
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazaih264.3gp""/home/dst/1038/g07/k/3/10290upload h264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ngh264 xiazai.3gp""/home/dst/10327/g04/10ng h264 upload.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazaih263.3gp""/home/dst/1038/g06/lhppww/10upload h263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp""/home/dst/101117/06g090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_040_0_3.3gp""/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# sed-i"1,1s/^//#/!//bin//bash/n/g" scp.sh//合成shell脚本步骤二
[root@station90 file]# cat scp.sh//看过去没有问题是吧,借鉴上面的part1部分cp得到scp嘛,其实是有问题的
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazaih264.3gp""/home/dst/1038/g07/k/3/10290upload h264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ngh264 xiazai.3gp""/home/dst/10327/g04/10ng h264 upload.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazaih263.3gp""/home/dst/1038/g06/lhppww/10upload h263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp""/home/dst/101117/06g090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_040_0_3.3gp""/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# chmod+x scp.sh
[root@station90 file]#./scp.sh//发现了吧,从远程主机找不到这些文件,只有没有空格的文件名称才可以复制过来
scp:/home/src/10329/g0197/k/19xiazai: No such file or directory
scp: h264.3gp: No such file or directory
scp:/home/src/10327/g0194/10ng: No such file or directory
scp: h264: No such file or directory
scp: xiazai.3gp: No such file or directory
scp:/home/src/10329/g0196/lh/10xiazai: No such file or directory
scp: h263.3gp: No such file or directory
scp:/home/src/10520/056/0590/99833/10x_04: No such file or directory
scp: 0_0_3.3gp: No such file or directory
继续错误的里程,想想,肯定是空格没有进行转义,遂src_file.txt文件和src_file.txt文件中的空格都进行转义,于是下面错误的过程来了:
[root@station90 file]# cat src_file.txt//原文件内容格式
/home/src/10329/g0197/k/19xiazai h264.3gp
/home/src/10327/g0194/10ng h264 xiazai.3gp
/home/src/10329/g0196/lh/10xiazai h263.3gp
/home/src/101117/060/090/1011.3gp
/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp
[root@station90 file]# sed-i-e"s/^//"/g"-e"s/$//"/g" src_file.txt//文件的开头和结尾加上双引号
[root@station90 file]# cat src_file.txt
"/home/src/10329/g0197/k/19xiazai h264.3gp"
"/home/src/10327/g0194/10ng h264 xiazai.3gp"
"/home/src/10329/g0196/lh/10xiazai h263.3gp"
"/home/src/101117/060/090/1011.3gp"
"/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp"
[root@station90 file]# sed-i"s//////g" src_file.txt//对空格进行转义
[root@station90 file]# cat src_file.txt
"/home/src/10329/g0197/k/19xiazai/ h264.3gp"
"/home/src/10327/g0194/10ng/ h264/ xiazai.3gp"
"/home/src/10329/g0196/lh/10xiazai/ h263.3gp"
"/home/src/101117/060/090/1011.3gp"
"/home/src/10520/056/0590/99833/10x_04/ 0_0_3.3gp"
[root@station90 file]# cat dst_file.txt///原文件内容格式
/home/dst/1038/g07/k/3/10290upload h264.3gp
/home/dst/10327/g04/10ng h264 upload.3gp
/home/dst/1038/g06/lhppww/10upload h263.3gp
/home/dst/101117/06g090/1011.3gp
/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp
[root@station90 file]# sed-i-e"s/^//"/g"-e"s/$//"/g"-e"s//////g" dst_file.txt//在文件开头和结尾加双引号和空格进行转义
[root@station90 file]# cat dst_file.txt
"/home/dst/1038/g07/k/3/10290upload/ h264.3gp"
"/home/dst/10327/g04/10ng/ h264/ upload.3gp"
"/home/dst/1038/g06/lhppww/10upload/ h263.3gp"
"/home/dst/101117/06g090/1011.3gp"
"/home/dst/1052g056/0590/33/10x_04/ 0_0_3.3gp"
[root@station90 file]# sed-i"s/^/scp/ root/@192/.168/.0/.90/:/g" src_file.txt//对远程文件(192.168.0.90)src_file.txt加上scp root@192.168.0.90:
[root@station90 file]# cat src_file.txt
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazai/h264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ng/h264/ xiazai.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazai/h263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_04/0_0_3.3gp"
[root@station90 file]# sed-i"1,1s/^//#/!//bin//bash/n/g" scp.sh//对文件加上#!/bin/bash
[root@station90 file]# cat scp.sh
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazai/h264.3gp""/home/dst/1038/g07/k/3/10290upload/ h264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ng/h264/ xiazai.3gp""/home/dst/10327/g04/10ng/ h264/ upload.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazai/h263.3gp""/home/dst/1038/g06/lhppww/10upload/ h263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp""/home/dst/101117/06g090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_04/0_0_3.3gp""/home/dst/1052g056/0590/33/10x_04/ 0_0_3.3gp"
[root@station90 file]# chmod+x scp.sh
[root@station90 file]#./scp.sh//执行脚本,看过去是都成功了吧,但是……
19xiazai h264.3gp 100% 0 0.0KB/s 00:00
10ng h264 xiazai.3gp 100% 0 0.0KB/s 00:00
10xiazai h263.3gp 100% 0 0.0KB/s 00:00
10x_04 0_0_3.3gp 100% 0 0.0KB/s 00:00
[root@station90 file]# cd/home/dst/1038/g07/k/3/
[root@station90 3]# ls//看到没有,复制到本地的文件有了/
[root@station90 dst]# find./-type f
./10327/g04/10ng/ h264/ upload.3gp
./1038/g07/k/3/10290upload/ h264.3gp
./1038/g06/lhppww/10upload/ h263.3gp
./1052g056/0590/33/10x_04/ 0_0_3.3gp
[root@station90 dst]# find./-type f-exec rm{}/;//删除复制过来错误的文件
[root@station90 dst]# find./-type f
[root@station90 file]# cat src_file.txt//下面的步骤是正确的,其实只需要对src_file.txt文件的空格加上/进行转义,对本地
dst_file.txt文件只需要在文件的开头结尾加上双引号,就好了
/home/src/10329/g0197/k/19xiazai h264.3gp
/home/src/10327/g0194/10ng h264 xiazai.3gp
/home/src/10329/g0196/lh/10xiazai h263.3gp
/home/src/101117/060/090/1011.3gp
/home/src/10520/056/0590/99833/10x_04 0_0_3.3gp
[root@station90 file]# sed-i"s//////g" src_file.txt
[root@station90 file]# cat src_file.txt
/home/src/10329/g0197/k/19xiazai/ h264.3gp
/home/src/10327/g0194/10ng/ h264/ xiazai.3gp
/home/src/10329/g0196/lh/10xiazai/ h263.3gp
/home/src/101117/060/090/1011.3gp
/home/src/10520/056/0590/99833/10x_04/ 0_0_3.3gp
[root@station90 file]# sed-i-e"s/^/scp/ root/@192/.168/.0/.90/:/"/g"-e"s/$//"/g" src_file.txt
[root@station90 file]# cat src_file.txt
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazai/h264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ng/h264/ xiazai.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazai/h263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_04/0_0_3.3gp"
[root@station90 file]# cat dst_file.txt
/home/dst/1038/g07/k/3/10290upload h264.3gp
/home/dst/10327/g04/10ng h264 upload.3gp
/home/dst/1038/g06/lhppww/10upload h263.3gp
/home/dst/101117/06g090/1011.3gp
/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp
[root@station90 file]# sed-i-e"s/^//"/g"-e"s/$//"/g" dst_file.txt
[root@station90 file]# cat dst_file.txt
"/home/dst/1038/g07/k/3/10290upload h264.3gp"
"/home/dst/10327/g04/10ng h264 upload.3gp"
"/home/dst/1038/g06/lhppww/10upload h263.3gp"
"/home/dst/101117/06g090/1011.3gp"
"/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# sed-i"1,1s/^//#/!//bin//bash/n/g" scp.sh
[root@station90 file]# cat scp.sh//最终的脚本样本
scp root@192.168.0.90:"/home/src/10329/g0197/k/19xiazai/h264.3gp""/home/dst/1038/g07/k/3/10290upload h264.3gp"
scp root@192.168.0.90:"/home/src/10327/g0194/10ng/h264/ xiazai.3gp""/home/dst/10327/g04/10ng h264 upload.3gp"
scp root@192.168.0.90:"/home/src/10329/g0196/lh/10xiazai/h263.3gp""/home/dst/1038/g06/lhppww/10upload h263.3gp"
scp root@192.168.0.90:"/home/src/101117/060/090/1011.3gp""/home/dst/101117/06g090/1011.3gp"
scp root@192.168.0.90:"/home/src/10520/056/0590/99833/10x_04/0_0_3.3gp""/home/dst/1052g056/0590/33/10x_04 0_0_3.3gp"
[root@station90 file]# chmod+x scp.sh
[root@station90 file]#./scp.sh
19xiazai h264.3gp 100% 0 0.0KB/s 00:00
10ng h264 xiazai.3gp 100% 0 0.0KB/s 00:00
10xiazai h263.3gp 100% 0 0.0KB/s 00:00
10x_04 0_0_3.3gp 100% 0 0.0KB/s 00:00
[root@station90 file]# cd/home/dst
[root@station90 dst]# find./-type f//现在OK了,linux水平不行,被折磨了2天呐
./10327/g04/10ng h264 upload.3gp
./1038/g07/k/3/10290upload h264.3gp
./1038/g06/lhppww/10upload h263.3gp
./1052g056/0590/33/10x_04 0_0_3.3gp