标签: filesystems

如何使用 Bash 脚本将文件复制到远程计算机?

我有一个需要将文件复制到远程计算机的脚本:

cp -R "${DEST_FOLDER}" "${SRC_FOLDER}"
Run Code Online (Sandbox Code Playgroud)

当远程计算机需要用户和密码才能访问时,我该怎么做?

如何使用 bash 脚本登录到这台计算机?

谢谢

filesystems bash credentials

1
推荐指数
1
解决办法
7163
查看次数

在 Windows 中,为什么有些字符是非法的?

正如我们大多数人所知,Windows 禁止在文件名中使用以下字符:

* . " / \ [ ] : ; | = ,

Linux 和其他基于 Unix 的系统仅出于显而易见的原因禁止\0(空字符)和/(路径分隔符)。

为什么 Windows 有这么多禁止字符?

我看过了,我发现的每个答案都是“这是有效的”或“什么是有效的”的一些变体,没有讨论导致 Windows (DOS?) 团队将它们定为非法的设计决策。

windows filesystems operating-system file dos

1
推荐指数
1
解决办法
858
查看次数

PHP 对在路径中使用 __DIR__ 和 ../ 感到困惑

我遇到了一个具有这种结构的项目。

-projectRoot
--src
---bootstrap.php
--composer.json
--public
---index.php
---css
---images
Run Code Online (Sandbox Code Playgroud)

现在在公共目录中,index.php包含以下内容

//in projectRoot/public/index.php
<?php

  require __DIR__."/../src/bootstrap.php";

 ?> 
Run Code Online (Sandbox Code Playgroud)

我知道__DIR__常量解析到当前正在执行的 php 脚本文件的绝对目录。所以在上面的例子中,我希望它是ProjectRoot/public.

问题

requireindex.php中将查看哪个路径?..上面路径中的父目录解析为什么?

PS:我读到上面设置的重点是确保相对路径继续工作,无论 index.php 在哪里调用。这究竟是如何工作的?谢谢。

php filesystems path

1
推荐指数
1
解决办法
3471
查看次数

如何使用 fs.mkdir 在节点 js 中创建目录?

在这里,我尝试使用以下代码使用异步函数 fs.mkdir 创建一个目录,但出现错误

ERROR: No such file or directory, mkdir 'C:\tmp\test';

var fs = require("fs");
console.log("Going to create directory /tmp/test");
fs.mkdir('/tmp/test',function(err){
    if (err) {
        return console.error(err);
    }
console.log("Directory created successfully!");
});
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助将不胜感激。

javascript filesystems directory mkdir node.js

1
推荐指数
1
解决办法
1万
查看次数

如何在nodejs中使用文件系统获取文件创建日期?

我想发送给客户端文件名和文件创建日期,我尝试使用提供出生时间的 fs.stat 但我在那里没有看到文件名,所以我的问题是,出生时间是文件创建日期吗?

如何发送创建为 json 的文件名和日期?

应用程序.js

var readDirectory = require('./readDirectory');
app.get('/logs',function(req,res){
    readDirectory.readDirectory(function(logFiles){
        res.json(logFiles);
    });
});
Run Code Online (Sandbox Code Playgroud)

读取目录.js

var fs = require('fs');
var path = './logs/ditLogs'
function readDirectory(callback){
    fs.stat(path, function (err,stats) {
        console.log('STATS',stats);
        callback(stats);
    });

}
exports.readDirectory = readDirectory;
Run Code Online (Sandbox Code Playgroud)

javascript filesystems node.js

1
推荐指数
1
解决办法
6656
查看次数

Symfony 不通过 touch() 创建文件

我想创建此路径的文件: /var/logs/filename.fileextension 。但 ?不创建文件?有错误 -> 无法触摸“/var/logs/file.txt”。

我的代码:

$fs=new Filesystem();
$fs->touch('/var/logs/file.txt');
Run Code Online (Sandbox Code Playgroud)

php filesystems symfony symfony-filesystem

1
推荐指数
1
解决办法
3530
查看次数

Python 3 不通过 stat 检测符号链接

我遇到了一个奇怪的情况,如果文件是符号链接,似乎不同的 Python 模块(osstatvs pathlib)识别不同。

让我们以python3二进制文件为例:

paris@pk-tools:~$ ls -la /usr/bin/python3
lrwxrwxrwx 1 root root 9 Mar 23  2016 /usr/bin/python3 -> python3.5
Run Code Online (Sandbox Code Playgroud)

如您所见,基于上面的 shell 命令,它是一个符号链接。

如果我使用pathlibPython 3.4 中引入的模块,这将被成功识别为符号链接:

>>> from pathlib import Path
>>> Path('/usr/bin/python3').is_symlink()
True
Run Code Online (Sandbox Code Playgroud)

现在,如果pathlib我使用osstatPython 模块代替,则该文件不会被标识为符号链接:

>>> import os
>>> import stat
>>> st_mode = os.stat('/usr/bin/python3').st_mode
>>> st_mode
33261
>>> stat.S_ISLNK(st_mode)
False
Run Code Online (Sandbox Code Playgroud)

我最初通过 Docker for Mac 在 Docker Container 中尝试了这个,然后在一个普通的 Ubuntu 16.04 中尝试了这个,结果是一样的。

知道为什么会发生这种情况吗?

谢谢!

python linux filesystems ubuntu python-3.x

1
推荐指数
1
解决办法
924
查看次数

IllegalArgumentException,从 s3 而不是 hdfs 指定输入/输出时出现错误的 FS

我一直在本地集群上运行我的 Spark 作业,该集群具有从中读取输入和写入输出的 hdfs。现在我已经设置了一个 AWS EMR 和一个 S3 存储桶,我可以在其中输入我的输入,并且我希望我的输出也写入 S3。

错误:

用户类抛出异常:java.lang.IllegalArgumentException:错误 FS:s3://something/input,预期:hdfs://ip-some-numbers.eu-west-1.compute.internal:8020

我尝试搜索相同的问题,并且有几个关于此问题的问题。有人建议它仅用于输出,但即使我禁用输出,也会出现相同的错误。

另一个建议是有问题 FileSystem我的代码有问题。以下是我的程序中出现的所有输入/输出:

第一次发生在我的 customFileInputFormatgetSplits(JobContext job),我实际上并没有修改自己,但我可以:

FileSystem fs = path.getFileSystem(job.getConfiguration());
Run Code Online (Sandbox Code Playgroud)

类似的情况在我的自定义中RecordReader,我自己也没有修改过:

final FileSystem fs = file.getFileSystem(job);
Run Code Online (Sandbox Code Playgroud)

nextKeyValue()RecordReader自己写的习惯中,我使用:

FileSystem fs = FileSystem.get(jc);
Run Code Online (Sandbox Code Playgroud)

最后,当我想检测我使用的文件夹中的文件数时:

val fs = FileSystem.get(sc.hadoopConfiguration)
val status = fs.listStatus(new Path(path))
Run Code Online (Sandbox Code Playgroud)

我认为问题出在我的代码上,但是如何修改FileSystem调用以支持来自 S3 的输入/输出?

filesystems amazon-s3 amazon-web-services hdfs

1
推荐指数
1
解决办法
3539
查看次数

无法实例化提供程序 org.apache.hadoop.fs.s3a.S3AFileSystem

我正在尝试将模型学习从我的 Spark 独立集群保存到 S3。但我有这个错误:

java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider org.apache.hadoop.fs.s3a.S3AFileSystem could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.apache.hadoop.fs.FileSystem.loadFileSystems(FileSystem.java:2631)
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2650)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
at org.apache.spark.util.Utils$.getHadoopFileSystem(Utils.scala:1853)
at org.apache.spark.scheduler.EventLoggingListener.<init>(EventLoggingListener.scala:68)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:529)
at ALS$.main(ALS.scala:32)
at ALS.main(ALS.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:775)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.NoClassDefFoundError: com/amazonaws/event/ProgressListener
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.newInstance(Class.java:412)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) …
Run Code Online (Sandbox Code Playgroud)

filesystems hadoop amazon-s3 apache-spark

1
推荐指数
1
解决办法
8260
查看次数

为什么带有直接标志的 dd 比 dsync 慢得多

我试图使用 dd 来测试我的 ceph 文件系统的性能。在测试过程中,我发现了一些令人困惑的事情,即 dd 和 oflag=dsync 或 conv=f​​datasync/fsync 比 dd 和 oflag=direct 快 10 倍左右。

我的网络是 2*10Gb

/mnt/testceph# dd if=/dev/zero of=/mnt/testceph/test1  bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.1742 s, 46.3 MB/s


/mnt/testceph# dd if=/dev/zero of=/mnt/testceph/test1  bs=1G count=1 conv=fdatasync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.22468 s, 483 MB/s
Run Code Online (Sandbox Code Playgroud)

linux filesystems ceph

1
推荐指数
1
解决办法
4950
查看次数