标签: command-line

如何在Linux中生成具有绝对路径的文件列表?

我正在编写一个shell文件,它将文件路径作为输入.

出于这个原因,我需要生成具有完整路径的递归文件列表.例如,该文件bar具有以下路径:

/home/ken/foo/bar
Run Code Online (Sandbox Code Playgroud)

但是,据我所看到的,ls并且find只给出相对路径列表:

./foo/bar   (from the folder ken)
Run Code Online (Sandbox Code Playgroud)

这似乎是一个明显的要求,但我不能看到任何东西findls手册页.

如何在shell中生成文件列表,包括其绝对路径?

linux command-line ls absolute-path

271
推荐指数
13
解决办法
93万
查看次数

如何找到文本文件中的行结尾?

我试图在bash中使用某些东西来显示打印文件中的行结尾而不是解释.该文件是来自SSIS/SQL Server的转储,由Linux机器读入以进行处理.

  • 是否有内的任何开关vi,less,more,等?

  • 除了查看行结尾之外,我还需要知道它是什么类型的行结束(CRLFLF).我怎么找到它?

linux bash command-line newline line-endings

269
推荐指数
9
解决办法
27万
查看次数

在bash中超时命令没有不必要的延迟

这个答案了一定的时间后,命令行命令来自动杀死命令

提出了一个单行方法来从bash命令行超时长时间运行的命令:

( /path/to/slow command with options ) & sleep 5 ; kill $!
Run Code Online (Sandbox Code Playgroud)

但是,给定的"长时间运行"命令可能比超时更早完成.(我们称之为"通常长时间运行但有时快速"的命令,或者称为tlrbsf.)

所以这种漂亮的1-liner方法有几个问题.首先,sleep它不是有条件的,因此在序列完成所花费的时间上设置了不希望的下限.当tlrbsf命令在2秒内完成时,考虑30s或2m甚至5m的睡眠- 非常不受欢迎.其次,它kill是无条件的,所以这个序列将试图杀死一个非运行的进程并发出呜呜声.

所以...

有没有办法超时通常长时间运行但有时快("tlrbsf")命令

  • 有一个bash实现(另一个问题已经有Perl和C的答案)
  • 将在两个之前终止:tlrbsf程序终止或超时
  • 不会杀死不存在/未运行的进程(或者,可选:不会抱怨糟糕的杀戮)
  • 不必是1班轮
  • 可以在Cygwin或Linux下运行

...对于奖励积分,在前台运行tlrbsf命令,在后台运行任何"睡眠"或额外进程,这样tlrbsf命令的stdin/stdout/stderr 可以被重定向,就像它曾经被重定向一样直接跑吗?

如果是这样,请分享您的代码.如果没有,请解释原因.

我花了一段时间试图破解前面提到的例子,但我正在达到我的bash技能的极限.

bash command-line utilities timeout

267
推荐指数
11
解决办法
28万
查看次数

如何使用上一个命令的参数?

我知道Esc+ .给你最后一个命令的最后一个参数.

但我对最后一个命令的第一个参数感兴趣.有关键绑定吗?

在同一行,有没有从最后一个命令获取第n个参数的通用方法?我知道,在bash脚本,您可以使用$0,$1等等,但这些并不在命令行工作.

那么,如何迭代前面命令的第0个参数,就像我们可以通过连续按Esc+ 来完成最后一个参数.

bash command-line keyboard-shortcuts input-history

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

Linux命令列出所有可用的命令和别名

是否有Linux命令列出此终端会话的所有可用命令和别名?

好像你输入'a'并按下了标签,但是对于字母表中的每个字母.或运行'别名'但也返回命令.

为什么?我想运行以下命令,看看命令是否可用:

ListAllCommands | grep searchstr
Run Code Online (Sandbox Code Playgroud)

linux terminal command-line

264
推荐指数
7
解决办法
24万
查看次数

通过命令行将变量传递给Ruby脚本

我在Windows上安装了RubyInstaller,我正在运行IMAP Sync,但我需要用它来同步数百个帐户.如果我可以通过命令行将这些变量传递给它,我可以更好地自动化整个过程.

# Source server connection info.
SOURCE_NAME = 'username@example.com'
SOURCE_HOST = 'mail.example.com'
SOURCE_PORT = 143
SOURCE_SSL  = false
SOURCE_USER = 'username'
SOURCE_PASS = 'password'

# Destination server connection info.
DEST_NAME = 'username@gmail.com'
DEST_HOST = 'imap.gmail.com'
DEST_PORT = 993
DEST_SSL  = true
DEST_USER = 'username@gmail.com'
DEST_PASS = 'password'
Run Code Online (Sandbox Code Playgroud)

ruby command-line

262
推荐指数
3
解决办法
25万
查看次数

从python中执行命令行程序

可能重复:
在Python中调用外部命令

我正在构建一个Web应用程序,它将操纵(填充,混合,合并等)声音文件,我发现sox完全符合我的要求.Sox是一个linux命令行程序,让我感到有点不舒服的是让python web应用程序在我的服务器上基于每个请求启动新的sox进程.

例:

import os
os.system('sox input.wav -b 24 output.aiff rate -v -L -b 90 48k')
Run Code Online (Sandbox Code Playgroud)

整个设置对我来说似乎有点不稳定.

所以我的问题是,在python(或任何脚本语言)Web应用程序中运行命令行程序的最佳实践是什么?

为了绕过整个请求响应周期,消息队列将是一件要实现的事情.但还有其他方法可以让这些东西更优雅吗?

python command-line

260
推荐指数
2
解决办法
47万
查看次数

cmd.exe使用什么编码/代码页?

当我在Windows中打开cmd.exe时,它使用的是什么编码?

如何查看当前使用的编码?它取决于我的区域设置还是有任何环境变量需要检查?

键入具有特定编码的文件时会发生什么?有时我会收到乱码(使用的编码不正确),有时候它会有所作为.但是,只要我不知道发生了什么,我就不相信任何事情.谁能解释一下?

windows encoding command-line

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

Maven命令确定Maven正在使用哪个settings.xml文件

如何使用maven命令行来确定Maven正在拾取哪些settings.xml文件?

settings command-line maven-2 maven

257
推荐指数
7
解决办法
28万
查看次数

如何从终端运行mvim(MacVim)?

我安装了MacVim,我正在尝试将其设置为Git(版本控制)的编辑器,但我无法从命令行运行'mvim',因为它无法识别.如何设置mvim以便我可以从终端运行它?

macos vim shell command-line macvim

256
推荐指数
10
解决办法
15万
查看次数