小编z.h*_*.h.的帖子

是什么导致Make删除中间文件?

我写了一个Makefile,发现在执行make命令时,rm在Mmakefile中的所有命令都完成后执行了一个意外。但是我没有rm在Makefile中写命令。

run-%: d/%.out
    $<

d/%.out: d/%.c
    gcc -o $(subst .c,.out,$<) $<
Run Code Online (Sandbox Code Playgroud)

运行输出make run-a

gcc -o d/a.out d/a.c
d/a.out
rm d/a.out
Run Code Online (Sandbox Code Playgroud)

注意rm d/a.out我没有写的尾随。

什么情况下会rm添加自动命令?

make

11
推荐指数
1
解决办法
2058
查看次数

有组权限但无法创建文件

我在玩 pi3B 时发现了一个奇怪的事情。我想在/sys/class/gpio只是四处看看,没有具体原因)创建一个文件,但我得到了Permission Denied。下面是一些信息。

pi@raspberrypi:/sys/class/gpio $ groups
pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi
pi@raspberrypi:/sys/class/gpio $ ls -ld .
drwxrwx--- 2 root gpio 0 May  6 00:28 .
pi@raspberrypi:/sys/class/gpio $ touch somefile
touch: cannot touch 'somefile': Permission denied
Run Code Online (Sandbox Code Playgroud)

如您所见,我在gpio组中,该组具有 directory 的写权限/sys/class/gpio

所以问题是为什么/sys/class/gpio即使我所在的组有权限,我也不能在其中创建新文件。

几天前,我尝试在将pi用户添加到gpio组后重新登录并重新启动。

操作系统:树莓派伸展

试过了 newgrp 新组

permissions directory-structure

10
推荐指数
1
解决办法
451
查看次数

带管道和重定向的命令

包含管道和输出重定向的命令的执行顺序是什么?

假设我们执行以下操作:

Charles@myzone:/tmp$ mkdir /tmp/testdir      
Charles@myzone:/tmp$ cd /tmp/testdir   
Charles@myzone:/tmp/testdir$ touch file1 file2  
Charles@myzone:/tmp/testdir$ ls | wc -l
2
Charles@myzone:/tmp/testdir$ ls | wc -l > ls_result
Charles@myzone:/tmp/testdir$ cat ls_result
3
Run Code Online (Sandbox Code Playgroud)

我知道如果你这样做,ls > result那么result将包含它自己的名字,因为外壳会做类似的事情

1) 创建/打开名为的文件result 2) 将 fd 设置result为 stdout 3) execls

我原以为ls_result值是 2,但结果是 3。

ls | wc -w > ls_result上面的命令是如何执行的?

它相当于(ls | wc -w ) > ls_result?

一些有关信息的链接?(我查过 bash 手册)

shell pipe io-redirection

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

ssh 密钥的签名类型是不可更改的,这是否正确?

使用生成密钥对时ssh-keygen,可以通过-t以下方式指定所需的签名类型ssh-keygen -t ssh-rsa:我想知道,一旦创建密钥对,ssh 私钥的签名类型就不能更改吗?

如果可以更改,我可以使用哪个工具来更改签名类型?如何?

我问这个问题是因为我的一个旧密钥使用ssh-rsa签名类型,现在ssh-rsa签名算法已被弃用。

ssh

2
推荐指数
1
解决办法
1509
查看次数