0x01 tar
-
tar tf xx.tar.gz 可以不解压前提下,查看压缩包内包含的文件。
-
tar xf xx.tar.gz a.txt 可以解压特定的一个文件出来,而不是解压全部。
-
tar -C dir 操作前切换到对应的目录。可以实现把一个tar包解压到指定目录,用来应用patch。
配合curl操作。curl -s url | tar xvzf - -C dir
其中的-
表示从标准输入接收数据。 -
tar --exclude=path 可以排除某些目录或者文件,支持多个。
0x02 echo
- echo -n 避免输出换行符。
0x03 重定向
- 将标准输出重定向
>
。ls >/dev/null
将标准输出重定向到/dev/null
,这个是linux下的空洞设备,任何数据都被丢掉。 - 将标准错误重定向到标准输出。
ls 2>&1
- 将标准输出和标准错误一起重定向。有2种做法。1,
ls &>/dev/null
; 2,ls >/dev/null 2>&1
:> empty.txt
和>empty.txt
都可以实现将文件清空。
0x04 du
du -x
不跨文件系统查看占用情况,可以方便地确认目录下是哪个文件或者文件夹占用当前磁盘的空间比较多。
0x05 ssh
- ssh登录后,再exit时。exit的退出码是,ssh中最后一个命令的退出码。
0x06 解开RD
newrd_file=/path/to/rd
mkdir -pv rootfs; cd rootfs
(echo -ne $(printf '\\x%02x\\x%02x' 0x1f 0x8b);tail -c +3 ${newrd_file}) | zcat | cpio -imd
0x07 chroot中使用/dev/random /dev/urandom
chroot之前将/dev bind到rootfs下dev目录。
sudo mount --bind /dev rootfs/dev
0x08 使用内建 type命令判断命令是内建还是外部定义的
$ type ls
ls is an alias for ls --color=tty
# wlin @ 4-test0025 in /mnt/d/dl/code/bash/var-subtitution [8:28:11]
$ type fc
fc is a shell builtin