Главная > Операционные системы > UNIX Часто используемые UNIX командыКоманды которые должны быть в голове, а если Вы новичок, то эти команды Вам обязательно пригодятся. Файловые команды ls – список файлов и каталогов в текущей директории ls -al – форматированный список со скрытыми каталогами и файлами чтобы посмотреть список файлов и их дату модификации:
cd /dir – перейти в директорию /dir cd – сменить на домашний каталог, аналог: cd ~/ pwd – показать текущий каталог mkdir dir – создать каталог dir показать разницу файлов в указанных директория: diff -r dir1 dir2 - покажет файлы существующие только в dir1 and и только существующие в dir2 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 В свою очередь для замены в множестве файлов советую использовать такой баш-скрипт:
а запускать его так: 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 найти и удалить директории в глубине уровня 3, относительно указанной find /dir/name/path/ -mindepth 3 -maxdepth 3 -type d | xargs rm -rf Управление процессами 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 на передний план kill -STOP 7727 – поставить на паузу процесс 7727. The eyes will stop moving when they are paused. kill -CONT 7727 – снять с паузы процесс 7727 Права доступа на файлы chmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:
Примеры: chmod 777 – чтение, запись, исполнение для всех посмотреть octal файла можно так: stat -c "%a" /path/file примеры: изменяем владельца и группу для директории: 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 чтобы включить логин без пароля и по ключам Поиск locate file – найти все файлы с именем file grep pattern files – искать pattern в files grep -r pattern dir – искать рекурсивно pattern в dir command | grep pattern – искать pattern в выводе command примеры: grep -rl 'text' /dir/ -- рекурсивный поиск строки во всех файлах директории grep -rl --include="*.php" "my text" /dir/ -- поиск только по файлам с расширением .php grep -rl 'text' /path/ | grep -v '\.svn' -- поиск строки в файлах, расширение которых не заканчивается на .svn grep pattern file.txt --поиск pattern в файле file.txt, с выводом полностью совпавшей строкой Системная информация date – вывести текущую дату и время ( синтаксис: yy]mm]dd]HH]MM[.ss] ) пример установки времени на сервере (секунды вводить не обязательно): date 1230100509.45 # в Linux и Solaris; или cal – вывести календарь на текущий месяц uptime – показать текущий аптайм w – показать пользователей онлайн whoami – имя, под которым вы залогинены finger user – показать информацию о user uname -a – показать информацию о ядре cat /proc/cpuinfo – информация ЦПУ cat /proc/meminfo – информация о памяти man command – показать мануал для command df – показать инф. о использовании дисков du – вывести “вес” текущей директории примеры: вес указанной директории: du -shc /dir free – использование памяти и swap whereis app – возможное расположение программы app which app – какая app будет запущена по умолчанию Архивация tar cf file.tar dir – создать tar-архив с именем file.tar содержащий files tar xf file.tar – распаковать file.tar tar czf file.tar.gz dir – создать архив tar с сжатием Gzip tar czf ~/архив.tar.gz /путь/к/архивируемому/каталогу/ /bin/tar -czf archive.tar.gz dir 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" Жесткий диск измерить скорость жесткого диска: dd if=/dev/zero of=testfile bs=64k count=16k conv=fdatasync Сеть ping host – пропинговать host и вывести результат whois domain – получить информацию whois для domain dig domain – получить DNS информацию domain dig -x host – реверсивно искать host netstat - показать содержимое различных структур данных, связанных с сетью например:
или посмотрим открытые порты:
wget file – скачать file wget -c file – продолжить остановленную закачку примеры: скачивание файла с фтп-сервера: ftp http://site.ru/file.tgz скачивание файла по http: wget http://site.ru/file.tgz Почта отправить содержимое файла на почту:
отправить приатаченный файл на почту:
и программа mail даст возможность ввести сообщение, написали - нажимайте Ctrl+D и письмо отправится. 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-команд можно найти на Википедии p.s. чтобы работать с командами было веселей (удобней), советую разукрасить консоль:
добавьте:
иногда, вместо файла .bashrc используется файл .bash_profile Материал взят с сайта:Главная > Операционные системы > UNIX |