当我们只使用文本模式时,午夜指挥官是一个非常有用的工具。但有时我必须查看文件夹中的所有隐藏文件(以“.”开头的文件),这让我感到困扰。
我试图找到如何自己改变一些配置,然后查看手册页。但我没有成功。
有谁知道我该怎么做?
假设我已经声明了以下变量:
$ var='$test'
$ test="my string"
Run Code Online (Sandbox Code Playgroud)
如果我打印它们的内容,我会看到以下内容:
$ echo $var
$test
$ echo $test
my string
Run Code Online (Sandbox Code Playgroud)
我想找到一种方法来打印内容的内容$var(即 的内容$test)。所以我尝试执行以下操作:
$ echo $(echo $var)
$test
Run Code Online (Sandbox Code Playgroud)
但这里的结果是$test而不是"my string"......是否可以使用bash打印变量内容的内容?
我理解管理的Linux权限与概念chmod使用的第一个数字作为用户,第二个作为组和第三为其他用户如在描述这个答案中了解UNIX权限和文件类型。
比方说,我有一个Linux系统具有5个用户:admin,usera,userb,userc和guest。默认情况下,用户usera,userb和userc对里面的所有文件都有执行权限/usr/bin,因此这些用户可以使用系统的命令行执行里面的文件,因为这些文件有 75 5权限。到目前为止完全没问题。但是,我想禁止用户guest执行文件夹上的文件/usr/bin,我知道我可以通过将这个文件夹中所有文件的权限更改为 750 之类的东西来实现这一点chmod,但是如果我这样做,我会搞砸用户的权限usera,userb而且userc因为它们也将禁止执行文件。
在我的电脑中,所有文件/usr/bin都属于集团root,所以我知道我可以创建一个newgroup,该组中的所有这些文件的改变,并添加usera,userb并userc到newgroup。但是这样做听起来像是对系统默认设置进行了太多修改。有谁知道解决这个问题的更聪明的方法?
PATH如果没有需要更改太多文件权限的过于复杂的解决方案,如何禁止单个用户使用命令行(或在 上执行任何文件)?
在运行 Raspbian 服务器的Orange Pi Zero上,只需以echo 1 > /dev/watchdogroot 身份运行命令即可轻松使用看门狗。这个想法是,执行此命令一段时间后系统肯定会重新启动,因此我需要定期重复此命令以保持系统开启。我们可以使用cronroot 身份实现一个看门狗,并使其在启动时执行以下脚本:
#!/bin/bash
while [ true ]; do
echo 1 > /dev/watchdog
sleep 5
done
Run Code Online (Sandbox Code Playgroud)
该脚本在 Orange Pi Zero 上运行良好...但是,在我运行 Ubuntu 18.04 的台式计算机上,该命令echo 1 > /dev/watchdog根本不起作用。是否可以在任何运行 Linux 的设备上激活看门狗?
使用fdisk -l命令我得到以下答案:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 28266495 14132224 27 Hidden NTFS WinRE
/dev/sda2 28268544 28473343 102400 7 HPFS/NTFS/exFAT
/dev/sda3 28473344 132552703 52039680 7 HPFS/NTFS/exFAT
/dev/sda4 * 132556798 625141759 246292481 5 Extended
/dev/sda5 193996800 198092799 2048000 82 Linux swap / Solaris
/dev/sda6 234960896 625141759 195090432 7 HPFS/NTFS/exFAT
/dev/sda7 198094848 234950316 18427734+ 83 Linux
/dev/sda8 132556800 183756018 25599609+ 83 Linux
Run Code Online (Sandbox Code Playgroud)
我想使用该dd命令将磁盘的前三个分区复制到映像中。所以我安装了一个外部硬盘驱动器,进入它的文件夹并输入:
# dd count=$((132552703-2048)) if=/dev/sda of=./newImage.image
Run Code Online (Sandbox Code Playgroud)
但是此命令将所有 sda 磁盘复制到我的外部硬盘驱动器,而不是仅复制到 sda3 分区的末尾。
如何使用 …
我在 Ubuntu 上创建了以下可以暂停和启动特定进程的脚本:
#!/bin/bash
loopProcess () {
COUNTER=0
while [ true ]; do
echo $COUNTER
sleep 1
let COUNTER=COUNTER+1
done
}
loopProcess &
pidLoopProcess="$!"
while [ true ]; do
read -p "" state
if [ "$state" == 'a' ]; then
echo "Process is running"
kill -CONT "$pidLoopProcess"
elif [ "$state" == 'b' ]; then
echo "Process is sleeping"
kill -STOP "$pidLoopProcess"
fi
done
Run Code Online (Sandbox Code Playgroud)
演示它是如何工作的:
我想知道是否可以使用命令行检查特定进程何时运行或休眠。伪代码将是这样的:
if [ "$(StatePID $pidLoopProcess)" == 'sleeping' ]; …Run Code Online (Sandbox Code Playgroud) bash ×2
chmod ×1
command-line ×1
dd ×1
dot-files ×1
echo ×1
file-manager ×1
filenames ×1
linux-kernel ×1
mc ×1
partition ×1
path ×1
permissions ×1
process ×1
raspbian ×1
shell ×1
shell-script ×1
variable ×1
watchdog ×1