Gentag kommando-argumenter
Vi bruger ofte de samme argumenter fra en foregående kommando.
Hvis du har et langt argument, vil du sandsynligvis gentage det med den næste kommando. Lad os se på nogle bash bang-kommandoer, der kan gøre dette for os.
Først, Hvis vi skriver !:n
repeater den det nth argument fra sidste kommando med 0
Som er kommandoen selv:
$ ls -a -l total 32 drwxrwxr-x 7 user user 4096 Sep 9 20:30 . drwx------ 16 user user 4096 Sep 9 20:10 .. drwxrwxr-x 2 user user 4096 Sep 9 16:02 dir drwxrwxr-x 2 user user 4096 Sep 9 16:02 dir1 drwxrwxr-x 2 user user 4096 Sep 9 16:02 dir2 drwxrwxr-x 2 user user 4096 Sep 9 20:30 dir3 -rw-rw-r-- 1 user user 0 Sep 9 16:02 file -rw-rw-r-- 1 user user 0 Sep 5 16:07 .file -rw-rw-r-- 1 user user 0 Sep 9 16:01 file1 -rw-rw-r-- 1 user user 0 Sep 9 16:01 file2 -rw-rw-r-- 1 user user 16 Sep 9 16:03 hello.txt drwxrwxr-x 2 user user 4096 Sep 5 16:08 .hidden_dir -rw-rw-r-- 1 user user 0 Sep 5 16:08 .hidden_file ~/project $ ls !:1 ls -a . .. dir dir1 dir2 dir3 file .file file1 file2 hello.txt .hidden_dir .hidden_file
Nr to, !!:$
repeater det sidste argument fra forrige kommando. Du kan forkorte det til !$
og $_
:
$ mkdir dir3 project $ cd !$ cd dir3 project/dir3 $
Du tænker sikkert, “Hvad hvis jeg vil bruge denne teknik med en kommando, jeg har udstedt tidligere, men ikke den seneste?” Du kan gøre det med et par kommandoer:
!<kommando du udførte tidligere >:$
$ mkdir -p hello/test1/test2
$ ls !mkdir:$
ls hello/test1/test2
Eller:
!<Sidste kommando >:n
$ ls !mk:2
ls hello/test1/test2
Vis kommando.
Nogle gange vil du bare vise den kommando og ikke udføre den. Det kan lade sig gøre med !:p:
$ cat hello.txt Hello world ..! $ !:p cat hello.txt $
Faktisk kan du vise enhver kommando på din historie liste uden at udføre den. Udfør bare et af følgende:
$ !<command>:p
$ !mkdir:p
mkdir -p hello/test1/test2
$ !<string>:p
$ !su:p
sudo yum check-update
$ !mk:p
mkdir -p hello/test1/test2
Husk kommandoer med reverse orden
Som sysadmin udføre du sandsynligvis hundredvis af kommandoer hver dag. Du har måske svært ved at huske nogle kommandoer eller huske en del af dem. Her er en anden mulighed for at finde den, du har brug for.
(reverse-i-search)`cd': cd /etc
CTRL+R aktivere reverse-i-search
, hvor du kan søge i din history.