1. Изпълнете последната команда с !!
Заглавието казва всичко, просто въведете следното в терминал ...
!!
... За повторно изпълнение на последната въведена команда. Този трик е много полезен, когато забравим да влезем Sudo в началото. В този случай ще трябва да въведете:
sudo !!
За да откриете по-сложни начини да извлечете максимума от този трик, препоръчвам да прочетете това стар пост.
2. Изпълнете последната команда, но коригирайки грешка при въвеждане
Този трик е наистина полезен, когато въвеждаме команда с проста печатна грешка. Например, ако изпълним:
ехо "desdelinuxz"
Можете да го коригирате, като въведете следното:
^z
3. Извикайте текстов редактор, за да въведете дълга команда
Понякога трябва да въведете безкрайни команди в терминала. В този случай помощта на обикновен текстов редактор, като nano или emacs, може да бъде полезна.
За да отворите редактора, просто натиснете Ctrl + x + e в терминал. Текстът, който сте въвели досега, ще бъде копиран в текстовия редактор, след като бъде отворен.
От своя страна, използваният редактор ще бъде този, посочен в променливата $ EDITOR. За да промените тази конфигурация, е възможно да се изпълни ...
износ РЕДАКТОР = nano
... Замяна на nano с предпочитания от вас редактор.
4. Изпълнете команда, без да я записвате в историята
Истинският хакер не може да пренебрегне този трик. Както всички знаят, bash запазва историята на изпълнените команди, до която има много лесен достъп, използвайки стрелките на клавиатурата или Ctrl + R (за изпълнение на a обратно търсене в историята).
В този случай това, което трябва да направите, за да не бъде записана въведената команда в историята, е да поставите интервал отпред:
команда
5. Автоматично поставете последния параметър на команда
Да предположим, че командата, изпълнена по-рано, беше
cp file.txt / var / www / wp-content / uploads / 2009/03 /
За достъп до въпросната директория можете да въведете командата cd последвано от Alt +. o Esc +. :
cd „ALT +.“
Това е само съкратен начин за влизане:
cd / var / www / wp-content / uploads / 2009/03 /
6. Изпълнете команда в определено време
Да, да, за това съществува Cron. Понякога обаче искаме да изпълним команда, която да се изпълни в определено време, но само веднъж.
Да предположим, че искаме да изпълним командата ls -l в полунощ. В този случай трябва да го изпълним по следния начин:
ехо "ls -l" | в полунощ
7. Вземете вашия външен IP
Благодарение на услугата, предоставена от http://ifconfig.me/ Възможно е да знаете различни данни за вашата интернет връзка, директно от терминала:
curl ifconfig.me/ip // IP адрес curl ifconfig.me/host // Отдалечен сървър curl ifconfig.me/ua // Потребителски агент curl ifconfig.me/port // Порт
8. Научете как да използвате Ctrl + u и Ctrl + y
Колко пъти започнахте да пишете команда и си спомнихте, че преди да се наложи да направите нещо друго? Е, възможно е да направите вид cut-paste, така че по-късно да е по-лесно да въведете отново командата, която е останала наполовина.
Да предположим, че сте започнали да пишете ...
cd / home / потребител
и си спомнихте, че преди да трябва да проверите нещо в текущата директория. В този случай натиснете Ctrl + U (Това би било нещо като "изрязване").
Въведете командата, която трябва да бъде изпълнена първо. Да предположим ...
ls -l
... и след това натиснете Ctrl + y (Работи като "паста").
9. Почистете терминала лесно
с Ctrl + l терминалът може да се почисти за миг.
10. Отидете в директория, изпълнете команда и се върнете към текущата директория
Този трик е удоволствие. За да изпълните поредица от команди, без да напускате текущата директория, просто ги групирайте в скоби. Както почти всички знаят, за да изпълните поредица от команди, трябва да ги обедините с помощта на &&. Използвайки тези концепции, можем да изпълним нещо като следното:
(cd / tmp && ls)
Резултатът от тази команда (обърнете внимание на скобите) ще бъде списък с файловете и директориите в папката / Tmp. И всичко това без да напускате текущата ни директория Бижу!
Япа. Избройте най-често използваните команди
Да ги види най-използваните команди просто изпълнете следното:
история | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' '| сортиране -rn | глава
В моя случай победителите бяха:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 отгоре
На феновете на терминалите, като този сървър, препоръчвам да посетят команден редfu. Също така, защо не, не спирайте да гледате на архив от нашия блог.
Имаше един, който използвах, който пропусна главни букви в моя inputrc, защото честно много файлове, които започнаха по този начин, щяха да се плъзнат в мен.
Мисля, че една от най-важните е командата за история, в която тя връща номериран списък
от командите, които сте използвали и ако искате да използвате някоя от тях, просто използвайте следния ред
! 22
който ще изпълни командата, която е във вашата история на номер 22 😀
За да търсите команда с автоматично попълване е
ctrl + r
Винаги използвам Ctrl + r, за да повторя последната команда; след като се появи последният, можете да превъртите назад през историята, като натиснете Up Pag (стрелка нагоре).
Поздрави.
Добра статия. Благодаря, че споделихте тези съвети.
Искам да споделя едно, което използвам ежедневно, което е „fg“, което ви позволява да отворите приложенията, които сте спрели по-рано с „Ctrl + z“.
И с 'bg' ги изпращате на фона 🙂
Вижте се ... добър трик! Благодаря, че го споделихте.
Прегръдка! Павел.
Отличен пост, те винаги ви карат да запомните неща, които сте знаели и в крайна сметка сте забравили, но които са наистина полезни.
Измамите на терминали винаги са добре дошли.
Невероятно не знаех, че добавянето на интервал към командата е пропуснато от History.
Благодаря ви много, Поздрави !!
за да използвате историята за автоматично завършване на филтрирането, добавете във файл $ HOME / .inputrc
"\ E [5 ~": история-търсене назад
"\ E [6 ~": история-търсене напред
и например по някое време сте използвали:
$ cd / one / path / long / than / the / shit
и сега искате да го използвате отново, трябва да направите:
$ cd
и след това натиснете клавишите „Page Up“ или „Page Down“, за да навигирате през всички команди в историята, започнали с „cd“.
ИЛИ…. Без да редактирате нищо, натиснете Ctrl + R и след това cd (ако искате да търсите нещо с 'cd') и натискайки Ctrl + R неколкократно ще видите всички команди, които го съдържат, докато стигнете до желаната. Очевидно е, че ако е непосредствено предшестващата, ще я получите.
Muy bueno!
Всъщност ls / tmp трябва да е достатъчно, за да изброи директорията, без да напуска текущата.
Можете също да свържете командата с помощта на ";" както в пример n ° 10 би било така:
(cd / tmp; ls)
поздрави
Той ";" Той работи по различен начин от "&&" (и), когато правим command-1 && command-2, втората команда се изпълнява само ако изходът на първата е "0", т.е. без грешка. В случай на точка и запетая втората команда се изпълнява независимо от изхода на първата. За разширяване има оператор «||» (или), в този случай втората команда се изпълнява само ако първата хвърля грешка на изхода. За разбирането.
Така че всеки ред, който помни историята, има дата и час, има променлива на околната среда в ~ .bashrc на нормалния потребител или корен.
# нано .bashrc
износ HISTTIMEFORMAT = »% F% T»
# история
492 2014-09-02 14:25:57 revdep-rebuild -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02 14:31:29 и т.н.-актуализация
496 2014-09-02 14:31:54 emerge –depclean –преструвай се
497 2014-09-02 14:39:08 актуализиранб
Има още опции, които са за количеството редове, които запазва, тествам ги.
Много добър пост. Наистина много полезно. Трик номер 4, този за изпълнение на команда, без тя да бъде запазена в историята, е работил за мен само в Ubuntu, не е така в Debian или Centos.
При мен работи на raspbian, а не на arch.
Merveilleux!!
Здравейте,
какво да поставите интервал преди изпълнение на команда, така че да не се регистрира в историята, тъй като не работи ...
[потребител @ хост /] $ ls -l
Общо 104
dr-xr-xr-x. 2 корен корен 4096 21 август 03:55 bin
dr-xr-xr-x. 5 root root 3072 20 август 17:26 стартиране
drwxr-xr-x. 2 root root 4096 9 декември 2013 г. cgroup
[потребител @ хост /] $ история
1024 ls
1025 ls
1026 история
1027 ls -l
1028 история
интересна статия ..
поздравления
Извинете, че не прочетох всички публикации,
Тестът се прави и в цент.
Добре с Ctrl + U и Ctrl + Y.
В моята система списъкът с най-използваните команди работи за мен, като промених променливата на $ 5.
Пример за изход:
1122 судо
362 ls
279 ясно
214 CD
142 копаят
141 години
130 vnstat
122 mv
112 вим
История на 112
Това е така, защото в моя .bashrc файл имам следния ред:
# Покажете датата на командата за история
износ HISTTIMEFORMAT = '% F% T:'
Почти съм сигурен, че мнозина тук са използвали няколко терминала едновременно.
Сега не знам дали да ви кажа, че това е терминален трик, но тъй като обикновено имам много прозорци или използвам екран, за да имам няколко отворени терминала, това позволява всяка команда, въведена в един от тези терминали, тъй като тя ще бъде отразена във всички .
Това влиза във файла .bashrc:
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = игнорира пространство: игнорира
история () {
_bash_history_sync
вградена история "$ @"
}
_bash_history_sync () {
вградена история -a # 1
HISTFILESIZE = $ HISTSIZE # 2
вградена история -c # 3
вградена история -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Много добър принос! Благодаря за преминаването.
Прегръдка! Павел.
Поздравления за статията.
Много практично и научих няколко команди.
Въпреки че вече съм малко "опитен" в тези въпроси, тези трикове винаги се оценяват, така че ... за багажника на трикове !!!
страхотно, благодаря за триковете, те са наистина полезни 😀
Пътищата на конзолата са непостижими 😉
Трикът с натискане на control + u и control + y не зависи от черупката, а от конфигурацията, която tty имат. Към днешна дата под Linux tty са много сложни обекти, всъщност разследвах тяхната работа и мога да уверя, че те имат много повече входове и изходи, отколкото изглежда. В tty има някои контролни знаци, които променят състоянието си, например понякога ми се е случвало да поставя двоичен файл и след като на екрана се появи цялото "боклук", подкана е странен или с друг кодиране. Това е така, защото в случаен файл има голяма вероятност да срещнете tty контролни знаци.
Например, изпълнете това в черупка:
печат '33c'
Това ще изчисти екрана (сякаш стартирате ясно).
Други комбинации, като control + L за изчистване на екрана, идват от самата обвивка, която се използва, класическите черупки / bin / sh обикновено не носят тази функция.
Освен това днес има много сложни опции за работа с файлове и сокети под Linux. Например, ако отворите tty устройство с помощта на open (), в режим AIO (асинхронен вход / изход), процесът ще получи SIGIO всеки път, когато има данни на разположение във входния буфер.
Ако например bash работи просто като чете редовете и изпълнява команди (както прави при изпълнение на скрипт), при натискане на control + L, тази последователност от символи просто ще бъде включена като част от командите, но тъй като bash има контрол върху буфера на входът може да го открие.
Например, понякога при програмиране дойдох да използвам fcntl, за да получа неблокиращ входен буфер, който използвах дори с библиотеките ncurses (манипулирам контролния tty преди да стартирам ncurses в програмата).
Saludos!
За тези, които не са работили с интервала в началото и може би за да го добавят към бележката, има променлива, наречена HISTIGNORE, където символът, който е добавен преди команда, е конфигуриран да бъде игнориран в историята.
В някои инсталации тази променлива не идва
Поздрави и добър пост! директно към любими!
Имайте предвид, че в коментарите видях и няколко интересни неща .. !!
Всички наистина много полезни. Благодаря ти.