GVKun编程网logo

unix – 如何查找文件然后PSFTP到本地系统?(unix怎么查找文件)

15

针对unix–如何查找文件然后PSFTP到本地系统?和unix怎么查找文件这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展centos7如何查找文件?、curlftps-ftp目录挂载到本地

针对unix – 如何查找文件然后PSFTP到本地系统?unix怎么查找文件这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展centos7如何查找文件?、curlftps - ftp目录挂载到本地目录、docker中如何查找文件、eclipse如何查找文件、类等相关知识,希望可以帮助到你。

本文目录一览:

unix – 如何查找文件然后PSFTP到本地系统?(unix怎么查找文件)

unix – 如何查找文件然后PSFTP到本地系统?(unix怎么查找文件)

我试图在Unix directrory中搜索文件,并使用PSFTP将它们复制到我的本地 Windows机器上.

我正在运行以下命令:

sh = CreateObject("WScript.Shell")    
sh.Run "C:\PuTTY_Folder\PSFTP.EXE -b C:\PuTTY_Folder\script.txt user@host -pw password"

script.txt文件:

lcd C:\Regression
cd /b2/batch/ABCD
find . -mtime 1 -name "*_000000022_*" -type f # I want to find the files and copy them to my local windows machine.
bye

find命令无法使用PSFTP.
它说:未知的命令找到.
我想我可以使用mget复制多个文件,但不知道如何搜索和复制.

请建议.

链接到PSFTP文档:

http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter6.html

解决方法

我终于能够把这件事搞定了.

set sh = CreateObject("WScript.Shell")

    set fileExec = sh.Exec("C:\PuTTY_Folder\PLINK.EXE -pw password username@region find /filePickLoc/dir1 -name *batchID* -mmin -10 -type f") 

    filesstr = fileExec.StdOut.ReadAll

    filesstr = Left(filesstr,Len(filesstr) - 1)

    filesArray = Split(filesstr,vbLF)

    createScriptFile folderPath,arr,"filePickLoc/dir1"

    sh.Run "C:\PuTTY_Folder\PSFTP.EXE -b folderPath\Script.txt username@region -pw password",7,True

    set fileExec = nothing
    set sh = nothing

使用createScriptFile,我在运行时创建一个.txt文件,PSFTP正在使用它来传输文件.

Function createScriptFile(folderPath,files,loc)
    set oFSO = CreateObject("Scripting.FileSystemObject")
    set oFile = oFSO.CreateTextFile(folderPath & "\Script.txt",true)
    oFile.write "lcd " & folderPath & " " & vbCrLf
    oFile.write "cd /" & vbCrLf
    For Each x In files
        oFile.write "get " & x & " " & vbCrLf
    Next
    oFile.write "bye"
    oFile.Close
    set oFile = nothing
    set oFSO = nothing
End Function

centos7如何查找文件?

centos7如何查找文件?

 

 

 

参考https://blog.csdn.net/allyli0022/article/details/77989664

一、find

根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等

基本格式:find path expression

1.按照文件名查找

  1、find / -name httpd.conf        #在根目录下查找httpd.conf文件,表示在整个硬盘下查找

  2、find /etc -name httpd.conf   #在/etc目录下文件httpd.conf

  3、find /etc -name ''*srm*''      #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件

  4、find . -name ''srm*''      #表示当前目录下查找文件名开头是字符串‘srm’的文件

 

二、grep

根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找

基本格式:find  expression

1.主要参数

    [options]主要参数:
    -c:只输出匹配行的计数。
    -i:不区分大小写
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。

    pattern正则表达式主要参数:
    \: 忽略正则表达式中特殊字符的原有含义。

    ^:匹配正则表达式的开始行。

    ^#: 以#开头

    #$: 以#结尾

    ^$: 空行

    |: 或者

    $: 匹配正则表达式的结束行。

    \<:从匹配正则表达 式的行开始。

    \>:到匹配正则表达式的行结束。

    [ ]:单个字符,如[A]即A符合要求 。

    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。

    .:所有的单个字符。

    * :有字符,长度可以为0。

例如:

  1、grep查找文件中匹配的内容

[root@bogon 桌面]# grep ''test'' t*                 #显示所有以t开头的文件中包含 test的行
test1:111111111111
[root@bogon 桌面]# cat test.txt
test1:111111111111
tt:
xx: 111123444
a: 1
b: 2
c:11

  2、grep查找日志

[root@bogon httpd]# grep -c ''503'' /var/log/httpd/error_log           # 搜索日志,查询有多少条503错误

0
[root@bogon httpd]# grep -n ''error'' /var/log/httpd/error_log           # 搜索含有 error 字样的行,并且输出行号


[root@bogon httpd]# grep -nv ''error'' /var/log/httpd/error_log           #搜索没有 error 字样的行,并且输出行号

1:[Wed Dec 05 17:44:34.732664 2018] [suexec:notice] [pid 10494] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
2:AH00557: httpd: apr_sockaddr_info_get() failed for bogon

  3、搜索寻找安装的软件版本有几个

rpm -qa | grep -i python    # centos下查看安装的Python版本,不区分大小写,-q(查询)-a(所有)

注意:rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递归命名,GNU''s Not Unix.

   4、过滤配置文件的注释符号#

[root@bogon httpd]# grep -v ''#'' /etc/httpd/conf/httpd.conf                # -v:表示不包含匹配文本的所有行

  5、查询每个网卡和ip地址

[root@bogon httpd]# ifconfig | grep -n inet              # -n:显示匹配行及行号

  6、统计字符串出现的次数

[root@bogon 桌面]# cat test.txt
test1:111111111111
tt:
xx: 111123444
a: 1
b: 2
c:11
[root@bogon 桌面]# grep -c ''tt'' test.txt                   # -c:只输出匹配行的计数
1

[root@bogon 桌面]# grep -n ''tt'' test.txt                  # -n:显示匹配行及行号
2:tt:

  7、只列出文件名

[root@bogon zabbix]# grep -l ''PidFile'' *.conf         # -l:查询多文件时只输出包含匹配字符的文件名
zabbix_agentd.conf
zabbix_server.conf

  8、精准全匹配搜索(-w)

[root@bogon zabbix]# grep -w ''PidFile'' zabbix_agentd.conf
### Option: PidFile
# PidFile=/tmp/zabbix_agentd.pid
PidFile=/var/run/zabbix/zabbix_agentd.pid

  9、高亮显示搜索结果(--color)

[root@bogon zabbix]# grep --color apache /etc/passwd
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

 

三、which

查看可执行文件的位置,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

四、whereis

查看可执行文件的位置及相关文件,

只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis命令会查找一个记录系统内文件信息的数据库文件,所以速度会很快。缺点是数据库文件并不是实时更新,默认情况一星期更新一次,因此如果最近删除的文件或者创建的文件是有可能错误的显示的。为了防止这种情况,可以手动的强制更新数据库文件。

 

 

五、locate

配合数据库缓存,快速查看文件位置。可以快速的找到文件的位置,因为locate查找的是数据库的文件来确定文件的位置,而并不是深入各个文件系统查找。一般情况下,数据库文件通过corntab自动更新,通常每天更新一次。

 

 

curlftps - ftp目录挂载到本地目录

curlftps - ftp目录挂载到本地目录

1、安装依赖

yum -y install glib* fuse*

 

2、安装curlftps

源码包:

http://pan.baidu.com/share/link?shareid=2050371528&uk=840370981

 

tar zxvf curlftpfs-0.9.2.tar.gz

cd curlftpfs-0.9.2

./configure -prefix=/usr/local/curlftpfs

make

make install

 

3、挂载FTP服务器

3.1curlftpfs命令挂载

curlftpfs -o codepage=utf8 ftp://username:password@192.168.192.168 /ftp

 

参数说明:

codepage                            编码

username                  FTP用户名

password                            FTP密码

192.168.1.111          FTP地址

/ftp                              准备挂载到的路径

 

3.2 卸载挂载

fusermount -u /ftp

umount -l /ftp

 

3.3 开放权限

这样其它用户也能读写了,uidgid改成你自己的id

sudo curlftpfs –o rw,allow_other,uid=0,gid=0 ftp:// username: password @192.168.1.111 /ftp

 

2.4、开机自动挂载

echo "curlftpfs#username:password@192.168.1.111 /ftp fuse allow_other,uid=0,gid=0 0 0" >> /etc/fstab

docker中如何查找文件

docker中如何查找文件

docker是一种开源的容器化平台,它可以帮助开发人员在不同的环境中快速部署和运行应用程序。在使用docker时,可能会遇到需要查找特定文件的情况。本文将介绍在docker中如何查找文件。

一、Docker中查找本地文件

  1. 使用"docker cp"命令

如果需要从宿主机器(即运行Docker的机器)复制文件到Docker容器中,可以使用"docker cp"命令。该命令用于复制文件或目录到和从Docker容器中,语法如下:

docker cp [OPTIONS] SOURCE_PATH CONTAINER:DEST_PATH

其中,SOURCE_PATH为宿主机器上要复制的文件或目录路径,CONTAINER为Docker容器的名称或ID,DEST_PATH为需要将文件或目录复制到Docker容器中的目标路径。

例如,如果需要将宿主机器上的文件"/data/test.txt"复制到Docker容器中的"/app"目录,可以使用以下命令:

docker cp /data/test.txt mycontainer:/app/test.txt

  1. 使用"docker exec"命令

如果需要在Docker容器中查找本地文件,可以使用"docker exec"命令,在容器中打开一个shell,并在shell中执行命令,语法如下:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

其中,CONTAINER为Docker容器的名称或ID,COMMAND为要在容器中执行的命令,ARG为执行命令时的参数。

例如,如果需要在Docker容器中查找文件"/app/test.txt",可以使用以下命令:

docker exec mycontainer find / -name test.txt

该命令将在Docker容器中执行"find"命令,并查找所有名为"test.txt"的文件。

二、Docker中查找容器内文件

  1. 使用"docker exec"命令

如果需要在Docker容器中查找文件,可以使用"docker exec"命令,在容器中打开一个shell,并在shell中执行命令,语法如下:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

其中,CONTAINER为Docker容器的名称或ID,COMMAND为要在容器中执行的命令,ARG为执行命令时的参数。

例如,如果需要在Docker容器中查找文件"/app/test.txt",可以使用以下命令:

docker exec mycontainer find / -name test.txt

该命令将在Docker容器中执行"find"命令,并查找所有名为"test.txt"的文件。

  1. 在Dockerfile中添加命令

可以在Dockerfile中添加查找文件的命令,该命令将在Docker容器构建过程中执行,从而在容器中查找文件。例如,以下Dockerfile添加了"find"命令,用于在容器中查找名为"test.txt"的文件:

FROM ubuntu:latest

RUN apt-get update && apt-get install -y findutils

CMD ["find", "/", "-name", "test.txt"]

该命令将在容器中安装"findutils"软件包,并在容器启动时执行"find"命令,查找所有名为"test.txt"的文件。

三、总结

以上介绍了在Docker中查找文件的两种方法:在宿主机器上查找容器内文件和在容器中查找文件。可以根据具体情况选择合适的方法。在实际工作中,需要适时地查找文件,以便进行程序调试、问题排查和性能优化等工作。

以上就是docker中如何查找文件的详细内容,更多请关注php中文网其它相关文章!

eclipse如何查找文件、类

eclipse如何查找文件、类

使用 Ctrl+Shift+R 打开eclipse资源管理窗口,输入文件名可以直接搜索到目标文件,双击便可打开:

使用Ctrl+Shift+T打开查找窗口,输入类名进行查找,双击进入类

今天关于unix – 如何查找文件然后PSFTP到本地系统?unix怎么查找文件的介绍到此结束,谢谢您的阅读,有关centos7如何查找文件?、curlftps - ftp目录挂载到本地目录、docker中如何查找文件、eclipse如何查找文件、类等更多相关知识的信息可以在本站进行查询。

本文标签: