Команды Linux для работы с файлами и каталогами (директориями) через терминал
Введение
В этом руководстве для начинающих пользователей мы ознакомимся с основными командами для работы с файлами и каталогами (иногда их еще называют директориями) в Linux-системах.
Требования
Cервер с Ubuntu 20.04
Все команды, описанные ниже, будут работать и в других дистрибутивах Linux.
Расположение каталогов в файловой системе
При входе на сервер, вы, как правило, попадаете в домашний каталог вашей учетной записи, отведенный для хранения файлов и создания директорий.
Для того чтобы узнать, где располагается каталог, в котором мы сейчас находимся, используется команда:
pwd
Результат выполнения команды выглядит следующим образом:
/home/demo
Домашний каталог располагается после имени учетной записи пользователя, в приведенном примере он называется /demo. Этот каталог находится в каталоге с именем /home и в каталоге верхнего уровня, который называется root или корневой каталог, поэтому представлен одной косой чертой /.
Просмотр содержимого каталогов
Для просмотра содержимого каталога используется команда ls. Название этой команды является сокращением слов list files.
Просмотреть содержимое любой директории можно следующими способами:
ls имя_директории
Либо введя команду:
ls /путь _к _директории
В результате выполнения команды отображаются файлы и каталоги, находящиеся внутри данного каталога:
dir1 file1 file2 file3
К команде ls можно добавлять дополнительные флаги, например, чтобы показать детализированное представление (права, список владельцев файлов или папок, размер, дату последнего модифицирования) файлов и директорий в текущей директории, можно использовать флаг -l:
ls -l
Результат выполнения команды:
total 16 drwxr-xr-x 2 home demo 4096 Nov 3 17:40 dir1 -rw-r--r-- 1 home demo 13 Nov 8 17:17 file1 -rw-r--r-- 1 home demo 42 Nov 9 13:04 file2 -rw-r--r-- 1 home demo 42 Nov 10 13:04 file3
Для просмотра списка всех файлов, включая скрытые файлы и каталоги, вы можете добавить флаг -a:
ls -a
Результат выполнения команды:
. dir1 file1 .mysql_history .ssh .. .bash_history file2 file3 .nan
Отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип, можно с помощью команды:
ls -F
Результат выполнения команды:
dir1/ file1 file2 file3
Перемещение между каталогами
Для перехода в домашний каталог используется команда cd. Название этой команды является сокращением слов change directory.
Для перехода в домашний каталог пользователя user используется команда:
cd ~user
Для перехода в предыдущую директорию, в которой мы находились до перехода в текущую директорию также используется команда cd.
В Linux-системах каждый файл и каталог находятся в самой верхней директории, которая называется «корневой» и обозначается одним символом слэш /.
Абсолютный путь указывает на расположение каталога по отношению к этой директории верхнего уровня. Это позволяет обращаться к справочникам однозначным образом из любого места в файловой системе.
Каждый абсолютный путь должен начинаться с косой черты — символа слэш /.
Для перехода в директорию уровнем выше используется команда:
cd ..
Для перехода в директорию двумя уровнями выше:
cd ../..
Операции с файлами и каталогами
У каждой команды имеется множество параметров, чтобы узнать их, наберите команду и параметр —help, например:
ls --help
Далее приведен список основных команд навигации в консоли Linux.
Создание
Создание файлов производится с помощью команды:
touch имя_файла
Создание каталогов выполняется с помощью команды вида:
mkdir имя_директории
Название этой команды является сокращением слов make directory.
Создание двух каталогов одновременно выполняется с помощью команды:
mkdir имя_директории_1 имя_директории_2
Для создания дерева каталогов используется команда следующего вида:
mkdir -p /имя_директории_1/имя_директории_2
Удаление
Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.
Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:
rm file1
Команда rm также позволяет удалять не только файлы, но и каталоги.
Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):
rm -r dir1
Можно удалить одновременно две директории со всем их содержимым:
rm -r имя_директории_1 имя_директории_2
Также можно использовать параметр -f, который означает, что при удалении не будет запрашиваться подтверждение.
Команда для удаления файла будет выглядеть так:
rm -f file1
Команда для удаления каталога:
rm -rf dir1
Перемещение
Для перемещения и переименования файлов и каталогов используется команда mv. Название этой команды является сокращением слова move.
Переименовать файл можно с помощью команды:
mv имя_файла новое_имя
Для того чтобы переместить файл, используется команда:
mv имя_файла путь/
Копирование
Для копирования используется команда cp. Название этой команды является сокращением слова copy.
Чтобы скопировать файл file1 и назвать его file2, используется команда:
cp file1 file2
Для того чтобы копировать директорию dir1 в директорию dir2, используется команда:
cp -a dir1/ dir2/
Скопировать файл с именем file1 в директорию с именем dir1, можно с помощью команды:
cp file1 dir1/
Редактирование файлов
Мы ознакомились с основными командами для работы с каталогами и файлами.
Далее мы изучим, как редактировать файлы и добавлять в них содержание.
Команда nano позволяет работать в одном из самых простых текстовых редакторов командной строки Linux, который занимает весь терминал в течение всего срока его использования. C Cancel
Вы можете нажать клавишу Y, чтобы сохранить изменения, клавишу N для отмены изменений и выхода, или сочетание клавиш CTRL-C, чтобы отменить операцию выхода из режима редактирования файла.
Если вы решили сохранить изменения, вам будет предложено сохранить их в том же файле, который был отредактирован.
Нажмите клавишу ENTER, чтобы сохранить файл и выйти из редактора.
Заключение
Мы ознакомились с возможностями просмотра доступных файлов и каталогов, с основными командами для работы с файлами, которые позволяют просматривать, копировать, перемещать и удалять файлы, а также с основами редактирования в текстовом редакторе nano.
Linux
Файловые функции VBA
Главная » Функции VBA »
28 Апрель 2011 Дмитрий 99494 просмотров
- CurDir() — функция, которая возвращает путь к каталогу(для указанного диска), в котором по умолчанию будут сохраняться файлы:
Dim sCurDir As String sCurDir = CurDir("D")
- Dir() — позволяет искать файл или каталог по указанному пути на диске. Пример использования можно посмотреть в статье: Просмотреть все файлы в папке
- EOF() — при операции записи в файл на диске эта функция вернет True, если вы находитесь в конце файла. Обычно используется при работе с текстовыми файлами — .txt. При сохранении книг Excel лучше использовать стандартные методы: Save и SaveAs.
- Error() — позволяет вернуть описание ошибки по ее номеру. Генерировать ошибку нужно при помощи метода RaiseError() специального объекта Er.
- Print — записывает в открытый файл указанный текст. Далее будет приведен пример использования данной функции
- FreeFile() — позволяет определить номер следующего свободного файла, который можно использовать как номер файла при его открытии методом Open. Предпочтительно применять именно этот метод определения номера файла(вместо статичного #1), чтобы не было неоднозначности обращения к файлам. Ниже приведены примеры применения данной функции при обращении к файлам
- FileAttr() — позволяет определить, как именно был открыт файл в файловой системе: на чтение, запись, добавление, в двоичном или текстовом режиме и т. п. Применяется для работы с текстовыми файлами, открытыми при помощи
Open "C:\Text1.txt" For [] As #1
Открыть файл можно несколькими способами, приведу примеры наиболее распространенных вариантов:- Input() — открывает текстовый файл на чтение. Т.е. таким методом можно открыть файл и вытянуть из него данные. Например, чтобы считать информацию из файла C:Text1.txt и вывести ее в окно Immediate можно применить такой код:
Dim MyChar Open "C:\Text1.txt" For Input As #1 'Открываем файл функцией Open() на чтение(Input) Do While Not EOF(1) 'пока файл не кончился ' Получаем по одному символу и добавляем его к предыдущим MyChar = MyChar & Input(1, #1) Loop Close #1 ' Закрываем файл 'Выводим его содержание в окно Immediate '(отобразить Immediate: Ctrl+G в окне редактора VBA) Debug.Print MyChar 'или в MsgBox MsgBox MyChar, vbInformation, "www.excel-vba.ru"
- Ouput() — метод открывает файл для записи. Например, чтобы записать в файл строку, содержащую все ячейки в выделенном диапазоне, можно использовать такой код:
Sub SelectionToTxt() Dim s As String, rc As Range Dim ff 'запоминаем все значения из выделенной строки в строку For Each rc In Selection If s = "" Then 'если пока ничего не записали - присваиваем только значение ячейки s = rc.Value Else 'если уже записано - добавляем через TAB s = s & vbTab & rc.Value End If Next ff = FreeFile 'Открываем текстовый файл 'если файла нет - он будет создан Open "C:\Text1.txt" For Output As #ff 'записываем значение строки в файл Print #ff, s Close #ff ' Закрываем файл End Sub
Важно помнить, что при открытии файла таким методом(Output) все предыдущие данные из файла стираются и в файле будет записано только то, что мы записали в текущем сеансе. Если данные необходимо добавить к имеющимся — используется метод Append
- Append() — метод открывает файл для записи, но в отличии от Output записывает данные в конец файла, а не перезаписывает текущие данные. Например, код добавления выделенных ячеек как одной строки в имеющийся файл будет выглядеть так:
Sub SelectionToTxt_Add() Dim s As String, rc As Range Dim ff 'запоминаем все значения из выделенной строки в строку For Each rc In Selection If s = "" Then 'если пока ничего не записали - присваиваем только значение ячейки s = rc.Value Else 'если уже записано - добавляем через TAB s = s & vbTab & rc.Value End If Next ff = FreeFile 'Открываем текстовый файл 'если файла нет - он будет создан Open "C:\Text1.txt" For Append As #ff 'записываем значение строки в файл Print #ff, s Close #ff ' Закрываем файл End Sub
- Input() — открывает текстовый файл на чтение. Т.е. таким методом можно открыть файл и вытянуть из него данные. Например, чтобы считать информацию из файла C:Text1.txt и вывести ее в окно Immediate можно применить такой код:
- FileDateTime() — позволяет получить информацию о последнем времени обращения к указанному файлу. Если к файлу после создания ни разу не обращались, то это будет время создания файла. Если попытаться обратиться к уже открытой книге/файлу — то будет получено время открытия книги/файла, а не создания или сохранения.
sFileDateTime = FileDateTime("C:\Text1.txt")
- FileLen() — позволяет определить длину указанного файла в байтах:
MsgBox FileLen("C:\Text1.txt") & " bites", vbInformation, "www.excel-vba.ru"
- GetAttr() — возможность обратиться к файлу к файловой системе и получить информацию об его атрибутах (скрытый, доступен только для чтения, архивный и т.п.)
- InputB() — позволяет указывать количество байт, которые надо считать из файла. Альтернатива методу Open в случаях, когда необходимо считывать данные не по конкретным строкам, а именно побайтово.
- Loc() — от Location, то есть местонахождение — возвращает число, которое определяет текущее место вставки или чтения в открытом файле.
- Seek() — очень похожа на функцию Loc(), но Seek() возвращает информацию о позиции, с которой будет выполняться следующая операция чтения или вставки.
- LOF() — length of file — позволяет определить длину открытого файла в байтах.
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
© 2023 Excel для всех Войти
file-handling-in-c · Темы GitHub · GitHub
Вот 52 общедоступных репозитория соответствует этой теме…
Кранти-Гурибилли / Система управления телефонной книгой
хемант2132 / QuizWiz
Звезда 2звездообразная петля / ОС-проекты-осень2020
Звезда 2БаратКумарБК-15 / C-Мини-Проект
Звезда 2Бикаш-натх / Администрация отеля
Звезда 2Лукасвианав / c-файл-организация-sql
Звезда 2гумзакт / C-программирование
Звезда 2ак-че / C-программирование
Звезда 1умангкумарр / Изображение-стеганография
Звезда 1Шарды30 / Анилист
Звезда 1странный / Система управления сотрудниками-C
Звезда 1НикамРохан / Менеджер по расходам
Звезда 1букетгенкайдин / C-программирование
Звезда 1сумитгирвал / Инфо-Коллектор-CPP-Project
Звезда 1ИмРохитСингх / Структуры данных
савиндуг / анонимное хранилище
Звезда 1ЯмРиддхи / C-программы
Звезда 1Звездорождение / С
Звезда 1нин-ран-джан / ОС-назначения
Звезда 13мротаха / Платежная система-в-C
Звезда 1Улучшить эту страницу
Добавьте описание, изображение и ссылки на обработка файлов в c страницу темы, чтобы разработчикам было легче узнать о ней.
Курировать эту тему
Добавьте эту тему в свой репозиторий
Чтобы связать ваш репозиторий с обработка файлов в c тему, перейдите на целевую страницу репозитория и выберите «управление темами».
Узнать больше
Обработка файлов | Microsoft Узнайте
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
Используйте эти подпрограммы для создания, удаления и управления файлами, а также для установки и проверки разрешений на доступ к файлам.
Библиотеки времени выполнения C имеют ограничение в 512 на количество файлов, которые могут быть открыты в любой момент времени. Попытка открыть большее количество файловых дескрипторов или файловых потоков, чем максимальное, приводит к сбою программы. Используйте _setmaxstdio
, чтобы изменить этот номер.
Подпрограммы обработки файлов (файловый дескриптор)
Эти подпрограммы работают с файлами, определяемыми файловым дескриптором.
Обычный | Использовать |
---|---|
_chsize , _chsize_s | Изменить размер файла |
_filelength , _filelengthi64 | Получить длину файла |
_fstat , _fstat32 , _fstat64 , _fstati64 , _fstat32i64 , _fstat64i32 | Получить информацию о состоянии файла по дескриптору |
_get_osfhandle | Возвращает дескриптор файла операционной системы, связанный с существующим дескриптором файла времени выполнения C |
_исатти | Проверка символьного устройства |
_блокировка | Заблокировать области файла |
_open_osfhandle | Свяжите дескриптор файла времени выполнения C с существующим дескриптором файла операционной системы |
_setmode | Установить режим перевода файлов |
Процедуры обработки файлов (путь или имя файла)
Эти процедуры работают с файлами, указанными путем или именем файла.
Обычный | Использовать |
---|---|
_access , _waccess , _access_s , _waccess_s | Проверьте настройки прав доступа к файлам |
_chmod , _wchmod | Изменить настройки прав доступа к файлам |
_fullpath , _wfullpath | Разверните относительный путь до его абсолютного имени пути |
_makepath , _wmakepath , _makepath_s , _wmakepath_s | Объединить компоненты пути в один полный путь |
_mktemp , _wmktemp , _mktemp_s , _wmktemp_s | Создать уникальное имя файла |
удалить , _wremove | Удалить файл |
переименовать , _wrename | Переименовать файл |
_splitpath , _wsplitpath , _splitpath_s , _wsplitpath_s | Разобрать путь на компоненты |
_stat , _stat64 , _stati64 , _wstat , _wstat64 , _wstat i64 | Получить информацию о статусе файла для именованного файла |
_umask , _umask_s | Установить маску разрешений по умолчанию для новых файлов, созданных программой |
_unlink , _wunlink | Удалить файл |
Подпрограммы обработки файлов (Открытие файла)
Эти подпрограммы открывают файлы.
Обычный | Использовать |
---|---|
fopen , _wfopen , fopen_s , _wfopen_s | Открывает файл и возвращает указатель на открытый файл. |
_fsopen , _wfsopen | Открыть поток с общим доступом к файлам и вернуть указатель на открытый файл. |
_открыть , _wоткрыть | Открывает файл и возвращает дескриптор открытого файла. |
_sopen , _wsopen , _sopen_s , _wsopen_s | Открыть файл с общим доступом к файлам и вернуть дескриптор файла открытому файлу. |
_труба | Создает канал для чтения и записи. |
freopen , _wfreopen , freopen_s , _wfreopen_s | Переназначить указатель файла. |
Эти подпрограммы позволяют изменить представление файла между структурой FILE
, дескриптором файла и дескриптором файла Win32.
Обычный | Использовать |
---|---|
_fdopen , _wfdopen | Связывает поток с файлом, который ранее был открыт для низкоуровневого ввода-вывода, и возвращает указатель на открытый поток. |
_fileno | Получает файловый дескриптор, связанный с потоком. |
_get_osfhandle | Возвращает дескриптор файла операционной системы, связанный с существующим дескриптором файла времени выполнения C |
_open_osfhandle | Связывает дескриптор файла времени выполнения C с существующим дескриптором файла операционной системы. |
Следующие функции Win32 также открывают файлы и каналы:
CreateFile
CreatePipe
CreateNamedPipe