给出以下命令:
gzip -dc /cdrom/cdrom0/file.tar.gz | tar xvf –
Run Code Online (Sandbox Code Playgroud)
什么是-在命令中到底意味着什么?它是某种占位符吗?
我是 C++ 编程的新手,我有一个非常基本的问题。我注意到当我-1在 C++ 程序中返回然后检查退出状态时,我得到255. 这是为什么?
代码是最基本的:
int main()
{
return -1;
}
Run Code Online (Sandbox Code Playgroud)
然后,在运行编译后的代码后:
echo $?
255
Run Code Online (Sandbox Code Playgroud) 我想删除大小介于特定值之间的文件。例如,我有以下文件列表:
-rw-r--r-- 1 smsc sys 558 Apr 30 13:07 stats.sfe.1.20120430130513.xml.Z
-rw-r--r-- 1 smsc sys 388 Apr 30 15:32 stats.sfe.1.20120430153013.xml.Z
-rw-r--r-- 1 smsc sys 386 Apr 30 15:36 stats.sfe.1.20120430153513.xml.Z
-rw-r--r-- 1 smsc sys 389 Apr 30 15:42 stats.sfe.1.20120430154013.xml.Z
-rw-r--r-- 1 smsc sys 390 Apr 30 16:02 stats.sfe.1.20120430160013.xml.Z
-rw-r--r-- 1 smsc sys 385 Apr 30 16:12 stats.sfe.1.20120430161013.xml.Z
Run Code Online (Sandbox Code Playgroud)
从上面的列表中,我只想删除大小在386b和390b之间变化的文件。我知道我可以使用以下命令来删除超过一定大小的文件<size>:
find . -size +<size>-delete
Run Code Online (Sandbox Code Playgroud)
但是如何为大小小于给定值的文件再添加一个边界?
我有一个包含大量文件的目录。部分文件有755权限,另一部分有644权限。我想将具有755权限的文件转换为644. 我通过从目录本身运行它来尝试以下行:
find . -perm 755 -exec chmod 644 {}\;
Run Code Online (Sandbox Code Playgroud)
然而,结果,权限只更改了目录本身,在将其更改回来后,我发现文件权限保持不变。我错过了什么吗?
我的学生在 vim 中获得了语法着色,但我没有!
即使当我“语法上”作为命令syntax on或将它放在我的.vimrc和/或.exrc.
终端是xterm。
我在 vim 中遗漏了一些东西,或者我的 .profile 中是否有一些东西——它已经增长了 30 年......而且我一直在解决这个问题一年。
谢谢收听
我正在尝试确定 bash 解释器在我的 Solaris 系统上的位置,但我有点困惑。当我输入:
echo $SHELL
Run Code Online (Sandbox Code Playgroud)
结果路径是:
/bin/bash
Run Code Online (Sandbox Code Playgroud)
当我输入时:
which bash
Run Code Online (Sandbox Code Playgroud)
我得到:
/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这种差异吗?
我有一个运行 Ubuntu 操作系统的 VirtualBox。我想使用ssh或访问这台 Ubuntu 机器telnet。为此,我执行了以下步骤:
sudo apt-get install telnetdsudo /etc/init.d/openbsd-inetd restart然后我尝试从另一台机器使用 telnet 访问这个系统,但不幸的是连接超时:
# telnet 10.125.31.176
Trying 10.125.31.176...
telnet: connect to address 10.125.31.176: Connection timed out
telnet: Unable to connect to remote host: Connection timed out
Run Code Online (Sandbox Code Playgroud)
另外我想提一下,我可以轻松地 ping 这台机器(双向):
# ping 10.125.31.176
PING 10.125.31.176 (10.125.31.176) 56(84) bytes of data.
64 bytes from 10.125.31.176: icmp_seq=1 ttl=57 time=2.34 ms
64 bytes from 10.125.31.176: icmp_seq=2 ttl=57 time=1.81 ms
Run Code Online (Sandbox Code Playgroud)
编辑:我还执行了开放端口扫描,看起来没问题:
$ sudo nmap -p 20-2550 …Run Code Online (Sandbox Code Playgroud) 我在一个目录中有以下文件:
-rw-r--r-- 1 smsc sys 46 Apr 22 12:09 bills.50.1.3G.MO.X.20120422120453.Z
-rw-r--r-- 1 smsc sys 28 Apr 22 12:15 bills.50.1.3G.MO.X.20120422120953.Z
-rw-r--r-- 1 smsc sys 46 Apr 22 12:20 bills.50.1.3G.MO.X.20120422121453.Z
-rw-r--r-- 1 smsc sys 46 Apr 22 12:25 bills.50.1.3G.MO.X.20120422121953.Z
Run Code Online (Sandbox Code Playgroud)
其中第五列是文件的大小。我想删除所有大小为 46 的文件。为了过滤掉这些文件,我使用了以下命令:
ls -ltr | awk '$5 ~ /46/ {print $0}'
Run Code Online (Sandbox Code Playgroud)
哪个工作正常。但是现在我想删除所有被过滤掉的文件,所以我在上面的命令中添加了以下内容:
ls -ltr | awk '$5 ~ /46/ {print $0}' | xargs rm
Run Code Online (Sandbox Code Playgroud)
但是它给了我以下错误:
rm: invalid option -- w
Run Code Online (Sandbox Code Playgroud)
似乎我必须使用findoverls所以我将获得以下格式的输出:
./bills.50.1.3G.MO.X.20120421050453.Z
./bills.50.1.3G.MO.X.20120421154953.Z
./bills.50.1.3G.MO.X.20120419133452.Z
Run Code Online (Sandbox Code Playgroud)
但是我无法通过其参数过滤文件。如何完成这项任务?