Добрый день.
Сегодня захотелось оставить заметку, о наиболее используемых мной команд Linux.
С кратким описанием и примером использования.
Примеры использования будут продемонстрированы на Ubuntu Server 12.10.
1. bc - интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольной заданной точностью. Часто используется как калькулятор в командной строке.
$ bc
и вычислим небольшой пример:
Чтобы выйти вводим quit и жмем Enter.
$ bc -h - вызывает справку по bc
$ man bc
2. cal - календарь. Если ввести cal без аргументов, то он выведет календарь на месяц. Если ввести только 1 параметр, то выведет календарь на год, который вы указали. Если ввести два параметра (месяц и год) то выведет только на заданный месяц.
$ cal 1 1970 #Начало "эпохи"
$ man cal
3. clear - Очистить окно терминала, так же можно воспользоваться комбинацией клавишь Ctrl+L.
$ man clear
4. date - выводе времени и даты.
$ date
$ man date
5. cat - объединяет файлы и выводит их на стандартный поток вывода. Так же часто используется для вывода содержимого файла.
Предположим, что у меня есть 3 файла: file1, file2, file3 с содержимым File1, File2, File3 соответственно.
$ cat file1 file2 file3 > file
или
$ cat file* > file
$ cat file
Второй пример: создадим еще 1 файл file4 с содержимым File4.
$ echo "File4" > file4
$ cat file >> file4
$ cat file4
Про символы ">",">>" - будет описано чуть ниже, называется это - перенаправление вводы/вывода.
$ man cat
6. df - отчет об использовании дискового пространства.
Что бы вывод был в мегабайтах (более приятные цифры, чем в байтах) воспользуемся параметром -m.
$ df -m
Так как Ubuntu Server стоит на виртуальной машине, то и диск всего 8гб.
$ man df
7. mkdir - создать каталог. Если не указать специальные параметры, то каталог создается в зависимости от заданного вами/системой umask (обычно установлен 002), т.е. с полными правами для пользователя создавшего каталог, для группы этого пользователя и только на чтение и исполнение для всех остальных (исполнение = просмотр содержимого каталога).
$mkdir test
Что бы проверить создался ли каталог, воспользуемся командой ls:
$ ls -l
$ man mkdir
8. echo - показывает текстовую строку.
$ echo "Hello World"
Так же с помощью перенаправления ввода/вывода ее часто используют для ввода информации в файл или вывода сообщения на экран/файл.
$ man echo
9. ls - выводит содержимое каталога. Очень полезная утилита.
Вот несколько примеров ее использования:
$ ls
$ ls -l # показывает информацию о файлах/папках (тип, права доступа, пользователя, дата и время модификации и имя).
$ ls -a #вывод всех, даже скрытых файлов в (в линуксе скрытые файлы начинаются с точки).
Так же можно группировать параметры, более подробно в:
$ man ls
10. rmdir - удалить пустой каталог.
$ rmdir test
$ man rmdir
11. du - оценка места на диске, занимаемого файлом/папкой.
$ du test/
$ man du
12. dmesg - выводит сообщения ядра при начальной загрузке Linux или настраивает их буфер. Очень полезная утилита, для анализа, что пошло не так во время загрузки.
$ dmesg
тут очень большой вывод, вот его кусочек:
$ man dmesg
13. wget - это открыто распространяемая утилита для загрузки файлов из интернета. Она поддерживает протоколы HTTP, HTTPS и FTP, загрузку с серверов прокси по протоколу HTTP.
Простейший пример использования:
$ wget http://cs323719.userapi.com/v323719803/571e/_ubBg5RrPg0.jpg
Здесь мы скачали картинку с vk.com. Эта картинка будет показана, когда будем рассматривать команду tar.
$ man wget
14. file - выводит тип информации в файле.
Например:
$ file file1
$ man hostname
17. head - вывести первые строки файла. По умолчанию выводит первые 10 строк.
Например создадим файл со списком всех файлов/папок в корневом каталоге:
$ ls -l / > ls.txt
Удостоверимся, что в файле то, что нам необходимо:
$ cat ls.txt
Приведу кусочек вывода:
$ head ls.txt
Видим, что вывелись только первые 10 строк.
$ man head
18. tail - вывести последние строки файла. По умолчанию так же 10 строк.
$ tail ls.txt
У этой утилиты есть очень полезный параметр, который позволяет смотреть содержимое постоянно обновляющихся файлов, например логов.
$ tail -f file
Эта команда выведет 10 последних строк файла и по мере поступления новых записей в журнал, будут выводиться новые записи. Что бы завершить программу можно воспользоваться комбинацией клавиш: Ctrl+C.
$ man tail
19. cd - изменить рабочий каталог.
$ cd /home/wimbo # где wimbo имя пользователя.
$ man cd
20. pwd - выводит имя текущего каталога.
Продолжим пример из рассмотрения команды cd.
$ pwd
$ man pwd
21. more/less - программы для удобного постраничного просмотра информации. Если команда или файл, вывод которых вы хотите просмотреть слишком большие, эти две команды помогут вам удобно просмотреть их содержимое.
$ cat file | less
$ cat file | more
Вывод содержимого файла file перенаправляется на вход программам less/more и вы можете прокручивать содержимое файла для его просмотра.
Единственное отличие less от more в том, что less позволяет прокручивать текст вперед и назад с помощью стрелок вверх и вниз, а more только с помощью клавиш Пробел и [B] вперед и назад.
$ man less
$ man more
22. sleep - задержка на указанное время. Команда чаще применяется в скриптах, чем в непосредственной работе в командной строке.
Понимает префиксы: s - секунд, m - минут, h - часов, d - дней.
$ sleep 5s
И через 5 секунд команда завершится и появится приглашение на ввод следующей команды.
$ man sleep
23. sort - сортирует строки текстовых файлов. По умолчанию в алфавитном порядке. Сначала он объединяет все файлы и потом сортирует все строки полученного файла.
Пример:
$ cat file4 file2 file3 file1
25. uname - сообщает информацию о данном компьютере и операционной системе. Если запускать без параметров, то команда выводит название ядра операционной системы:
$ uname
Сегодня захотелось оставить заметку, о наиболее используемых мной команд Linux.
С кратким описанием и примером использования.
Примеры использования будут продемонстрированы на Ubuntu Server 12.10.
1. bc - интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольной заданной точностью. Часто используется как калькулятор в командной строке.
$ bc
и вычислим небольшой пример:
Чтобы выйти вводим quit и жмем Enter.
$ bc -h - вызывает справку по bc
$ man bc
2. cal - календарь. Если ввести cal без аргументов, то он выведет календарь на месяц. Если ввести только 1 параметр, то выведет календарь на год, который вы указали. Если ввести два параметра (месяц и год) то выведет только на заданный месяц.
$ cal 1 1970 #Начало "эпохи"
$ man cal
3. clear - Очистить окно терминала, так же можно воспользоваться комбинацией клавишь Ctrl+L.
$ man clear
4. date - выводе времени и даты.
$ date
$ man date
5. cat - объединяет файлы и выводит их на стандартный поток вывода. Так же часто используется для вывода содержимого файла.
Предположим, что у меня есть 3 файла: file1, file2, file3 с содержимым File1, File2, File3 соответственно.
$ cat file1 file2 file3 > file
или
$ cat file* > file
$ cat file
Второй пример: создадим еще 1 файл file4 с содержимым File4.
$ echo "File4" > file4
$ cat file >> file4
$ cat file4
Про символы ">",">>" - будет описано чуть ниже, называется это - перенаправление вводы/вывода.
$ man cat
6. df - отчет об использовании дискового пространства.
Что бы вывод был в мегабайтах (более приятные цифры, чем в байтах) воспользуемся параметром -m.
$ df -m
Так как Ubuntu Server стоит на виртуальной машине, то и диск всего 8гб.
$ man df
7. mkdir - создать каталог. Если не указать специальные параметры, то каталог создается в зависимости от заданного вами/системой umask (обычно установлен 002), т.е. с полными правами для пользователя создавшего каталог, для группы этого пользователя и только на чтение и исполнение для всех остальных (исполнение = просмотр содержимого каталога).
$mkdir test
Что бы проверить создался ли каталог, воспользуемся командой ls:
$ ls -l
$ man mkdir
8. echo - показывает текстовую строку.
$ echo "Hello World"
Так же с помощью перенаправления ввода/вывода ее часто используют для ввода информации в файл или вывода сообщения на экран/файл.
$ man echo
9. ls - выводит содержимое каталога. Очень полезная утилита.
Вот несколько примеров ее использования:
$ ls
$ ls -l # показывает информацию о файлах/папках (тип, права доступа, пользователя, дата и время модификации и имя).
$ ls -a #вывод всех, даже скрытых файлов в (в линуксе скрытые файлы начинаются с точки).
Так же можно группировать параметры, более подробно в:
$ man ls
10. rmdir - удалить пустой каталог.
$ rmdir test
$ man rmdir
11. du - оценка места на диске, занимаемого файлом/папкой.
$ du test/
$ man du
12. dmesg - выводит сообщения ядра при начальной загрузке Linux или настраивает их буфер. Очень полезная утилита, для анализа, что пошло не так во время загрузки.
$ dmesg
тут очень большой вывод, вот его кусочек:
$ man dmesg
13. wget - это открыто распространяемая утилита для загрузки файлов из интернета. Она поддерживает протоколы HTTP, HTTPS и FTP, загрузку с серверов прокси по протоколу HTTP.
Простейший пример использования:
$ wget http://cs323719.userapi.com/v323719803/571e/_ubBg5RrPg0.jpg
Здесь мы скачали картинку с vk.com. Эта картинка будет показана, когда будем рассматривать команду tar.
$ man wget
14. file - выводит тип информации в файле.
Например:
$ file file1
$ file -ubBg5RrPg0.jpg #Выведем информацию о картинке, которую мы скачали, когда рассматривали wget.
$ man file
15. free - показывает количество занятой и свободной памяти в системе. По умолчанию в байтах, что бы вывести в мегабайтах воспользуемся параметром -m.
$ free -m
$ man free
16. hostname - выдает или устанавливает имя компьютера. Если вызвать эту команду без параметров, то она просто выведет имя компьютера. Если же задать параметр, то будет установлено новое имя компьютера.
$ hostname
$ sudo hostname ubuntu-server-1
$ hostname$ man hostname
17. head - вывести первые строки файла. По умолчанию выводит первые 10 строк.
Например создадим файл со списком всех файлов/папок в корневом каталоге:
$ ls -l / > ls.txt
Удостоверимся, что в файле то, что нам необходимо:
$ cat ls.txt
Приведу кусочек вывода:
$ head ls.txt
Видим, что вывелись только первые 10 строк.
$ man head
18. tail - вывести последние строки файла. По умолчанию так же 10 строк.
$ tail ls.txt
У этой утилиты есть очень полезный параметр, который позволяет смотреть содержимое постоянно обновляющихся файлов, например логов.
$ tail -f file
Эта команда выведет 10 последних строк файла и по мере поступления новых записей в журнал, будут выводиться новые записи. Что бы завершить программу можно воспользоваться комбинацией клавиш: Ctrl+C.
$ man tail
19. cd - изменить рабочий каталог.
$ cd /home/wimbo # где wimbo имя пользователя.
$ man cd
20. pwd - выводит имя текущего каталога.
Продолжим пример из рассмотрения команды cd.
$ pwd
$ man pwd
21. more/less - программы для удобного постраничного просмотра информации. Если команда или файл, вывод которых вы хотите просмотреть слишком большие, эти две команды помогут вам удобно просмотреть их содержимое.
$ cat file | less
$ cat file | more
Вывод содержимого файла file перенаправляется на вход программам less/more и вы можете прокручивать содержимое файла для его просмотра.
Единственное отличие less от more в том, что less позволяет прокручивать текст вперед и назад с помощью стрелок вверх и вниз, а more только с помощью клавиш Пробел и [B] вперед и назад.
$ man less
$ man more
22. sleep - задержка на указанное время. Команда чаще применяется в скриптах, чем в непосредственной работе в командной строке.
Понимает префиксы: s - секунд, m - минут, h - часов, d - дней.
$ sleep 5s
И через 5 секунд команда завершится и появится приглашение на ввод следующей команды.
$ man sleep
23. sort - сортирует строки текстовых файлов. По умолчанию в алфавитном порядке. Сначала он объединяет все файлы и потом сортирует все строки полученного файла.
Пример:
$ cat file4 file2 file3 file1
$ sort file4 file2 file3 file1
Очень полезная и интересная утилита, имеет много полезных параметров.
$ man sort
24. uniq - выводит или пропускает повторяющиеся строки.Для начала нужно отсортировать строки, для выполнения этой команды. Вот пара примеров:
Вывести сколько раз каждая строка повторяется в файле:
Создадим файл uniq.txt:
$ cat file4 file2 file3 file1 file4 file3 > uniq.txt
$ sort uniq.txt | uniq -c
Другой пример:
Вывести только уникальные строки файла uniq.txt:
$ sort uniq.txt | uniq -u
$ man uniq25. uname - сообщает информацию о данном компьютере и операционной системе. Если запускать без параметров, то команда выводит название ядра операционной системы:
$ uname
Чтобы вывести полную информацию, воспользуемся параметром:
$ uname -a
26. wc - печатает число байт, слов и строк в файле.
$ wc uniq.txt
Первый столбец - число строк;
Второй столбец - число слов;
Третий столбец - число символов;
Четвертый столбец - название файла.
$ man wc
27. whatis - показывает описание справочных страниц.
$ whatis wc
28. whoami - выводит имя пользователя под которым вы работаете в данный момент.
$ whoami
29. last - выводит список пользователей, зарегистрировавшихся в системе последними.
$ last
Есть несколько полезных параметров.
$ man last
30. which - показывает полный путь к командам.
$ which grep
31. touch - изменяет временные штампы файла. Если файл указанный в параметре не существует то он создается - очень часто используют именно этот способ создания новых файлов.
Например:
Изменим время модификации для файла file4 на 1 января 1970 года, 00:00.
Для начала проверим, какая дата установлена сейчас:
$ ls -l file4
$ touch -t 197001010000 file4
Формат задания даты [[ВВ]ГГ]ММДДччмм[.CC]
$ ls -l file4
32. chmod - изменяет права доступа к файлу. Есть несколько способов задания прав.
Тут надо сделать небольшое отступление и сказать о правах доступа к файлам:
Файлы могут быть доступны на чтение (r), запись (w) и исполнение (x), также у файла есть права на доступ для пользователя создавшего его, для группы пользователя создавшего его и для всех остальных.
В выводе команды ls -l это первый столбец, без первого символа, который означает тип файла.
Пример 1:
Отобразим права доступа для файла file3:
$ ls -l file3 | awk '{print $1,$9}'
Тут встречается незнакомая нам команда awk (надеюсь я найду время для отдельной статьи по awk), суть в том, что мы выводим для file3 только поле с правами доступа и имя файла.
Первый символ - признак файла, если стоит прочерк "-",то это обычный файл.
Следующие три символа - обозначаю права для владельца файла, в данный момент для владельца файла назначены права на чтение и запись, так же как и для группы пользователя.
А для всех остальных пользователей назначены права только на чтение.
Что бы изменить права, например разрешить абсолютно всем пользователям чтение запись и исполнение:
$ chmod ugo+rwx file3
$ ls -l file3 | awk '{print $1,$9}'
Где u - пользователь, создавший файл;
g - группа пользователя, создавшего файл;
o - все остальные пользователи.
33. chown - изменить пользователя и/или группу файлов.
Посмотрим пользователя и групп для файла file2:
$ ls -l file2 | awk '{print $3,$4,$9}'
$ sudo chown test:test file2
Заранее создав пользователя test.
$ ls -l file2 | awk '{print $3,$4,$9}'
34. cp - копирование файлов и каталогов.
$ cp file1 file51
Скопирует содержимое file1 в file51.
$ cat fie1 file51
и увидим одинаковое содержимое файлов.
Так же можно воспользоваться утилитой diff которая сравнивает два файла.
$ diff file1 file51
Если эта команда ничего не вывела, то файлы идентичны.
$ man cp
35. mv - перемещает (переименовывает) файлы.
Посмотрим какие файлы у нас есть:
$ ls
теперь переименуем файл file:
$ mv file newfile
и снова посмотрим, какие файлы у нас есть:
$ ls
И видим, что file уже нет, зато появился newfile.
$ man mv
36. rm - удаляет файлы или каталоги.
Удалим все файлы, имя которых начинается с file:
Список всех наших файлов:
$ ls
$ rm file*
$ ls
Чтобы удалить папку нужно задать параметр -r или -R, для того, что бы рекурсивно удалить содержимое каталога.
$ rm -r test/
$ ls
ВАЖНО! Команда rm очень опасная, следует использовать ее очень аккуратно, так как команда rm -rf /* может удалить абсолютно все ваши файлы в системе.
$ man rm
37. find - утилита поиска файлов. Очень мощная команда, нужно подробно изучить справочную страницу.
Например найдем все файлы в системе, которые заканчиваются на .log:
$ sudo find / -name *.log
А список всех файлов можно получить еще проще:
$ sudo find / > allfiles.txt
$ man find
38. locate - поиск файлов по имени. Она ищет файлы по имени выбирая из базы. Но сначала нам нужно обновить эту базу другой утилитой updatedb.
$ updatedb
$ locate *.log
39. bzip2 - утилита для сжатия данных, реализация алгоритма Барроуза - Уилера. Файлы сжатые этим архиватором имеют расширение .bz2
Сожмем наш файл newfile:
$ bzip2 newfile
$ ls
Чтобы разархивировать:
$ bunzip2 newfile.bz2
$ ls
40. gzip - также утилита архивирования, но с помощью алгоритма Лемпеля-Зива. Файлы сжатые этим архиватором имеют расширение .gz.
Опять таки сожмем наш файл newfile:
$ gzip newfile
$ ls
$ gunzip newfile.gz
$ ls
$ man gzip
41. tar - очень крутая программка надстройка над gzip и bzip2.
Например создадим архив bar.tar из файла newfile:
$ tar -cf bar.tar newfile
$ ls
$ rm newfile
$ ls
$ tar -xf bar.tar
$ ls
Так же эта утилита часто используется для разархивирования исходных кодов программ, распространяемых в формате tar.gz.
$ tar xfz *.tar.gz
Очень много полезных параметров, читаем ман.
$ man tar
Комментариев нет:
Отправить комментарий