相关疑难解决方法(0)

所有 Unix 命令都是在 Linux 中重写的吗?

我想知道哪些命令是为 Linux 重写的,哪些是从 Unix 保留的?

linux gnu history

47
推荐指数
1
解决办法
3795
查看次数

ip 与 ifconfig 命令的优缺点

在某些时候,在我遇到的一些关于 Linux 的教学材料(来自 Linux Foundation)中,提到了以下内容:

ipcommand 比ifconfig因为它使用netlink套接字而不是ioctl系统调用更通用和更有效。

任何人都可以详细说明这一点,因为我无法理解引擎盖下发生了什么?

PS 我知道关于这些工具的这个主题,但它没有解决它们如何操作的具体差异

linux networking ip ifconfig

36
推荐指数
2
解决办法
8588
查看次数

是否还有带有 /bin/sh 二进制文件的系统?

/bin/shBourne shell创建于 1977 年,曾经是 Unix 系统的默认 shell。

现在这个文件仍然存在,但主要是作为系统上安装的默认 POSIX 兼容 shell 的符号链接:

  • 在 RHEL/CentOS 上,它指向/bin/bashBourne Again shell
  • 在 Ubuntu Linux 上它指向 /bin/dashDebian Almquist shell
  • 在 Debian 上,它指向/bin/dash(6.0 及更高版本;较旧的 Debian 版本有它指向/bin/bash

这让我很好奇:有没有一个Unix系统或Linux发行版,仍然提供了一个二进制/bin/sh

shell distributions

24
推荐指数
2
解决办法
3581
查看次数

对yash shell中的printf是否是内置命令有点困惑

yash外壳有一个printf内置的,根据其说明书

但是,这是我在yash具有默认配置的shell 中看到的:

$ command -v printf
/usr/bin/printf
$ type printf
printf: a regular built-in at /usr/bin/printf
Run Code Online (Sandbox Code Playgroud)

printf这个shell中是否内置了?结果与许多其他假定的内置实用程序类似,这些实用程序也可用作外部命令。

作为对比,在pdkshksh在OpenBSD,这里printf不是内置的):

$ command -v printf
/usr/bin/printf
$ type printf
printf is /usr/bin/printf
Run Code Online (Sandbox Code Playgroud)

并在bash(其中printf 内置的):

$ command -v printf
printf
$ type printf
printf is a shell builtin
Run Code Online (Sandbox Code Playgroud)

posix shell-builtin printf yash

15
推荐指数
2
解决办法
1056
查看次数

debian su - 和 su $PATH 的区别?

$ su -
Password: 
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# exit
logout
$ su
Password: 
# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Run Code Online (Sandbox Code Playgroud)

我不知道为什么 /bin 和 /sbin 没有添加到$PATH,如果我做普通的 su 。过去就是这样。我怎样才能解决这个问题?我确实注意到:

-rw-r--r-- 1 root root 0 Jan  8  2018 /etc/environment
Run Code Online (Sandbox Code Playgroud)

但除此之外,我的系统似乎很正常。

编辑:我忘了强制性的 uname -a

Linux rpi3 4.17.0-1-arm64 #1 SMP Debian 4.17.8-1 (2018-07-20) aarch64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

编辑2:

$ cat /etc/issue
Debian GNU/Linux buster/sid \n \l
Run Code Online (Sandbox Code Playgroud)

所有的包都来自“测试”repo,因为“稳定”的包在 aarch64 上不能很好地工作。

bash root debian su

11
推荐指数
1
解决办法
1万
查看次数

su vs su -(在 Debian 上):为什么 PATH 相同?

我知道su和之间应该有什么区别su -,但例如在我的系统(Debian)中PATH是相同的:

[root]# su
[root]# echo $PATH
/user_path/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[root]# exit
[root]$ su -
[root@debian ~]# echo $PATH
/user_path/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)

所以我开始认为可以在配置文件中更改设置。

command-line shell su

4
推荐指数
1
解决办法
3948
查看次数

FreeBSD 的双方括号

我有这个代码:

[[ "$1" =~ [/\\]$ ]]
Run Code Online (Sandbox Code Playgroud)

在 linux 上它工作得很好,但是当我在 FreeBSD 上测试它时发生了一个错误:./projekt2.sh: [[: not found它......我有任何替代方法可以在两个系统上工作吗?谢谢

BASH 版本:4.3.30(1)-发布

shell freebsd bash

3
推荐指数
1
解决办法
717
查看次数

Apple 会修改 macOS 附带的 GNU 和 BSD 工具吗?

macOS 自带bash(它是一个 GNU 工具),macOS 还带有像lschmod这样的工具(它们是 BSD 工具,尽管我不知道它们来自哪种 BSD 风格)。

现在 macOS 附带的 GNU 和 BSD 工具是否被 Apple 修改(例如:Apple 是否从中删除了某些功能或向其中添加了一些功能),还是 Apple 没有修改它们?

osx bsd gnu

1
推荐指数
1
解决办法
453
查看次数

标签 统计

shell ×3

bash ×2

gnu ×2

linux ×2

su ×2

bsd ×1

command-line ×1

debian ×1

distributions ×1

freebsd ×1

history ×1

ifconfig ×1

ip ×1

networking ×1

osx ×1

posix ×1

printf ×1

root ×1

shell-builtin ×1

yash ×1