小编Joh*_*unt的帖子

如何挂载块大小大于 4KB 的文件系统?

我有一个从 WD Mybook Live NAS 中取出的 3TB 硬盘。分区表如下:

Model: ATA WDC WD30EZRS-11J (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 3      15.7MB  528MB   513MB                primary
 1      528MB   2576MB  2048MB  ext3         primary  raid
 2      2576MB  4624MB  2048MB  ext3         primary  raid
 4      4624MB  3001GB  2996GB  ext4         primary
Run Code Online (Sandbox Code Playgroud)

所以我试图访问分区 4(最大的一个!):

root@john-desktop:~/linux-3.9-rc8# mount -t ext4 /dev/sdb4 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdb4,
       missing codepage or helper program, or …
Run Code Online (Sandbox Code Playgroud)

linux kernel ext4 nas

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

如何在 sudo 中为特定命令保留 *all* 环境变量?

我有一个设置几个环境变量的脚本,然后最后使用 sudo 调用另一个脚本。

使用 sudo 运行的脚本必须能够获取这些变量,而且我并不总是确定这些变量是什么。

有没有办法配置这个 sudoers 条目以允许命令完全访问调用者环境变量?

%deploy ALL=NOPASSWD: /bin/build.sh
Run Code Online (Sandbox Code Playgroud)

当我从我的脚本运行 sudo 命令时:

sudo -E build.sh "$@"
Run Code Online (Sandbox Code Playgroud)

我得到:

sudo: sorry, you are not allowed to preserve the environment
Run Code Online (Sandbox Code Playgroud)

谷歌搜索我只找到了保留特定变量的方法,而不仅仅是所有变量。

bash sudo environment-variables

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

使用cp替换同名目录

如何cp在不删除现有目录的情况下替换同名目录?cp的默认行为是将源目录复制到目标而不是替换它:

mkdir -p test/a
mkdir a
cp -a test/a a
Run Code Online (Sandbox Code Playgroud)

a现在在 内a,它没有取代a。如何制作cp替换目录?我希望它像处理文件一样工作。

我当然可以先删除目标,但我不想运行多个命令:)

cp

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

终端底部的状态栏代替 PS1

我突然想到,当我在终端中做事时,我的 PS1 会为每个命令重复几次。我的 PS1 包括 CWD 和 git 分支,所以它可以得到相当长的时间。

有没有一种方法可以将我的 PS1 设置为 $ 美元符号,但将其他信息移到“状态栏”中,或者只是将其保留在终端底部?很像 tmux 的状态栏,但这些位通常构成我的提示的一部分。

理想情况下,我想要一个只涉及更改我的 .bashrc 的解决方案,但任何解决方案都可以。我做了一些谷歌搜索,发现了一个 tmux 的 git branch 东西(但没有 CWD/其他位)和一个非常古怪的“状态栏与时间”并没有真正起作用。

问题示例: 在此处输入图片说明

bash prompt tmux

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

sed 替换不以 http:// 开头的部分行

我被 sed 卡住了 .. 我试图在 html 文件中的链接不以 http 开头时使用 / 前缀。我知道这可能不是解决此问题的最佳方法,但我只是在一个简单的快速/解决方案之后。

到目前为止,我已经尝试过这个(注意 IRL 我将使用 -i in place 标志等,这仅用于测试):

echo '<a href="egww">blah</a><a href="http://bloge.weg">yeah</a>' |
sed 's@href="[^http]@href="/@g'
Run Code Online (Sandbox Code Playgroud)

这几乎有效:

<a href="/gww">blah</a><a href="http://bloge.weg">yeah</a>
Run Code Online (Sandbox Code Playgroud)

除了第一个链接的第一个字符被切断外,我认为它与 h、t、t 或 p 不匹配,而不是整个字符串 http:

echo '<a href="egww">blah</a><a href="p/bloge.weg">damn</a>' |
sed 's@href="[^http]@href="/@g'

<a href="/gww">blah</a><a href="p/bloge.weg">damn</a>
Run Code Online (Sandbox Code Playgroud)

在这一点上我很困惑,不幸的是谷歌在这里没有多大帮助,因为 sed 的否定通常用于删除包含字符串的行而不是不匹配行中的子字符串..我尝试了几个“正常”正则表达式模式,但这些似乎不起作用。

有任何想法吗?

sed regular-expression

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

标签 统计

bash ×2

cp ×1

environment-variables ×1

ext4 ×1

kernel ×1

linux ×1

nas ×1

prompt ×1

regular-expression ×1

sed ×1

sudo ×1

tmux ×1