我写了一个脚本将一些文件从一个文件夹移动到另一个文件夹,但出现以下错误,我检查了 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) 我有一个远程主机,以前我可以用 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)
相关信息:
如果我今天在该远程机器上本地操作,我可以使用此密码以 root 登录。
我通过 VPN ssh 进入
为什么会这样?我怎么解决这个问题?
我想使用以下方法杀死以下进程
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) 使用mkdir()
(C 函数)我可以创建一个 1 级目录,如果我想创建多级目录,如:
folder/subfolder/subsubfolder
Run Code Online (Sandbox Code Playgroud)
是否可以?如果是这样,如何?
当用 计时命令执行时间时sudo
,time
应该在之前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)
为什么他们是这样?
我喜欢使用 rm 但我经常犯错误,所以我错误地删除了一些东西,所以我想做一些类似的事情 mv .trash
以便
rm file
Run Code Online (Sandbox Code Playgroud)
等于
mv file ~/.trash
Run Code Online (Sandbox Code Playgroud)
此外,我还想定期清空 ~/.trash 文件夹,然后如果我已将 rm 作为mv
,如何清空 ~/.trash 文件夹
谢谢
我在一台机器上有一个文件夹(其中包含很多子文件夹和文件),我用过
du -m
Run Code Online (Sandbox Code Playgroud)
并且显示了所有子文件夹和文件的磁盘使用情况,反正总体磁盘使用情况是78M
以前scp -r
是把文件夹拷贝到别的机器上,这次du -m
得到的是整体磁盘使用量:12M,很不一样。
为什么会发生这种情况?
恐怕有些文件或子文件夹没有完全复制,那么还有其他方法可以检查总字节数吗?
我想以特权在远程主机上运行脚本sudo
,有人建议我应该使用nohup
和ssh -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 -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)
是做什么&
用的?
我在我的用户下创建一个文件esolve
,然后su root
使用 chown 将其用户更改为 root 然后我返回到用户esolve
我注意到我仍然可以删除该文件,rm
为什么?