ubuntu/bash sed:操作不允许且权限被拒绝

ubuntu/bash sed:操作不允许且权限被拒绝

我使用的是 Windows 10,启用了 WSL2 功能,并在 Ubuntu 上工作。我正在处理的所有文件都保存在 Windows 中,而不是 Ubuntu 子系统中,因此/mnt/c/Users/username/...每当我需要文件时,我都会访问 Windows 目录 ()。

我在 Ubuntu 上运行一个 shell 脚本,带有注释的一行sed一直出现错误。我尝试了网上找到的许多方法,但现在都不起作用。我遇到问题的行是sed -i -e 's/ 100 bp//' file.fasta. file.fasta包含数百行文本,其中一些行bp末尾有标签,所以我试图删除这些标签。

上面这一行给出了以下错误:

sed: preserving permissions for './sedxlnBcv': Operation not permitted
sed: cannot rename ./sedxlnBcv: Permission denied

我尝试运行chmod +w .以授予当前目录的写入权限,然后它给了我这个错误:

chmod: changing permissions of '.': Operation not permitted

(这很令人困惑,因为我能够使用当前目录中创建一个文本文件cat>filename.txt,并且我认为这意味着我有该目录的写权限?)

但无论如何,我向上移动一个目录cd ..并尝试chmod -R a+X,但仍然返回相同的错误:

chmod: changing permissions of 'file_in_directory': Operation not permitted

然后我尝试创建一个没有100 bp标签的新文件,并尝试将新文件覆盖到旧文件中,如下所示,这给了我一个不同的错误:

$ sed -i -e 's/ 100 bp//' file.fasta > newfile.fasta; mv newfile.fasta file.fasta
sed: preserving permissions for '.sedg8L00D': Operation not permitted
sed: cannot rename ./sedg8L00D: Permission denied
mv: replace 'file.fasta', overriding mode 0555 (r-xr-xr-x)?

然后我尝试将其复制file.fasta到我可以工作的目录中,然后再将其移出,但它也给出了不同的错误。(前三行是我在 shell 脚本中输入的,但错误来自执行第一行):

$ cp file.fasta /tmp
$ sed -i -e 's/ 100 bp//' /tmp/file.fasta
$ cat /tmp/file.fasta > ~/newfile.fasta
cp: cannnot create regular file '/tmp/file.fasta': Permission denied

我不知道该怎么办了...有人可以给我一些建议或指出我犯的错误吗?

相关内容