Часто используемые unix команды

Команды которые должны быть в голове, а если Вы новичок, то эти команды Вам обязательно пригодятся.

Файловые команды

ls – список файлов и каталогов

ls -al – форматированный список со скрытыми каталогами и файлами

cd dir – сменить директорию на dir

cd – сменить на домашний каталог

pwd – показать текущий каталог

mkdir dir – создать каталог dir

echo > /dir/file - пресечь файл до нулевой длинны

rm file – удалить file

rm -r dir – удалить каталог dir

rm -f file – удалить форсированно file

rm -rf dir – удалить форсированно каталог dir *

cp file1 file2 – скопировать file1 в file2

cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существует

примеры:

скопировать файл: cp -rp /dir/file /to/dir/

скопировать директорию dir целиком: cp -rp /dir /to/dir/

скопировать только содержимое директории dir: cp -rp /dir/ /to/dir/

mv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог – переместить file1 в каталог file2

ln -s file link – создать символическую ссылку link к файлу file

touch file – создать file

cat > file – направить стандартный ввод в file

more file – вывести содержимое file

head file – вывести первые 10 строк file

tail file – вывести последние 10 строк file (просмотр последних записей в лог-файл: tail -f /var/log/maillog)

tail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк

sed - потоковый текстовый редактор

примеры:

простая замена: sed -e 's|это|на это|g' /в/файле.txt > /записать/в/файл.txt

замена с экранированем: /usr/bin/sed -e "s|old\['SYSTEM'\]|new|g" /input.txt > /output.txt

Несколько замен объединены в одном файле subst.sed: sed -f subst.sed inputFileName > outputFileName

содержание файла subst.sed приблизительно может быть таким:

s|это|на это|g

s|old\['SYSTEM'\]|new|g

s|GLOBALS\['SYSTEM'\]\['config'\]\['1'\]|GLOBALS\['SYSTEM'\]\['config'\]\['server_name'\]|g

В свою очередь для замены в множестве файлов советую использовать такой баш-скрипт:

# ************ Change Variables Here ***********
echo "*****************************************"
echo " Search and Replace in Files Version 1.1 "
echo "*****************************************"

        for file in $(find . -type f -name '*.php')
          do
           sed -f replace.txt $file > tempfile
           mv tempfile $file
           echo "Modified: " $file
        done

echo "*********** Yea! All Done! **************"

а запускать его так /bin/bash /usr/home/dir/my_replace

find - утилита поиска файлов

примеры:

нахождение php-файлов в которые внесены изменения:

c расширением php в прошедшие 7 дней (от текущего дня): find /dir/ -type f -mtime -7 -name '*.php' -print

измененные файлы и директории за последние 10 секунд: find /dir/ -cmin +1 -cmin -10

измененные между 2500 и 2800 минутами тому назад: find -cmin +2500  -cmin -2800

c расширением php между 15 и 17 днями тому назад (от текущего дня): find /dir/ -type f -mtime +15 -mtime -17 -name '*.php' -print

найти и удалить все файлы в директории, кроме файла file.tgz: find /dir/ ! -name 'file.tgz' -delete

найти и удалить все файлы в директории, кроме файлов file1.txt и file2.txt: find /dir/ -type f ! -name 'file1.txt' ! -name 'file2.txt' -delete

узнать количество файлов в директории: find /dir/ -type f | wc -l

Управление процессами

ps – вывести ваши текущие активные процессы (примеры: ps ax uf | more или ps ax -u | more)

top – показать все запущенные процессы

kill pid – убить процесс с id pid (kill -s 9 SID - чтобы наверняка)

killall proc – убить все процессы с именем proc *

bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне

fg – выносит на передний план последние задачи

fg n – вынести задачу n на передний план

Права доступа на файлы

chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:

● 4 – чтение (r)

● 2 – запись (w)

● 1 – исполнение (x) Примеры:

chmod 777 – чтение, запись, исполнение для всех

chmod 755 – rwx для владельца, rx для группы и остальных.

примеры:

изменяем владельца и группу для директории: chown R yapro:www /usr/home/dir

изменяем владельца и группу всем дочерним директориям и файлам: chown -v -R yapro:www /usr/home/dir/

изменение прав доступа к файлам и папкам, рекурсивно: chmod -R 775 /home/dir/

использование вместе с командой поиска:

выставляем права директориям: find /home/dir/ -type d -exec chmod 775 {} \;

выставляем права php-файлам: find /home/dir/ -type f -name '*.php' -exec chmod 644 {} \;

Дополнительные опции: man chmod.

SSH

ssh user@host – подключится к host как user

ssh -p port user@host – подключится к host на порт port как user

ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files – искать pattern в files

grep -r pattern dir – искать рекурсивно pattern в dir

command | grep pattern – искать pattern в выводе command

примеры:

поиск строки в файлах: grep -rl 'text' /dir/

поиск строки в файлах c отсечением строк в которых содержится .svn: grep -rl 'text' /path/ | grep -v '\.svn'

locate file – найти все файлы с именем file Системная информация

date – вывести текущую дату и время ( синтаксис: yy]mm]dd]HH]MM[.ss] )

пример установки времени на сервере (секунды вводить не обязательно):

date 1230100509.45 # в Linux и Solaris; или
date 0912301005.45 # в FreeBSD

cal – вывести календарь на текущий месяц

uptime – показать текущий аптайм

w – показать пользователей онлайн

whoami – имя, под которым вы залогинены

finger user – показать информацию о user

uname -a – показать информацию о ядре

cat /proc/cpuinfo – информация ЦПУ

cat /proc/meminfo – информация о памяти

man command – показать мануал для command

df – показать инф. о использовании дисков

du – вывести “вес” текущего каталога (пример: du -shc /dir)

примеры:

определить размер директории включая дочернии директории и файлы:
размеры дочерних директории/файлов: du -hc /dir
директории целиком: du -shc /dir

free – использование памяти и swap

whereis app – возможное расположение программы app

which app – какая app будет запущена по умолчанию

Архивация

tar cf file.tar files – создать tar-архив с именем file.tar содержащий files

tar xf file.tar – распаковать file.tar

tar czf file.tar.gz files – создать архив tar с сжатием Gzip (еще пример: /bin/tar -czf archive.tar.gz dir/file.txt dir2/image.gif)

tar xzf file.tar.gz – распаковать tar с Gzip

tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2

tar xjf file.tar.bz2 – распаковать tar с Bzip2

gzip file – сжать file и переименовать в file.gz

gzip -d file.gz – разжать file.gz в file

примеры:

распаковываем zip-архив: unzip /home/file.zip -d /home/to/dir

создание tar-архива: tar -cz  -f "file.tgz" "/home/dir/"

распаковка tar-архива: tar -xz --directory="/usr/home/dir/" -f "file.tgz"

Сеть

ping host – пропинговать host и вывести результат

whois domain – получить информацию whois для domain

dig domain – получить DNS информацию domain

dig -x host – реверсивно искать host

netstat - показать содержимое различных структур данных, связанных с сетью (например: netstat -an | less)

wget file – скачать file

wget -c file – продолжить остановленную закачку

примеры:

скачивание файла с фтп-сервера: ftp http://site.ru/file.tgz

скачивание файла по http: wget http://site.ru/file.tgz

Установка пакетов

Установка из исходников:

./configure

make

make install

dpkg -i pkg.deb – установить пакет (Debian)

yam install pkg – установить пакет yam

rpm -Uvh pkg.rpm – установить пакет (RPM)

MySQL

mysqlcheck -u root -pPWD DB_NAME TABLE_NAME -r - починить таблицу

mysqlcheck -u root -pPWD DB_NAME TABLE_NAME -o - оптимизировать таблицу

Клавиатурные сочетания

Ctrl+C – завершить текущую команду

Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне

Ctrl+D – разлогиниться, тоже самое, что и exit

Ctrl+W – удалить одно слово в текущей строке

Ctrl+U – удалить строку

!! – повторить последнюю команду

exit – разлогиниться

Полный список UNIX-команд можно найти на Википедии

Оцени публикацию:
  • 6,25
Оценили человек: 6
  •  
Теги : unix find and replace

Похожие статьи:


Комментарии посетителей:
  • Весьма полезно, спасибо ) Особенно про sed.
    14 августа 2011, 11:20 коммент полезен : 0 # Oebs

Предложения и пожелания:
Ваше имя: Ваш E-mail:
Введите изображенные цифры:
Captcha

HTML (19)

CSS (36)

PHP (21)

MySQL (14)

JavaScript (57)

Flash (6)

XML (3)

Apache (34)

Дизайн (35)

Продвижение (30)

Программы (25)

Unix (11)

Интересное (37)


Последние комменты:

Новые заметки:

Защита сервера от ошибок в phpMyAdmin

HTML5 - новые виды атак

Социальные рекомендации Twitter в Google

Ашманов про стартапы

Skype Distributed Database Architecture

Erlang - лекарство при высоких нагрузках

Amazon Web Services: инструменты обеспечения масштабируемости и отказоустойчивости

Обсуждения на форуме:

Новый раздел

Шаблонизация

YaPro - Полная сборка системы

Дубли файлов, эскизы изображений, редактирование шаблонов

Общая регистрация в CMS и phpBB3

Помощь в разработке шаблона

Идея модуля музыкальной системы

Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter| Здравствуйте, Гость | Войти | Регистрация| Карта сайта | RSS ленты
О проекте | Скачать CMS | Видеоуроки | Документация | Плагины | Форум | Идеи | Новости | Веб-мастеру | Контакты

YaPro CMS в Живом Журнале

YaPro CMS в Твитере

YaPro CMS в Одноклассниках

YaPro CMS в Яндекс.Блогах


youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2012 YaPro.Ru


Главная » Веб-мастеру » Unix »