Для доступа к машине Windows с машины Linux (из Терминала):
- Установить пакеты ntfs-3g и cifs-utils (sudo apt-get install или yum install).
- Создайте локальный каталог монтирования, например / shared.
- Отредактируйте / etc / fstab и добавьте в него что-то вроде этого:
\\ WIN-IP \ share $ / shared cifs rw, noauth, suid, username = computer_name \ user_name 0 0
- Сохраните файл и запустите:
mount -a
- Найдите / shared и запустите
ls
Чтобы получить доступ к машине Windows с машины Ubuntu (из GUI):
- From ваш компьютер Ubuntu, откройте Nautilus.
- На левой панели нажмите «Подключиться к серверу».
- В поле «Адрес сервера» введите:
smb: // WIN-IP / share
Чтобы получить доступ к машине Linux из Windows (из Терминала):
Следуйте этому официальному руководству Ubuntu .
Еще одна вещь, которую следует принять во внимание, - это то, что через WAN вам придется открыть TCP-порты 139 и 445 и UDP-порты 137-138, чтобы разрешить доступ Samba.
Вероятно, есть более элегантный способ, использующий Perl pack
и unpack
, но использующий комбинацию манипуляций со строками иoct
:
$ perl -pe 's/\b[01]+\b/oct "0b". $&/ge' file
ADD $05 $05 $05
SUBI $06 $06 3
MUL $07 $07 $07
JSR 29
См. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел
Попробуйте этот небольшой bash
скрипт:
while read -a INP; do for i in ${INP[@]}; do [[ "$i" =~ [^10] ]] || i=$((2#$i)); printf "%s\t" "$i" ; done; printf "\n"; done < file3
ADD $05 $05 $05
SUBI $06 $06 3
MUL $07 $07 $07
JSR 29
Полировка может помочь. Он считывает строки файла в массив, проверяет, содержат ли его элементы только двоичные цифры (0 и 1 ), использует «арифметическую оценку» с префиксом основания 2 2#
, если да, прежде чем напечатать