4 ms·
Point: Bloat in cat is bad and un-UNIXy, cf. http://harmful.cat-v.org/cat-v/ http://harmful.cat-v.org/cat-v/ Counter-point: If cat is becoming your performance
by CoreDumpling 17y ago
Point: Bloat in cat is bad and un-UNIXy, cf. http://harmful.cat-v.org/cat-v/ http://harmful.cat-v.org/cat-v/
Counter-point: If cat is becoming your performance bottleneck, you're doing it wrong: http://sial.org/howto/shell/useless-cat/ http://sial.org/howto/shell/useless-cat/
Yes, the GNU version looks dreadful, but I think that really doesn't matter that much.
EDIT: Well, I guess I didn't consider the case where you want to put cat in a chroot jail. On Solaris 10:
$ ldd /usr/bin/cat
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,T5240/lib/libc_psr.so.1
$ ldd /usr/gnu/coreutils/default/bin/cat
libnsl.so.1 => /lib/libnsl.so.1
libc.so.1 => /lib/libc.so.1
libmp.so.2 => /lib/libmp.so.2
libmd.so.1 => /lib/libmd.so.1
libscf.so.1 => /lib/libscf.so.1
libdoor.so.1 => /lib/libdoor.so.1
libuutil.so.1 => /lib/libuutil.so.1
libgen.so.1 => /lib/libgen.so.1
libm.so.2 => /lib/libm.so.2
/platform/SUNW,T5240/lib/libc_psr.so.1
/platform/SUNW,T5240/lib/libmd_psr.so.1
Yikes...
- __david__ 17y agoNot sure what's wrong with Solaris. Linux is much more sane: $ ldd /bin/cat linux-vdso.so.1 => (0x00007ffff71ff000) libc.so.6 => /lib/libc.so.6 (0x00007f5ef56ec000) /lib64/ld-linux-x86-64.so.2 (0x00007f5ef5a71000)
- barrkel 17y ago[rupert] ~$ ldd $(which cat) libintl.so.3 => /lib/libintl.so.3 libiconv.so.2 => /lib/libiconv.so.2 libc.so.1 => /lib/libc.so.1 libsocket.so.1 => /lib/libsocket.so.1 libgcc_s.so.1 => /lib/libgcc_s.so.1 libsec.so.1 => /lib/libsec.so.1 libnsl.so.1 => /lib/libnsl.so.1 libavl.so.1 => /lib/libavl.so.1 libidmap.so.1 => /usr/lib/libidmap.so.1 libmp.so.2 => /lib/libmp.so.2 libmd.so.1 => /lib/libmd.so.1 libscf.so.1 => /lib/libscf.so.1 libldap.so.5 => /usr/lib/libldap.so.5 libresolv.so.2 => /lib/libresolv.so.2 libsldap.so.1 => /usr/lib/libsldap.so.1 libuutil.so.1 => /lib/libuutil.so.1 libgen.so.1 => /lib/libgen.so.1 libsasl.so.1 => /usr/lib/libsasl.so.1 libnspr4.so => /usr/lib/libnspr4.so libplc4.so => /usr/lib/libplc4.so libnss3.so => /usr/lib/libnss3.so libssl3.so => /usr/lib/libssl3.so librt.so.1 => /lib/librt.so.1 libdl.so.1 => /lib/libdl.so.1 libsoftokn3.so => /usr/lib/libsoftokn3.so libplds4.so => /usr/lib/libplds4.so libm.so.2 => /lib/libm.so.2 (Nexenta NCP 2.0; there's a simpler cat in /usr/sun/bin.)
- blasdel 17y agoOn Mac OS 10.6: $ otool -L /bin/cat /bin/cat: /usr/lib/libSystem.B.dylib $ otool -L /usr/lib/libSystem.B.dylib /usr/lib/libSystem.B.dylib: /usr/lib/libSystem.B.dylib /usr/lib/system/libmathCommon.A.dylib $ otool -L /usr/lib/system/libmathCommon.A.dylib /usr/lib/system/libmathCommon.A.dylib: /usr/lib/system/libmathCommon.A.dylib