AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[bash](ubuntu)

Martin Hope
An old man in the sea.
Asked: 2025-03-25 04:35:53 +0800 CST

为什么 ps 显示的 ruser 和 euser 进程与选项中所述的不同?

  • 6

在该命令的手册页中ps,我们有以下选项

   -U userlist
          Select by real user ID (RUID) or name.  It selects the processes whose real user  name  or  ID  is  in  the
          userlist list.  The real user ID identifies the user who created the process, see getuid(2).

   -u userlist
          Select  by effective user ID (EUID) or name.  This selects the processes whose effective user name or ID is
          in userlist.

          The effective user ID describes the user whose file  access  permissions  are  used  by  the  process  (see
          geteuid(2)).  Identical to U and --user.

然而,当我尝试

ps --forest -eo pid,ppid,ruser,euser,cputime,%mem,stat,comm -u example_username -U example_username

我仍然得到ruser与euser不同的流程example_username。

以下是一些示例:

   1255       1 root     root     00:00:00  0.0 Ss   cron
   1256       1 message+ message+ 00:00:02  0.0 Ss   dbus-daemon
   1261       1 gnome-r+ gnome-r+ 00:00:00  0.1 Ssl  gnome-remote-de
   1270       1 root     root     00:00:00  0.0 Sl   ecbd
   1278       1 polkitd  polkitd  00:00:01  0.0 Ssl  polkitd
   1281       1 nvidia-+ nvidia-+ 00:00:00  0.0 Ss   nvidia-persiste

-u和是什么类型的过滤器-U?

PS:我怀疑这些过滤器从属于该-e选项,即它们被该选项覆盖。这应该在手册页中明确说明,但我找不到有关它的任何信息...

bash
  • 1 个回答
  • 24 Views
Martin Hope
An old man in the sea.
Asked: 2025-03-13 06:04:26 +0800 CST

文件路径扩展包括父目录和当前目录?

  • 12

我已经读过几条关于.*在进行通配符时使用该模式的警告,因为它将包含当前目录和父目录。

我尝试echo .*过 和ls -l .*,我的 bash 只扩展到当前目录中的隐藏文件。由于 bash 负责执行 filapath 扩展,我假设它对所有其他命令都同样有效。

也许这只是早期 Bash 版本的问题...但是,我没有找到任何这方面的信息。

我的想法有什么问题?

bash
  • 1 个回答
  • 228 Views
Martin Hope
maverick
Asked: 2025-02-28 19:43:27 +0800 CST

Ubuntu 24.04 上的内存泄漏

  • 7

Ubuntu 24.04 好像有内存泄漏?
我几乎把所有带图形界面的软件都关了。
然后我发现用 来查看内存使用量free -h是 18G(通常应该是 2~4G)
我的问题是:
为什么会出现这种异常的内存使用情况?

我做了以下操作但找不到原因
我启动了一个终端来检查内存使用情况,我得到了

zhangthird@imini:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:            28Gi        18Gi       2.1Gi       1.8Gi       9.6Gi       9.5Gi
Swap:          8.0Gi       256Ki       8.0Gi

我用来ps计算所有进程使用的总内存,我得到了

zhangthird@imini:~$ ps -eo pid,user,rss,cmd | awk '{sum += $3} END {print sum}'
4204604

ps找不到哪个进程占用了内存
的完整输出ps可以在这里找到。
注意:如果我不理会这个问题,通过检查的内存使用量free将缓慢增加,直到系统内存不足。如果发生这种情况,我只能强制重启系统。
抱歉我的英语不好。

bash
  • 1 个回答
  • 78 Views
Martin Hope
Alan
Asked: 2025-02-14 20:49:23 +0800 CST

如何在 Bash 脚本的一行上连接两个命令输出?

  • 6

如果有所不同,则运行 Ubuntu 24.04 LTS。

我试图在 bash 脚本中将两个命令的结果(输出到 stdout)输出到一行上,但似乎无法让它工作——我在两行上得到了两个输出。

我尝试过的命令(以及其许多变体)是:

ssh [email protected] -- 'echo -n "VMName : " && lsblk | grep -i disk' && 'echo -n "  Hypervisor = HypervisorHostName"'

输出结果分为两行,如下所示:

VMName :vda 254:0 0 20G 0 磁盘

虚拟机管理程序 = HypervisorHostName

而我想得到:

VMName :vda 254:0 0 20G 0 磁盘 Hypervisor = HypervisorHostName

我觉得这很简单。我是不是忽略了显而易见的东西?

谢谢,

艾伦。

bash
  • 5 个回答
  • 514 Views
Martin Hope
Colar
Asked: 2025-01-18 20:16:11 +0800 CST

删除 txt 文件中特定字符串后的其余行

  • 5

我生成了一棵树:tree -l > tree但是它充满了符号链接,例如:

├── Fumer.Fait.Tousser.2022.mkv -> /media/fgsfds/dsfargeg/Fumer.Fait.Tousser.2022.mkv

我想删除从->之前的空间开始的所有内容

这容易做到吗?

提前致谢并新年快乐!

bash
  • 1 个回答
  • 37 Views
Martin Hope
Don Carpenter
Asked: 2025-01-13 03:30:58 +0800 CST

如何使用脚本更改名称中包含空格的文件名

  • 13

我的 Ubuntu 22.04 系统上的 ~home 下(在许多子目录中)有一些文件。我相信大多数带空格的文件名最初来自 Windows。

我使用以下find命令查找有问题的文件

查找 .-name "* *"

有什么方法可以将名称更改为在名称中当前包含空格的所有文件中包含 _ 或其他字符?

例如我想改变

MSC 机脚订单.pdf

到

MSC_机器_脚顺序.pdf

使用 find 命令,我确定有大约 600 个文件需要更改其名称,因此我希望采用某种自动化的方式来更改名称。

当我运行某些脚本时,带有空格的文件名会导致问题。

提前感谢您的帮助。

bash
  • 3 个回答
  • 771 Views
Martin Hope
stackbiz
Asked: 2025-01-08 19:43:48 +0800 CST

如何在 Ubuntu 上的 bash expect 中匹配“国家名称(2 个字母代码)[US]:”带或不带“-re”

  • 5

当 bash 脚本提示输入“ ”时,我想使用“ expect”自动输入“ ”键。<Enter>Country Name (2 letter code) [US]:

预期如下:

/usr/bin/expect << EOF
    set timeout -1
    
    spawn /bin/bash /path/to/generate_openssl_certificate.sh
    
    expect {
        "Country Name (2 letter code) [US]:" {send "\r" ; exp_continue}
    }
EOF

错误如下:

spawn /bin/bash /path/to/generate_openssl_certificate.sh
invalid command name "US"
    while executing
"US"
    invoked from within
"expect {
            "Country Name (2 letter code) [US]:" {send "\r" ; exp_continue}
        }"

当我尝试使用“ -re”匹配字符串时,它与字符串“ Country Name (2 letter code) [US]:”不匹配:

expect {
    -re "Country Name \(2 letter code\) \[US\]:" {send "\r" ; exp_continue}
}

这是输出,屏幕正在等待“ <Enter>”键继续:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:

Country Name (2 letter code) [US]:不使用“ ”,如何匹配“ -re”?如何使用“ Country Name (2 letter code) [US]:”匹配“ -re”?

bash
  • 1 个回答
  • 37 Views
Martin Hope
Frantumn
Asked: 2024-12-19 02:37:06 +0800 CST

如何列出具有特定采样率或位深度的文件?

  • 6

我正在寻找某人来帮助我创建一个 bash 脚本,使用该mediainfo工具循环遍历我的整个音频库并输出没有Sampling rate“44.1 kHz”或Bit depth“16 位”的 .flac 文件列表。

我试了一下,但它没有运行。这就是我当时的想法。

#!/usr/bin/env sh
mediainfo /media/Media/Music/ 
if grep ["Bit depth" != "16"] || ["Sampling rate" != "44.1 kHz"]
then
    echo "$flacfile"
    echo mediainfo /media/Media/Music/ | grep 'Bit depth'
    echo mediainfo /media/Media/Music/ | grep 'Sampling rate'
else
    # do nothing...
fi
bash
  • 1 个回答
  • 35 Views
Martin Hope
fweth
Asked: 2024-12-06 18:38:15 +0800 CST

NVM 如何改变我的 PATH?

  • 5

我使用fish作为我的默认 shell,但nvm在终端中安装(Node 版本管理器)bash,因为安装程序与 不兼容fish。但是,在nvm use中运行后bash,我的 shell 中的路径变量fish也会更改。它在重启后仍然存在,即使我根本没有碰过bash。我找不到在哪里nvm写入条目以使其可用于fish。有什么想法吗?

bash
  • 1 个回答
  • 33 Views
Martin Hope
James Newton
Asked: 2024-11-12 21:25:26 +0800 CST

使用另一个目录中同名的文件替换一个目录中的文件

  • 5

我有一个网站的两个存储库:一个用于后端,一个用于前端。我想将文件从前端复制到后端目录,以便所有内容都可以从一个地方提供。

当我build在前端运行命令时,dist/会创建一个名为的文件夹。我想将所有这些文件复制到具有相对路径的文件夹中../backend/public。此public文件夹可能已经包含一些其他文件。

index.html我当前的脚本使用和和目录的硬编码名称assets/,但随着时间的推移可能会添加更多文件,因此我想要一个通用的解决方案,将所有未改变的内容复制到dist/中../backend/public。

#!/bin/bash
cd ../backend/public
rm -rf index.html assets

cp ../../frontend/dist/index.html ./
cp -r ../../frontend/dist/assets ./assets
bash
  • 1 个回答
  • 32 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve