Используемые мной полезные команды Linux. У меня установлена Ubuntu и WSL на Windows 10.
Добавляйте то, чего нет в списке ниже.
Cоздать файл:
$ touch app.rb
Создать директорию (make directory) “one”:
$ mkdir one
Создать одну директорию “one”, в ней другую “two”, и и в ней третью “three”. Без флага p
(path) не обойдешься:
$ mkdir -p one/two/three
Вывести файл на экран:
$ cat file.txt
Вывести первые 10 строк на экран:
$ head -10 file.txt
Вывести последние 10 строк на экран:
$ tail -10 file.txt
Иногда существует какой-то большой текстовый файл, в который постоянно добавляются
данные. И вы хотите выводить на экран обновления без перезапуска команды tail. В этом
случае поможет флаг f
(follow - следовать):
$ tail -f file.txt
Для переименования файла используется команда mv
:
$ mv file1.txt file2.txt # переименовать первый файл во второй
Скопировать файл ( c o p y):
$ cp file1.txt file2.txt
Скопировать файл в директорию (попробуйте самостоятельно перенести, move, файл в
директорию):
$ cp file1.txt my_directory
Скопировать файл в директорию на 1 уровень выше:
$ cp file1.txt ..
Скопировать файл в директорию на 2 уровня выше (то же самое можно сделать и в
файл-менеджере, если указать в качестве назначения директорию ../..
):
$ cp file1.txt ../..
Скопировать несколько файлов в директорию:
$ cp {file1.txt,file2.txt} my_dir
ПОИСК ФАЙЛОВ
Поиск файла по имени (команда найдет все файлы и директории с расширением rb
):
$ find . -name '.rb'
Поиск всех файлов в текущей директории, в имени которых содержится строка bla
:
$ find . -name 'bla'
Поиск файлов (без директорий) с расширением rb
:
$ find . -name '.rb' -type f
Как вы могли заметить, существует разные способы поиска файлов в текущей
директории. Текущая директория обозначается точкой. Двумя точками обозначается
директория уровнем выше. Директория двумя уровнями выше обозначается как ../..
.
Небольшая справка по разным обозначениям и примеры использования find:
● . - текущая директория. Пример команды (ищет все файлы с расширением log в
текущей директории): find . -name '.log'
● .. - директория уровнем выше. Пример команды (ищет все файлы с расширением
log в директории уровнем выше): find .. -name '.log'
● ../.. - директория двумя уровнями выше. Пример команды (ищет все файлы с
расширением log в директории уровнем выше): find ../.. -name '.log'
● ~ - домашняя (home) директория, т.е. личная директория текущего пользователя.
Пример команды (ищет все файлы с расширением log в домашней директории):
find ~ -name '.log'
● / - корневая (root) директория. Пример команды (ищет все файлы с расширением
log в корневой директории): find / -name '*.log'
Поиск по всем файлам определенной строки (в нашем случае something):
$ find . -name '*.rb' -type f | xargs grep something
быстро сохранить в файл прямо из консоли. Когда ввод окончен,
нужно нажать Ctrl+D. Будьте осторожны, эта команда затрёт предыдущее содержимое
файла:
$ cat > file.txt
Добавить в конец файла:
$ cat >> file.txt
Узнать имя текущего пользователя можно с помощью команды “кто я”:
$ whoami
Вывести текущую директорию на экран (PWD - Print Working Directory - напечатать
рабочую директорию):
$ pwd
Домашний каталог обозначается тильдой ~
. Можно вывести его на экран:
$ echo ~
создать директорию tmp в домашнем каталоге:
$ mkdir ~/tmp
скопировать файл в созданную директорию:
cp file.txt ~/tmp
Удаление файла, будьте осторожны ( r e m ove):
$ rm file.txt
Удаление директории:
$ rm -r my_dir