|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
|
Работа команды "cp" для файлов с точками (скрытых)16.11.2016, 12:17. Показов 6574. Ответов 35
Метки нет (Все метки)
Здрасьте всем!
Чайник, поэтому сильно не ругайтесь. ) Разбираю работу команд оболочки bash по работе с файлами и каталогами в Ubuntu 16.04.1. Если использую команду удаления rm, то всё логично: rm * - удаляет все файлы, кроме "файлов с точкой". rm .* - удаляет все "файлы с точкой". Аналогично с переносом mv и с удалением каталогов rmdir. Но вот с копированием cp фигня какая-то. Если копировать файлы, то всё работает аналогично, но вот если каталоги... cp -r * dir - копирует все файлы и каталоги, кроме "файлов с точкой", НО! содержимое копируемых каталогов копируется полностью - и с точками и без точек. Ну может так оно и логично. А вот если засандалить точку со звёздочкой, то тут вообще ересь какая-то получается. cp -r .* dir - во-1, в целевой каталог копируются все каталоги и файлы из текущего каталога (с точками и без), во-2, кроме файлов и каталогов из текущего каталога в целевой каталог копируются файлы и каталоги находящиеся в каталоге на один уровень выше текущего (родительском), НО не копируется родительский каталог текущего. Так и должно быть?
0
|
|
| 16.11.2016, 12:17 | |
|
Ответы с готовыми решениями:
35
Удаление скрытых файлов и файлов только для чтения Программа для ПК - Просмотр скрытых системных файлов Поиск файлов на диске, за исключением скрытых файлов и папок |
|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
|
| 22.11.2016, 12:02 [ТС] | |
|
"И очень просто... после того, как вы мне объяснили." (с) Ватсон
Спасибо. Всё логично. ) Как представляю на данный момент, в файловой системе ext файлы/каталоги/ссылки можно определить только через дескриптор. Правильно? Просмотреть содержимое дескриптора можно командой ls -l. А можно как-то через шаблон вычленить каталог/файл/ссылку? Кроме ls -l стандартными средствами можно заглянуть в содержание дескриптора?
0
|
|
|
Заблокирован
|
|
| 22.11.2016, 12:06 | |
|
Блин... Что ты понимаешь под дескриптором? Что такое "определить" каталог? А вычленить? Это как? В общем, я ничего не понял из того, что ты написал. Совсем.
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||
| 22.11.2016, 12:20 | |||
|
1
|
|||
|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
|
| 22.11.2016, 12:23 [ТС] | |
|
Попробую,в голове у самого уже каша полная. )
Есть такая команда: ls -i. Она выводит перед именем файла/каталога/ссылки некоторое число, есть оно и у текущего(.) и родительского(..) каталогов. Это иноде (inode) - индексный дескриптор. https://ru.wikipedia.org/wiki/Inode У меня тут непонятка как правильно его называть - в разных источниках он то файловый, то каталога, то вообще файловой системы. Это вроде как набор бит с описанием значимости файла/каталога/ссылки в структуре файловой системы, видимо как раз то, о чём рекомендовал почитать Marinero. И где-то вычитал что ls -l просто делает выборку из этого "набора бит", из которой видна категория данных (файл/каталог/ссылка), разрешения, создатель, владелец и что-то ещё. Вот как-то так.
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 22.11.2016, 12:27 | |
|
Прямо глаза открываете… Может
ls -i(и с точкой сверху)? Это чисто техническая информация, т.н. индекс файла в файловой системе, номер под которым он числится в списке FAT
0
|
|
|
Заблокирован
|
|
| 22.11.2016, 12:31 | |
|
Ясно. stat выдаст тебе достаточно информации из i-node'ы.
1
|
|
|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
||
| 22.11.2016, 13:13 [ТС] | ||
|
Получается, что иноде содержит только заголовок. Даже для каталога или ссылки. И является основным источником информации о датах/владельце/разрешениях и категории - только по информации из иноде можно определить наполнение (файл/каталог/ссылка) блока данных на которых он ссылается. И, как правильно отметил Marinero, каталог - это "файл со списком". В частности, из stat .. для файла '..' известен его размер: 4096 байт. Можно посмотреть содержание непосредственно этого файла: файла '..'? ИМХО, скорее всего он будет содержать ссылки на номера иноде, но всё равно интересно! Marinero - шрифт мелкий и сложно "и с точкой" рассмотреть (( - "и с точкой" - выдаёт номер иноде, а "эль" - информацию из иноде.
0
|
||
|
Заблокирован
|
||||
| 22.11.2016, 13:27 | ||||
Сообщение было отмечено Marinero как решение
РешениеЗаголовок? Название - это работа файла-директории, а не i-node. Почитай про жесткие ссылки. Добавлено через 4 минуты Можешь просто взять в руки книгу Kerrisk, Michael. "The Linux Programming Interface: A Linux and UNIX System Programming Handbook". И можно все почитать детально с картинками. Там даны ответы на все твои вопросы.
1
|
||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||
| 22.11.2016, 14:04 | |||
|
Так называемый «размер: 4096 байт» — это размер кластера (меньше уже быть не может). «Файла ..» нет, это ссылка на каталог уровнем выше. Зачем Вам содержимое? Скорее всего он имеет бинарное представление.
0
|
|||
|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
|
| 22.11.2016, 14:13 [ТС] | |
|
Под заголовком имел ввиду (опять умолчания) всю "техническую" информацию - " о типе, и о правах, размере, указатели на блоки дисковые" - не относящуюся к данным (содержанию).
Посмотрел страницы 256-258. Чётко написано: не ссылки, а количество (счётчик) жёстких ссылок. А сами ссылки где? В BD(блоках данных)? Но ведь если иноде идентичен для всех категорий данных - файлы/каталоги/ссылка, значит содержанию больше негде быть как в блоке данных, а по команде stat .. (тут имеется ввиду две точки, т.е. родительский каталог) имеются данные о названии файла .. (две точки). И надеялся что в него можно заглянуть. Ведь номер иноде есть и он "общедоступен" (команда ls -i его нам показывает), то зачем скрывать список ссылок на другие иноде...
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 22.11.2016, 14:34 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
|
| 22.11.2016, 14:45 [ТС] | |
|
Marinero, создаю пустой файл file, делаю stat file и получаю: Размер: 0
А вот размер блока выдаётся чуть дальше, после Блоков: (для пустого файла 0, двух точек 8) идёт Блок В/В: 4096 - подозреваю что это и есть размер блока. Бинарное представление по-любЭ - ведь это компьютер, он так работает на нулях и единицах, сами знаете. Запускаем ls c ключом "и с точкой" и получаем именно те циферки, что должны находится в блоке данных иноде каталога с одной точкой (текущего). Так? Можно взят эти данные опросив содержимое (опять-таки это как надо скакать по структуре и возможно от самого корня!), а можно взять из иноде текущего каталога и опросив иноде на которые ссылаются для определения имён вывалить на экран. ИМХО быстрее из иноде текущего - меньше запросов к жёсткому диску. Ведь зачем-то нам дают посмотреть на номер иноде (зачем?), а почему бы не посмотреть на цифры иноде на которые ссылаются. ) По сути ведь все команды обращаются к ПЗУ - ибо все устройства и процессы представлены файлами на жестком диске.
0
|
|
|
1 / 1 / 0
Регистрация: 17.02.2016
Сообщений: 32
|
|
| 23.11.2016, 09:52 [ТС] | |
|
А вот Брайан Уорд на стр.115 сообщает: "...ядро... файл... может открыть, последовав по ссылке на данные дескриптора inode..."
Т.е. ядро берёт данные из иноде, а мы не можем. Ну и ладно - Quae sunt Caesaris Caesari. ) Спасибо, разобрался - вопрос как работать с дескрипторами теоретический и вылез из работы с точками. Тогда может быть подскажите ещё одну непонятку? В оболочке существуют "встроенные переменные", они начинаются со знака доллара($). $EDITOR и т.п.. Уорд (точнее переводчик) их называет "переменные окружения и оболочки". А также есть одиночные символы, например косая черта(/) - корневой каталог. И вот просматривая содержимое встроенной переменной $DIRSTACK, обнаружил что ей присвоен символ тильда(~) - домашний каталог пользователя. Если в курсе, подскажите: как классифицируются одиночные символы типо косой черты или тильды? Их вообще много? А если проще: что это?
0
|
|
|
Заблокирован
|
|
| 23.11.2016, 16:06 | |
|
Хах, я опять тебя тяжело понимаю. Кстати, тема твоих вопросов уже поменялась, надо новую заводить.
А в тему символов, которым оболочка дает специальные значения, все они описаны в man имя_оболочки. Там же описаны и встроенные переменные.
0
|
|
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||
| 23.11.2016, 18:25 | |||
|
0
|
|||
| 23.11.2016, 18:25 | |
|
Помогаю со студенческими работами здесь
36
Отключить отображения расширения файлов и скрытых системных файлов Как осуществить поиск файлов только скрытых или только для чтения Удаление скрытых файлов Обход скрытых файлов Обнаружение скрытых файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|