可能的重复:
从脚本中查找分区
的文件系统 如何通过终端显示文件系统类型?
我正在寻找一个命令,它产生文件系统类型,就像mount使用/检测它一样,而不实际安装它。它也应该适用于例如 LUKS 加密设备(file -s产生“LUKS 加密文件”而不是“crypto_LUKS”)。肯定有比解析fsck -N /dev/whatever输出更方便的方法(根据相应的存在,可能会使用 stderr fsck.TYPE)?
说我有这个文件:
hello
world
hello world
Run Code Online (Sandbox Code Playgroud)
这个程序
#!/bin/bash
for i in $(cat $1); do
echo "tester: $i"
done
Run Code Online (Sandbox Code Playgroud)
产出
tester: hello
tester: world
tester: hello
tester: world
Run Code Online (Sandbox Code Playgroud)
我希望for对每一行进行迭代,分别忽略空格,即最后两行应替换为
tester: hello world
Run Code Online (Sandbox Code Playgroud)
使用引号for i in "$(cat $1)";会立即i分配整个文件。我应该改变什么?
符号链接到目录会产生不同的结果,ls -l具体取决于 Iln -s dir或ln -s dir/. 但实际的区别是什么,为什么我应该更喜欢哪一个?
例如检查是否$PWD是/home 的子目录。换句话说,我正在寻找一个 bash 字符串操作来检查一个字符串是否以另一个字符串开头。
我想要一个脚本休眠,除非某个文件被修改/删除(或者在某个目录中创建的文件,或者......)。这可以以某种优雅的方式实现吗?我想到的最简单的事情是在再次检查状态之前休眠一段时间的循环,但也许有更优雅的方法?
如果我是 root,我可以简单地创建一个虚拟用户/组,相应地设置文件权限并以该用户身份执行该过程。但是我不是,所以有没有办法在没有root的情况下实现这一目标?
由于现代 PC 可以同时使用两个屏幕,我想知道是否可以插入两个键盘和鼠标,让两个屏幕同时运行两个(或多或少)独立的 X 会话?
假设有两个密钥A和B,它们都对user@host公钥身份验证有效。由于authorized_keys根据密钥配置为不同的行为,因此~/.ssh/config在客户端使用类似
Host A.host
HostName host
User user
IdentityFile ~/.ssh/A
Host B.host
HostName host
User user
IdentityFile ~/.ssh/B
Run Code Online (Sandbox Code Playgroud)
这很好用。但是,当我使用ssh-agent和添加两个密钥A和B(例如,为了在登录时输入它们的密码而不是在我调用各自的ssh A.hostor 时ssh B.host)时,连接将始终为两个虚拟主机使用相同的 ID。有没有办法指定应该使用哪个存储的密钥而不必删除另一个密钥?sshssh-agent
我正在使用 AIF(Arch 安装框架)编写自定义自动安装,我需要在给定分区的分区上找到文件系统。
到目前为止,我有这个:
grok_partitions () {
local partitions=
for label in `ls /dev/disk/by-label | grep "Arch"`
do
if [ $label == "Arch" ]
then
mount_point="/"
else
IFS="-" read base mount <<< "${label}"
mount_point="/${mount}"
fi
local partition=$(readlink -f /dev/disk/by-label/${label})
local part_no=$(echo ${partition} | grep -Po '\d+')
local fs=$(parted -mls | grep "^${part_no}" | cut -d: -f5)
partitions+="${partition} raw ${label} ${fs};yes;${mount_point};target;no_opts;${label};no_params\n"
done
# do the swap
if [ -e /dev/disk/by-label/swap ]
then
local partition=$(readlink -f /dev/disk/by-label/swap)
partitions+="$partition raw swap swap;yes;no_mountpoint;target;no_opts;swap;no_params"
else …Run Code Online (Sandbox Code Playgroud) shell ×3
bash ×2
directory ×2
filesystems ×2
linux ×2
block-device ×1
command-line ×1
control-flow ×1
files ×1
hook ×1
jails ×1
keyboard ×1
lock ×1
multiseat ×1
permissions ×1
ssh ×1
ssh-agent ×1
string ×1
symlink ×1
users ×1
x11 ×1