标签: linux

如何使用 grep 显示匹配模式的上一行而不是匹配行?

我知道我可以使用-A,-B-C显示周围的线,但它们也都显示匹配的线。在这个示例文件中,我想要做的是:

foo
bar
Run Code Online (Sandbox Code Playgroud)

我会做类似的事情grep <option> "bar" file,我的输出应该是
foo

旁注:我知道如何与另一个人一起做grep或使用sed,但我想只使用一次grep

linux grep regular-expression

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

Unix (Linux) 系统能否像 (Apple/Microsoft) DOS 一样从 CLI 启动 GUI?

我第一次接触 CLI(以及通常的计算机)涉及启动到命令提示符,通常插入光盘,然后加载全屏 GUI 程序,该程序在我们今天通常看到的基于 GUI 的操作系统中没有窗口化。

事情是这样的。启动 >> 提示 >>加载 Rocky's Boots >>
启动 Rocky's Boots >> 退出 >> 提示

我从未见过这种情况发生在基于 Unix / Linux 的系统上,直接加载到图形程序而不是在窗口操作系统环境中 - 只有基于 ascii 的程序,如 Space Invaders 或 VIM。是否有能力执行前面提到的类似 DOS 的 8 位图形程序加载(我强调,不是在 OSX 或 Unity 等窗口中)?如果不是,为什么会不同?

linux terminal graphics

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

如何在curl命令中发送二进制文件URL而不是传递本地路径

我正在尝试将 s3 存储桶上的二进制 .apk 文件发布到 POST API。

我知道的本地方式是:

curl -X POST https://xxx.example.com:443/api/storage/upload -H "Content-Type:application/octet-stream" --data-binary @file_name.file
Run Code Online (Sandbox Code Playgroud)

当我尝试以下操作时,它不起作用

curl -X POST https://xxx.example.com:443/api/storage/upload -H "Content-Type:application/octet-stream" --data-binary @example.com/app-debug.apk
Run Code Online (Sandbox Code Playgroud)

我低于错误。

Warning: Couldn't read data from file
Warning: "https://s3-eu-west-1.amazonaws.com/files.greenhouseci.com/projects/6d
Warning: 7f406a-2a65-4be0-83ee-75ca0afae7c9/builds/24f78eb5-819f-44d5-9c21-edce
Warning: 4dc9f253/artefacts/app-debug.apk", this makes an empty POST.
Run Code Online (Sandbox Code Playgroud)

linux http curl macintosh

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

Linux 中的重启过程如何进行?

我搜索了 Linux 重启过程的工作原理,到处都只找到了引导/启动过程。假设非法重新启动机器如何恢复我正在运行的进程/服务(例如,如果数据库正在运行并且我强制重新启动了机器)?

linux reboot

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

linux下如何删除文件中的空行

我的文件中有一个输出,其中包含空格,例如

daily/A3D05180000052121001 30698

daily/A3D05180000052200001 30698

daily/A3D05180000052203001 30698
Run Code Online (Sandbox Code Playgroud)

我需要删除空行,我的输出应该是这样的

daily/A3D05180000052121001 30698
daily/A3D05180000052200001 30698
daily/A3D05180000052203001 30698
Run Code Online (Sandbox Code Playgroud)

我尝试使用sed

sed -i -e '/./,$!d' -e :a -e '/^\n*$/{$d;N;ba' -e '}' "$FILESIZE3"
Run Code Online (Sandbox Code Playgroud)

但它没有成功...任何人都可以帮我解决这个问题吗

linux shell bash sed awk

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

foss中有没有一些软件可以用来从多个名称中选择一个名称

我的一个朋友正在组织一场比赛。他询问是否有某种软件可以输入正确回答者的姓名,然后软件会选取一个姓名并将其作为答案共享。所有的名字都同等重要,让人工智能或其他什么东西做它的事情。

linux debian

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

linux fstabs 搞砸了无法启动

我修改了 /etc/fstab,然后重新启动 Ubuntu 机器。我通过 ssh 连接到这台机器。

它不再通过 ssh 提示输入用户名和密码。我如何通过 ssh 解决这个问题?

linux ubuntu fstab

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

如何删除名称中包含空格和引号的文件?

1 '2 3' 4 5 在Linux下如何删除一个名为的文件?我用过的方法都没有效果。

linux shell bash command

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

如果 macOS 和 Linux 之间存在二进制不兼容,那么遵守 POSIX 有何意义?

POSIX的开发是为了让我们能够与 Unix 变体实现软件兼容性(可移植性):

可移植操作系统接口 (POSIX) 是 IEEE 计算机协会指定的一系列标准,用于维护操作系统之间的兼容性。1 POSIX 定义了系统级和用户级应用程序编程接口 (API),以及命令行 shell 和实用程序接口,以实现软件与 Unix 和其他操作系统变体的兼容性(可移植性)。1 POSIX 也是 IEEE 的商标。1 POSIX 旨在供应用程序和系统开发人员使用。2

macOS 和 Linux 均符合 POSIX 标准。所以按理说,为 macOS 编写的应用程序应该在 Linux 上运行。

但根据这个问题,macOS和Linux之间存在二进制不兼容。根据所选的最佳答案,这是因为您需要链接适当的库,但遭到评论者的反对,称真正的问题是不兼容的系统调用。

那么如果 macOS 和 Linux 之间存在二进制不兼容,那么遵守 POSIX 有何意义呢?这使得 POSIX 毫无用处,不是吗?

linux posix macos

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

了解PS1环境变量

在 Stackoverflow 上,我刚刚看到一个有关PS1环境变量的问题,该变量负责 Linux 终端提示符。

我的提示如下:

username@PORT-usr:/dir
Run Code Online (Sandbox Code Playgroud)
  • username是我登录 WSL 时使用的用户名。
  • PORT-usr是我的笔记本电脑的名称。
  • /dir是我当前的目录。

我的PS1环境变量如下所示:

Prompt>echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
Run Code Online (Sandbox Code Playgroud)

尝试执行此操作不起作用:

Prompt>echo $($PS1)
\[\e]0;\u@\h:: command not found

Prompt>echo echo $(\[\e]0;\u@\h: \w\a\]${debian_chroot...)
e]0: command not found
u@h:: command not found
32m]u@h[033[00m]:[033[01: command not found
34m]w[033[00m]$: command not found
Run Code Online (Sandbox Code Playgroud)

使用的变量的语法是什么?$PS1我可以使用什么命令来学习理解该语法?

linux prompt ubuntu environment-variables windows-subsystem-for-linux

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