This media is not supported in your browser
VIEW IN TELEGRAM
Как сменить рабочую директорию
Используйте команду
Используйте команду
cd
с указанием пути директории, на который вы хотите перейти.cd /usr
cd /home/user
cd /tmp
🔥7👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Как перейти в предыдущий каталог
Если подставить дефис в команду смены директории, то вы вернетесь в предыдущий каталог:
Если подставить дефис в команду смены директории, то вы вернетесь в предыдущий каталог:
cd -
👍15🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать файл
Для создания пустого файла используйте команду
Для создания пустого файла используйте команду
touch
.
touch file.txt
touch directory/data.dat
👍17
This media is not supported in your browser
VIEW IN TELEGRAM
Как узнать занятое количество ОЗУ в системе
Команда
Команда
free
покажет общее и использованное количество оперативной памяти на сервере. Если хотите увидеть человеопонятные числа, добавьте параметр -h
.👍19
This media is not supported in your browser
VIEW IN TELEGRAM
Как вывести значение переменной
Переменные в команду подставляются через знак
Переменные в команду подставляются через знак
$
. Самый простой способ узнать значение переменной – вывести ее, например:
echo $VAR
echo $UID
echo $SHELL
🔥10👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Как изменить время доступа у файлу
Используйте команду
Используйте команду
touch
с флагами -a
(время последнего доступа) или -m
(время последней модификации).
touch -a -t 201212120000 file.dat
touch -m -t 202211291300 data.log
👍14🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как узнать текущую директорию
Команда
Команда
pwd
выводит текущую директорию, в которой вы находитесь. Также можете использовать значение переменной $PWD
.👍13
This media is not supported in your browser
VIEW IN TELEGRAM
Как узнать информацию о загруженности системы
Команда
Команда
top
покажет запущенные процессы. Но лучше установить улучшенную альтернативу htop
с расширенной статистикой, например, загруженности каждого ядра.👍11🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
Что такое тильда
Знак ~ означает домашний каталог текущего пользователя. Это удобный способ быстро перейти в домашнюю директорию или в каталог внутри нее.
~
Знак ~ означает домашний каталог текущего пользователя. Это удобный способ быстро перейти в домашнюю директорию или в каталог внутри нее.
cd ~/Downloads
cat ~/.ssh/id_rsa.pub
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Как вывести содержимое нескольких файлов одной командой
Команду cat для вывода содержимого файлов можно использовать вместе с маской. Тогда команда выведет содержимое всех файлов, которые подходят под эту маску.
Команду cat для вывода содержимого файлов можно использовать вместе с маской. Тогда команда выведет содержимое всех файлов, которые подходят под эту маску.
cat *.dat
cat logs/nginx*2022-11*.log
👍13
This media is not supported in your browser
VIEW IN TELEGRAM
Как следить за логами веб-сервера в консоли
Команда
Команда
tail -f
выводит в реальном времени новые строки, которые появляются в файле. Таким способом удобно следить, например, за логами веб-сервера.
tail -f /var/log/nginx/access.log
tail -f ./app/logs/2022-11-*.dat
👍23🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как выполнить команду под другим пользователем
Команда
Это может быть полезно, например, если вам требуется подключиться к локальной БД или выполнить команду приложения из под веб-сервера.
Команда
sudo
позволяет выполнять команды от имени другого пользователя системы. Добавьте флаг -u
и укажите юзернейм необходимого пользователя, или опустите его, чтобы выполнить команду под root
.Это может быть полезно, например, если вам требуется подключиться к локальной БД или выполнить команду приложения из под веб-сервера.
sudo -u postgres psql
sudo -u www-data php artisan:warm-cache
sudo mv secret.txt /root/secret.txt
👍23
This media is not supported in your browser
VIEW IN TELEGRAM
Зачем нужна комбинация
С помощью
Например, вам требуется скачать файл-установщик и выполнить его. Выполнение не будет иметь смысла, если скачивание прервется.
&&
С помощью
&&
можно объединить выполнение нескольких команд. Но выполнение прервется, если какая-то команда завершится неудачно.Например, вам требуется скачать файл-установщик и выполнить его. Выполнение не будет иметь смысла, если скачивание прервется.
curl -sS https://url-to-installer.com/installer.sh -o /tmp/installer.sh && /tmp/installer.sh
git commit -m "Fix" && git push
👍32
This media is not supported in your browser
VIEW IN TELEGRAM
Как быстро найти команду в истории
Наверняка вы знаете, что предыдущие команды консоли можно перебирать стрелками вверх-вниз.
Но если вам нужно найти давнишнюю команду только по каким-то обрывкам слов, нажмите
Наверняка вы знаете, что предыдущие команды консоли можно перебирать стрелками вверх-вниз.
Но если вам нужно найти давнишнюю команду только по каким-то обрывкам слов, нажмите
Ctrl + R
и введите в консоль часть слова, чтобы вывести последнюю команду с искомым вхождением этой строки. Каждое последующее нажатие ищет следующую команду в истории.🔥43👍13
This media is not supported in your browser
VIEW IN TELEGRAM
Как отфильтровать вывод предыдущей команды и зачем нужен pipe
Bash во многом удобный инструмент именно благодаря своей возможности передавать результаты команд между друг-другом. Как раз для этой цели используется
Самый простой пример – отфильтровать вывод лога nginx, чтобы показать только запросы к определенному URL. Выводим содержимое файла с
|
Bash во многом удобный инструмент именно благодаря своей возможности передавать результаты команд между друг-другом. Как раз для этой цели используется
|
(pipe, канал, конвеер).Самый простой пример – отфильтровать вывод лога nginx, чтобы показать только запросы к определенному URL. Выводим содержимое файла с
cat
, фильтруем с помощью grep
:
cat access.log | grep api/users
cat access.log | grep 02/Dec
cat access.log | grep api | grep 172.17.0.1
👍22🔥10
This media is not supported in your browser
VIEW IN TELEGRAM
Как разбить команду на несколько строк
Если при вводе команды поставить знак
Полезно, например, если вы хотите красиво отформатировать команду с большим количеством аргументов и отправить сниппет коллеге.
Если при вводе команды поставить знак
\
(обратный слеш), то при переводе строки вы сможете продолжить написание команды.Полезно, например, если вы хотите красиво отформатировать команду с большим количеством аргументов и отправить сниппет коллеге.
cd /app \
&& mkdir var \
&& cp .env.dist .env
👍32🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Зачем использовать симлинки
Символическая ссылка – это специальный файл, который на самом деле не содержит данных, а является указанием реального местоположения другого файла или папки.
В обычной жизни такие ссылки вам особо не помогут, но например при деплое веб-приложения на сервер вы можете вынести хранилище загружаемых посетителями файлов из папки приложения в другое место файловой системы.
Например, создать такую ссылку можно командой:
Приложение обращаясь к загрузкам в папке
Символическая ссылка – это специальный файл, который на самом деле не содержит данных, а является указанием реального местоположения другого файла или папки.
В обычной жизни такие ссылки вам особо не помогут, но например при деплое веб-приложения на сервер вы можете вынести хранилище загружаемых посетителями файлов из папки приложения в другое место файловой системы.
Например, создать такую ссылку можно командой:
ln -s /data/uploads /app/public/uploads
Приложение обращаясь к загрузкам в папке
./public/uploads
фактически будет обращаться к /data/uploads
.👍37🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Фигурные скобки в аргументах
С помощью фигурных скобок можно быстро размножить аргументы по шаблону. Например создать несколько файлов, изменить расширение, вывести последовательность:
С помощью фигурных скобок можно быстро размножить аргументы по шаблону. Например создать несколько файлов, изменить расширение, вывести последовательность:
echo {a..z}
touch {01,02,05..10}_data.txt
mv .env{.example,}
🔥29👍15
This media is not supported in your browser
VIEW IN TELEGRAM
test для быстрой проверки условий
Когда неохота писать условную команду
Например, создать файл, если его еще нет:
Если вы используете проверку
Когда неохота писать условную команду
if
для выполнения короткого действия воспользуйтесь test
с условными связками &&
и ||
.Например, создать файл, если его еще нет:
test -f ./etc/nginx.conf || touch ./etc/nginx.conf
Если вы используете проверку
И
, то не забудьте в конце дописать || true
, иначе test
оборвет ваш скрипт с провалом:
test "$RESULT" && echo "Success" || true
🔥20👍11👎1