小编San*_*mar的帖子

如何递归删除主目录中的空目录?

可能的重复:
如何删除子树中的所有空目录?

我经常创建目录,分散在我的主目录中,我发现很难找到和删除它们。

我想要任何别名/函数/脚本来查找/定位并删除我的主目录中的所有空目录。

linux filesystems find rm

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

查找并删除用户目录中的所有临时文件

我经常使用vim,我的地区经常停电。所以结果是我*.swp在我的电脑上散布了许多文件。

我想一个别名rm,要么删除所有文件的命令.swp~.netrwhist.log.bak扩展系统范围内(或至少在我的主目录)。即使我在~/Desktop.

我该如何实施?

command-line editors recursive rm files

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

如何`定位`多个文件并在vim中打开它们?

假设我有一个名为的文件,filename123.txt并且它是单个文件,我可以locate使用命令locate filename123. 它只返回这个文件。

现在我想用vi/打开它vim。但我不想去那个位置并键入vi命令后跟文件名。在这里,我希望将 的结果locate filename123附加到 vi 命令。我怎么能这样做?我已经尝试过:

locate filename123 | vi
Run Code Online (Sandbox Code Playgroud)

但这不起作用。这个错误出现在终端中:

santosh@santosh:~$ locate filename123 | vi
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Vim: Finished.
Run Code Online (Sandbox Code Playgroud)

command-line vim terminal io-redirection locate

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

如何将 vim 选项卡转换为垂直分割?

我使用过 VS Code,并且喜欢将窗口拖放到右侧以创建垂直分割的方式。

有时我用 vim ( vim -p *py)打开许多文件。在浏览选项卡时,我觉得这个特定的选项卡应该是垂直分割的。

忘记拖放部分,如何使当前选项卡垂直分割?(我已经splitright定了)

编辑:

正如sparrow1029所建议的,:vs sb#有效,但保持前一个缓冲区完好无损,我们可以以某种方式删除它吗?也许某些功能绑定到击键?

linux vim

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

仅当作业数大于 0 时才显示作业数

我有一个jobscount()功能:

jobscount() {
   local stopped='$(jobs -s | wc -l | tr -d " ")'
   local running='$(jobs -r | wc -l | tr -d " ")'
   echo -n "${running}r/${stopped}s"
}
Run Code Online (Sandbox Code Playgroud)

我在我的$PS1

PS1=" \w $(jobscount) \$ "
Run Code Online (Sandbox Code Playgroud)

唯一的问题是如果没有后台进程在运行或没有停止的作业,这个功能会无用地占用$PS1空间。我想要的是,如果stoppedrunning值中的任何一个大于0那么才会出现。

bash

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

当磁盘上的文件被修改时自动重新启动 systemd 服务

我有一项服务,基本上是游牧客户端。它的最小版本如下所示:

[Unit]
Description=Nomad Client
Documentation=https://nomadproject.io/docs/
After=network-online.target

[Service]
ExecStart=/usr/bin/nomad agent -config /etc/myapp/myconfig.json

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

该服务使用 中提供的特定配置启动游牧进程/etc/myapp/myconfig.json

我正在使用的应用程序是围绕这个游牧客户端构建的,在应用程序的生命周期中,配置文件可以随时更改。

/etc/myapp/myconfig.json我想每当磁盘上发生更改时重新启动服务。

systemd

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

wget 正在返回一个 html 页面而不是原始文件

就我而言,问题出在 SourceForge.net 上。其实我是想下载这些文件:

http://sourceforge.net/projects/wxpython/files/wxPython/2.9.4.0/wxPython-src-2.9.4.0.tar.bz2/download
http://sourceforge.net/projects/wxpython/files/wxPython/2.9.4.0/wxPython-docs-2.9.4.0.tar.bz2/download
Run Code Online (Sandbox Code Playgroud)

事情并不顺利,所以我记录了wget,日志文件是:

--2012-08-21 09:52:17--  http://sourceforge.net/projects/wxpython/files/wxPython/2.9.4.0/wxPython-src-2.9.4.0.tar.bz2/download
Resolving sourceforge.net... 216.34.181.60
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18846 (18K) [text/html]
Saving to: `download'

     0K .......... ........                                   100% 6.30K=2.9s

2012-08-21 09:52:25 (6.30 KB/s) - `download' saved [18846/18846]

--2012-08-21 09:52:25--  http://sourceforge.net/projects/wxpython/files/wxPython/2.9.4.0/wxPython-docs-2.9.4.0.tar.bz2/download
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 200 OK

    The file is already fully retrieved; nothing to do.

FINISHED --2012-08-21 09:52:28--
Downloaded: 1 files, 18K in 2.9s (6.30 KB/s)
Run Code Online (Sandbox Code Playgroud)

正如你在这个日志文件中看到的,我最终得到了一个 …

io-redirection wget http

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

如何创建从 1 到第 n 个的目录?

在我的场景中,我有一些照片,我想将它们分开。目前,我正在做mkdir gallery1 gallery2 gallery3 gallery4 gallery5 gallery6,但这是一个痛苦。我认为我们可以更轻松地做到这一点。假设我想创建从gallery7gallery50 的目录。我该怎么做?

bash directory mkdir

5
推荐指数
2
解决办法
284
查看次数

如何更改目录中所有文件的扩展名?

当前目录中有一些无扩展名的文件(名称中没有点)。

我想像这样重命名:

filename -> filename.md
Run Code Online (Sandbox Code Playgroud)

我尝试这样做,mv * *.md但这没有帮助。

我对一个函数感兴趣,该函数接受扩展名的参数并相应地重命名,另一个用于文件执行操作。

bash rename

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

如何使除少数文件类型之外的所有文件都可执行?

我有一个文件夹,其中包含许多 C 源文件和相同数量的编译输出文件。

我为所有这些文件设置了可执行位,但由于某种原因它丢失了,使它们无法执行。(我认为这是因为我将该文件夹移动到 NTFS 分区一段时间)

我想让它们(但不是我目录中的其他文件)再次可执行。一种可能的方法是将所有源文件从该文件夹移动到一个临时文件夹并执行:

chmod +x *
Run Code Online (Sandbox Code Playgroud)

然后将源文件移回当前文件夹。

是否可以在不移动文件的情况下执行相同操作?

笔记:

编译后的输出文件是无扩展名的(在 C 中)

chmod

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

将现有命令的别名版本放在 /usr/bin/ 中

经常使用Vim,我知道如何在插入模式下启动 vim。所以我有一个名为别名vii在我的.bash_aliases文件。

另一方面,我也经常使用Git,并且在我的.gitconfig:

[core]
    editor = vi
Run Code Online (Sandbox Code Playgroud)

要编写提交消息,每次都会打开 vi 编辑器,我必须进入插入模式。所以我想更换的vivii,并且做。

但问题是,当我这样做时git commit,不是在插入模式下打开 vim,而是出现以下错误:

error: cannot run vii: No such file or directory
error: There was a problem with the editor 'vii'.
Please supply the message using either -m or -F option.
Run Code Online (Sandbox Code Playgroud)

这清楚地表明 git 不查找.bash_aliases文件,即使它与 bash 没有任何关系。它会直接查看是否存在/usr/bin/vii。如果是,则执行它。

问题

我可以像viiin一样放置 vi 的别名版本/usr/bin/吗?

(并且请不要建议我使用git …

bash vim git alias executable

3
推荐指数
2
解决办法
774
查看次数

如何使用“查找”不区分大小写(使用“*”通配符)搜索?

主要问题是我的目录中有许多大写文件(例如Foobar.txt, FooBar.txt, even FOOBAR.txt。而且我发现通过准确键入来查找文件很麻烦(如果我知道确切的文件名,我为什么要使用find?)。所以我只想输入foobar并希望结果中的所有三个文件

此外,我使用*字符串的两侧来匹配文件名前面和后面的任意数量的字符。

我想要一个执行此操作的别名或函数。

find

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