javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

unix-是否可以在Linux上中止关机?

我熟悉并在Linux中使用shutdown,通常只是

> shutdown -h now

但是有没有办法阻止关闭发生,比如说我打算从现在开始10分钟关闭,然后在5分钟内发现我真的不想关闭?

trans by 2020-08-12T06:14:37Z

linux-如何在shell脚本中向文件添加行?

我想在现有的CSV文件中添加一行标题,并进行就地编辑。 我怎样才能做到这一点?

echo 'one, two, three' > testfile.csv

我想结束

column1, column2, column3
one,     two,     three

更改初始CSV输出不方便。

任何标准命令都可以。 重要的是,文件已就地编辑,并且该行插入到文件的开头。

trans by 2020-08-12T05:54:40Z

linux-在Windows和类Unix系统之间有区别的Makefile

我想要在Linux和Windows上构建的相同Makefile。 我在Linux上使用默认的GNU make,在Windows上使用mingw32-make(也为GNU make)。

我希望Makefile能够检测它是否在Windows或Linux上运行。


例如,Windows上的\命令如下所示:

clean:
    del $(DESTDIR_TARGET)

但是在Linux上:

clean:
    rm $(DESTDIR_TARGET)

我也想在Windows(\)和Linux(/)上使用不同的目录分隔符。


是否可以在Makefile中检测Windows操作系统?

PS:我不想在Windows(cygwin等)上模拟Linux。

有一个类似的问题:OS正在检测makefile,但是我在这里找不到答案。

trans by 2020-08-12T02:07:24Z

linux-在PHP CLI中设置max_execution_time

我知道通常使用PHP CLI是因为没有时间限制,而主要使用PHP CLI是因为它没有使用Apache线程/进程。

但是,有什么方法可以为某些我不想拥有“无限时间”自由并且只想让那些脚本受到控制的脚本显式设置max_execution_time?

如果您认为在superuser.com上可以更好地回答此问题,并有权移动它,请执行此操作。 :)

编辑:我一直在谷歌搜索了一下,找到了正确的参数:

php -d max_execution_time=5 script.php
trans by 2020-08-12T00:57:35Z

linux-以qsub开头的shell脚本的参数

如何参数化在网格上执行的shell脚本(以qsub开头)? 我有一个Shell脚本,在这里我使用getopts读取参数。

当我启动(qsub script.sh -r firstparam -s secondparam ..)这个带有qsub的工作脚本时,我收到错误消息,

qsub:无效选项-s

qsub:非法-r值

正如qsub认为该参数本身就是。 但是我还没有找到任何解决方案。

谢谢

trans by 2020-08-11T10:52:51Z

ufw Linux防火墙拒绝与拒绝之间的区别

使用简单的防火墙ufw,我可以将端口/服务设置为拒绝和拒绝。

例如:

ufw deny www

ufw reject www

有人可以向我解释两种方法之间的区别吗?

trans by 2020-08-11T03:19:01Z

构建-Linux configure / make,--prefix?

忍受我,这不是很容易解释...

我正在尝试将configuremakemake install Xfce放入我的buildroot构建目录。 配置时我正在使用

--prefix=/home/me/somefolder/mybuild/output/target

因此它可以构建到正确的文件夹,但是在压缩并运行时,我从各种配置文件中获取错误,这些文件正在其中查找文件

/home/me/somefolder/mybuild/output/target

(当然不存在。)

如何设置要构建的文件夹,但为要使用的配置文件设置其他根目录?

trans by 2020-08-11T03:13:32Z

c-在.so fi中链接到较旧的符号版本

在x86_64 linux上使用gcc和ld,我需要链接到库的较新版本(glibc 2.14),但是可执行文件需要在具有较旧版本(2.5)的系统上运行。 由于唯一不兼容的符号是memcpy(需要memcpy@GLIBC_2.2.5,但是提供memcpy@GLIBC_2.14的库),我想告诉链接器,它应该采用我指定的旧版本,而不是使用memcpy的默认版本。 。

我发现这样做很尴尬:只需在链接器命令行中指定旧.so文件的副本即可。 这可以正常工作,但是我不喜欢将多个.so文件(只能通过指定我链接到的所有旧库才能工作,也有对memcpy的引用)来将其检入svn并由我的构建系统使用的想法 。

因此,我正在寻找一种告诉链接器采用旧版本符号的方法。

对我不起作用的替代方法是:

  • 使用asm .symver(如Trevor Pounds的博客的Web存档中所述),因为这将要求我确保symver位于所有使用memcpy的代码之前,这将非常困难(带有第三方代码的复杂代码库)
  • 使用旧库维护构建环境; 仅仅因为我想在我的桌面系统上进行开发,而在网络中同步内容将是皮塔饼。

考虑链接器的所有工作时,似乎很难实现,毕竟它也有一些代码可以找出符号的默认版本。

只要不像编辑所生成的二进制文件那样怪异的技巧,任何其他与简单链接程序命令行具有相同复杂性级别的想法(例如创建简单的链接脚本等)也将受到欢迎。

编辑:为了保护以后的读者,除了以下思想外,我还为链接器找到了--wrap选项,该选项有时也很有用。

trans by 2020-08-10T23:15:53Z

什么是适用于Linux的好的Prolog IDE?

我需要为一个类编写一些Prolog程序。

有什么建议吗?

trans by 2020-08-10T09:23:54Z

javascript-如何在没有IDE的情况下构建和部署Samsung Smart TV应用(例如,在Linux上)

问题:

我想尝试使用Samsung SmartTV SDK 2.5(我有2011年型号的电视-UA55D8000)构建概念验证应用。

不幸的是,SDK有两个变种,它们似乎只能在Microsoft Windows上运行。 这很奇怪,因为没有理由应该这样:电视本身运行Linux,应用程序是用JavaScript编写的。

这带来了两个问题:

  1. 由于我在家中没有Microsoft Windows,因此无法使用SDK附带的构建环境(也不是电视模拟器)。 (SDK文件本身只是JavaScript)

  2. 即使我可以使用Windows,也很难在不使用传统构建工具(例如:Make,Ant,Autotools等)的情况下自动进行应用的构建和测试。

如何在Linux上构建Samsung Smart TV应用程序? (即:不使用SDK随附的基于Windows的构建工具)


到目前为止,我已经弄清楚了:

据我所知,一个JavaScript模式的应用程序只是一个zip文件,其中包含一个XML配置文件,一个或多个JavaScript文件(包括提供的用于平台SDK功能的JavaScript接口库)以及任何必需的资产(HTML,图像等)。

另外,从我收集的数据来看,部署涉及将zip文件和XML清单文件放置在电视可访问的Web服务器网络上,在电视上以“开发”身份登录,并将应用程序“同步”到电视上已安装的应用程序 电视。


有人可以指出我的全部部署要求和应用程序捆绑包要求的来源吗? 甚至只是一个工作样本?

trans by 2020-08-10T06:23:57Z

根据内容在Linux中分割文件

这个问题已经在这里有了答案:

  • 根据定界符将一个文件拆分为多个文件 11个答案

我有一个大约400mb的电子邮件转储。 我想将其拆分为.txt文件,每个文件中包含一封邮件。 每封电子邮件均以指定文档类型的标准HTML标头开头。

这意味着我将不得不根据上述标题拆分文件。 我如何在Linux中进行操作?

trans by 2020-08-09T15:35:27Z

Linux-ip netns lis中不可见docker网络命名空间

当我创建一个新的docker容器像

docker run -it -m 560m --cpuset-cpus=1,2 ubuntu sleep 120

并检查其命名空间,可以看到已经创建了新的命名空间(例如pid 7047)。

root@dude2:~# ls /proc/7047/ns -la
total 0
dr-x--x--x 2 root root 0 Jul  7 12:17 .
dr-xr-xr-x 9 root root 0 Jul  7 12:16 ..
lrwxrwxrwx 1 root root 0 Jul  7 12:17 ipc -> ipc:[4026532465]
lrwxrwxrwx 1 root root 0 Jul  7 12:17 mnt -> mnt:[4026532463]
lrwxrwxrwx 1 root root 0 Jul  7 12:17 net -> net:[4026532299]
lrwxrwxrwx 1 root root 0 Jul  7 12:17 pid -> pid:[4026532466]
lrwxrwxrwx 1 root root 0 Jul  7 12:17 user -> user:[4026531837]
lrwxrwxrwx 1 root root 0 Jul  7 12:17 uts -> uts:[4026532464]
root@dude2:~# ls /proc/self/ns -la

当我检查ip netns list时,看不到新的网络名称空间。

dude@dude2:~/docker/testroot$ ip netns list
dude@dude2:~/docker/testroot$ 

知道为什么吗?

trans by 2020-08-09T13:06:34Z

在Alpine Linux D的路径中找不到已安装的Go二进制文件

我有一个Go二进制文件,试图在Alpine Docker映像上运行。

这对于Docker Go二进制文件很好用。

docker run -it alpine:3.3 sh
apk add --no-cache curl

DOCKER_BUCKET=get.docker.com
DOCKER_VERSION=1.9.1
curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/docker-$DOCKER_VERSION" -o /usr/local/bin/docker
chmod +x /usr/local/bin/docker
docker help
Usage: docker [OPTIONS] COMMAND [arg...]
...

但是,对于Go二进制文件,我要安装。

RACK_BUCKET=ec4a542dbf90c03b9f75-b342aba65414ad802720b41e8159cf45.ssl.cf5.rackcdn.com
RACK_VERSION=1.1.0-beta1
curl -fSL "https://${RACK_BUCKET}/${RACK_VERSION}/Linux/amd64/rack" -o /usr/local/bin/rack
chmod +x /usr/local/bin/rack

rack help
sh: rack: not found

/usr/local/bin/rack help
sh: /usr/local/bin/rack: not found

ls -al /usr/local/bin/
total 43375
drwxr-xr-x    2 root     root          1024 Jan 11 18:10 .
drwxr-xr-x    8 root     root          1024 Jan 11 18:09 ..
-rwxr-xr-x    1 root     root      30222575 Jan 11 18:09 docker
-rwxr-xr-x    1 root     root      14190576 Jan 11 18:10 rack

which rack
/usr/local/bin/rack

我认为这可能与该答案有关,但是在运行ldd时我没有得到相同的错误。

ldd /usr/local/bin/rack
    /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7fdd15cd0000)

在Alpine Linux Docker的路径中找不到安装此Go二进制文件的任何想法吗?

trans by 2020-08-09T11:11:39Z

linux-docker.sock权限被拒绝

当我尝试运行简单的docker命令时,例如:

$ docker ps -a

我收到一条错误消息:

获得权限被拒绝... /var/run/docker.sock:connect:权限被拒绝

当我检查权限

$ ls -al /var/run/

我看到这一行:

srw-rw---- root docker docker.sock

因此,我遵循许多论坛的建议并将本地用户添加到docker组:

$ sudo usermod -aG docker $USER

但这无济于事。 我仍然收到非常相同的错误消息。 我该如何解决?

trans by 2020-08-09T04:52:02Z

linux-如何在文本fi中检测到无效的utf8 unicode / binary

我需要检测存在无效(非ASCII)utf-8,Unicode或二进制字符的文本文件。

�>t�ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½w�ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½o��������ï¿ï¿½_��������������������o����������������������￿����ß����������ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½~�ï¿ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½}���������}w��׿��������������������������������������ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½~������������������������������������_������������������������������������������������������������������������������^����ï¿ï¿½s�����������������������������?�������������ï¿ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½w�������������ï¿ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½}����������ï¿ï¿½ï¿½ï¿½ï¿½y����������������ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½o�������������������������}��

我尝试过的

iconv -f utf-8 -t utf-8 -c file.csv 

这会将文件从utf-8编码转换为utf-8编码,并且-c用于跳过无效的utf-8字符。 但是最后那些非法字符仍然被打印出来。 在Linux或其他语言上的bash中还有其他解决方案吗?

trans by 2020-08-08T19:39:01Z

Tomcat视图catalina.out日志文件

在红帽中

cd /var/lib/tomcat
tail -f logs/catalina.out

我可以在控制台中看到日志。

在Ubuntu中,

cd /var/lib/tomcat6
tail -f logs/catalina.out

控制台中未显示任何内容。

我可以知道是什么问题吗? 我需要查看哪种配置?

trans by 2020-08-08T17:35:44Z

为何在使用dd克隆磁盘时使用conv = notrunc?

如果您查找如何将整个磁盘克隆到网络上的另一个磁盘,则会发现类似以下内容:

dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror

当我理解noerror时,我很难理解为什么人们认为notrunc是“数据完整性”所必需的(例如ArchLinux的Wiki所述)。

确实,我确实同意,如果您要将一个分区复制到另一个磁盘上的另一个分区,而又不想覆盖整个磁盘,则只覆盖一个分区。 在这种情况下,根据dd的手册页,需要notrunc

但是,如果要克隆整个磁盘,则notrunc会为您带来什么变化? 只是时间优化?

trans by 2020-08-07T08:46:36Z

linux-无法在centos 6.5上安装python-dev

无法在centos 6.5上安装python-dev。 Yum说:“没有可用的python-dev软件包。” 请没有图形解决方案。

trans by 2020-08-07T05:23:36Z

linux-在C中打印十六进制的前导零

我正在尝试将MD5哈希的结果打印到控制台,并且在大多数情况下都有效。 为了确保正确性,我使用了在线MD5计算器比较结果。 大多数字符是相同的,但是我的字符中有几个是缺失的,它们都是前导零。

让我解释。 结果是一个16字节无符号char *。 我逐个打印这些字节。 每个字节在屏幕上打印两个字符。 但是,如果两个字符中的第一个字符为零,则不会输出零。

printk("%x", result);

结果的类型为unsigned char *。 我是否正确格式化或缺少某些内容?

trans by 2020-08-06T20:25:35Z

在Linux中创建可执行文件

我打算做的一件事是编写(非常简单的)Perl脚本,并且我希望能够运行它们而无需从终端显式调用Perl。 我对此表示赞赏,我需要授予他们执行权限。 使用chmod做到这一点很容易,但是这似乎是一个稍微费力的额外步骤。 我想要的是以下两件事之一:

首先,在保存文件时是否可以设置执行标志? 目前,我正在尝试使用gedit和geany,但如果具有此功能,则愿意切换到功能类似(或更好)的编辑器。

失败了,有没有办法声明在特定目录中创建的所有文件都应具有执行权限?

据我了解,我的umask设置为022,应该可以,但是看起来文件是作为文本文件(具有666个默认权限)创建的,而不是作为可执行文件(具有777个默认权限)创建的。

也许我只是在偷懒,但是我认为必须有一种更便利的方法,而不是修改一个人创建的每个脚本。

trans by 2020-08-06T20:20:50Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共77页