Используйте опцию -q
, чтобы указать sftp
быть quiet, тем самым подавляя большую часть вывода, который вас не интересует:
echo "ls *.txt" | sftp -q user@host.example.com:/path
Вы все еще будете видеть строки для интерактивной подсказки, в которую вы передаете эхо, например, sftp> ls *. txt
, но их можно отфильтровать с помощью grep -v
:
echo "ls *.txt" | sftp -q user@host.example.com:/path | grep -v '^sftp>`
В качестве дополнения, вероятно, лучше использовать пакетный файл и передавать его с параметром -b
в sftp
, а не echo
вставлять в него конвейер.
Если все, что вы действительно хотите сделать, это получить список файлов, это может быть лучше сделать с помощью ssh
, чем с помощью sftp
(который, в конце концов, является secure file transfer program):
ssh user@host.example.com ls -1 /path
qemu-system
, qemu
, qemu-efi
, qemu-kvm
, wget
и p7zip-full
Загрузите корневую файловую систему TinyCoreLinux:
wget -O tinycore.gz http://tinycorelinux.net/9.x/x86_64/release/distribution_files/rootfs64.gz
Извлеките rootfs с помощью p7zip:
7z x tinycore.gz
mkdir -p linux/tinycore
7z x tinycore -olinux/tinycore
rm tinycore.gz tinycore
Поставить линукс в образ(abc
не нужно заменять)
dd if=/dev/zero of=MyLinux.img bs=1M count=384 status=progress
mkfs.vfat MyLinux.img
sudo mount MyLinux.img /mnt
cd linux/tinycore
sudo cp * /mnt -rv
cd..
sudo umount /mnt
Создать виртуальную машину со снимком(ВАЖНО!)Если вы не создадите виртуальную машину, удалить chroot может быть сложно. Там написано permission denied
, а вам нужно recovery mode
. Виртуальная машина может быть любым дистрибутивом на основе Debian. Это также может быть TinyCore. Вам просто нужно ядро с датой от -до -.
qemu-img create -f qcow2 customizer.qc2 16G
sudo qemu-system-x86_64 -cdrom /path/to/iso/for/building.iso -hda customizer.qc2 \
-boot menu=on -m 1536 --enable-kvm -hdb MyLinux.qc2
Теперь вам нужно запустить команды в виртуальной машине !
Chroot в систему(xyz
не требует замены)
sudo mount /dev/sdb /mnt/xyz
sudo chroot /mnt/xyz
Установка пакетов, настройка файловой системы
tce-load -wi packages.tcz to.tcz install.tcz
Выключить виртуальную машину, теперь запускать команды на хосте
sudo poweroff
Создать zip-файл ОС
sudo mount MyLinux.img /mnt
cd /mnt
mkdir ~/linuximage
sudo cp -r * -v ~/linuximage
sudo chown $(whoami):$(whoami) ~/linuximage --recursive
sudo chmod 777 ~/linuximage --recursive
cd ~/linuximage
zip -r ~/mylinuxdistro.zip.
cd
Распространяйте и делитесь!