问题标签 [unix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
16660 浏览

java - unix和windows文件的区别

我是否正确假设“windows 文件”和“unix 文件”之间的唯一区别是换行符?

我们有一个系统已从 windows 机器转移到 unix 机器,并且在格式上遇到了问题。

在文件被传递到我们的“传输系统”中的系统之前,我需要在 unix/windows 之间自动进行转换。我可能需要一些东西来确定当前格式以及将其转换为其他格式的东西。如果只是换行符就是最大的不同,那么我正在考虑使用 java.io 读取文件。据我所知,他们能够使用 readLine 处理这两种情况。然后只需将每一行写回


概括:

萨姆朱德森

这只是文本文件的区别,其中 UNIX 使用单个换行符 (LF) 来表示新行,Windows 使用回车/换行符 (CRLF) 而 Mac 仅使用 CR。

Cebjyre详细说明:

OS X 使用 LF,与 UNIX 相同 - MacOS 9 及更低版本确实使用 CR

国家字符的字符编码也可能有所不同。没有“unix 编码”,但许多 linux 变体使用 UTF-8 作为默认编码。Mac OS(也是一个 unix)使用自己的编码(macroman)。我不确定,windows默认编码是什么。

麦克道威尔

除了换行符之外,如果文件在 Windows 上被视为 Unicode,字节顺序标记可能会导致问题。

厚脸皮

但是,您可能遇到的另一组问题可能与单/多字节字符编码有关。如果您看到奇怪的意外字符(不在行尾),那么这可能是原因。尤其是当您看到方框、问号、倒置问号、多余字符或意外重音字符时。

萨迪

在 unix 上,以 . 被隐藏。在 Windows 上,它是您可能无法轻松访问的文件系统标志。这可能会导致本应隐藏的文件现在在客户端计算机上变得可见。

文件权限在两者之间有所不同。您可能会发现,当您将文件复制到 unix 系统上时,这些文件现在属于进行复制的用户并且具有有限的权限。您需要使用 chown/chmod 来确保正确的用户可以访问它们。

有一些工具可以帮助解决这个问题:

保罗杜

如果您只是对文本文件的内容感兴趣,那么是的,行尾是不同的。看看 dos2unix 之类的东西,它可能对这里有帮助。

厚脸皮

正如 pauldoo 所建议的,像 dos2unix 这样的工具非常有用。请注意,这些可能在您的 linux/unix 系统上作为 fromdos 或 tofrodos,或者甚至作为通用工具箱重新编码。

java编码帮助

厚脸皮

在写入文件或读取文件(由您控制​​)时,通常值得指定要使用的编码,因为大多数 Java 方法都允许这样做。但是,同时确保系统区域设置匹配也可以省去很多麻烦

0 投票
13 回答
412456 浏览

linux - 如何在 Linux 中在分段错误时生成核心转储?

我在 Linux 中有一个进程出现分段错误。我如何告诉它在失败时生成核心转储?

0 投票
4 回答
9498 浏览

linux - 在 Unix 系统上自动获取堆栈跟踪

有哪些方法可以在 Unix 系统上自动获取堆栈跟踪?我的意思不是仅仅获取一个核心文件或与 GDB 交互地附加,而是有一个 SIGSEGV 处理程序将回溯转储到文本文件。

以下可选功能的奖励积分:

  • 崩溃时收集的额外信息(例如配置文件)。
  • 通过电子邮件将崩溃信息包发送给开发人员。
  • 能够将其添加到dlopened 共享库中
  • 不需要图形用户界面
0 投票
3 回答
3347 浏览

bash - 为什么 **find** 找不到任何东西?

我正在寻找安装在我的系统上的 shell 脚本文件,但find不起作用:

但我知道那里有很多脚本。例如:

为什么找不到工作?

0 投票
9 回答
11257 浏览

linux - 在 Linux/UNIX 之类的纯文本文件中隐藏网络代理密码

通常在大型网络中,计算机需要在经过身份验证的代理后面运行 - 任何与外部世界的连接都需要用户名/密码,这通常是用户用于登录电子邮件、工作站等的密码。

这意味着必须将网络密码apt.conf以及通常定义http_proxy, ftp_proxyhttps_proxy环境变量放入文件中~/.profile

我意识到apt.conf你可以设置chmod 600(在 Ubuntu/Debian 上不是默认设置!)但在我们的系统上有些人需要 root priveleges 。

我也意识到从技术上来说,从具有 root 访问权限的人那里保护密码是不可能的,但是我想知道是否有一种方法可以隐藏密码以防止意外发现。Windows 以管理员身份与用户一起操作,但以某种方式存储网络密码(可能以某种方式隐藏在注册表深处),因此在典型使用中您不会以纯文本形式偶然发现它

我从前几天才问起,在比较跨系统的配置文件时,我完全是偶然发现了别人的密码。

@monjardin - 恐怕公钥身份验证不是这个网络上的替代方案。另外,我怀疑大多数命令行工具都支持它。

@Neall - 我不介意其他用户可以访问网络,他们可以使用我的凭据访问网络,我只是不希望他们以纯文本形式出现在我的密码中。

0 投票
17 回答
75922 浏览

unix - 是否有 Unix 实用程序可以将时间戳添加到标准输入?

我最终在 Python 中为此编写了一个快速的小脚本,但我想知道是否有一个实用程序可以输入文本,它会在每一行前面加上一些文本——在我的具体情况下,是时间戳。理想情况下,使用将类似于:

(在你回答 sed 之前,我试过这个:

但这仅在执行 sed 时评估 date 命令一次,因此相同的时间戳被错误地附加到每一行。)

0 投票
4 回答
1514 浏览

apache - 您可以编译 Apache HTTP Server 并将其二进制文件重新部署到不同的位置吗?

作为我们产品发布的一部分,我们发布了我们在 (UNIX) 开发机器上编译的 Apache HTTP Server 二进制文件。

我们告诉我们的客户将二进制文件(在他们的 UNIX 服务器上)安装在我们编译它的相同目录结构下。对于某些客户端,这是不合适的,例如,他们可以在服务器上安装软件的位置受到限制,并且他们不想自己编译 Apache。

有没有编译 Apache HTTP Server 的方法,以便可以使用环境变量动态指定其安装位置?

我花了几天时间试图解决这个问题,但找不到解决方法。这让我相信 Apache 二进制文件在编译时对某些目录路径进行了硬编码,从而阻碍了我们所需的可移植性。

有没有人设法做到这一点?

0 投票
2 回答
2758 浏览

c++ - “使用”统计

我试图在我的程序中使用“使用”统计数据来获取类似于时间工具的数据。但是,我很确定我做错了什么。这些值似乎是正确的,但有时可能有点奇怪。我在网上没有找到好的资源。有人知道如何做得更好吗?

抱歉,代码太长了。

0 投票
5 回答
1089 浏览

regex - 将不同文件中的值合并到一个 CSV 文件中

我有几个文件,每行都包含一个值。

编辑 :

在写这篇文章的过程中,我想出了这个问题的答案,但没有意识到我错误地以不完整的状态发布了它。

我试图做:

并得到一个奇怪的输出。后来我意识到发生这种情况是因为有些文件在行尾既有回车符又有换行符,而另一些文件只有换行符。我必须永远记住要注意那些事情。

0 投票
3 回答
4801 浏览

java - 将 Java 应用程序作为 *nix 守护程序或 Windows 服务运行的最佳方法?

我正在寻找将 Java 应用程序作为 *NIX 守护程序或 Windows 服务运行的最佳方法。我查看了Java Service WrapperApache Commons 项目 'jsvc'Apache Commons 项目 'procrun'。到目前为止,Java Service Wrapper 看起来是最好的选择……但是,我想知道是否还有其他“开源友好”许可产品。