这是我可用的GRUB 菜单引导选项的示例:
1 menu label ^ 1) Xubuntu 14.04.02 LTS
2 menu label ^ 2) Windows 7, x86 & AMD64
3 menu label ^ 3) Windows 8, AMD64
4 menu label ^ 4) Hirens Boot CD 8.8, x86
5 menu label ^ 5) Kali 1.0.7 Live, amd64
Run Code Online (Sandbox Code Playgroud)
为了修复/重新配置/救援没有键盘和屏幕的服务器或机器,能够将远程机器引导到 PXE 网络而无需亲自靠近计算机以在 BIOS 中选择 PXE 选项将非常有用。
将PXE 网络引导选项添加到 GRUB会很棒。就像是:
1 menu label ^ 1) Xubuntu 14.04.02 LTS - Sopalajo Mod, amd64
2 menu label …
Run Code Online (Sandbox Code Playgroud) 我使用 Exim 作为 MTA 来发送电子邮件。如果电子邮件进入收件人的垃圾邮件文件夹,是否可以收到通知?
我正在为客户端调试应用程序,我从数据库中找到了可能是解决方案的信息。我要求客户端提取它,但不幸的是客户端向我发送了十六进制的原始数据......
我要求客户从数据库工具向我重新发送纯文本,但在等待他们的回应我正在寻找一个 bash 解决方案。
我知道编码的数据是 UTF-8 编码的字符串:有没有办法用 Unix 工具解码它?
我有一个学校的任务。其中一部分是检查文件的更改并将这些更改写入日志文件。到目前为止,我已经找到了diff
在我看来可能有帮助的命令。假设我有两个文件,内容如下:
文件 1
orange
apple
Run Code Online (Sandbox Code Playgroud)
文件 2
orange
apple
strawberry
Run Code Online (Sandbox Code Playgroud)
如果我diff -c file1 file2
在这种情况下使用,命令的输出是
*** file1 2016-11-24 08:31:19.424712242 +0100
--- file2 2016-11-24 08:25:24.604681751 +0100
***************
*** 1,2 ****
--- 1,3 ----
orange
apple
+ strawberry
Run Code Online (Sandbox Code Playgroud)
我认为这意味着需要将带有“+”符号的行添加到 file1 中才能使它们相同(?)。
现在假设我将 file1 更改为:
orange
apple
peach
Run Code Online (Sandbox Code Playgroud)
的输出diff -c file1 file2
是:
*** file1 2016-11-24 08:34:50.647128312 +0100
--- file2 2016-11-24 08:25:24.604681751 +0100
***************
*** 1,3 ****
orange
apple
! peach
--- 1,3 ----
orange
apple
! strawberry
Run Code Online (Sandbox Code Playgroud)
在这里我迷路了,因为我不明白这些感叹号是什么意思。突然之间,diff …
是否可以取消设置 $1 变量?如果没有,我无法在man
.
[root@centos2 ~]# set bon jour
[root@centos2 ~]# echo $1$2
bonjour
[root@centos2 ~]# unset $1
[root@centos2 ~]# echo $1$2
bonjour
[root@centos2 ~]#
Run Code Online (Sandbox Code Playgroud)
编辑:
最后,这是我在 man ( man set option double-dash
) 中发现的清空所有位置参数的方法(并且 man 使用了“unset”这个词!):
如果此选项后面没有参数,则位置参数未设置。
[root@centos2 ~]# echo $1
[root@centos2 ~]# set bon jour
[root@centos2 ~]# echo $1$2
bonjour
[root@centos2 ~]# set --
[root@centos2 ~]# echo $1$2
[root@centos2 ~]#
Run Code Online (Sandbox Code Playgroud)
@Jeff Schaller 的回答帮助我理解了这一点。
在以下情况下 ls -alh
total 0
drwxrwx--- 1 user http 20 Nov 30 08:08 .
drwxrws--- 1 user http 310 Nov 30 08:07 ..
drwx------ 1 http http 10 Nov 30 08:08 empty-subdir
drwx------ 1 http http 12 Nov 30 08:08 non-empty-subdir
Run Code Online (Sandbox Code Playgroud)
其中存在两个子目录(不属于我),我将其列为:
sudo ls empty-subdir -alh
total 0
drwx------ 1 http http 10 Nov 30 08:08 .
drwxrwx--- 1 user http 20 Nov 30 08:08 ..
sudo ls non-empty-subdir -alh
total 0
drwx------ 1 http http 12 Nov 30 08:08 …
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在 bash 中设置一个“全局”别名,比如 zsh 的-g别名选项 - 从用户的角度来看不是“全局”,而是从 shell 的角度来看。
我想知道的是:别名(或其他东西?)可以在 bash 的一行中的任何地方替换吗?
例如。:
alias ...='../..'
Run Code Online (Sandbox Code Playgroud) 我需要打印使用最多 CPU 的 10 个进程。我还需要打印他们的 ID,以及他们开始使用的命令。
我发现该命令会ps -ax -u
打印所有进程及其 CPU 使用率。该命令ps -ax -u --sort pcpu
打印所有进程按 %CPU 使用率排序,从最少到最多,但我只需要从最多到最少打印 10 个进程。我必须使用类似的东西sort -r
进行反向排序,但该命令ps -ax -u --sort -r pcpu
会产生错误。
那么,如何进行反向排序并仅打印 10 个进程?
是否有类似的 for dpkg -S <file>
, 但对于配置文件,例如/etc/samba/smb.conf
? dpkg-reconfigure
我猜是在 上生成的。
user@host:~$ dpkg -S /etc/samba/smb.conf
dpkg-query: no path found matching pattern /etc/samba/smb.conf
Run Code Online (Sandbox Code Playgroud) 如果您查看命令的权限集passwd
,您将看到以下内容:
user@apple:~$ ls -l /bin/passwd
-rwsr-xr-x 1 root root 59976 Nov 24 2022 /bin/passwd
Run Code Online (Sandbox Code Playgroud)
/bin/passwd
已设置 SUID 位且其所有者是root
用户。这意味着运行该命令passwd
将以用户的权限运行该命令root
。
鉴于passwd
已经拥有root
用户权限,为什么当我尝试更改另一个用户的密码时会这样说test
:
user@apple:~$ passwd test
passwd: You may not view or modify password information for test.
Run Code Online (Sandbox Code Playgroud)
运行相同的命令,但使用sudo
,让我可以更改密码。这是为什么?