我正在寻找相当于右键单击Windows中的驱动器并查看使用的磁盘空间和剩余信息.
有没有更快的方法来删除目录,然后只需提交
rm -r -f *directory*
Run Code Online (Sandbox Code Playgroud)
?我问这个是因为我们的日常跨平台构建非常庞大(例如每个构建4GB).因此,某些机器上的硬盘经常耗尽空间.
这就是我们的AIX和Solaris平台的情况.
也许在这些平台上有删除目录的"特殊"命令?
PASTE-EDIT(将我自己的答案移到问题中):
我一般都在想为什么'rm -r -f'这么慢.不'rm'只需要修改'..'或'.' 用于取消分配文件系统条目的文件.
就像是
mv *directory* /dev/null
Run Code Online (Sandbox Code Playgroud)
会好的.
我试过检查谷歌,但我找不到与实际问题相关的太多信息.
如何获得僵尸进程和守护程序进程的整合列表?我如何在不同的操作系统上执行此操作.Linux呢?AIX?视窗?
我确信,基于PID,我们无法确定过程的类型.通过终端运行可能也无济于事.
我们在Windows上使用Eclipse CDT 5 C++ IDE在远程AIX主机上开发C++应用程序.
Eclipse CDT能够使用gdbserver执行远程调试.不幸的是,AIX上不支持gdbserver.
是否有人熟悉使用Eclipse CDT远程调试而无需gdbserver?也许使用SSH shell连接到gdb?
#!/bin/sh
echo "Please enter evaluate database username"
read eval_user
echo "Please enter evaluate database password"
read eval_pass
echo "Please enter the database name"
read db_name
LOGFILE=shell_log.txt
$ORACLE_HOME/bin/sqlplus -s /nolog <<-EOF>> ${LOGFILE}
connect $eval_user/$eval_pass@$db_name
WHENEVER OSERROR EXIT 9;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
DBMS_OUTPUT.put_line('Connected to db');
EOF
if [ $? != 0 ]
then
echo "The upgrade script failed. Please refer to the log results.txt for more information"
echo "Error code $?"
exit 0;
fi
Run Code Online (Sandbox Code Playgroud)
我正在输入垃圾值,试图强制此脚本失败.但是,令人讨厌的是,它一直在前进,没有提到任何错误代码.还有什么需要做的吗?
尝试编写能够以不同的UNIX用户身份运行UNIX命令的Java程序.我有用户的密码,我知道我想要运行的命令,但该命令必须以该用户身份运行 - 所以我必须先以该用户身份登录.
例如:假设我们有一个用户,jim,谁想要查看bob的主目录中的内容,并且(无论出于何种原因)jim可以访问执行ls而bob没有.我们目前以bob身份登录.这是我们(可以)做的:
bob@host$ su jim && ls ~bob
Run Code Online (Sandbox Code Playgroud)
问题是,我们会收到jim密码的提示.因为这是从Java程序运行的,即
Process p = Runtime.getRuntime().exec("su jim && ls ~bob");
Run Code Online (Sandbox Code Playgroud)
我们收到jim密码的提示并挂断了.我们知道jim的密码.但是,我不能输入它.
此外,我们不能使用Expect脚本(没有安装它),我们不能成为超级用户.我也考虑使用SSH来尝试这个,因为我们可以在技术上做到这一点
bob@host$ ssh jim@host "ls ~bob"
Run Code Online (Sandbox Code Playgroud)
但由于我没有设置无密码SSH的权限,这也行不通.
我最后的努力是尝试使用SSH库来实现Java,因为密码可供Java程序使用,我可以用它登录(并执行正确的命令).但是因为我要在同一台主机上运行,所以看起来有点矫枉过正.
有什么建议?
PS:Java版本1.4.2,无法升级; AIX UNIX 5.3.
我正在尝试在AIX上构建python-kerberos.kerberospw.c使用了对asprintf的调用,但是从谷歌告诉我的是,asprintf在AIX上不存在.
我看到http://www.koders.com/c/fidAA9B130D588302673A28B568430A83131B7734C0.aspx?s=windows.h,它看起来像我可以创建一个替身asprintf,但我不知道这个会去或我会怎样#include它在kerberospw.c中.
有没有办法可以使用koders.com示例或其他一些代码"伪造"asprintf?我可以只包含asprintf函数,如kerberospw.c所示?我不是C编码员,但是
asprintf(char**resultp,const char*format,...)
用最后的圆点看起来对我来说不是一个有效的签名.kerberospw.c的相关部分如下
asprintf(消息"%*S:%*S",(int)的result_code_string.length,
(字符*)result_code_string.data,
(INT)result_string.length,
(字符*)result_string.data);
我知道我可以联系上python-的Kerberos的作者,但)我认为这将是有帮助的潜在的补丁,如果我这样做,和b)有可能是其他的软件我碰到运行使用asprintf,这将是很高兴有一个解决方法.
我只是想给出一个带有通配符路径的文件名列表.
my $path = "/foo/bar/*/*.txt";
my @file_list = glob($path);
foreach $current_file (@file_list) {
print "\n- $current_file";
}
Run Code Online (Sandbox Code Playgroud)
大多数情况下这很好用,但是如果有一个大于2GB的文件,在某个/ foo/bar/*子路径中,glob会返回一个没有任何错误或警告的空数组.
如果我删除文件文件或添加如下字符/括号序列:
my $path = "/foo/bar/*[0-9]/*.txt";
Run Code Online (Sandbox Code Playgroud)
要么
my $path = "/foo/bar/*1/*.txt";
Run Code Online (Sandbox Code Playgroud)
然后glob再次运作.
更新:
这是一个例子(对于业务策略,我必须屏蔽路径名):
[root]/foo/bar # ls -lrt
drwxr-xr-x 2 root system 256 Oct 11 2006 lost+found
drwxr-xr-x 2 root system 256 Dec 27 2007 abc***
drwxr-xr-x 2 root system 256 Nov 12 15:32 cde***
-rw-r--r-- 1 root system 2734193149 Nov 15 05:07 archive1.tar.gz
-rw-r--r-- 1 root system 6913743 Nov 16 05:05 …
Run Code Online (Sandbox Code Playgroud) 我有以下内容
#!/bin/bash
USER='scott'
PASS='tiger'
ssh -t $USER@server006.web.com "sudo su - http"
Run Code Online (Sandbox Code Playgroud)
这是Works,但我试图让它在之后运行一个脚本,如果我这样做,使用-c或<
该脚本像这样做一个grep:
grep -i "Exception:" /opt/local/server/logs/exceptions.log | grep -e "|*-*-*:*:*,*|" | tail -1 | awk -F'|' '{print $2}' >> log.log
Run Code Online (Sandbox Code Playgroud)
这也适用于它自己,但我需要http才能做到这一点.
我也不能把SCP的输出输回到server001,所以我被困在这里,
任何想法都会被接受赞赏.本
#!/bin/bash
export PROCNAME=test
export TABLE_ID=0
if [ ${TABLE_ID} -eq "" ]; then
echo hello
fi
Run Code Online (Sandbox Code Playgroud)
以上抛出错误:
[:-eq:预期一元运算符
如何用双方括号解决这个问题 [[ ${TABLE_ID} -eq "" ]]
.