Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

2
如何区分文件并从命令输出?
通常您会写: diff file1 file2 但是我想比较一个文件并从命令中输出(这里我使命令变得微不足道): diff file1 <(cat file2 | sort) 好的,当我在shell提示符下手动输入此命令时,此工作有效,但是当我在shell脚本中放入完全相同的行,然后运行该脚本时,出现错误。 因此,问题是-如何正确执行此操作? 当然,我想避免将输出写入临时文件。


5
如何下载软件包而不用apt-get命令安装?
sudo apt-get install pppoe 将下载pppoe并安装软件包。 是否可以只下载pppoe软件包而不用apt-get命令安装? wget http://ftp.us.debian.org/debian/pool/main/p/ppp/ppp_2.4.7-1+4_amd64.deb ppp_2.4.7-1+4_amd64.deb 现在在当前目录中。 cd /tmp sudo apt-get install -d ppp Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: ppp 0 upgraded, 1 newly installed, 0 to remove and 95 not upgraded. Need to …
32 apt  download 

7
Shebang中的多个论点
我想知道是否存在通过shebang行(#!)将多个选项传递给可执行文件的一般方法。 我使用NixOS,在我编写的任何脚本中,shebang的第一部分通常是/usr/bin/env。然后我遇到的问题是,系统将所有后续内容解释为单个文件或目录。 例如,假设我想编写一个bash在posix模式下执行的脚本。编写shebang的幼稚方式是: #!/usr/bin/env bash --posix 但是尝试执行生成的脚本会产生以下错误: /usr/bin/env: ‘bash --posix’: No such file or directory 我知道这篇文章,但我想知道是否有更通用,更清洁的解决方案。 编辑:我知道对于Guile脚本,有一种方法可以实现我想要的内容,在手册的4.3.4节中进行了介绍: #!/usr/bin/env sh exec guile -l fact -e '(@ (fac) main)' -s "$0" "$@" !# 这里的窍门是,第二行(以开头exec)被Guile解释器解释为代码,sh但在#!... !#块中但作为注释,因此被忽略。 不可能将这种方法推广到任何解释器吗? 第二次编辑:经过一番摸索之后,对于可以从中读取输入内容的解释器来说stdin,以下方法可行: #!/usr/bin/env sh sed '1,2d' "$0" | bash --verbose --posix /dev/stdin; exit; 但是,这可能不是最佳的,因为该sh过程一直持续到口译员完成工作为止。任何反馈或建议,将不胜感激。

2
如何列出所有正在运行的守护程序?
从我的问题来看,很明显我无法轻松确定service --status-all守护程序的功能。我在不同的文章中以及在不同的论坛中都读到了可以使用command列出系统中所有守护程序的内容。但是我不认为该命令列出了所有守护程序,因为该命令未列出NetworkManager当前正在Ubuntu 14.04系统中运行的守护程序。是否有一些命令列出正在运行的守护程序,或者是否有某种方法可以从filesystem自身中查找守护程序?
32 services  daemon 

5
将解压缩的文件添加到压缩的文件夹
我正在尝试将解压缩的文件添加到现有的已压缩文件夹中new folder.zip。zip -r new folder.zip将一些解压缩的文件添加到文件后,是否可以使用?此命令会压缩文件夹吗?还有其他选择吗?
32 zip  mv 

2
如何配置Centos 7 FirewallD以允许Docker容器自由访问主机的网络端口?
我在CentOS 7上安装了docker,并且正在运行firewallD。 从容器内部转到主机(默认为172.17.42.1) 启用防火墙 container# nc -v 172.17.42.1 4243 nc: connect to 172.17.42.1 port 4243 (tcp) failed: No route to host 关闭防火墙 container# nc -v 172.17.42.1 4243 Connection to 172.17.42.1 4243 port [tcp/*] succeeded! 我已经阅读了关于firewalld的文档,但我并不完全理解它们。有没有一种方法可以简单地允许docker容器中的所有内容(我猜是在docker0适配器上)不受限制地访问主机?

5
列出外壳程序知道的所有命令
我可以在bash将列出所有可识别命令的外壳程序(恰好是)上键入什么? 另外,这在外壳方面是否有所不同?还是所有的shell都只有它们识别的命令的“目录”? 其次,另一个问题,但是我该如何覆盖那些问题呢?换句话说,我该如何编写自己的view命令来替换Ubuntu系统上现有的命令,该命令似乎只是在加载vim。
32 shell  command 


2
为什么目录/ home,/ usr,/ var等都具有相同的inode号(2)?
我发现在我的根目录下,有一些目录具有相同的inode编号: $ ls -aid */ .*/ 2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/ 我只知道目录的名称保存在父目录中,而它们的数据保存在目录本身的inode中。 我在这里很困惑。 这就是我跟踪路径名/ home / user1时的想法。 首先,我进入inode 2,它是包含目录列表的根目录。 然后,我发现名称home与inode 2配对。 所以我回到磁盘上查找inode 2? 我在这里得到的名字是user1?

1
为什么/ usr / sbin中的可执行文件可以由root写入?
您能否解释一下为什么二进制编译文件(例如/usr/sbin)对root用户具有写权限? 对我来说,这是编译的。这意味着直接写入没有用,并且可能以某种方式使文件暴露于某些安全问题。 脚本(例如bash文件)可能是可写的,因为它基本上是文本文件,但是据我所知,为什么实际上不需要写入的编译文件也是如此? 预先感谢您的反馈。

3
ping localhost和ping 127.0.0.1有什么区别?
执行以下操作以禁用ping答复后: # sysctl net.ipv4.icmp_echo_ignore_all=1 # sysctl -p 我从ping localhost与127.0.0.1得出了不同的结果 # ping -c 3 localhost PING localhost(localhost (::1)) 56 data bytes 64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.029 ms 64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.035 ms 64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.101 ms --- localhost ping …
31 ping  sysctl 

3
每天都会运行名称为“ Carbon”的奇怪服务,并占用100%CPU
最近几周,我的Ubuntu测试服务器上发生了奇怪的活动。请从htop检查以下屏幕截图。每天,这种奇怪的服务(似乎是一种加密货币挖掘服务)正在运行并占用100%的CPU。 我的服务器只能通过ssh键访问,并且密码登录已禁用。我试图找到任何具有此名称的文件,但找不到任何文件。 您能帮我解决以下问题吗 如何从进程ID查找进程位置? 我如何彻底删除它? 知道这怎么可能进入我的服务器吗?该服务器主要运行少数Django部署的测试版。


2
kill,pkill和killall有什么区别
我熟悉kill命令,大多数时候我们只使用kill -9强制杀死一个进程,还有很多其他的信号可以使用kill。但是我不知道pkilland 的用例是什么killall,如果已经有kill命令。 这样做pkill并killall使用kill在执行命令?我的意思是说,它们只是包装器kill还是它们自己的实现? 我也想知道pgrep命令如何从进程名称中获取进程ID。 所有这些命令都使用相同的基础系统调用吗?从性能角度来看,哪个更快?

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.