Несколько недель назад я читал документацию шеф-повара и наткнулся на страницу «Достаточно рубина для шеф-повара». Это вдохновило меня написать небольшую статью о том, сколько Linux нужно знать разработчику. Я собираюсь сделать это как серию и выпустить один из них в неделю.
Как использовать и генерировать ключи SSH
Я уже рассказывал , как создать их здесь , но вы должны знать , как создать distrubute и ключи изменить SSH. Это облегчит обсуждение доступа к рабочим серверам с вашей рабочей группой и, вероятно, облегчит использование таких вещей, как Github.
Как пользоваться |
Если вы когда-то использовали unix, вы можете быть знакомы с этим. Труба или | может использоваться для отправки вывода от одного процесса другому. Вот хороший пример его использования:
user@host:~$ ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:344493 errors:0 dropped:0 overruns:0 frame:0 TX packets:344493 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:92854063 (92.8 MB) TX bytes:92854063 (92.8 MB) user@host:~$ ifconfig |grep 127 inet addr:127.0.0.1 Mask:255.0.0.0
Как использовать смолу
Tar — это одна из тех базовых команд Unix, которые вам нужно знать. Это универсальный инструмент архивации для * nix систем (аналог Zip для Windows). Вы должны знать, как создать архив и расширить архив. Я рассматриваю это только с включенным сжатием, если у вас нет gzip или вы не хотите, чтобы он пропускал опцию z.
user@host:~/example$ ls foo file1 file2 file3 # create an archive with the c option user@host:~/example$ tar czvf foo.tar.gz foo foo/ foo/file1 foo/file3 foo/file2 # use t option to see whats in the archive user@host:~/example$ tar tzvf foo.tar.gz drwxrwxr-x user/user 0 2012-12-11 23:40 foo/ -rw-rw-r-- user/user 0 2012-12-11 23:40 foo/file1 -rw-rw-r-- user/user 0 2012-12-11 23:40 foo/file3 -rw-rw-r-- user/user 0 2012-12-11 23:40 foo/file2 # remove foo user@host:~/example$ rm -rf foo user@host:~/example$ ls foo ls: cannot access foo: No such file or directory # use tar to expand the archive user@host:~/example$ tar xzvf foo.tar.gz foo/ foo/file1 foo/file3 foo/file2 user@host:~/example$ ls foo file1 file2 file3 user@host:~/example$
Команда файла
Файл волшебный. Он будет смотреть на файл и даст вам лучшее предположение о том, что это такое. Использование:
user @ host: ~ / example $ file foo.tar.gz
foo.tar.gz: gzip compressed data, from Unix, last modified: Tue Dec 11 23:40:46 2012
Строка команды
Вы когда-нибудь хотели читать строки из двоичного файла? Команда strings сделает это за вас. Просто запустите «strings», и вы получите дамп всех строк из этого файла. Это особенно полезно при поиске строк в старых файлах PCAP или в случае подделки двоичного файла.
# пример файла
user@host:/bin$ file lsmod lsmod: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0x75dd24005af3d06b596c26004e04e12106d5fc57, stripped # getting string in a file user@host:/bin$ strings lsmod /lib64/ld-linux-x86-64.so.2 &lY! __gmon_start__ libc.so.6 __printf_chk exit fopen perror puts putchar strtok fgets ....
Как использовать grep
Grep можно использовать для извлечения строк текста из файла или потока, соответствующих определенному шаблону. Это действительно богатая команда, и ей должна быть посвящена целая статья. Вот несколько очень простых случаев использования.
Чтобы соответствовать шаблону:
$ cat test.txt a b c d e $ grep a test.txt a $ cat test.txt | grep a a
Чтобы вытянуть все строки, не соответствующие шаблону:
$ cat test.txt a b c d e $ grep -v a test.txt b c d e $ cat test.txt | grep -v a b c d e
Как считать строки в файле
Команды wc будут считать строки, слова и байты в файле. Параметры по умолчанию вернут все три, если вы хотите только подсчитать строки в файле, используйте параметр -l, который будет выводить только строки в файле. Вот пример:
user@host:~$ wc -l file.txt 164 file.txt
Подсчитайте уникальные случаи чего-либо
Может показаться, что он вне досягаемости bash, но вы можете сделать это простым простым вкладышем. Вам просто нужно ввести:
user@host:~/example$ cat test.txt a b c a a a b b c c user@host:~/example$ sort test.txt |uniq -c |sort -n 3 b 3 c 4 a
Это подсчитывает все уникальные вхождения строки, а затем сортирует их численно.
После вывода файла с хвостом
Хвост очень полезная команда; он выведет последние 10 строк файла по умолчанию. Но иногда вам нужно постоянно просматривать файл. К счастью, хвост может решить это за вас. Опция -f будет печатать новые строки по мере их добавления. Пример:
user@host:~/example$ tail -f /var/log/syslog Dec 11 22:48:54 host wpa_supplicant[1211]: WPA: Group rekeying completed with 10:6f:3f:0c:11:49 [GTK=TKIP]
Я буду следить за этим через неделю, с большим количеством Linux для разработчиков. Надеюсь, вы нашли это полезным.