小编Bra*_*one的帖子

如何杀死所有屏幕?

我不小心创建了 1000 多个屏幕。我如何用一个命令将它们全部杀死?(或几个)

linux bash kill gnu-screen

117
推荐指数
5
解决办法
27万
查看次数

“echo 3 > /proc/sys/vm/drop_caches” - 以 root 身份拒绝权限

我目前在缓存方面遇到了一些问题。现在有点太多了,所以我想清除它。我用谷歌搜索并找到了这个小命令:sync && echo 3 > /proc/sys/vm/drop_caches.
我通过 SSH 以 root 身份登录(不使用 sudo)。这些是我所做的尝试:

root@server: ~ # ll /proc/sys/vm/drop_caches
-rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches

root@server: ~ # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # echo 3 | sudo tee /proc/sys/vm/drop_caches
tee: /proc/sys/vm/drop_caches: Permission denied
3
Run Code Online (Sandbox Code Playgroud)

它是一台运行 Debian 的远程机器。据我所知,这台机器中有一些 vCore,它使用 Virtuozzo 进行虚拟化。
我真的只想清除缓存(所以我只能使用 SSH 访问它)
我也尝试将其注册为 cronjob。但它也只是失败了!

linux permissions proc virtualization openvz

41
推荐指数
4
解决办法
11万
查看次数

不同 shell 中带有“echo -e”的转义序列

我只是注意到在 Linux 上的 shell 中-e似乎不存在该echo命令的标志。这只是一个混乱的设置还是“正常”?

一些代码为例:

#!/bin/sh
echo -e "\e[3;12r\e[3H"
Run Code Online (Sandbox Code Playgroud)

印刷:

-e \e[3;12r\e[3H
Run Code Online (Sandbox Code Playgroud)

这以前有效!我猜有些stty命令出错了,现在它不再起作用了。有人建议我sh实际上只是bash.

shell echo escape-characters

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

执行函数参数提供的命令

我正在尝试在 bash 脚本中创建一个函数方法,该脚本执行由参数提供给该方法的命令。

意思是这样的:

special_execute()
{
    # Some code

    # Here's the point where the command gets executed
    $@

    # More code
}

special_execute echo "abc"
Run Code Online (Sandbox Code Playgroud)

我已经尝试过我$@"$@"$*"$*"我怎么能这样做呢?

bash parameter function command bash-script

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

获取垂直光标位置

这听起来可能很奇怪,但我知道如何在 Bash 中设置垂直光标位置,如下所示:

echo -e "\e[12H"
Run Code Online (Sandbox Code Playgroud)

这会将光标移动到第 12 行(从 1 开始)。

那么如何使用 linux bash 获取光标位置(行号)?如果我可以简单地将此值存储在一个变量中,以便我可以用它进行计算,那将会很有帮助。

编辑:

这是我得到的错误:

$ sh rowcol.sh
-en
    read: 9: Illegal option -d
                              test.sh: 12: Bad substitution
Run Code Online (Sandbox Code Playgroud)

shell terminal

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

睡眠直到下一次出现特定时间

我需要一系列命令或单个命令,直到下一次出现“4:00”等特定时间。

我该怎么做?

at命令或一个cronjob不是一个选项,因为我不能离开这个剧本目前在我。

我所说的具体情况是在屏幕中运行的脚本。非常重要的是,我不会通过脚本本身停止脚本的执行,因为脚本的某些点需要存储许多重要的变量。脚本并不总是应该以常规方式执行。它只需要在特定时间执行。

如果脚本必须创建任何文件或任何其他任务(例如 cronjobs 或其他屏幕),那将是非常有益的。这只是一个设计问题。

我只是有一个很棒的想法:

difference=$(($(date -d "4:00" +%s) - $(date +%s)))

if [ $difference -lt 0 ]
then
    sleep $((86400 + difference))
else
    sleep $difference
fi
Run Code Online (Sandbox Code Playgroud)

你有什么更好的想法吗?

如果需要,将添加更多信息!

bash sleep date time

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

如何使用 sftp 或 ftp 使 tar 将存档保存在远程机器上?

我想在远程机器上备份我的一些非常重要的数据。
目前我只是使用以下命令将它保存到我的本地机器上:tar -cvjf ~/backups/Backup.tar.bz2 ~/importantfiles/*

我不想使用另一个命令将它传输到远程机器,这意味着我只想升级这个命令,以便它可以将数据传输到远程机器。

这被设计为稍后在脚本中单独运行,这意味着任何类型的所需用户输入都将完全搞砸!

就像是

tar -cvjf sftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
tar -cvjf  ftp://user:pwassword@host/Backup.tar.bz2 ~/importantfiles/*
Run Code Online (Sandbox Code Playgroud)

将会是完美的!(没有管道(等),只有一个命令!)

bash ftp sftp tar remote

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

即使有足够的 RAM,Java“无法为对象堆保留足够的空间”

我目前在运行 Java 时遇到了一些问题。由于堆问题,它不会启动。但是我有超过 9 GB 的可用内存(如果您认为缓存是空的,甚至是 16 GB)。这是我得到的错误(和free命令)

root@server: ~ # java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

root@server: ~ # free
             total       used       free     shared    buffers     cached
Mem:      25165824   15941148    9224676          0          0    7082176
-/+ buffers/cache:    8858972   16306852
Swap:            0          0          0
Run Code Online (Sandbox Code Playgroud)

我在虚拟化服务器上​​运行 64 位 Debian。虚拟化软件是 OpenVZ。这是我的 Java 版本(我可以在停止两个 VM(当前正在运行的 4 …

debian java ram

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

具有多个位置的 nginx 服务器配置不起作用

我一直试图让它工作几个小时!

我想建立一个简单的网络服务器。我的网络文件应在/var/www. 我也想要phpmyadmin。我创建了一个目录/var/phpmyadmin。现在我想以标准方式访问普通的网络文件。
例如:该文件/var/www/test.php应该是可访问的http://localhost/test.php
phpmyadmin 部分应该是这样的:http://localhost/phpmyadmin. 使用下面的配置,我得到一个 404。还有这个 URL:http://localhost/phpmyadmin/index.php

为此,我在 nginx 的 sites-availble 文件夹中创建了这个文件:

server {
  listen 80; ## listen for ipv4; this line is default and implied
  listen [::]:80 default_server ipv6only=on; ## listen for ipv6

  root /var/www;
  index index.html index.htm index.php;

  try_files $uri $uri/ $uri/index.html $uri/index.htm $uri/index.php;

  # This didn't work
  location /phpmyadmin/ {
     alias /var/phpmyadmin;
  }

  # And this did neither. (Never used both at the same …
Run Code Online (Sandbox Code Playgroud)

debian configuration webserver nginx phpmyadmin

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

尝试启动 MariaDB 时,systemd status=127 for /usr/bin/install

我刚刚将 MariaDB 安装升级到 10.2。
当我现在尝试启动该服务时,它告诉我它失败了,检查状态向我显示了这条相当奇怪的消息:

root@server # systemctl status mariadb
* mariadb.service - MariaDB 10.2.20 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           `-migrated-from-my.cnf-settings.conf
   Active: failed (Result: exit-code) since Wed 2018-12-26 01:54:50 CET; 9min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 13690 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=127)
 Main PID: 10811 (code=exited, status=0/SUCCESS)
      CPU: 0

Dec 26 01:54:50 server systemd[1]: Starting MariaDB 10.2.20 database server...
Dec 26 01:54:50 server systemd[1]: mariadb.service: Control process exited, …
Run Code Online (Sandbox Code Playgroud)

systemd services mariadb exit-status

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