Articles of Linux操作系统

如何通过SFTP将远程服务器上的LS的输出传输到本地文件系统?

我通过命令行通过SFTPlogin到远程服务器。 我所在的文件夹包含数十万个文件。 我需要在文本文件中获取这些文件的列表,以便我可以通过编程访问它们,因为没有一个PHP SFTP客户端能够返回如此庞大的文件列表。 当我在目录上运行ls (在SFTP会话中)时,文件列表最后显示大约需要20分钟。 我没有这个服务器上的写访问权限,所以我不能将输出传送到远程服务器上的一个文件。 我怎样才能输出到我的本地机器上的文本文件…或获取文件列表到我的本地机器一些其他方式?

我怎么能暂停,然后恢复呼叫`睡眠`

调用sleep(10)意味着睡眠指定的秒数。 当我input“睡眠10”时,我想等待10秒钟,但是当我在睡眠命令之后立即使用CTRL-Z(或发送SIGTSTP )时,它不会停止“定时器”(或计数器),即使进程已经停止。 我可以通过jobs看到sleep已经改变为STOPPED但是如果我等待10秒,然后将这个过程发送到前台,它将立即完成 ,即使它运行的时间less于10秒。 所以,我的问题是如何停止睡眠定时器运行? 更新 ::我现在明白,睡眠是使用挂钟时间,所以我怎么能用一个用户cpu时间来实现睡眠

旧的ARM32二进制文件可以在AARCH64内核上运行吗?

我很好奇在AARCH64-Linux机器上运行旧的ARM32-Linux程序的可行性,我进行了一些实验: 写一个程序“Hello,World!” 并用arm-none-linux-gnueabi-gcc和aarch64-linux-gnu-gcc静态编译。 静态构build并使用busybox和aarch64编译器创build一个虚拟硬盘。 把2“你好,世界!” 程序(在ARM32和AARCH64中)到ramdisk。 用vexpress_defconfig和aarch64编译器构build一个简单的AARCH64-Linux内核。 使用qemu-system-aarch64运行内核和ramdisk。 (包括ramdisk中的busybox在内的所有二进制文件都是静态编译的。) 结果: “你好,世界!” 程序在AARCH64被成功执行。 “你好,世界!” 程序在ARM32不能运行,但显示消息: 第1行:语法错误:意外的词(期待“)”) 有解决上述问题的build议或专业知识吗?

shell如何处理无限循环

无论何时我需要限制shell命令输出,我使用较less的分页结果: cat file_with_long_content | less 这工作得很好,但是我很好奇,即使输出永远不会结束,仍然可以工作,请考虑在inf.sh文件中使用以下脚本: while true; do date; done 然后我跑 sh inf.sh | less 而且它仍然可以对结果进行重新分页,所以说pipe道输出结果而不是等待命令完成才能输出结果是正确的吗?

Shell脚本问题,包含空格的文件名

我知道处理文件名空间的一种方法是用单引号括起文件名:“'”。 为什么下面的代码叫做“echo.sh”,在包含带空格的文件名的目录下工作,但程序“ls.sh”不起作用,唯一的区别是'echo'被'ls'replace? echo.sh #!/bin/sh for f in * do echo "'$f'" done 生产 : 'ABC' “高清” 'echo.sh' 'ls.sh' 但是,“ls.sh”失败: #!/bin/sh for f in * do ls "'$f'" done 生产 : ls:不能访问'ab c':没有这样的文件或目录 ls:不能访问'de f':没有这样的文件或目录 ls:不能访问'echo.sh':没有这样的文件或目录 ls:不能访问'ls.sh':没有这样的文件或目录

不能创build/ dev / stdout:没有这样的设备或地址

我想通过节点运行一个shell命令并捕获stdout的结果。 我的脚本在OSX上正常工作,但不在Ubuntu上。 我已经将问题和脚本简化为以下节点脚本: var execSync = require('child_process').execSync, result = execSync('echo "hello world" >> /dev/stdout'); // Do something with result 结果是: / bin / sh:1:不能创build/ dev / stdout:没有这样的设备或地址 我试图用/dev/stdout /dev/fd/1replace/dev/stdout 我已经尝试将shell更改为bash … execSync('echo …', {shell : '/bin/bash'}) 就像我说的,上面的问题被简化了。 真正的脚本接受作为参数的结果应写入文件的名称,所以我需要通过提供对stdoutstream作为文件描述符(即/dev/stdout访问来解决此问题。 我怎样才能通过节点执行命令,同时给命令访问它自己的标准输出stream?

Yocto为preempt_rt构build

我正在为beaglebone黑色构build一个定制的内核。 遵循本指南( http://android.serverbox.ch/?p=1273 ),我可以使用基本映像成功启动到控制台。 当我尝试使用命令构build实时内核修补程序时: bitbake core-image-rt 我收到以下错误消息: Loading cache: 100% |###############################| ETA: 00:00:00 Loaded 1222 entries from dependency cache. Parsing recipes: 100% |#############################| Time: 00:00:00 Parsing of 862 .bb files complete (861 cached, 1 parsed). 1221 targets, 61 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies NOTE: multiple providers are […]

如何将OCI8安装到现有的PHP?

根据这个 (从PECL安装OCI8,自动化),我所要做的就是inputpecl oci8 install 。 但是,这只会让我重复以下的错误。 No releases available for package pecl.php.net/oci8 。 另一个网站build议我试试pear install pecl/oci8 。 同样的错误发生。 我该如何解决这个问题?

为什么每次保存文件时vim都会创build一个新文件?

我有一个名为test的文件: [test@mypc ~]$ ls -i 4982967 test 然后我使用vim来更改它的内容并input:w来保存它。 它现在有一个不同的inode: [test@mypc ~]$ ls -i 4982968 test 这意味着它已经是一个不同的文件,为什么VIM将它保存到另一个文件,我使用:w保存到orinial之一? 你看,echo到一个文件不会改变inode,这是预期的: [test@mypc ~]$ echo v >> test [test@mypc ~]$ ls -i 4982968 test

如何使用bash监视目录中新创build的文件?

我有一个由大量日志文件组成的日志目录,一旦系统事件发生,就会创build一个日志文件。 我想写一个总是监视文件列表并在terminal上显示新创build文件的内容的online bash脚本。 这是它的样子: 目前,我所拥有的只是显示整个目录的内容: for f in *; do cat $f; done 它缺乏我想要的监视function。 我的系统的一个局限是我没有 watch命令。 我也没有任何包pipe理器来安装花哨的工具。 原始的BSD是我所有的。 我有tail ,我正在想像tail -F $(ls)但这尾巴每个文件,而不是文件列表。 总之,我想修改我的脚本,以便我可以监视所有新创build的文件的内容。