Tag Archives: bash
Setting zsh on you mac
This gist is great: https://gist.github.com/kevin-smets/8568070 I just added these line at the bottom:
1 2 3 4 5 6 7 |
plugins=(zsh-autosuggestions git) DEFAULT_USER=... POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh |
List of embedded plugins: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins Custom plugins are installed here — ~/.oh-my-zsh/custom/plugins (actually, $ZSH_CUSTOM/plugins). Like this:
1 |
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
Bash-скрипт для информации о компьютере
Сохранить в файлике
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/bin/bash echo -n "CPU: " cat /proc/cpuinfo | grep model | grep name | sort -u | awk -F: '{print $2}' echo -n "RAM: " echo `cat /proc/meminfo | grep MemTotal | awk '{print $2}'` Kb echo "HDD (RAID 1): " echo -ne "\t1. " fdisk -l /dev/sda | grep Disk | grep sda echo -ne "\t2. " fdisk -l /dev/sdb | grep Disk | grep sdb #EOF# |
http://majorov.blogspot.ru/2013/07/blog-post_18.html
Копирование файлов по ssh в shell
1 |
scp user@host:~/fun.mp4 ~/fun.mp4 |
Скопировать директорию
1 |
scp -r user@host:/home/user/fff ./ |
Оставить оригинальные метаданные по файлам
1 |
scp -rp sourcedirectory user@dest:/path |
Перенос файлов по маске в shell
Сбойнул один старый скрипт и написал он много маленьких (2-3 кб) файлов в одну директорию. Посмотрел я, сколько файлов оказалось, командой
1 |
ls -1 | wc -l |
Оказалось файлов таких за миллион. На эти файлы смотрел скрипт демонский, который по ним рассылал почты много. Решил я эти файлы из директории той убрать (чтоб пользователей не расстраивать, а данные сохранить)
1 |
ls *.eml -1 | xargs -I {} mv {} ./fuckup/{} |
…
Автодополнение в shell
Есть такая оболочка, Fish-shell (Fish’s fish) — http://ridiculousfish.com/shell/. Репозиторий — https://github.com/fish-shell/fish-shell/#building, установка под MacOs через homebrew — https://github.com/edc/homebrew-fishfish В конце установки надо (может привести к проблемам, о которых ниже)
1 2 3 4 |
sudo su chsh -s /usr/local/bin/fish <имя пользователя> # только для MacOS nano /etc/shells # и добавить строку /usr/local/bin/fish |
Если в MacOS есть проблемы, значит, забыли добавить строчку в /etc/shells и не запускается терминал (говорит, что нет такой оболочки), то нужно перейти в Настройки→Пользователи …
Горячие клавиши при работе в bash
Вот примеры: Ctrl+r поиск в истории введённых команд Ctrl+a (Home) в начало строки Ctrl+e (End) в конец строки Alt+b на одно слово назад Alt+f на одно слово вперёд Вот короткий список наиболее частых — http://ss64.com/bash/syntax-keyboard.html. Подробное описание — http://www.delorie.com/gnu/docs/bash/bashref_95.html (в целом хороший справочник по bash).
Алиасы для bash
В последнее время понравились алисы для bash-а. Сделать их очень просто, достаточно в ~/.bash_aliases написать что-то вроде: alias h3=’ssh b@hes3.lan’ alias w5=’ssh b@w_5.lan’ После этого нужно перечитать конфигурацию в каждом открытом окне с bash: . .bash_aliases Теперь при вводе в командной строке h3 произойдёт коннект к серверу. http://www.linuxquestions.org/questions/linux-software-2/how-do-i-get-bash-to-reread-the-bashrc-file-252405/ (reread bash config)
Запуск команды от имени другого пользователя в shell
1 |
sudo su [username] [whatever] |
Перемещение большого количества файлов в linux shell
Сбойнул один старый скрипт и написал он много маленьких (2-3 кб) файлов в одну директорию. Посмотрел я, сколько файлов оказалось, командой для подсчёта количества файлов в директории
1 |
ls -1 | wc -l |
Оказалось файлов таких за миллион. На эти файлы смотрел скрипт демонский, который по ним рассылал почты много. Решил я эти файлы из директории той убрать (чтоб пользователей …
Поиск в командной строке linux
Способ 1:
1 |
locate mysql_config |
Способ 2:
1 |
find / | grep "mysql_config" |
UP: правильный способ:
1 |
find / -name "*mysql_config" 2>/dev/null |