Shell шпаргалка
Справочник за Bash / shell с възможност за търсене и печат — навигация, файлове, pipes, променливи, цикли, условия и удобни едноредови команди. Безплатно.
Навигация
8pwd
Извеждане на работната директория
ls -la
Списък на всички файлове с детайли
cd /path
Смяна на директория
cd -
Към предишната директория
cd ~
Към домашната директория
tree -L 2
Показване на дървото на директорията (2 нива)
pushd / popd
Push и pop на стека от директории
ls -lhS
Списък по размер, четим за човек
Файлове и директории
10touch file.txt
Създаване на празен файл
mkdir -p a/b/c
Създаване на вложени директории
cp -r src dest
Рекурсивно копиране
mv old new
Преместване или преименуване
rm -rf dir
Рекурсивно премахване (внимание!)
ln -s target link
Създаване на символна връзка
cat file.txt
Извеждане на съдържанието на файл
head -n 20 / tail -n 20
Първите / последните 20 реда
tail -f log.txt
Следене на файл, докато расте
less file.txt
Прелистване на файл
Търсене и намиране
8grep 'pattern' file
Търсене на шаблон във файл
grep -rin 'text' .
Рекурсивно, без регистър, номерирано
find . -name '*.php'
Намиране на файлове по име
find . -type f -mtime -1
Файлове, променени през последния ден
find . -size +10M
Файлове, по-големи от 10 MB
which node
Намиране на изпълним файл
locate file.txt
Намиране чрез индексирана база
grep -v 'skip' file
Обръщане на съвпадение (изключване на редове)
Обработка на текст
9wc -l file
Броене на редове
sort file | uniq -c
Сортиране, после броене на дубликати
cut -d',' -f1 file
Извличане на CSV колона
awk '{print $1}' file
Извеждане на първото поле
sed 's/old/new/g' file
Заместване на текст
tr 'a-z' 'A-Z'
Преобразуване на символи
diff a.txt b.txt
Сравняване на два файла
tee out.txt
Запис във файл и stdout
xargs -I{} cmd {}
Изграждане на команди от вход
Pipe-ове и пренасочване
9a | b
Pipe на изхода на a към b
cmd > file
Пренасочване на stdout (презапис)
cmd >> file
Пренасочване на stdout (добавяне)
cmd 2> err.log
Пренасочване на stderr
cmd > out 2>&1
Пренасочване на двата потока
cmd < input.txt
Четене на stdin от файл
cmd1 && cmd2
Изпълнение на cmd2 само ако cmd1 успее
cmd1 || cmd2
Изпълнение на cmd2 само ако cmd1 се провали
cmd &
Изпълнение във фонов режим
Права и собственост
8chmod 755 file
rwx за собственика, rx за останалите
chmod +x script.sh
Правене на файл изпълним
chmod -R 644 dir
Рекурсивна промяна на права
chown user:group file
Смяна на собственик и група
umask 022
Маска за права по подразбиране
sudo cmd
Изпълнение на команда като root
stat file
Показване на метаданни на файл
ls -l file
Преглед на битовете за права
Процеси и система
9ps aux
Списък на работещите процеси
top / htop
Монитор на процеси в реално време
kill -9 PID
Принудително убиване на процес
pkill -f name
Убиване на процеси по име
jobs / fg / bg
Управление на фонови задачи
df -h
Използване на дисково пространство
du -sh dir
Размер на директория
free -h
Използване на паметта
uname -a
Информация за системата и ядрото
Променливи и разширяване
9NAME='value'
Задаване на променлива (без интервали)
echo \"$NAME\"
Използване на променлива
export PATH=\"$PATH:/x\"
Експортиране към дъщерни процеси
$(command)
Заместване на команда
${VAR:-default}
По подразбиране, ако не е зададена
$1 $2 $@
Позиционни аргументи на скрипт
$?
Статус на изход на последната команда
read -p 'Name: ' x
Четене на потребителски вход
echo {1..5}
Разширяване с фигурни скоби
Скриптове
9#!/usr/bin/env bash
Shebang ред
set -euo pipefail
По-безопасен строг режим
if [ -f file ]; then ...; fi
Условие по тест на файл
[ \"$a\" = \"$b\" ]
Сравняване на низове
for f in *.txt; do ...; done
Цикъл по файлове
while read line; do ...; done < file
Четене на файл ред по ред
case \"$x\" in a) ...;; esac
Многопосочно разклонение
function greet() { echo hi; }
Дефиниране на функция
trap cleanup EXIT
Изпълнение на handler при изход
Няма запис, който да съответства на „:q“.
Нуждаете се от помощ?
Открихте проблем с този инструмент? Кажете ни.