Questions tagged «linux»

这些问题通常与Linux有关-并非特定于特定发行版。如果问题恰好在Linux环境中,请在问题正文中指定Linux发行版,但不要使用/ linux标记。

3
回显或打印/ dev / stdin / dev / stdout / dev / stderr
我想打印/ dev / stdin,/ dev / stdout和/ dev / stderr的值。 这是我的简单脚本: #!/bin/bash echo your stdin is : $(</dev/stdin) echo your stdout is : $(</dev/stdout) echo your stderr is : $(</dev/stderr) 我使用以下管道: [root@localhost home]# ls | ./myscript.sh [root@localhost home]# testerr | ./myscript.sh $(</dev/stdin)似乎只起作用,我还在人们使用的其他一些问题上发现:"${1-/dev/stdin}"尝试失败。

2
chmod与ACL之间的区别
我的理解chmod和chown如何权限位的工作,但还有另一种许可系统内部的Linux,ACL与setfacl和getfacl,所以这让我不知道。 这两个权限控制系统之间有什么区别?他们会互相干扰吗?
13 linux  permissions  chmod  acl 

2
如何为网络设备创建别名?
我正在尝试运行一个使用许可证管理器的特定软件,该软件还没有注意到较新的Linux发行版不再命名其网络设备eth0。它正在尝试验证MAC地址,但是由于ens1在Centos 7上调用了我的NIC,因此无法正常工作。 该软件的供应商已将此问题固定在另一台计算机上,我想了解他们是如何做到的。他们为其创建了某种别名,ens1以便许可证管理器可以eth0再次查找。 如果我这样做ifconfig -a,别名根本不会显示,但是在显式调用时可见ifconfig eth0。使用该ip link命令可以看到以下内容: eth0@ens1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT link/ether [mac address] brd ff:ff:ff:ff:ff:ff 他们在这里究竟做了什么?如何在另一台计算机上重新创建这种别名?

4
Bash脚本等待进程并获取返回码
我正在尝试创建一个脚本,它将启动许多后台命令。对于每个后台命令,我需要获取返回码。 我一直在尝试以下脚本: #!/bin/bash set -x pid=() return=() for i in 1 2 do echo start $i ssh mysql "/root/test$i.sh" & pid[$i]=$! done for i in ${#pid[@]} do echo ${pid[$i]} wait ${pid[$i]} return[$i]=$? if [ ${return[$i]} -ne 0 ] then echo mail error fi done echo ${return[1]} echo ${return[2]} 我的问题是在等待循环中,如果第二个pid在第一个pid之前完成,我将无法获得返回代码。 我知道我可以运行wait …
13 linux  bash  process  array 



2
groupadd允许使用哪些组名?
我按照这些指示信息来构建Shadow,它提供了groupadd命令。我现在在尝试此操作时遇到错误: $ groupadd automake1.10 groupadd: 'automake1.10' is not a valid group name 我检查了字母数字名称,它们正常工作。
13 linux  users  group  useradd 

1
如何设置和了解fs.notify.max_user_watches
我不明白设置的最佳方法fs.inotify.max_user_watches有sysctl。实际上,除了需要设置特定进程可以监视的文件数量之外,我对这里发生的事情了解得不多。 我相信我可以通过运行以下命令来查看最大用户数: cat /proc/sys/fs/inotify/max_user_watches 我的理解是,有人建议/proc/sys/fs/inotify/max_user_watches通过/etc/sysctl.conf在编辑器中打开并将其添加到其中来进行更改: fs.inotify.max_user_watches=524288 然后运行sudo sysctl -p-大概-处理对该文件所做的更改。 其他建议运行这样的命令: sudo sysctl -w fs.inotify.max_user_instances=1024 sudo sysctl -w fs.inotify.max_user_watches=12288 我知道那-w代表写,但是正在写什么,写在哪里?只是该命令发生了变化/proc/.../max_user_watches? 上面概述的两种方法中哪一种最好?据我所知,524288和12288是不同的数字,但我不明白的运行效果之间的差异-p和-w。
13 linux  sysctl 

1
修复ulimit:打开文件:无法修改限制:不允许操作
我在不同的GNU / Linux安装上对此进行了测试: perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}' 系统A和D 我遇到的第一个限制是1024。可以通过将其放入/etc/security/limits.conf来轻松提高它: * hard nofile 1048576 然后运行: ulimit -n 1048576 echo 99999999 | sudo tee /proc/sys/fs/file-max 现在测试进行到1048576。 但是,看来我无法将其提高到1048576以上。如果我将1048577放入limits.conf中,将被忽略。 是什么原因造成的? 系统B 在系统BI上甚至无法达到1048576: echo 99999999 | sudo tee /proc/sys/fs/file-max /etc/security/limits.conf: * hard nofile 1048576 在这里我得到: $ ulimit -n 65537 …

3
如何在Linux中将AT命令发送到调制解调器?
在Linux(Ubuntu)中,我尝试将AT命令发送到的调制解调器/dev/ttyACM0。我试图这样做: sudo socat - /dev/ttyACM0 但是在键入任何内容时,我只会得到一行重复此命令的代码(我希望是OK)。 当我做 sudo minicom modem1 它似乎有效。我输入AT并得到OK。我输入一些废话,我得到一个ERROR。 看来modem1minicom已通过某种方式配置为使用调制解调器/dev/ttyACM0。 如何使用socat发送AT命令?我需要配置一些东西吗?也许我可以使用modem1minicom的配置(我不知道如何查找/查看此配置)? 附加信息 给定的socat命令正确吗?我应该选择一些选项吗?使用该-v选项,我看到以下内容: AT > 2013/10/23 17:10:28.917413 length=3 from=0 to=2 AT < 2013/10/23 17:10:28.921598 length=3 from=0 to=2 AT AT ksjdhfjdgfhjkdfh > 2013/10/23 17:10:30.244923 length=17 from=3 to=19 ksjdhfjdgfhjkdfh < 2013/10/23 17:10:30.251383 length=29 from=3 to=31 ksjdhfjdgfhjk\b \bd\b \bf\b \bh\b \b …

2
Bash启动脚本?(Linux)
有什么方法可以在重新启动时制作/运行bash脚本(例如在Debian / Ubuntu中,因为那是我家里的两个盒子所拥有的) 此外,是否有推荐的指南进行cron工作?我是他们的新手(但它们会很有用)
12 linux  boot  cron  scheduling 


2
动态链接器/加载器本身如何像`file`所报告的那样动态链接?
考虑的共享对象相关性/bin/bash,其中包括/lib64/ld-linux-x86-64.so.2(动态链接器/加载器): ldd /bin/bash linux-vdso.so.1 (0x00007fffd0887000) libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f57a04e3000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57a04de000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57a031d000) /lib64/ld-linux-x86-64.so.2 (0x00007f57a0652000) 检查/lib64/ld-linux-x86-64.so.2表明它是与以下内容的符号链接/lib/x86_64-linux-gnu/ld-2.28.so: ls -la /lib64/ld-linux-x86-64.so.2 lrwxrwxrwx 1 root root 32 May 1 19:24 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.28.so 此外,file报告/lib/x86_64-linux-gnu/ld-2.28.so本身可以动态链接: file -L /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, …


1
Linux是否有系统调用来访问其支持的文件系统的所有功能?
Linux支持许多文件系统(例如:ext3,NTFS,FAT32等)。 下图显示了Linux如何允许进程访问文件: 因此,假设有一个称为read()系统调用的过程来读取文件,将发生的事情是将访问VFS层,并且VFS层将根据文件所要分区的文件系统来决定访问哪个文件系统驱动程序。被读取驻留。 Linux提供了许多系统调用来访问文件(例如:read(),write(),rename()等)。 现在,read()和write()与rename()所有的文件系统Linux支持工作。 但是有些特定功能仅在某些文件系统上存在,而在其他文件系统上不存在。例如:在NTFS文件系统上,您可以将文件的“ 存档”位置1,而在ext3文件系统上则不能。 现在我的问题是,Linux是否有系统调用来访问其支持的文件系统的所有功能?例如:Linux是否有系统调用来为NTFS文件系统上的文件设置存档位?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.