Skip to content

Latest commit

 

History

History
 
 

bash

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Шпаргалка по bash

Шпаргалка для начинающих пользователей консоли Git Bash, терминала OSX, терминала linux. См. так же: Как использовать консоль в Windows

Суть

Консоль — удобный и быстрый инструмент управления компьютером. Вводим команду текстом, получаем результат или сообщение об ошибке с указанием в чём ошибка.

Ввод начинается с указания программы (которую вызываем) и может быть дополнен аргументами и ключами, указывающими программе что именно нужно сделать или как нужно работать. Пример с аргументом: ls build/css — вызываем утилиту ls, указываем ключ build/css — будет показано содержимое указанной в аргументе папки. Пример с ключом: git --version — взвываем программу git, передаем ключ --version — будет показана версия программы (если установлена).

Работая с консолью, мы всегда «находимся» в какой-то папке (она указана в приглашении командной строки). Если там написано ~, то мы в папке пользователя (зависит от настроек Windows, чаще всего это C:/Users/ВАШЕИМЯПОЛЬЗОВАТЕЛЯ/), если там /d/projects, мы в папке D:/projects.

Файловая система

Просмотр содержимого папки

ls                      # показать содержимое папки
ls -a                   # то же, но показывать и скрытые файлы и папки
ls -a -1                # то же, но в один столбец
ls -hF -1 --sort=extension # показать содержимое папки «красиво, в один столбец»
ls build/css            # показать содержимое папки ТЕКУЩАЯ_ПАПКА/build/css
ls /d/projects          # показать содержимое папки D:/projects

Переход по папкам

Пользователь всегда находится в какой-то папке, она (или полный путь) всегда показана до области ввода команд.

cd projects             # переход в папку projects, которая есть в текущей папке
cd /d/projects          # windows: переход в папку projects, расположенную по адресу D:/projects 
cd /c/Program\ Files    # windows: переход в C/:Program Files 
cd ..                   # переход к родительской папке 
cd -                    # переход к последней рабочей папке
cd !$                   # переход в новосозданную папку (после mkdir)

Чтобы не набирать имя папки целиком, наберите первые пару символов и нажмите Tab — произойдет автодополнение (если нет двух папок, начинающихся с введенных символов, иначе будут показаны сами эти папки). Справедливо для любой команды.

Создание папок и файлов

mkdir project                        # создать папку с именем «project»
mkdir project project/css project/js # создать несколько папок
mkdir -p project/{css,js}            # то же, что выше
touch index.html                     # создать файл
touch index.html css/style.css js/script.js # создать файлы (папки css/ и js/ должны уже существовать)

Копирование файлов

cp index.html catalog.html # копирование файла index.html в тот же каталог с переименованием в catalog.html
cp index.html old/         # копирование файла index.html в папку old/ (все произойдет в текущей папке)
cp temp/ temp2/ -r         # дублирование каталога

Переименование или перемещение файлов

mv index.html old              # перемещение файла в папку
mv index.html old/new_name.txt # перемещение файла в папку с переименованием файла
mv order.txt orderNew.txt      # переименовать файл

Удаление папок и файлов

rm ghost.png             # удалить файл
rm -rf old               # удалить папку и всё из нее

Разные мелочи

Подборка команд, показывающих бОльшую скорость работы с консолью, чем с GUI или просто удобных команд. Многие из них могут быть реализованы различными путями с GUI, что ничуть не умаляет удобства консоли.

rm -rf node_modules && npm i # выполнение первой части команды (до &&) и, при отсутствии ошибок, второй части (после &&)
pwd                   # «где я?»
cat ~/.bash_profile   # вывести в консоль содержимое файла
ls -a >> file.txt     # записать в file.txt результат вывода команды ls -a
echo 'some text' >> readme.md # дописать строку в конец файла
df -h                 # показать статистику использования пространства на дисках
grep -i -n --color 'carousel' index.html css/style.css # найти слово carousel в двух указанных файлах (с игнором регистра), вывести строки с этим словом и номера строк (искомое слово подсветить)
grep word -r project  # найти слово word во всех файлах в папке project
find . -iname '*ind*' # найти в текущей папке (и подпапках) все файлы, имена которых содержат ind и показать списком

Алиасы

Для команд можно создавать алиасы (короткие синонимы команд). Для этого в папке пользователя (OSX: /Users/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.bash_profile, Windows: C:/Users/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.bash_profile) нужно вписать строки, наподобие alias pro='cd /d/projects' (одна строка в файле — один алиас). Если файла .bash_profile нет, его можно создать. Это обычный текстовой файл.

После добавления алиасов нужно перезапустить терминал.