Tag: linux

在Unix shell中添加一列数字

给出files.txt中的文件列表,我可以得到这样的大小列表: cat files.txt | xargs ls -l | cut -c 23-30 这产生了这样的事情: 151552 319488 1536000 225280 我怎样才能得到所有这些数字的总和 ?

.so,.la和.a库文件有什么区别?

我知道一个.so文件是一种dynamic库(大量的线程可以共享这样的库,所以不需要在内存中有多个拷贝)。 但.a和.la什么.la ? 这些都是静态库吗? 如果dynamic库比静态库有更大的优势,为什么仍然有很多静态库? 我也想知道加载库的基本机制(这两种types)以及在某个地方使用某个lib中的一段代码的方式。 我应该学习哪一部分内核? 我应该知道什么相关的Linux命令/实用程序才能知道进程是如何运行的? (我现在只知道ld命令) 什么时候应该尝试将代码构build到.so或.a ? 哪一个更好? [mirror@home ins_openvpn]$ ls lib/openvpn/plugins/ -l total 96 -rw-r–r– 1 mirror mirror 22892 Sep 2 23:25 openvpn-plugin-auth-pam.a -rwxr-xr-x 1 mirror mirror 931 Sep 2 23:25 openvpn-plugin-auth-pam.la -rwxr-xr-x 1 mirror mirror 23621 Sep 2 23:25 openvpn-plugin-auth-pam.so -rw-r–r– 1 mirror mirror 17228 Sep 2 23:25 openvpn-plugin-down-root.a […]

Bash – 获取文件path参数中的最后一个dirname / filename

我正在尝试为我们的开发服务器上托pipe的SVN编写一个post-commit挂钩。 我的目标是尝试自动签出已提交项目的副本到托pipe在服务器上的目录。 但是,我需要能够只读取传递给脚本的目录string中的最后一个目录,以便签出我们的项目所在的同一个子目录。 例如,如果我将一个SVN提交给项目“example”,我的脚本将获得“/ usr / local / svn / repos / example”作为第一个参数。 我需要从string的末尾得到“example”,然后用另一个string连接,这样我就可以签出“/ server / root / example”并立即查看所做的更改。

如何使用“剪切”来查找最后一个字段

如果不使用sed或awk , 只能 cut ,当字段数量未知或每行更改时,如何获取最后一个字段?

快速unix命令在文件的中间显示特定的行?

试图debugging服务器的问题,我唯一的日志文件是一个20GB的日志文件(甚至没有时间戳!为什么人们使用System.out.println()作为日志?在生产?!) 使用grep,我find了一个文件的一个区域,我想看看,行347340107。 除了做类似的事情 head -<$LINENUM + 10> filename | tail -20 …需要head读取日志文件的前3.47亿行,是否有一个快速简单的命令,将347340100 – 347340200行(例如)转储到控制台? 更新我完全忘了,grep可以打印一个匹配的上下文…这很好。 谢谢!

确定安装yum软件包的path

我已经在Redhat上使用yum安装了ffmpeg,而且我很难弄清楚安装软件包的位置(path)。 有没有一个简单的方法来确定这一点,而不是手动find它自己?

如何在bash中创build一个只包含hex字符而不含空格的hex转储文件?

如何在Linux中使用bash创build二进制文件的未修改hex转储? od和hexdump命令都在转储中插入空格,这并不理想。 有没有办法简单地写一个长string的所有hex字符,在输出中减去空格或换行符?

如何将密码传递给scp?

我知道这不是build议的,但它是完全可能将用户的密码传递给SCP? 我想通过scp复制文件作为批处理作业的一部分,接收服务器当然需要密码,不,我不能轻易将其更改为基于密钥的身份validation。

Bash脚本,从stdinpipe道读取值

我试图让bash来处理数据从标准input获取pipe道,但没有运气,我的意思是没有以下工作: echo "hello world" | test=($(< /dev/stdin)); echo test=$test test= echo "hello world" | read test; echo test=$test test= echo "hello world" | test=`cat`; echo test=$test test= 我希望输出成为test=hello world 。 注意我试过在"$test"周围放置“”引号,也不起作用。

在Unix中,我可以在目录中运行'make'而不用先到那个目录cd?

在Unix中,我可以在目录中运行“make”,而不用先到那个目录cd?