小编mis*_*yes的帖子

mv: cannot stat shell 脚本中没有这样的文件或目录

我写了一个脚本将一些文件从一个文件夹移动到另一个文件夹,但出现以下错误,我检查了 2 个文件夹并注意到 1 个文件夹有这样的文件,另一个没有这样的文件,但为什么它们都显示“mv无法统计没有这样的文件或目录”

mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/194.199.68.165_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/194.42.17.124_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/195.113.161.13_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/203.159.127.3_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/212.199.61.205_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/212.51.218.235_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/213.73.40.105_tcp.folder/data/*': No such file or directory
mv: cannot stat `/home/esolve/project/capture/tcp_50x50/dest_folder/41.225.7.4_tcp.folder/data/*': No such file or directory
mv: cannot stat …
Run Code Online (Sandbox Code Playgroud)

shell rename

25
推荐指数
2
解决办法
18万
查看次数

无法使用 root 登录远程主机,密码不正确

我有一个远程主机,以前我可以用 root 和密码 ssh 进入它

ssh root@remote_host
Run Code Online (Sandbox Code Playgroud)

或者我首先使用普通用户帐户 ssh 进入它

ssh esolve@remote_host
Run Code Online (Sandbox Code Playgroud)

然后su root输入密码

但是今天,在这两种方式中,我的密码总是不正确,例如

[esolve@local esolve]$  ssh root@remote_host
root@remote_host's password: 
Permission denied, please try again.
Run Code Online (Sandbox Code Playgroud)

或者

[esolve@remote_host ~]$ su root
Password: 
su: incorrect password
Run Code Online (Sandbox Code Playgroud)

相关信息:

  1. 如果我今天在该远程机器上本地操作,我可以使用此密码以 root 登录。

  2. 我通过 VPN ssh 进入

为什么会这样?我怎么解决这个问题?

password root ssh su vpn

18
推荐指数
2
解决办法
11万
查看次数

pkill 无法杀死父进程 ID 为 1 的进程

我想使用以下方法杀死以下进程

pkill "run_tcp_sender.sh"
Run Code Online (Sandbox Code Playgroud)

或者

pkill -SIGKILL  "run_tcp_sender.sh"


    root     14320     1  0  2012 ?        00:00:00 bash run_tcp_sender.sh 138.96.116.22
    root     14323     1  0  2012 ?        00:00:00 bash run_tcp_sender.sh 138.96.116.22
    root     14325     1  0  2012 ?        00:00:00 bash run_tcp_sender.sh 138.96.116.22
    root     14327     1  0  2012 ?        00:00:00 bash run_tcp_sender.sh 138.96.116.22
    root     14328     1  0  2012 ?        00:00:00 bash run_tcp_sender.sh 138.96.116.22
    root     14330     1  0  2012 ?        00:00:00 bash run_tcp_sender.sh 138.96.116.22
Run Code Online (Sandbox Code Playgroud)

但它是无用的进程留在那里我的命令有什么问题?

顺便说一句:我可以使用以下命令来实现我想要的

kill -9 $(ps -ef|grep "run_tcp"|grep -v "grep"|awk '{print $2}')
Run Code Online (Sandbox Code Playgroud)

process kill

9
推荐指数
2
解决办法
2万
查看次数

是否可以制作多级目录?

使用mkdir()(C 函数)我可以创建一个 1 级目录,如果我想创建多级目录,如:

folder/subfolder/subsubfolder
Run Code Online (Sandbox Code Playgroud)

是否可以?如果是这样,如何?

c directory

7
推荐指数
3
解决办法
7875
查看次数

当使用 sudo 计时命令执行时间时,`time` 应该在 `sudo` 之前还是在 `sudo` 之后?

当用 计时命令执行时间时sudotime应该在之前sudo还是之后sudo

time sudo command
Run Code Online (Sandbox Code Playgroud)

或者

sudo time command
Run Code Online (Sandbox Code Playgroud)

哪一个是正确的?

输出对我来说似乎非常不同

    [esolve@xxt ~]$ sudo time ls
    193.144.21.131_udp.folder  lockfile         run_udp.sh    udp_folder
    50IP.txt                   my_ip_host_site  send_udp_log  udp_receiver
    ip_each_site               raw_udp_client   ssh.log
    0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 3088maxresident)k
    0inputs+0outputs (0major+236minor)pagefaults 0swaps


    [esolve@xxt ~]$ time sudo ls        
    193.144.21.131_udp.folder  lockfile         run_udp.sh    udp_folder
    50IP.txt                   my_ip_host_site  send_udp_log  udp_receiver
    ip_each_site               raw_udp_client   ssh.log

    real    0m0.004s
    user    0m0.003s
    sys     0m0.002s
    [esolve@xxt ~]$
Run Code Online (Sandbox Code Playgroud)

为什么他们是这样?

sudo time

7
推荐指数
1
解决办法
3965
查看次数

如何将 `rm` 更改为类似 `mv ~/ .trash` 的命令

我喜欢使用 rm 但我经常犯错误,所以我错误地删除了一些东西,所以我想做一些类似的事情 mv .trash

以便

 rm file 
Run Code Online (Sandbox Code Playgroud)

等于

 mv file ~/.trash
Run Code Online (Sandbox Code Playgroud)

此外,我还想定期清空 ~/.trash 文件夹,然后如果我已将 rm 作为mv,如何清空 ~/.trash 文件夹

谢谢

alias rename rm

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

`du` 在不同机器上为同一个文件夹得到不同的结果

我在一台机器上有一个文件夹(其中包含很多子文件夹和文件),我用过

   du -m 
Run Code Online (Sandbox Code Playgroud)

并且显示了所有子文件夹和文件的磁盘使用情况,反正总体磁盘使用情况是78M

以前scp -r是把文件夹拷贝到别的机器上,这次du -m得到的是整体磁盘使用量:12M,很不一样。

为什么会发生这种情况?

恐怕有些文件或子文件夹没有完全复制,那么还有其他方法可以检查总字节数吗?

size disk-usage

5
推荐指数
0
解决办法
2841
查看次数

如何在后台运行 ssh -t user@remote 'sudo nohup bash -c "command"'

我想以特权在远程主机上运行脚本sudo,有人建议我应该使用nohupssh -t,如以下命令:

该脚本ls; sleep 10; echo finish是在这里精心设计的,类似于我想做的事情。

ssh -t esolve@remote_host \
'sudo nohup bash -c "ls;sleep 100;echo finish" < /dev/null 2>&1 >> ssh.log' 
Run Code Online (Sandbox Code Playgroud)

我想在本地主机上在后台运行此脚本,因为在我的脚本中,在此命令之后还有一些其他命令,例如

my script.sh:

ssh -t esolve@remote_host \
'sudo nohup bash -c "ls;sleep 100;echo finish" < /dev/null 2>&1 >> ssh.log' 
... some other commands
Run Code Online (Sandbox Code Playgroud)

以下两个命令不起作用

ssh -t esolve@remote_host \
'sudo nohup bash -c "ls;sleep 100;echo finish" < /dev/null 2>&1 >> ssh.log' &

ssh -t esolve@remote_host \
'sudo nohup bash …
Run Code Online (Sandbox Code Playgroud)

ssh sudo nohup background-process

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

使用 nohup 和管道重定向到文件问题

对于以下命令:

ssh -t esolve@hostname 'sudo nohup bash -c "ls > log 2>&1 &"'
Run Code Online (Sandbox Code Playgroud)

我总是收到错误信息:

       nohup: ignoring input and appending output to `nohup.out'
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况以及如何避免此错误信息?

此外,在下面(我用它来启用输出到屏幕和文件),

   stdbuf -o 0 command|& tee logfile
Run Code Online (Sandbox Code Playgroud)

是做什么& 用的?

shell pipe io-redirection nohup

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

为什么我可以在非 root 用户下删除属于 `root` 的文件?

我在我的用户下创建一个文件esolve ,然后su root 使用 chown 将其用户更改为 root 然后我返回到用户esolve 我注意到我仍然可以删除该文件,rm 为什么?

permissions rm

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