Articles of 命令行

使用备份批处理脚本中的当前date作为文件名的参数

我正在尝试用计划任务来备份我的MySQL数据库。 备份SQL的命令是: mysqldump.exe -h localhost -u root databasename > databasebackup.sql 我想要做的是将当前date添加到文件名,这将是databasebackup_2012-01-31.sql 。 甚至更多理想情况下,我会压缩文件databasebackup_2012-01-31.sql在一个zip文件databasebackup_2012-01-31.zip因为sql文件大多包含非常好的可压缩文本。 压缩后,sql文件将被删除,只有zip文件保持备份。

testingWindows应用程序的运行状况

我有几个应用程序是我们工作室的各种开发人员使用的一套工具的一部分。 这些应用程序主要是打开DOS cmd shell的命令行应用程序。 这些应用程序反过来启动一个GUI应用程序,跟踪这些命令行应用程序的输出和状态(通过套接字)。 命令行应用程序可以在用户login时启动,当他们的工作站被locking(他们触发一个batch file,然后立即locking他们的工作),并当他们注销(通过计划的任务)。 我所遇到的问题是最后两种情况。 如果这些应用程序中的任何一个在用户被locking或注销时触发,这些命令将产生跟踪输出/状态的GUI窗口。 这很好,但是说用户的工作站被locking – 当他们解锁工作站时,GUI不可见。 它正在运行任务列表,但不可见。 下一次这些用户运行一些命令行应用程序时,GUI不会启动(因为它已经在运行),但是由于在桌面上不可见,所以用户看不到任何输出。 我正在寻找的是从我的命令行应用程序中分辨出是否在locking的工作站后面运行或用户注销(通过计划的任务)的方式 – 基本上它们在没有用户桌面的情况下运行。 如果我可以说,那么我可以简单地启动我们的GUI,并可以防止很多问题。 我需要testing的这些应用程序是C / C ++ Windows应用程序。 我希望这是有道理的。

如何从wget输出grep下载速度?

我需要用wget下载几个文件并测量下载速度。 例如我用下载 wget -O /dev/null http://ftp.bit.nl/pub/OpenBSD/4.7/i386/floppy47.fs http://ftp.bit.nl/pub/OpenBSD/4.7/i386/floppyB47.fs 和输出是 –2010-10-11 18:56:00– http://ftp.bit.nl/pub/OpenBSD/4.7/i386/floppy47.fs Resolving ftp.bit.nl… 213.136.12.213, 2001:7b8:3:37:20e:cff:fe4d:69ac Connecting to ftp.bit.nl|213.136.12.213|:80… connected. HTTP request sent, awaiting response… 200 OK Length: 1474560 (1.4M) [text/plain] Saving to: `/dev/null' 100%[==============================================================>] 1,474,560 481K/s in 3.0s 2010-10-11 18:56:03 (481 KB/s) – `/dev/null' saved [1474560/1474560] –2010-10-11 18:56:03– http://ftp.bit.nl/pub/OpenBSD/4.7/i386/floppyB47.fs Reusing existing connection to ftp.bit.nl:80. HTTP […]

Java exec()不会返回pipe道连接命令的预期结果

我正在调用通过pipe道连接的命令行程序。 所有这些都可以在Linux上运行。 我的方法: protected String execCommand(String command) throws IOException { String line = null; if (command.length() > 0) { Process child = Runtime.getRuntime().exec(command); InputStream lsOut = child.getInputStream(); InputStreamReader r = new InputStreamReader(lsOut); BufferedReader in = new BufferedReader(r); String readline = null; while ((readline = in.readLine()) != null) { line = line + readline; } } […]

od(1)的相反之处是什么?

说我有8b1f 0008 0231 49f6 0300 f1f3 75f4 0c72 f775 0850 7676 720c 560d 75f0 02e5 ce00 0861 1302 0000 0000,我怎么能轻松地得到一个二进制文件,而不复制+粘贴到hex编辑器?

Cygwin在运行Git push时导致longjmp

我试图从我的Windows 7,64位机器上的命令行运行git。 它大部分工作正常。 我尝试将我的本地更改推送到云中的私有存储库。 我试图运行的命令是git push origin master 我使用Cygwin 6.1,并导致以下错误。 大概是关于我在64位机器上运行的事实 0 [main] git-remote-http 6168 fork: child -1 – died waiting for longjmp before initialization, retry 10, exit code 0xC0000135, errno 11 error: cannot fork() for send-pack: Resource temporarily unavailable 我遵循这里的build议来更新我的rebaseall文件并重新命名rebase命令。 但它似乎并没有帮助。 任何人都可以重现这个问题或find解决办法吗? 先谢谢您的帮助。

将别名<cmd>透明地改为“do X then <cmd>”

标题很糟糕,但我不确定我想要做什么的正确术语,如果我知道我现在可能已经find了答案! 问题: 由于每当端口23被扫描,一个过分热心的端口扫描器(客户的networking监视器)和一个过于简单化的telnet守护进程(busybox linux),telnetd启动另一个 /bin/login实例,等待用户通过telnetinput。 由于端口扫描器并没有真正尝试login,所以没有会话,所以不会有会话超时,所以我们很快就会运行一个百万个僵尸拷贝/bin/login 。 我想要做的是: telnetd给了我们启动一些其他东西 ( -l )而不是/bin/login所以我想我们可以用一个bash脚本来replace/bin/login ,这个脚本会杀死旧的login进程,然后正常运行/bin/login : #!/bin/sh # First kill off any existing dangling logins # /bin/login disappears on successful login so # there should only ever be one killall -q login # now run login /bin/login 但是这似乎立即返回(没有错误,但没有login提示)。 我也尝试在telnetd的参数中链接命令: telnetd — -l "killall -q login;/bin/login" 但是,这似乎并没有工作(再次 – […]

Shell脚本问题,包含空格的文件名

我知道处理文件名空间的一种方法是用单引号括起文件名:“'”。 为什么下面的代码叫做“echo.sh”,在包含带空格的文件名的目录下工作,但程序“ls.sh”不起作用,唯一的区别是'echo'被'ls'replace? echo.sh #!/bin/sh for f in * do echo "'$f'" done 生产 : 'ABC' “高清” 'echo.sh' 'ls.sh' 但是,“ls.sh”失败: #!/bin/sh for f in * do ls "'$f'" done 生产 : ls:不能访问'ab c':没有这样的文件或目录 ls:不能访问'de f':没有这样的文件或目录 ls:不能访问'echo.sh':没有这样的文件或目录 ls:不能访问'ls.sh':没有这样的文件或目录

在CentOS中尾随多个文件

我想在CentOS中尾随多个文件(并按照它们),我试过这个: tail -f file1 file2 file3 但输出是非常不友善的 我也看过multitail,但找不到CentOS版本。 我还有什么其他的select?

需要Linux cmd-line应用程序来比较二进制文件,并在第一次不匹配时退出

是否有一个Linux命令行应用程序将比较两个二进制文件,并退出第一次失误? cmp似乎没有退出的select。