我有一个目录,里面有很多文件和目录。为了整理一下,我将把所有这些文件放到一个目录中,所以我打算做这样的事情:
$ ls | wc -l
123
$ mkdir new_directory
$ mv * ./new_directory
Run Code Online (Sandbox Code Playgroud)
但是,这显然行不通,因为它会尝试new_directory进入new_directory. 是否有一些简单的方法可以在一行中完成我想要的操作,而不必复制和粘贴该目录中的所有文件和目录?
您如何计算自 1970 年 1 月 1 日以来的天数?这是用于更新OpenLDAP 上的shadowLastChange属性。
有没有办法使用 linux date命令来做到这一点?
我主要使用 Windows 安装的 Git vcs 附带的“git-bash”。我认为这与 Cygwin 附带的相同。它在技术上运行良好,但用户界面很糟糕:
相比之下,OS X 附带的终端应用程序可以从容地管理这些,并使其使用起来更加舒适。您甚至可以将文件拖放到其上,它会将文件路径粘贴到您的光标处!
我也试过:
http://sourceforge.net/projects/win-bashhttp://www.steve.org.uk/Software/bash/http://www.hamiltonlabs.com/cshell.htm这些都不会在没有繁琐的右键单击的情况下复制和粘贴文本。
我专门在 Windows 中寻找 Unix 风格的 shell,因此我不必在我的家庭开发人员 (Windows)、实时服务器 (Linux) 或办公室开发人员 (Mac) 之间使用不同的 shell。
是的,我已经用谷歌搜索过,但还没有找到...
如何在以下脚本中为“expect”添加超时?我想将其设置为 120 秒。
#!/bin/bash
HOST="localhost"
USER="myuname"
PASS="mypassword"
VAR=$(expect -c "
spawn ssh $USER@$HOST
expect \"password:\"
send \"$PASS\r\"
expect \"\\\\$\"
send \"ls\r\"
expect -re \"$USER.*\"
send \"logout\"
")
echo "==============="
echo "$VAR"
Run Code Online (Sandbox Code Playgroud) 我有一个以连续数字作为后缀的文件列表。我只想复制这些文件的一部分。如何将范围指定为 cp 命令的一部分。
$ls
P1080272.JPG* P1080273.JPG* P1080274.JPG* P1080275.JPG* P1080276.JPG* P1080277.JPG*
P1080278.JPG* P1080279.JPG* P1080280.JPG* P1080281.JPG* P1080282.JPG* P1080283.JPG*
Run Code Online (Sandbox Code Playgroud)
我想将文件从 P1080275.JPG 复制到 P1080283.JPG,内容类似于:
$cp P10802[75-83].JPG ~/Images/.
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我需要从 bash 脚本中检查是否安装了某些 Ruby gem。
我以为我可以做类似的事情
if ! gem list <name>; then do_stuff; fi
Run Code Online (Sandbox Code Playgroud)
但是在命令行上使用测试echo $?表明gem list <name>无论是否实际找到名称都返回 0。
这是否意味着我必须使用 grep 来过滤 gem list 的输出,或者有没有更好的方法可以检查是否安装了 gem?
我正在寻找一种方法来在我 ssh 到的任何服务器上的会话中自动定义一些别名。我不能把它们.bashrc放在服务器上的文件中,因为我登录的用户帐户是由其他人共享的,此外还有几十个,在每台机器上维护一个脚本会很痛苦。我知道我可以用来expect自动输入别名,但我只是想知道 OpenSSH 是否有任何内置的东西可以用来实现这一点?
我想为默认的 Postgresql 服务器用户设置密码,postgres. 我是通过使用做到的:
sudo -u postgres psql
# \password postgres
Run Code Online (Sandbox Code Playgroud)
我想在多台机器上做这一步,所以我想创建一个bash脚本来做同样的事情。如何在 bash 中完成此操作?
假设我想跟踪我的root用户。他们每个人都有一个唯一的私钥,并且他们的公钥已存储在/root/.ssh/authorized_keys.
鉴于每个用户都使用他们唯一的密钥登录,我如何从 BASH 会话中判断哪个密钥用于进行身份验证?我在登录时尝试查看环境变量,但看不到任何将我的会话与我的公钥相关联的内容。
我有一个 100GB 的文件,我想分成 100 个 1GB 的文件(按换行符)
例如
split --bytes=1024M /path/to/input /path/to/output
Run Code Online (Sandbox Code Playgroud)
对于生成的 100 个文件,我想对每个文件应用 gzip/zip。
是否可以使用单个命令?