Articles of Linux操作系统

在GNU / Linux上生成lnk文件以转移到Windows

我会先解释我的目标,以避免“XY问题”的误解。 我希望能够生成一个文件(在Linux上),当下载到Windows机器并双击时,将打开一个已知path(在本地窗口上的(MS Office,但不应该是IIUC)文件机器)由服务器预设。 看来我想要做的事情是可能的,如果我包含我想要打开的文件的path(并没有关于它存储在等卷的其他细节)在lnk文件。 我首先检查了lnk文件格式规格试图在python脚本中生成文件,但这不是我的小菜一碟(我以前从来没有写过处理二进制文件的代码)。 此外,还有很多我想沟通的格式,但我仍然需要注意他们的标志/字段/长度/终止等。 然后我偶然发现了winedump工具和WINE在〜/ .wine文件夹中创build的一些.lnk文件。 WINE代码库中必须有一些能够生成lnk文件的函数,但是我找不到它。 它在哪里? 它是像win的mklink一样的命令的forms吗? 如果没有(我猜这是一个函数的地方,如果不是),你可以指向我这样,我可以写封装命令? 或者是否有任何库可以编写lnk文件并在GNU / Linux上运行?

将WIN XP命令行输出分配给variables

我想将下面的脚本从linux shell转换到Windows XP shell GPSID=$(awk '/GPSID/ {print $3}' gora.RTK ) awk -v variable=${GPSID} 'BEGIN {printf "Numer seryjny : " variable,$1}' >>out.txt 第二行已被翻译; 问题是在Windows中定义一个包含shell输出的variables:-(

跨平台C ++:使用本地string编码还是跨平台标准化?

我们特别关注Windows和Linux的发展,并提出了两种不同的方法,似乎都有其优点。 Windows中的自然Unicodestringtypes是UTF-16,Linux中是UTF-8。 我们不能决定是否最好的方法: 在我们所有的应用程序逻辑(和持久数据)中对其中的一个进行标准化,并使其他平台进行适当的转换 使用操作系统的自然格式进行应用程序逻辑(从而调用操作系统),并仅在IPC和持久性的位置进行转换。 对我来说,他们看起来好像彼此都好。

无法在Windows上克隆,但可以从Gitlab服务器上的Linux克隆

我想通过SSH克隆远程Gitlab服务器的存储库。 我正在使用Gitlab CE version 9.3.9 755bb71和TortoiseGIT version 2.5.0和git (for windows) version 2.14.0 SSH密钥正确安装,因为我已经testing了使用身份validation ssh -vT git@192.168.100.100 -i /path/to/.ssh/key 使用上面的密钥,我得到以下消息authentication成功 OpenSSH_7.5p1, OpenSSL 1.0.2k 26 Jan 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to 192.168.100.100 [192.168.100.100] port 22. debug1: Connection established. debug1: identity file /path/to/.ssh/key type 1 debug1: key_load_public: No such file or directory debug1: identity […]

如何将执行权限分配给在Linux中执行的.sh文件

这是我的问题, 在Windows中,我正在制作一个zip文件,其中有一个文本.sh文件,应该在Linux中执行。 另一端的用户在Linux中打开zip文件并尝试执行.sh文件,但执行权限不见了。 所以用户必须手动完成(像这里解释的那样: 添加执行权限 。 我怎么能在Windows中使.sh可执行文件并将其添加到一个zip文件,以便当在Linux中打开zip文件.sh文件仍然保留其执行权限(以便用户不必手动执行)

SNMPtypesUnsigned32的正确编码是什么?

我正在写一个SNMP代理,MIB定义包含一个Unsigned32types的OID。 代理的Unix实现使用Net-SNMP,并将OID设置为ASN_UNSIGNEDtypes,因为它没有ASN_UNSIGNED32。 当我用Wireshark查看GET响应时,它将其解码为“Gauge32”值。 这是一见钟情,因为根据RFC 1902,Unsigned32和Gauge32是相同的。 Windows实现基于Windows的SnmpAPI.lib,并将OID设置为ASN_UNSIGNED32,当我使用Wireshark查看GET响应时,将其解码为“Unsigned32”。 这对我来说看起来更好。 2个实现如何在电线上产生不同的结果? 哪个是正确的版本,我怎样才能从两个实现中获得相同的结果?

在磁盘上获取目录大小和大小的最快方法

我最近回答了一个类似的问题,但是我现在想要做的就是模仿使用bash Windows的“目录 – >右键 – >属性”function(见图)。 我能够使用这个命令重现像Size:以字节为单位的东西: echo $(find . -type f -printf "%s+") | sed 's/+$//g' | bc 这是相当快的,但它有可能获得信息更快(比发现)或做math更快(比bc)? 另外,我会使用du -sb命令模拟磁盘上的大小:可能还有另外几个find来计算文件和目录,并模拟Contains:行。 有更好的方法来模拟这样的结果吗?

DLL:在Linux for Linux上用MinGW编译C时无法识别文件格式

我在Linux上使用MinGW(特别是Ubuntu)来编译Windows的C程序。 我正在使用名为SFML的库,它是名为CSFML的绑定。 我使用-L和-l来定位库,但是当我编译时,我得到这个错误: win32/dll/csfml-audio-2.dll: file not recognized: File format not recognised 我不知道为什么。 这是我用来编译的命令: sudo i686-w64-mingw32-gcc -o wandering src/main.c src/constants.c src/Display/display.c **…some more c files in here…** src/Generation/perlinnoise.c $(pkg-config –libs –cflags glib-2.0) $(pkg-config –libs –cflags gee-1.0) -Iwin32/CSFML-2.1/include -Lwin32/dll -lcsfml-audio- 有谁知道为什么会发生? 我可以在没有SFML的情况下编译C程序,但用MinGW就可以了。

如何在Windows上使用java执行linux命令?

我需要在Windows上使用java在单独的Linux机器上执行bash命令。 我需要从指定的目录运行可执行文件,如 cd /home/bin 我怎样才能做到这一点?

从C中的文件描述符获取文件名

是否有可能得到在C文件描述符(Linux)的文件名?