-ar标志在这里是什么意思:
cp -ar ../foo/bar/. qux/quux/
Run Code Online (Sandbox Code Playgroud)
我对命令行语言很陌生,并尽我所能来学习它。
不确定-ar只有国旗。-r是递归的,那么您可以添加-a它-ar吗?是否-a意味着所有?
我正在尝试安装一个程序,但一直报错,说它没有找到 perl 库 getopts.pl。我的 perl 版本是 v5.16.2。
错误信息是:
Can't locate getopts.pl in @INC (@INC contains:
/usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.16.2
/usr/lib/perl5/vendor_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.16.2
/usr/lib/perl5/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/5.16.2
/usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.16.2 /usr/lib/perl5/site_perl .) at ./sqc line 179.
Run Code Online (Sandbox Code Playgroud)
你知道发生了什么吗?我的平台是 openSUSE 版本 12.3 (Dartmouth) (x86_64)
我不小心在sudoers文件中犯了一个错误,现在我无法修复它,因为如果我尝试更改文件,它会给出权限被拒绝的消息。如果我sudo用来打开文件,那么它会说语法错误并且找不到有效的sudoers源并且不会执行该命令。我在使用 raspbian,一种 debian 的味道。
有谁知道如何摆脱这个catch-22?
[root@vmx ~]# df -h /appl/was | grep [0-9]% | awk '{ print $4 }' # => 53%
[root@vmx ~]# df -h / | grep [0-9]% | awk '{ print $4 }' # -> 108G
Run Code Online (Sandbox Code Playgroud)
发生这种情况是因为如果设备名称很长,输出会打印在两行上
[root@vmx ~]# df -h /appl/was
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/appsvg-lvwasapp
6.9G 3.4G 3.1G 53% /appl/was
[root@vmx ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 122G 8.1G 108G 7% /
我怎样才能避免这种情况?
core-utils 版本是 coreutils-8.4-46.el6.x86_64。
我在 Centos 7 上花费了大量时间sudo。我将本地用户添加test到/etc/sudoersviavisudo如下:
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
test ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
还添加test到轮组:
[root@ark-centos-smb4 ~]# groups test
test : …Run Code Online (Sandbox Code Playgroud) 我想知道我应该在哪里使用useradd -m或useradd -d创建一个新的主目录?我没明白-m和-d标志的目的useradd?
我正在寻找sh与以下内容等效的内容(是的,真的。)
#!/bin/bash
exe1='filepath'
n=1
var=exe${n}
echo ${!var}
Run Code Online (Sandbox Code Playgroud)
回声应该输出的地方filepath。我想使用普通的 sh。
我已经玩了很多代码,但到目前为止我没有设法得到正确的输出。
我想实现一个类似数组的结构,我只想使用循环迭代已知数量的变量的变量名。
对于数组,我在符合 POSIX 的 shell 中找到了Arrays,但出于好奇,我仍在寻找问题的答案;)
好的,所以我已经知道如何将我的计算机中的文件复制到另一台计算机,当我这样做时,(我试图将其复制到 sudo 受保护的目录)它说权限被拒绝。我不知道将 sudo 放在哪里,所以它不在我的机器中,但它不会妨碍目录。这是我通常输入的内容:
scp /Users/username/Documents/folder/folder/script.py pi@192.168.x.xx:/usr/local/bin
Run Code Online (Sandbox Code Playgroud) 我可以创建一系列文件,例如:
touch file{A..Z}.txt
Run Code Online (Sandbox Code Playgroud)
那么将输出引导到这个范围的最简单的解决方案是什么?
例如:echo 'hello, world'到 . 范围内的所有文件{A..Z}。
我目前正在使用rsync将 73GB 文件从三星便携式 SSD T7 复制到 HPC 集群。
rsync -avh path/to/dataset me@server.somewhere:/path/to/dest
Run Code Online (Sandbox Code Playgroud)
以下适用:
问题是,9个小时后,移动仍然没有完成。根据1,使用cp空目录更好(第一次)。我不明白这一点,也不明白这是否属实。有人可以解释一下吗?
shell-script ×2
sudo ×2
ubuntu ×2
awk ×1
centos ×1
command-line ×1
cp ×1
disk-usage ×1
files ×1
large-files ×1
linux ×1
perl ×1
raspberry-pi ×1
raspbian ×1
rsync ×1
scp ×1
scripting ×1
shell ×1
ssd ×1
ssh ×1
variable ×1