Вывод на экран
echo $переменная | строка | "строка $переменная"
#!/bin/bash
STR="Hello World!"
echo $STR
echo $PATH # переменная поиска команд
echo "$PATH - переменная поиска" # форматирование строки
echo 'hello' > filename.txt
echo 'hello' >> filename.txt
echo $PATH
это мета где система ищет исполняемые файлы-команды, например python
whereis python
выведет все места где находятся файлы для питона
cd ~ # домашняя директория
cd / # корневая директория
cd dirname/subdir # смена директории
cd .. # поднятие на уровень вверх
ls # краткий список
ls -l # полный список
ls -la # включая скрытые файлы
ls -lh # c кратким размером
grep -rn 'string' # поиск файлов со строкой с указанием номера строки
ls -la | grep 'substr' # поиск файлов и директорий содержащих подстроку
mkdir dirname
rm ./filename # удаление файла
rm -R dirname # удаление директории и ее содержимого
nano ./filename # редактирование файла
ctrl+o - запись в файл
ctrl+x - выход из редактора
cat filename
вывод содержимого файла
echo $PS1
PS1='>>>'
export PS1='<<<'
chmode +x ./filename # сделать файл исполняемым
chmod 777 ./filename # изменение прав на файл
chmod 667 -R dirname # изменение прав на содержимое директории
chown -R user:user dirname # изменение владельца и группы директории и всего содержимого рекурсивно
#!/bin/bash
#!/usr/bin/env python
Справочник по встроенным командам
>> > - перенаправляет в файл
| - соединяет вывод одной команды со вводом другой
myscript # запуск команды (файла) из системных директорий
./myscript # запуск файла из текущей дериктории
source ./myscript # запуск скрипта в текущей сессии терминала (оболочки) shell в ТЕКУЩЕМ процессе
. ./myscript # аналог предыдущей команды
Использование точки говорит о текущей директории (не находящейся в переменной PATH) без точки интерпретатор будет искать файл в $PATH.
Использование source позволяет менять окружение оболочки т.к. выполняется не в новом процессе как при обычном запуске (без source).
cd () {
builtin cd ${1:+"$@"} # выполняем оригинальную команду с параметрами
if [ -f "env.sh" ] # проверяем существование файла
then
. ./env.sh # запускаем файл
fi
}