Я не вполне понимаю, почему Вы не хотите, чтобы файлы появились как отдельные файлы при некоторых обстоятельствах. В конце концов, если my_books_on_m4_programming.arch
каталог, можно все еще скопировать его с cp -rp
, найдите его с locate
и так далее.
FUSE (Файловая система в Пространстве пользователя) позволяет реализовывать легкие файловые системы, и существует много файловых систем FUSE, которые обеспечивают альтернативные представления существующих файлов. Делание того же файла (как в, тот же путь к файлу) появляется, как и каталог и регулярный файл перепутали бы много приложений, но существует много существующих решений заставить тот же файл появиться как каталог в одном месте и как файл в другом месте.
В частности, AVFS делает архивы, и удаленные файлы появляются как каталоги. Я думаю, что это - самая близкая существующая вещь к тому, что Вы ищете.
$ mountavfs
$ ls my_books_on_m4_programming*
my_books_on_m4_programming.tgz
$ tar tzf my_books_on_m4_programming.tgz
beginner/m4_for_dummies.pdf
$ ls ~/.avfs$PWD/my_books_on_m4_programming.tgz\#/
beginner
$ okular ~/.avfs$PWD/my_books_on_m4_programming.tgz\#/beginner/m4_for_dummies.pdf
Вам недостает make
команда. Сделайте утилита, которая часто используется для создания программ из источника; это запускает компилятор на каждом исходном файле в правильном порядке. Необходимо установить make
пакет и возможно другие: компилятор C и заголовки ядрa (файлы генерировали во время компиляции ядра Linux, которые необходимы для компиляции сторонних модулей).
Я почти никогда не использую CentOS, но я думаю, что правильная команда:
yum install gcc make kernel-devel
или (установит больше, чем Вы, нуждаются),
yum groupinstall "Development Tools"
Вы, возможно, должны установить другие пакеты также.
Необходимо выполнить эту команду как корень; в зависимости от того, используете ли Вы su
или sudo
:
su -c 'yum install …'
sudo yum install …
Решение sed
арагаера является самым хорошим, да. Но поскольку я получаю удовольствие от резания head 'tail
, у меня есть решение head' tail
, которое поддерживает несколько файлов, а не только один input.dat
. Использование цикла for вместо передачи списка файлов в sed также облегчает выполнение других операций с файлом до/после извлечения второй строки с sed.
# empty output.dat first
rm output.dat
# have a one-liner
for file in *.dat; do head -2 $file | tail -1 >> output.dat; done
Многострочная версия с исчерпывающим комментарием:
NB: будет выполняться следующий код. После |
, & &
или |
мы можем установить линейную линию и продолжить выполнение команды на следующей строке; мы даже можем размещать комментарии между ними. Я провел лет , не зная этого (и нигде не видя). Этот стиль менее полезен в интерактивном запросе, но очищает файлы сценариев без конца.
# empty output.dat first
rm output.dat
for file in *.dat; do
# file -> lines 1 and 2 of file
head -2 $file |
# lines 1 and 2 of file -> line 2 of file >> appended to output.dat
tail -1 >> output.dat
done
-121--46429- Однострочная команда:
echo "Enter file extension:"
for f in `find <some_path> -name "*$(read n; echo $n)"` ; do echo $f ; done
-121--230121- Все, что я сделал для устранения этой проблемы, следует за предложением установщика добавлений гостей:
Заголовки для текущего запущенного ядра не найдены. Если: не удалось выполнить компиляцию модуля, поэтому это может быть причиной. Отсутствующий пакет, вероятно, может быть установлен с
yum install kernel-uek-devel-2.6.39-400.215.10.el6uek.i686
После этого я только что повторил попытку запуска установщика гостевых дополнений, и все прошло идеально.
на токе Centos 7 минимальная установка Вам нужно:
sudo yum install gcc kernel-devel-$(uname -r)
Для CentOS 7 мне нужно было установить DKMS через epel. Вот мой полный список команд.
sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
sudo rpm -ivh epel-release-7-5.noarch.rpm
sudo yum install dkms -y
sudo yum groupinstall "Development Tools" -y
sudo yum install kernel-devel -y
sudo yum upgrade -y
перезагрузите виртуальную машину
После перезагрузки - я использовал vagrant vbguest ( https://github.com/dotless-de/vagrant-vbguest ) для установки гостевых дополнений.