Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Linux_IT技术博客_编程技术问答 - 「Fatal编程技术网」

linux FIFO中的数据似乎丢失了

我有一个bash脚本,它想并行地做一些工作,我把每个工作放在后台运行的子shell中。虽然同时运行的作业的数量应该在一定的限制下,但我通过首先在FIFO中放入一些行来实现这一点,然后在分叉子shell之前,需要父脚本从FIFO中读取一行。只有当它得到一条线后,它才能进入地下室。到目前为止,一切正常。但是当我试图在子shell中读取FIFO中的一行时,似乎只有一个子shell可以获得一行,即使FIFO中显然有更多的行。所以我想知道为什么其他子shell不能读取一行,即使FIFO中有更多行。 我的

Linux 什么是/bin/sh-c?

/bin/sh-c是什么意思?-c做什么?来自bash的手册页: -c字符串 如果存在-c选项,则从字符串读取命令。如果字符串后面有参数,则会将它们指定给位置参数,从$0开始 示例: $ bash -c ls 将启动bash并执行命令ls /bin/sh通常是shell的符号链接。使用-c(命令)返回到第一个shell,而不是打开一个新的shell。 它非常类似于:sudo su-l-c'echo“运行命令并返回” 例如: #sudo su-l knoppix-c'echo“以${USER}的

Linux 自定义Gnome归档管理器7z命令

Archive manager+nautilus对于任何使用归档的工作都非常有用 如果安装p7zip,则完整软件包归档管理器可以使用7z归档 但是Archive manager使用默认设置进行压缩 非常糟糕 javadoc的经典示例: 从下载 但是从man7z和LzmaLib.h我们知道最好的压缩是-mx=9-mfb=273-md=64m 让我们试试: 7z a -t7z -m0=lzma -mx=9 -mfb=273 -md=64m -ms=on javadoc.7z javadoc du -

您能确定谁在linux中读取文件夹的内容吗?

我有一个自己的文件夹,但也有整个组的读取权限。我想知道谁读/复制了这些内容,以及什么时候。是否可以使用脚本或其他方式执行此操作?可用于此操作可用于此操作谢谢。虽然我没有根访问权限,但您的回答还是很有帮助的。谢谢。虽然我没有根访问权限,但您的回答还是很有帮助的。

Linux 给定两个目录树,如何找出哪些文件的内容不同?

如果我想找出两个目录树之间的差异,我通常只执行: diff -r dir1/ dir2/ 这将准确地输出相应文件之间的差异。我只想得到一个内容不同的对应文件列表。我假设这只是将命令行选项传递给diff,但在手册页上找不到任何内容 有什么建议吗?试试: diff--brief--recursive dir1/dir2/ 或者,使用短标志-qr: diff-qr dir1/dir2/ 如果您还想查看两个目录中可能不存在的文件的差异: diff--brief--recursive--新文件dir

在Linux中模拟按下静音/音量增大/音量减小键

我在互联网上读过关于如何在X窗口系统中模拟键盘上的按键。到目前为止,我已经有了一个用C编写的程序,它可以从键盘上的传统按键发送按键事件。但是,我想不出一种方法来模拟某人按下键盘的静音/音量增大/音量减小键 这甚至可能与我在之前的按键操作中使用的XKeyEvent结构无关,因为我在keysymdef.h文件中没有找到任何远程关闭的内容,我认为这些事件会传递到主机操作系统,而不是每个单独的窗口 我还启动了xev,但它并没有给我太多有用的输出(或者至少是我能破解的任何输出) 有人告诉我应该去哪里找吗

Linux Eclipse Helios无法加载玩具插件

我正在尝试安装一个玩具插件,它是我在EclipseHelios20100617-1415中在Fedora12下编写的。尝试安装插件都失败了。该插件在作为Eclipse应用程序执行时确实运行(加载了Eclipse的另一个副本,插件出现在菜单上,并执行它应该执行的操作)。我将插件的jar文件放在/dropins/plugins目录中,在多次重新启动之后,Eclipse未能加载它,并且似乎也不会生成任何错误消息。我还尝试使用Install New Software UI直接加载它,但失败了(在玩具插件

Linux 找不到程序包Libvala

我正在尝试配置monodevelop的最新版本,但我被卡住了。我有libvala的最新版本和之前的版本。有人能给我解释一下吗 checking for LIBVALA... no configure: error: Package requirements (libvala-0.12 >= 0.12) were not met: No package 'libvala-0.12' found Consider adjusting the PKG_CONFIG_PATH environm

Linux Grep:在文本中查找文本

我有9000个PHP文件,其中大部分包含文本foo。我知道我需要的文件在aherdeoc中有文本foo,但它可能与herdeoc的开头或结尾相距数十行,因此grep的-a或-B选项没有帮助 有没有办法执行此搜索?有比grep更好的工具吗 如果相关,这在CentOS 5.2机箱上。是的,我知道操作系统已经过时了 这是一种尝试,首先递归搜索DIR下包含herdeoc的所有.php文件,然后仅将herdeoc中的部分grep为单词FOO。没有涵盖文件中所有可能使用heredoc的情况,但应该缩小结果的

Linux中进程的遍历页表

我试图在linux中导航进程的页面表。在内核模块中,我实现了以下功能: static struct page *walk_page_table(unsigned long addr) { pgd_t *pgd; pte_t *ptep, pte; pud_t *pud; pmd_t *pmd; struct page *page = NULL; struct mm_struct *mm = current->mm; pgd = p

Linux mmap混乱-导致内核挂起

我正在为使用Microblaze作为处理器的嵌入式板构建一个应用程序。我已经为此交叉编译了Linux。主板有512MB内存,但内核只知道256MB(DDR3的下半部分) 这是系统的内存映射: 0x4000_0000 to 0x5FFF_FFFF -> Physical range of DDR3 (verified with cat /proc/meminfo) 0x4000_0000 to 0x4FFF_FFFF -> Known to linux and used by the

Linux imagemagick自动编号从1开始

我可以执行此操作以批量调整和重命名子文件夹中的图像: convert '*.jpg' -resize 256 small/image_%02d.jpg 它将从image_00.jpg 我的问题是,由于外部服务的导入规则,我需要从image\u 01.jpg 我允许吗 否则,实现这一目标最明智的方法是什么 我将ls和反向排序然后重命名添加1我从未尝试过这个,但记得读过一些关于-scene的内容 convert '*.jpg' -resize 256 -scene 1 small/image_%0

Linux 尝试访问新设置的svn目录(apache)时出现错误403(禁止)

我使用以下指南在带有Ubuntu的机器上设置SVN服务器: 但是,当我尝试浏览svn目录时(https://X.X.X.X/svn)我收到一个“403禁止”错误 在error.log文件中,我每次都会得到以下两行: 无法获取资源信息。[403,#0] (2) 没有这样的文件或目录:URI不包含存储库的名称。[403,#190001] 他通过改变来解决这个问题 至 并将行RedirectMatch^(/svn)$$1/添加到配置文件中 但这些解决方案对我来说都没有改变任何事情 如果我浏览htt

Linux 如何解释字段';数据';西玛吉的

我试图了解从XGetImage获取的数据是如何在内存中处理的: XImage img = XGetImage(display, root, 0, 0, width, height, AllPlanes, ZPixmap); 现在假设我想在红、蓝、绿通道中分解每个像素值。我怎样才能以便携的方式完成这项工作?下面是一个示例,但它取决于XServer的特定配置,并不适用于所有情况: for (int x = 0; x < width; x++) for (int y = 0; y &l

Linux 为什么Doxygen会创建这么多空文件夹?

在我的代码库上运行之后,它创建了两个新目录: html和latex 两者都包含文档化文件,以及许多空文件夹: /html ├── d0 │   ├── d00 │   ├── d01 │   ├── d02 │   ├── d03 │   ├── d04 │   ├── d05 │   ├── d06 | ├── ... ├── d1 │   ├── d00 │   ├── d01 │   ├── d02 │   ├── d03 │   ├── d04 │   ├── d05 │   ├──

Linux 当进程死亡时,内核是否删除打开的文件

我正在使用tmpnam()在进程1中生成临时文件名。 打开该文件并将文件名发送到另一个进程2。 另一个进程2打开并写入该文件 但是,我只是想知道如果进程1死亡,该文件是否会被操作系统删除。看起来不像是这样。在这种情况下,我的选项是什么,这样我就不会在进程1结束后有文件挂起。否,当进程结束时,内核不会删除打开的文件 但是,您可以在进程结束之前删除打开的文件,只要保持打开状态,该文件仍将存在。但是,您将无法再按名称打开文件-任何进一步的访问将仅通过open filehandle进行 比如说 fnam

Linux 如何使用shell用字符替换特殊字符

我有一个字符串变量x=tmp/variable/custom sqr sample/test/example 在脚本中,我要做的是将所有“-”替换为/, 在那之后,我应该得到以下字符串 x=tmp/variable/custom/sqr/sample/test/example 有人能帮我吗 我尝试了以下语法 它不起作用 exa=tmp/variable/custom-sqr-sample/test/example exa=$(echo $exa|sed 's/-///g') sed基本上支

Linux 如何删除600 GB的小文件?

这是一个采访问题,他们没有告诉任何关于文件的信息,即:扩展名、隐藏文件?、位置(存储在单个目录或目录树中),因此我对这个问题的第一反应是: rm -fr * 哦,不,等等,应该是: rm -fr -- * 然后我意识到上面的命令无法成功地删除隐藏文件,坦率地说,像和这样的目录可能会造成干扰,我的第二个也是最后一个想法是使用查找的shell脚本 find -depth -type f -delete 我不确定这是否是正确的方法,我想知道是否有更好的方法来完成这项任务。这并不像看上去那么明显:

Linux g_海量存储虚拟usb设备的性能非常低

您好,我正在使用Linux usb小工具来模拟usb闪存驱动器。除了性能非常低外,它工作正常 我使用一个4Gb文件,由dd创建,并在其上创建了一个ext2或vfat(尝试了两者)分区。然后,我使用以下命令序列装载它: # modprobe dummy_hcd is_super_speed=1 # I tried is_high_speed=1, and no parameter too # modprobe g_mass_storage file=/home/del/img/flash stal

linux下后台作业的连续运行

有人能建议我如何在Linux中在后台连续运行作业吗 此作业的任务是检查一些用户帐户,看看它们是否处于活动状态 谢谢, 塔潘 使用格式****命令 这里有一个有用的资源: 使用格式****命令 这里有一个有用的资源:您可以使用@reboot作为时间字段。谢谢您提供的信息。这应该行得通。还有关于如何在Aix服务器中实现同样的功能的想法吗?嗯,我将在不同的服务器上运行它,所以我想检查一下。您可以使用@reboot作为时间字段。谢谢您提供的信息。这应该行得通。还有关于如何在Aix服务器中实现同样的功能的

Linux 列表bash“;绑定-x";绑定

我搜索了manbash,但没有找到列出所有当前bind-x键绑定的任何内容。我有办法做到吗?我尝试了以下方法: $ bind -x '"\C-`":"echo hello"' # test binding: press CTRL+` hello # Binding works! $ bind -p | grep 'hello' # no output $ bind -S # no output 那么,我有没有办法看到所有当前活动的bind-x列表?似乎可以使用bind-x(Bash中新增的4.

Linux centos 6.4命令行问题?

我是CentOS的新手 我的问题是centos中的命令行很奇怪。我可以使用向上箭头只查看上一个命令中的一个,但我不能查看多个(在ubuntu中,我可以多次按向上箭头)。我只能使用“历史记录”查看多个命令 另一件事是我不能像平常一样编辑上一个命令(比如我按一次up键,然后通过键入更多的单词来添加更多的参数)。在centos中,一旦我按下up键,它就会显示命令,然后我必须按下“I”来使用插入模式来编辑命令,“x”来删除一个字符等等。这对我来说太烦人了,因为我熟悉ubuntu。然而,我曾经在其他cen

Linux head是否从stdin中使用其他字符?

当我执行以下head命令时: yes 123456789 | ( head -n 1; head -n 1 ) 我得到: 123456789 3456789 123456789 虽然我希望: 123456789 123456789 这也让我困惑,当我执行: echo -e "123456789\n123456789\n123456789\n123456789\n123456789\n" | \ ( head -n 1; head -n 1 ) 我得到: 123456789 345678

Linux 如何在bash中的某一行之后对文件进行排序?

我正在尝试对文件进行排序,并将输出存储到tmp文件中。这是我的文件的外观: 这是我的文件(没有扩展名) 我知道排序文件的命令是sort-n$PWD/这是我的文件-o tmp,但是如何在--之后开始排序?还有一个后续问题,如果要比较的文件没有扩展名,如何区分文本文件和xml文件?您可以使用: head -n 2 file && tail -n +3 file | sort Names Last_Name_Initial --- Alex G Anderson S Cai

为什么Git在Linux上将CRLF转换为LF?

我有一些shell脚本需要LF行结尾(我在Ubuntu 14.04上)。由于这是一个跨平台的开源项目,因此使用.gittributes文件“自动”使用行尾。不幸的是,他们没有 $ cat .gitattributes # automatically normalize line endings * text=auto 我的文件系统中有以下文件: $ file extract.sh extract.sh: Bourne-Again shell script, ASCII text execut

Linux 在Bash脚本中运行用户安装的二进制文件

与终端不同,我不能在不知道其路径的情况下从bash脚本运行二进制文件(通过包管理器安装)。到目前为止,我一直在使用一种方法来确定那种感觉相当笨拙的东西 APP=( "/usr/bin/my_app" "/usr/local/bin/my_app" "/opt/local/bin/my_app" "/bin/my_app" ) for i in ${APP[*]}; do if [[ -e $i ]]; then eval $i

Linux Gunicorn和Nginx:Can';无法从远程客户端访问

我已经使用gunicorn和nginx通过ssh设置了django应用程序 以下是我的程序: 我使用gunicorn启动web应用程序: sudogunicorn--workers=2-b:8888教程。wsgi:application 我启动nginx:sudo服务nginx启动 以下是conf文件: server { listen 8002; server_name wiser.omk.dk; access_log /home/pikachu/ac

Linux 在Bash中,空间是否被视为元字符?

我在Bash中搜索了元字符列表,但没有登记空格。 我想知道我假设空格是Bash中的“标记分隔符”是否正确,因为它不仅适用于Shell程序或内置程序,而且也适用于通过复合赋值引号转义空格创建数组时,就像其他大多数元字符一样。 不过,它们不能通过反斜杠逃脱。 例如,参数被传递给以空格分隔的程序和函数。 有人能解释bash是如何(以及何时)解释空格的吗?谢谢 我写了一个例子: $ a=(zero one two) $ echo ${a[0]} 零美元 $ a=("zero one two")

Linux 如何确定SCHED_NORMAL使用的时间量?

我试图找出进程调度器使用的时间量的可能价值 使用SCHED_NORMAL,据我所知,默认情况下是CFS kernel.sched_min_granularity_ns = 3000000 。。。及 kernel.sched_latency_ns = 24000000 我是否正确理解时间量子在3到24毫秒之间?我能算出更精确的值吗?也许是通过在循环中调用gettimeofday或其他方式

Linux 将euid和egid转换为用户名和组名

我查看了我的一些系统日志及其关于随机有效用户id和组id错误的声明。例如: Jan 31 13:20:48 server exim[24551]: 2016-01-31 13:20:48 Cannot open main log file "/var/log/exim_mainlog": Permission denied: euid=47 egid=12 我只是想知道是否有一个简单的命令可以在shell中使用,根据数字(在本例中是47和12)识别真实的用户名和组ID 我知道我可以使用chow

Linux etckeeper没有';t将文件自动签出到/etc

为什么自从我升级到Debian Jessie 8.3并编译GIT 2.6.0之后,etckeeper v1.15没有自动将文件签出到/etc 复制步骤: 1) 在本地(Windows 7,git版本2.6.3.Windows.1)创建文件ddd.txt,内容如下: root@local-debian8:/etc# printf "ddd\n" > ddd.txt 2) 用git看 $ git status On branch local_master Your branch is up

Linux 切换到autologin TTY

我在一台机器上设置了自动登录,并修改了.bashrc,使脚本自动运行(例如mplayer播放音乐流) 现在我使用ssh和screen登录。命令w显示自动登录使用的TTY和ssh屏幕会话中的当前TTY 09:58:43 up 18 min, 2 users, load average: 0.11, 0.16, 0.09 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT mi tty1

为什么windows标头和基于linux的标头不同?

我正在用websocket协议开发推送通知机制。我测试了它在两个设备上发送通知,Android和笔记本(Windows和Linux Ubuntu)。我使用Wireshark查看通知包的大小。当我测试它时,我发现有些东西困扰着我。发送到基于Linux的设备(Android和Linux Ubuntu)的数据包大小大于发送到基于Windows的设备的数据包大小。以下是截图: 根据上面的2张图片,我发现基于Windows的头是20字节,基于Linux的头是32字节。为什么两个标题都不同?我需要一些关

Linux 在UNIX中创建透视表

下面是我的输入数据,我正在尝试创建一个透视表 input.txt ID,CreateDate,Category,Region,PublishDate,Code,Listing,Type,ModifiedDate FRU426131598,22-Aug-16,SELLING,COUNTRY,22-Aug-16,1,SAMPLE,GRAPE,22-Aug-16 FRU426175576,23-Aug-16,SELLING,COUNTRY,23-Aug-16,1,SAMPLE,APPLE,23-Aug

Linux 静态链接gcc

是否有任何方法可以构建静态链接的gcc编译器?如果是,我应该使用配置/制造的哪些标志?我希望得到gcc和g++二进制文件 应该是“非动态可执行文件”(在使用ldd检查时 例如,禁用所有共享选项是一个好的开始。然后,可以使用例如--with-stage1-ldflags和--with-boot-ldflags将链接器标志设置为静态链接。 -一些程序员 成功了!这里使用的是配置标志: ../configure --prefix=/home/myuser/soft/gcc-6.2.0/myusr/ -

Linux 当rm文件中仍有硬链接时,inode将标记为";未使用的;?

现在我知道在Linux中文件删除是如何工作的了 在ext2中,它标记为“unused”,而在ext3中,它不仅标记为“unused”,而且还将大小、块指针更改为零 但我想知道,当我创建一个指向文件的硬链接,然后删除原始文件时,inode会被标记为“unuse”吗? 或者它会发生,直到所有的硬链接被删除 谢谢。i节点包含链接计数(在ls-l输出中可见)。每个硬链接都会增加该计数。取消链接(删除链接,无论是原始文件名->索引节点链接,还是后来添加的硬链接,这是用户唯一可以请求的)会减少计数。在计数达

linux中无./configure或makefile的编译程序

我已经从这里下载了Nexus-4.1.6.tar.gz 我把它解压缩到我的主文件夹,但我不知道如何编译它 文件夹目录: CMakelist.txt doc/ html/ 许可证 README.md README.txt src/ 普通/ nxsbuild/ nxsedit/ nxsview/ nxszip/ 这些文件包含.ccp和.h文件 我找不到./configure或make 欢迎任何想法。您需要使用CMake并创建特定于平台的构建格式,在您的情况下(linux)是一个Makefile。您需

Linux &引用;性能";-计算每个方法的指令数

我想计算代码中每个函数调用的动态指令数,这样我就可以将该计数器视为: name of function | instructions foo() | 3533 bar() | 1234 int foo(int a, int b) { return a << (10 + b); } 因此,以下分问题: 这是否可以使用perf 如果是:我应该使用什么类型的perf标志来获取(至少)这些信息 如果否:我可以使用什么

Linux 我可以打印“打印”吗;说明“;RPM包信息字段仅在一行中

我需要获取一些RPM包的信息,然后解析它们,所以我使用RPM-q--qf[FORMAT][package]命令 它工作得很好,但是包的description字段总是在多行上,这使得我的解析工作更加困难。有没有办法只在一行中以特定格式获取此字段 这是我当前的格式字符串:Name:%%{Name}\n版本:%%{VERSION}\n版本:%%{RELEASE}\n体系结构:%%{ARCHITECTURE}\n安装日期:%%{INSTALLTIME:Date}\n说明:%%{DESCRIPTION}\

Linux Docker正在启动cron服务,但当打开终端时,它不再运行了?

我有一个简单的Dockerfile和docker compose设置来测试容器中的cron 最后一步是启动cron,我得到消息cron has started,但是当我登录到容器并检查cron服务的状态时,它没有运行。这怎么可能 我相信我误解了一些事情,但不清楚到底是什么 Dockerfile: FROM ubuntu:bionic # Create the log file to be able to run tail RUN touch /var/log/cron.log # Insta

Linux perl-打印sql行

我想打印perl脚本的所有sql结果,我已经连接到数据库,我想显示sql查询的结果: MySQL("SELECT * FROM test"); # define subroutine to submit MySQL command sub MySQL { #Connect to the database. my $dbh = DBI->connect("DBI:mysql:database=database;host=ip", "login", '

Linux HW数据包时间戳意外抖动

我在这篇文章中使用了Stargateur提出的代码,效果非常好(谢谢!!!) 我用它来比较另一台机器上NIC1的tx时间戳和NIC2的rx时间戳,两者都与1米长的电缆直接相连。 我希望两个时间戳之间的差接近一个常数(对应于时钟差+通过NIC和电缆的时间旅行) 然而,我在测量之间得到了一个巨大的抖动(时间戳之间的差异有几百毫秒的变化) 知道哪里出了问题吗 谢谢

Linux Grep一次处理多个表达式,输出匹配到单独文件中的每个表达式

我想在top实用程序上使用grep。反复浏览top5次,以下是我的标准: grep在top输出上一次通过两个不同的表达式 表达式1:grep获取cpu总使用量的行,然后将其输出到文件:cpu_stats.txt 表达式2:grep获取关于总体内存使用情况的行,然后将其输出到文件:memory\u stats.txt 以下是我现在拥有的: top -b -n 5 | egrep "\%Cpu\(s\):|KiB Mem :" > both_cpu_and_memory.txt 这成功地

如何在linux中的自定义目录中安装minishift

在尝试启动minishift时,它会自动更新主目录中的缓存 /home/abc/.minishift/cache/..... 但是,我希望minishift使用自定义目录,而不是默认的主目录,因为空间不足 这可以通过在./minishift启动期间更改任何参数来实现吗 也尝试了codeready容器,但它会复制到默认的主目录中 FATA Failed to copy embedded 'crc_libvirt_4.5.1.crcbundle' from /opt/data/crc-linux-

Linux 如果目标文件夹中还包含同名文件,请移动文件并对其重命名

对不起,我的英语不好。我想将文件从桌面移动到用户的输入目标。 如果目标也有一个同名的文件,我如何要求用户重命名该文件,以便他可以将它们都放在目标文件夹中? 我现在有这个: #!bin/bash echo "path" read path echo "Do you want to move code files somewhere else?" read -t 5 y if [[ $y = 'yes' ]] ; then echo "Tell me

Linux 屏幕命令不显示';我不能在容器里工作

我最近和Docker一起玩,我决定开始一个有趣的项目,所以我有一个Docker文件: # Base Image FROM debian:buster # Making steam directory RUN mkdir /home/cs &&\ mkdir /home/Resources &&\ mkdir /home/Resources/steamcmd &&\ mkdir /home/Resources/rehlds