[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:07.26,0:00:07.68,Default,,0000,0000,0000,,Sound test?\N[Translated by Tom Süßenbach (KYBS2001 course assignment at JYU.FI)] Dialogue: 0,0:00:07.86,0:00:08.96,Default,,0000,0000,0000,,Yeah, that sounds better. Dialogue: 0,0:00:09.88,0:00:11.12,Default,,0000,0000,0000,,That sounds better, good. Dialogue: 0,0:00:13.61,0:00:16.91,Default,,0000,0000,0000,,Who of you already uses a customized shell environment? Dialogue: 0,0:00:16.91,0:00:20.93,Default,,0000,0000,0000,,Maybe made a few adjustments to the prompt, maybe using ZSH, Dialogue: 0,0:00:20.93,0:00:26.07,Default,,0000,0000,0000,,Plug-in managers—those are the things I'd like to show you today. Dialogue: 0,0:00:26.69,0:00:31.53,Default,,0000,0000,0000,,Before I do that, a little\Nmore about my Dialogue: 0,0:00:31.53,0:00:33.03,Default,,0000,0000,0000,,employer, B1 Systems. Dialogue: 0,0:00:33.03,0:00:38.25,Default,,0000,0000,0000,,I've been working for B1 for eleven years. Dialogue: 0,0:00:38.25,0:00:39.79,Default,,0000,0000,0000,,have also had contact with us. Dialogue: 0,0:00:42.93,0:00:47.81,Default,,0000,0000,0000,,B1 has been around for over 20 years now,\Nspecializing in Linux and open source from the very beginning. Dialogue: 0,0:00:47.81,0:00:54.75,Default,,0000,0000,0000,,We have about 150 people now.\NWhen I started 11 years ago, Dialogue: 0,0:00:54.75,0:00:56.53,Default,,0000,0000,0000,,we were still around 60. Dialogue: 0,0:00:56.63,0:01:00.37,Default,,0000,0000,0000,,So it's going pretty well, and we're\Ndoing things like this, I always like to call, Dialogue: 0,0:01:00.37,0:01:03.49,Default,,0000,0000,0000,,the all-round happy package\Neverything around Linux in the data center. Dialogue: 0,0:01:03.51,0:01:08.31,Default,,0000,0000,0000,,From consulting to training to managed service operations. Dialogue: 0,0:01:08.94,0:01:13.08,Default,,0000,0000,0000,,As I said, I've been with B1 for, well, 10 years, now 11 Dialogue: 0,0:01:13.08,0:01:16.85,Default,,0000,0000,0000,,years, working as a senior trainer and consultant. Dialogue: 0,0:01:16.85,0:01:19.70,Default,,0000,0000,0000,,The last few years, mainly\Ntraining, but recently Dialogue: 0,0:01:19.70,0:01:24.82,Default,,0000,0000,0000,,significantly more consulting, especially in the area of ​​security, Dialogue: 0,0:01:24.82,0:01:28.04,Default,,0000,0000,0000,,Automation and Kubernetes, a lot. Dialogue: 0,0:01:29.41,0:01:35.44,Default,,0000,0000,0000,,But that's not what we're talking about today, but rather\Na bit of shell operation. Here again Dialogue: 0,0:01:35.44,0:01:39.08,Default,,0000,0000,0000,,a few key points. If you take a look around, we really have everything there. Dialogue: 0,0:01:39.08,0:01:45.26,Default,,0000,0000,0000,,from storage to virtualization,\Nconfig management. I'm also supposed to Dialogue: 0,0:01:45.26,0:01:50.00,Default,,0000,0000,0000,,do a bit of advertising\Nfor our Linux Client Management, which Dialogue: 0,0:01:50.00,0:01:55.02,Default,,0000,0000,0000,,is the first product we've\Nreleased. a centralized Dialogue: 0,0:01:55.02,0:01:57.38,Default,,0000,0000,0000,,Management solution for Linux clients. Dialogue: 0,0:01:57.86,0:02:00.70,Default,,0000,0000,0000,,There's also a webinar, I think on April 8th. Dialogue: 0,0:02:00.70,0:02:01.72,Default,,0000,0000,0000,,That's April. Dialogue: 0,0:02:01.82,0:02:04.70,Default,,0000,0000,0000,,You can get more information about this\Nat our booth. Dialogue: 0,0:02:05.08,0:02:09.72,Default,,0000,0000,0000,,We'll also have a small raffle at our booth in 45 minutes. Dialogue: 0,0:02:09.72,0:02:12.10,Default,,0000,0000,0000,,Or not quite, in 40 minutes. Dialogue: 0,0:02:12.10,0:02:15.50,Default,,0000,0000,0000,,So if you're interested in\Na plush Tux or an Dialogue: 0,0:02:15.50,0:02:19.22,Default,,0000,0000,0000,,Emser coffee mug or a Make subscription, feel free to stop by. Dialogue: 0,0:02:19.24,0:02:21.20,Default,,0000,0000,0000,,I'll make sure I finish on time so that Dialogue: 0,0:02:21.20,0:02:24.30,Default,,0000,0000,0000,,everyone can still come to our booth for the raffle. Dialogue: 0,0:02:26.79,0:02:28.01,Default,,0000,0000,0000,,Pimp Your Shell. Dialogue: 0,0:02:28.37,0:02:32.05,Default,,0000,0000,0000,,I've already seen that some people already have customized shell environments. Dialogue: 0,0:02:32.05,0:02:35.67,Default,,0000,0000,0000,,But let's start at the beginning. Dialogue: 0,0:02:36.39,0:02:40.31,Default,,0000,0000,0000,,Because such a nice terminal emulator as we use today Dialogue: 0,0:02:40.31,0:02:41.79,Default,,0000,0000,0000,,didn't always exist. Dialogue: 0,0:02:41.79,0:02:45.99,Default,,0000,0000,0000,,In the past, computers often didn't have their own displays or Dialogue: 0,0:02:45.99,0:02:51.99,Default,,0000,0000,0000,,keyboards, but rather had truly classic hardware terminals. Dialogue: 0,0:02:52.45,0:02:54.85,Default,,0000,0000,0000,,We see an example here, a VT100. Dialogue: 0,0:02:55.90,0:03:00.38,Default,,0000,0000,0000,,It was connected to the main computer\Nso that I could Dialogue: 0,0:03:00.38,0:03:04.20,Default,,0000,0000,0000,,operate it somehow and not just feed it with punch cards. Dialogue: 0,0:03:04.92,0:03:09.64,Default,,0000,0000,0000,,So it was a bit more convenient to\Nhave a keyboard as an input option Dialogue: 0,0:03:09.64,0:03:11.22,Default,,0000,0000,0000,,and so that I could actually see something a screen. Dialogue: 0,0:03:11.68,0:03:15.62,Default,,0000,0000,0000,,These devices were\Nsimply connected Dialogue: 0,0:03:16.02,0:03:19.58,Default,,0000,0000,0000,,So that I could even operate the computers\Nvia a shell. Dialogue: 0,0:03:19.90,0:03:27.00,Default,,0000,0000,0000,,But then it was more or less\Nreplaced by PCs, where I then Dialogue: 0,0:03:27.00,0:03:29.98,Default,,0000,0000,0000,,built the actual computer into boxes. Dialogue: 0,0:03:33.06,0:03:36.46,Default,,0000,0000,0000,,So now you work\Nwith terminal emulators. Dialogue: 0,0:03:36.46,0:03:39.74,Default,,0000,0000,0000,,These are virtual devices that are\Nmapped in software. Dialogue: 0,0:03:39.74,0:03:43.24,Default,,0000,0000,0000,,You may be familiar with this if you\Ntake a look around in the DevTree. Dialogue: 0,0:03:43.24,0:03:46.64,Default,,0000,0000,0000,,There I see DevTTY 0 to something. Dialogue: 0,0:03:47.12,0:03:52.80,Default,,0000,0000,0000,,I see my PTYs, i.e. my\Nvirtual ones from the graphical interface. Dialogue: 0,0:03:52.80,0:03:56.10,Default,,0000,0000,0000,,If I start the GNOME Terminal, for example, I get Dialogue: 0,0:03:56.10,0:04:01.70,Default,,0000,0000,0000,,a corresponding virtual terminal,\Nwhich isn't a direct terminal. Dialogue: 0,0:04:02.66,0:04:07.48,Default,,0000,0000,0000,,So, the first graphical emulator\Nthat existed was X-Term. Dialogue: 0,0:04:07.78,0:04:11.54,Default,,0000,0000,0000,,I could start it in my X server and then also had a corresponding option for issuing shell commands in my Dialogue: 0,0:04:11.54,0:04:16.21,Default,,0000,0000,0000,,graphical interface. Dialogue: 0,0:04:16.21,0:04:19.20,Default,,0000,0000,0000,,A few more examples are\Nlisted here: the console, one could Dialogue: 0,0:04:19.20,0:04:21.86,Default,,0000,0000,0000,,also mention the GNOME Terminal,\Nand a few others that Dialogue: 0,0:04:21.86,0:04:23.12,Default,,0000,0000,0000,,I will also introduce again. Dialogue: 0,0:04:23.12,0:04:25.96,Default,,0000,0000,0000,,The Windows Terminal is, of course, also a terminal emulator. Dialogue: 0,0:04:25.96,0:04:29.03,Default,,0000,0000,0000,,or even iTerm from macOS. Dialogue: 0,0:04:30.84,0:04:34.38,Default,,0000,0000,0000,,So that's about terminals, now we're talking about shells. Dialogue: 0,0:04:34.38,0:04:39.86,Default,,0000,0000,0000,,This is the user interface of Unix-like operating systems. Dialogue: 0,0:04:39.86,0:04:45.18,Default,,0000,0000,0000,,Linux, BSD, and the like. It's used to execute commands. Dialogue: 0,0:04:45.18,0:04:48.90,Default,,0000,0000,0000,,On the one hand, there are built-in commands, shell build-ins, such as the Dialogue: 0,0:04:48.90,0:04:51.88,Default,,0000,0000,0000,,echo command to display something. Dialogue: 0,0:04:51.88,0:04:55.64,Default,,0000,0000,0000,,Or simply, I call\Nthird-party programs, such as Dialogue: 0,0:04:55.64,0:04:58.84,Default,,0000,0000,0000,,for example, an editor, VI. Dialogue: 0,0:04:58.94,0:05:07.08,Default,,0000,0000,0000,,or I execute an IP command, Dialogue: 0,0:05:07.08,0:05:08.94,Default,,0000,0000,0000,,a Git clone, or whatever. Dialogue: 0,0:05:10.08,0:05:13.09,Default,,0000,0000,0000,,But shells can do a little more than just run programs. Dialogue: 0,0:05:13.72,0:05:16.42,Default,,0000,0000,0000,,Shells can also work with variables. Dialogue: 0,0:05:16.42,0:05:20.58,Default,,0000,0000,0000,,I can define variables in the shell and then reuse them later. Dialogue: 0,0:05:20.66,0:05:24.03,Default,,0000,0000,0000,,You might also be familiar with it from the\Nenvironment variables I have, Dialogue: 0,0:05:24.50,0:05:27.42,Default,,0000,0000,0000,,accessible via the ENDS command. Dialogue: 0,0:05:27.42,0:05:32.87,Default,,0000,0000,0000,,We can also take a quick look at what kind of\Nenvironment variables there are, but I can Dialogue: 0,0:05:32.87,0:05:34.23,Default,,0000,0000,0000,,of course, also define my own. Dialogue: 0,0:05:34.23,0:05:36.89,Default,,0000,0000,0000,,I can export them so that\Nthey are then also available for other started Dialogue: 0,0:05:36.89,0:05:39.11,Default,,0000,0000,0000,,shells. Dialogue: 0,0:05:39.71,0:05:44.75,Default,,0000,0000,0000,,I can create linked conditions,\NI can create simple if-then statements, Dialogue: 0,0:05:44.75,0:05:48.75,Default,,0000,0000,0000,,but I can also create loops,\Nso that things are simply executed Dialogue: 0,0:05:48.75,0:05:50.35,Default,,0000,0000,0000,,100 times. Dialogue: 0,0:05:50.91,0:05:56.51,Default,,0000,0000,0000,,A shell offers me such things\Nand I can, and this is important when Dialogue: 0,0:05:56.51,0:06:01.85,Default,,0000,0000,0000,,combining commands, use the output\Nof one command as input Dialogue: 0,0:06:01.85,0:06:03.45,Default,,0000,0000,0000,,for the next command. Dialogue: 0,0:06:03.45,0:06:08.27,Default,,0000,0000,0000,,This is done via the so-called pipe\Nor I redirect the output to a Dialogue: 0,0:06:08.27,0:06:10.99,Default,,0000,0000,0000,,file using output redirection. Dialogue: 0,0:06:12.25,0:06:17.33,Default,,0000,0000,0000,,The Born shell was used for a long time,\Nstill found today Dialogue: 0,0:06:17.33,0:06:23.12,Default,,0000,0000,0000,,as BIN-SH on most systems\NSo the classic was eventually Dialogue: 0,0:06:23.12,0:06:27.16,Default,,0000,0000,0000,,replaced by Bash, and I've listed a few more here. Dialogue: 0,0:06:27.16,0:06:31.58,Default,,0000,0000,0000,,The Cornshell, Dash, which was standard in\NUbuntu for a while. Dialogue: 0,0:06:31.58,0:06:33.20,Default,,0000,0000,0000,,I don't even know if that's still the case. Dialogue: 0,0:06:33.20,0:06:36.03,Default,,0000,0000,0000,,I haven't had Ubuntu in my hands for a while. Dialogue: 0,0:06:36.09,0:06:38.46,Default,,0000,0000,0000,,ZSH or Phish as further examples. Dialogue: 0,0:06:38.46,0:06:41.12,Default,,0000,0000,0000,,I'll show one or two more again later. Dialogue: 0,0:06:41.72,0:06:46.08,Default,,0000,0000,0000,,Then we have the CLI, the command line interface, where I have Dialogue: 0,0:06:46.08,0:06:47.94,Default,,0000,0000,0000,,a line of text as input. Dialogue: 0,0:06:48.93,0:06:52.21,Default,,0000,0000,0000,,Which then executes the commands for me, interpreting them accordingly. Dialogue: 0,0:06:54.23,0:06:57.81,Default,,0000,0000,0000,,It's not just available as a shell,\Nbut also in interpreted languages, for example. Dialogue: 0,0:06:57.81,0:06:59.77,Default,,0000,0000,0000,, Dialogue: 0,0:06:59.77,0:07:02.67,Default,,0000,0000,0000,,For example, if I now call Python, I also have Python Dialogue: 0,0:07:02.67,0:07:06.87,Default,,0000,0000,0000,,An interactive way to enter it\Nvia the command line. Dialogue: 0,0:07:06.87,0:07:11.65,Default,,0000,0000,0000,,In contrast, the graphical user interface, which then Dialogue: 0,0:07:11.65,0:07:15.97,Default,,0000,0000,0000,,I think Firefox or other graphical tools, my presentation tool here, which Dialogue: 0,0:07:15.97,0:07:23.27,Default,,0000,0000,0000,,is used, and of course\Nalso graphical terminal emulators, Dialogue: 0,0:07:24.31,0:07:26.51,Default,,0000,0000,0000,,so I don't have to switch. Dialogue: 0,0:07:26.51,0:07:28.89,Default,,0000,0000,0000,,A quick recap of Shell history. Dialogue: 0,0:07:28.97,0:07:35.07,Default,,0000,0000,0000,,1941 was the first time, with the\NZuse Z3, that it was possible Dialogue: 0,0:07:35.07,0:07:41.24,Default,,0000,0000,0000,,to program computers using a keypad. Before that, it was really only possible Dialogue: 0,0:07:41.24,0:07:43.18,Default,,0000,0000,0000,,using appropriate circuitry. Dialogue: 0,0:07:44.90,0:07:54.06,Default,,0000,0000,0000,,The first real terminal that was\Navailable was the Datapoint 3300, also known as Dialogue: 0,0:07:54.06,0:07:59.38,Default,,0000,0000,0000,,glass teleprinter. I could then\Nconnect it and then control the connected Dialogue: 0,0:07:59.38,0:08:01.22,Default,,0000,0000,0000,,mainframe computers accordingly. Dialogue: 0,0:08:01.56,0:08:04.78,Default,,0000,0000,0000,,The first original Unix shell\Nwas the Thomson shell. Dialogue: 0,0:08:05.32,0:08:10.29,Default,,0000,0000,0000,,And then a few years later, the Born shell came along. Dialogue: 0,0:08:10.29,0:08:15.53,Default,,0000,0000,0000,,was replaced primarily by Bash from 1987 onwards. Dialogue: 0,0:08:15.63,0:08:19.31,Default,,0000,0000,0000,,For a long time, it had simply been the default shell in many distributions. Dialogue: 0,0:08:19.31,0:08:21.49,Default,,0000,0000,0000,,Things are a little different these days. Dialogue: 0,0:08:22.09,0:08:26.81,Default,,0000,0000,0000,,Different distributions use\Ndifferent default shells. Dialogue: 0,0:08:30.00,0:08:33.44,Default,,0000,0000,0000,,Then, yes, more history about the shell. Dialogue: 0,0:08:33.44,0:08:37.86,Default,,0000,0000,0000,,Shell History is a built-in function within the shell and Dialogue: 0,0:08:37.86,0:08:41.76,Default,,0000,0000,0000,,helps me to revisit commands that have already been executed. Dialogue: 0,0:08:42.88,0:08:47.36,Default,,0000,0000,0000,,How many commands are saved\Nis configurable via an Dialogue: 0,0:08:47.36,0:08:53.42,Default,,0000,0000,0000,,environment variable called HisSize. This\Nis usually set to 500 or 1000. Dialogue: 0,0:08:53.42,0:08:58.14,Default,,0000,0000,0000,,lines that are saved, which\NI can then easily call up again. Dialogue: 0,0:08:58.48,0:09:02.10,Default,,0000,0000,0000,,I can also display the history\Nwith the command History. Dialogue: 0,0:09:04.06,0:09:07.10,Default,,0000,0000,0000,,It then shows me all the commands\Nwith a corresponding number. Dialogue: 0,0:09:07.10,0:09:09.64,Default,,0000,0000,0000,,When it was executed, it simply counts up. Dialogue: 0,0:09:09.64,0:09:13.76,Default,,0000,0000,0000,,And then I can directly execute the command again by entering\Nan exclamation mark followed by the Dialogue: 0,0:09:13.76,0:09:17.70,Default,,0000,0000,0000,,corresponding number. Dialogue: 0,0:09:17.70,0:09:22.60,Default,,0000,0000,0000,,Or even the last command entered\Nsimply via the double exclamation mark Dialogue: 0,0:09:22.60,0:09:26.32,Default,,0000,0000,0000,,For example, if I forgot to\Nenter sudo before installing a package, Dialogue: 0,0:09:26.32,0:09:30.46,Default,,0000,0000,0000,,and then I'm not asked for the password somehow\Nvia Polkit or something, Dialogue: 0,0:09:30.46,0:09:35.12,Default,,0000,0000,0000,,then I can simply\Ndo, exclamation mark, exclamation mark Dialogue: 0,0:09:35.12,0:09:39.00,Default,,0000,0000,0000,,and then it will execute the last command. Run the command\Nagain with sudo in front of it, ask me Dialogue: 0,0:09:39.00,0:09:43.30,Default,,0000,0000,0000,,for my sudo password, and\Ngreat, I can install the package. Dialogue: 0,0:09:45.28,0:09:48.66,Default,,0000,0000,0000,,And then we're talking about shell aliases. That's\Nthe first thing I'd like to show you Dialogue: 0,0:09:48.66,0:09:49.90,Default,,0000,0000,0000,,again. Dialogue: 0,0:09:49.96,0:09:54.88,Default,,0000,0000,0000,,You may be familiar with this: the LL is often preconfigured in the Dialogue: 0,0:09:54.88,0:09:58.90,Default,,0000,0000,0000,,distribution, which then gives me a long listing, which allows me to Dialogue: 0,0:09:58.90,0:10:02.28,Default,,0000,0000,0000,,not only see the file names, but also the permissions, Dialogue: 0,0:10:02.28,0:10:07.70,Default,,0000,0000,0000,,the corresponding timestamps, the\Nnumber of hard links, and so on. Dialogue: 0,0:10:07.92,0:10:12.34,Default,,0000,0000,0000,,And I can configure these aliases very easily on the fly. I Dialogue: 0,0:10:12.34,0:10:16.44,Default,,0000,0000,0000,,simply enter "Alias," then I enter\Nthe name for my alias and then Dialogue: 0,0:10:16.44,0:10:19.90,Default,,0000,0000,0000,,following the equal sign\Nthe command I want to alias. Dialogue: 0,0:10:19.90,0:10:24.34,Default,,0000,0000,0000,,It's a very, very practical thing,\Nbecause especially complex, relatively long commands Dialogue: 0,0:10:24.34,0:10:28.84,Default,,0000,0000,0000,,like a Git checkout from\Na specific branch or something like that. Dialogue: 0,0:10:28.84,0:10:32.12,Default,,0000,0000,0000,,tend to be a bit longer, and\Nof course, it's nicer if I can simply make it a bit shorter, and\NI do that using an alias that I carry Dialogue: 0,0:10:37.88,0:10:40.00,Default,,0000,0000,0000,,5.000 / 5.000\N920\NI then create one—of course, I don't do this ad hoc, but I enter it Dialogue: 0,0:10:40.92,0:10:46.98,Default,,0000,0000,0000,,in my shell configuration file\Nin the etc-profile in the etc-bashrc in Dialogue: 0,0:10:46.98,0:10:51.42,Default,,0000,0000,0000,,the .bashrc in my home directory\Nor .zshrc, depending on Dialogue: 0,0:10:51.42,0:10:53.20,Default,,0000,0000,0000,,which shell I'm using Dialogue: 0,0:10:55.56,0:10:59.82,Default,,0000,0000,0000,,And these shell aliases are\Na very, very nice thing. Dialogue: 0,0:10:59.82,0:11:01.86,Default,,0000,0000,0000,,This will allow me to make things shorter. Dialogue: 0,0:11:02.10,0:11:06.04,Default,,0000,0000,0000,,I'll show you soon, when I've updated my ZSH configuration with a few plugins, that there are often quite a few aliases involved. Dialogue: 0,0:11:11.92,0:11:16.48,Default,,0000,0000,0000,,Then there are shell functions.\NSo I can define things that I have Dialogue: 0,0:11:16.48,0:11:19.44,Default,,0000,0000,0000,,programmed in the shell as functions. Dialogue: 0,0:11:20.04,0:11:24.40,Default,,0000,0000,0000,,So that I can then call them like a normal external command. Dialogue: 0,0:11:24.95,0:11:28.100,Default,,0000,0000,0000,,Then I simply specify the name\Nof the function I have defined. Dialogue: 0,0:11:29.14,0:11:33.02,Default,,0000,0000,0000,,And then I can simply use it. Dialogue: 0,0:11:33.02,0:11:37.06,Default,,0000,0000,0000,,This function, which I listed here as an example, the prefix, Dialogue: 0,0:11:37.06,0:11:40.02,Default,,0000,0000,0000,,You'd better not run it. Dialogue: 0,0:11:40.02,0:11:42.16,Default,,0000,0000,0000,,What does the whole thing do at this point? Dialogue: 0,0:11:42.16,0:11:45.59,Default,,0000,0000,0000,,This defines a function,\Nthose are the first three characters Dialogue: 0,0:11:45.59,0:11:47.14,Default,,0000,0000,0000,,called a colon. Dialogue: 0,0:11:48.69,0:11:51.61,Default,,0000,0000,0000,,So I define a function, and it's simply called colon. Dialogue: 0,0:11:51.61,0:11:55.09,Default,,0000,0000,0000,,Then the contents of the function appear in the curly braces. Dialogue: 0,0:11:55.09,0:11:56.99,Default,,0000,0000,0000,,And what does this function do? Dialogue: 0,0:11:56.99,0:12:02.21,Default,,0000,0000,0000,,It calls the command or function\Ncolon and then pipes the Dialogue: 0,0:12:02.21,0:12:04.03,Default,,0000,0000,0000,,output to colon again. Dialogue: 0,0:12:04.03,0:12:07.43,Default,,0000,0000,0000,,That means I have an endless chain of ever-increasing Dialogue: 0,0:12:07.43,0:12:11.33,Default,,0000,0000,0000,,colon functions that are called\Nand at some point my Dialogue: 0,0:12:11.33,0:12:13.65,Default,,0000,0000,0000,,system simply crashes because the resources are exhausted. Dialogue: 0,0:12:14.71,0:12:18.53,Default,,0000,0000,0000,,I close the whole thing with\Nthe semicolon, which is the end Dialogue: 0,0:12:18.53,0:12:21.31,Default,,0000,0000,0000,,of the function definition, and\Nthen I call it at the end. Dialogue: 0,0:12:21.31,0:12:24.05,Default,,0000,0000,0000,,So if you enter that, it will only take a few seconds. Dialogue: 0,0:12:24.05,0:12:26.19,Default,,0000,0000,0000,,and your computer will be unusable. Dialogue: 0,0:12:27.35,0:12:30.11,Default,,0000,0000,0000,,Of course, that's not a great practical use case, Dialogue: 0,0:12:30.11,0:12:31.19,Default,,0000,0000,0000,,but that's how you saw it. Dialogue: 0,0:12:31.19,0:12:33.63,Default,,0000,0000,0000,,I don't have it here as a sticker for nothing, I think. Dialogue: 0,0:12:36.64,0:12:43.84,Default,,0000,0000,0000,,Okay, then shell plugins so that I don't have to do everything myself by hand. Dialogue: 0,0:12:43.84,0:12:48.54,Default,,0000,0000,0000,,Of course, I can also rely on functions and aliases Dialogue: 0,0:12:48.54,0:12:52.46,Default,,0000,0000,0000,,that people have already done and published. Dialogue: 0,0:12:52.46,0:12:54.26,Default,,0000,0000,0000,,For example, on GitHub. Dialogue: 0,0:12:54.32,0:12:58.80,Default,,0000,0000,0000,,And so that I can easily\Nreuse it, there are so-called Dialogue: 0,0:12:58.80,0:13:00.62,Default,,0000,0000,0000,,plug-in managers for the shell as well. Dialogue: 0,0:13:01.30,0:13:06.18,Default,,0000,0000,0000,,The most well-known, oh, my ZSH, that was\Nthe first major plug-in manager. Dialogue: 0,0:13:07.03,0:13:12.39,Default,,0000,0000,0000,,And I still use it today. It has\Nsome nice features, gives Dialogue: 0,0:13:12.39,0:13:16.67,Default,,0000,0000,0000,,me the ability to very, very easily\Ndefine a theme for my shell prompts. Dialogue: 0,0:13:16.67,0:13:21.81,Default,,0000,0000,0000,,and also gives me information about other plugins that I Dialogue: 0,0:13:21.81,0:13:25.73,Default,,0000,0000,0000,,can be easily activated, then nice\Nthings come with it, like auto-completion Dialogue: 0,0:13:25.73,0:13:29.81,Default,,0000,0000,0000,,where you provide your own functions\Nor even a whole bunch of aliases Dialogue: 0,0:13:29.81,0:13:31.01,Default,,0000,0000,0000,,I work a lot with Kubernetes. Dialogue: 0,0:13:31.47,0:13:35.01,Default,,0000,0000,0000,,And all the kubectl commands, I might not want to Dialogue: 0,0:13:35.01,0:13:41.45,Default,,0000,0000,0000,,execute them forever, but I just do\Nsomething like that, then use my shortcut. Dialogue: 0,0:13:42.45,0:13:46.67,Default,,0000,0000,0000,,There are now also similar plugin managers for the\Nalso widely used Bash and Dialogue: 0,0:13:46.67,0:13:51.05,Default,,0000,0000,0000,,Fish shells, and there are also similar plugin managers for a few\Nother shells. Dialogue: 0,0:13:53.72,0:13:57.16,Default,,0000,0000,0000,,And that brings us\Na bit to the Beautiful Prompts. Dialogue: 0,0:13:57.16,0:13:59.16,Default,,0000,0000,0000,,I'll show you that in a moment. Dialogue: 0,0:13:59.62,0:14:02.26,Default,,0000,0000,0000,,So ein Share Prompt ist natürlich\Nkonfigurierbar Häufig ist das Dialogue: 0,0:14:02.26,0:14:06.06,Default,,0000,0000,0000,,einfach User at Host und dann habe\Nich da noch so ein Zeichen und dann Dialogue: 0,0:14:06.06,0:14:07.34,Default,,0000,0000,0000,,geht mein eigentlicher Prompt los.\N5.000 / 5.000\N13:59,625 --> 00:14:02,265\NA share prompt like this is, of course, configurable. Often, it's Dialogue: 0,0:14:02.26,0:14:06.06,Default,,0000,0000,0000,,simply User at Host and then\NI have another character there and then Dialogue: 0,0:14:06.06,0:14:07.34,Default,,0000,0000,0000,,my actual prompt starts. Dialogue: 0,0:14:07.34,0:14:09.00,Default,,0000,0000,0000,,So then I can type. Dialogue: 0,0:14:09.00,0:14:12.00,Default,,0000,0000,0000,,But I can also record further information with it. Dialogue: 0,0:14:12.29,0:14:15.95,Default,,0000,0000,0000,,For example, I can configure it so that the hostname is now Dialogue: 0,0:14:15.95,0:14:19.41,Default,,0000,0000,0000,,only displayed when I'm on a host via an SSH connection and Dialogue: 0,0:14:19.41,0:14:23.41,Default,,0000,0000,0000,,not displayed on my localhost, or when I'm somewhere via SSH, I can then color the whole thing red so that I know Dialogue: 0,0:14:23.41,0:14:27.19,Default,,0000,0000,0000,,I'm not on the current system. Dialogue: 0,0:14:27.31,0:14:30.35,Default,,0000,0000,0000,,I have to be a little careful when\NI do a reboot, not to Dialogue: 0,0:14:30.35,0:14:32.63,Default,,0000,0000,0000,,restart any productive server all at once. Dialogue: 0,0:14:32.82,0:14:36.46,Default,,0000,0000,0000,,It actually happened to me once at a customer's, and it wasn't great. Dialogue: 0,0:14:39.05,0:14:43.19,Default,,0000,0000,0000,,I can also see additional information,\Nfor example, the time or Dialogue: 0,0:14:43.19,0:14:49.17,Default,,0000,0000,0000,,even dynamic information,\Nfor example, if I'm in a Git tree. Dialogue: 0,0:14:49.91,0:14:53.71,Default,,0000,0000,0000,,Then I can see which branch I'm on, where I stand with the upstream, Dialogue: 0,0:14:53.71,0:15:00.19,Default,,0000,0000,0000,,because I have any uncommitted stuff in there, am I ahead of Dialogue: 0,0:15:00.19,0:15:03.53,Default,,0000,0000,0000,,or behind the upstream, I can display all that stuff beautifully Dialogue: 0,0:15:03.53,0:15:09.25,Default,,0000,0000,0000,,and that via... Even with\Ngraphical symbols so that I can have Dialogue: 0,0:15:09.25,0:15:14.95,Default,,0000,0000,0000,,a Git logo in there or I've also configured it in ZSH like this Dialogue: 0,0:15:14.95,0:15:19.25,Default,,0000,0000,0000,,so that I have the distribution logo at the beginning of the line, like a Fedora logo. Dialogue: 0,0:15:19.25,0:15:22.71,Default,,0000,0000,0000,,Or on the Mac, I have\Na little apple next to it. Dialogue: 0,0:15:23.07,0:15:25.27,Default,,0000,0000,0000,,For Kubernetes, I can\Ncreate the Kubernetes logo Dialogue: 0,0:15:25.27,0:15:26.49,Default,,0000,0000,0000,,or, of course. Dialogue: 0,0:15:27.24,0:15:29.60,Default,,0000,0000,0000,,Put in a beautiful penguin. Dialogue: 0,0:15:29.60,0:15:34.98,Default,,0000,0000,0000,,In order for the shell to display such characters, I also need a Dialogue: 0,0:15:34.98,0:15:39.16,Default,,0000,0000,0000,,font that supports the whole thing.\NThese are the so-called nerd fonts. Dialogue: 0,0:15:39.40,0:15:44.10,Default,,0000,0000,0000,,There are a whole host of fonts,\Nwhich often also have all these Dialogue: 0,0:15:44.10,0:15:48.22,Default,,0000,0000,0000,,symbols in them, so that I can make my\NShare prompt really colorful and Dialogue: 0,0:15:48.22,0:15:51.76,Default,,0000,0000,0000,,nicely decorated with symbols. Dialogue: 0,0:15:52.74,0:15:55.24,Default,,0000,0000,0000,,Are there a few themes for that too? Dialogue: 0,0:15:55.54,0:15:58.50,Default,,0000,0000,0000,,They preconfigure it for me\Nand customize it for me. Dialogue: 0,0:15:59.20,0:16:05.10,Default,,0000,0000,0000,,These are simply themes\Nfrom OhMyZSH, where I simply Dialogue: 0,0:16:05.10,0:16:09.36,Default,,0000,0000,0000,,found the names cool and the power level\N10K, which I'm still using. Dialogue: 0,0:16:10.46,0:16:12.32,Default,,0000,0000,0000,,At least for me in the Z-Shell. Dialogue: 0,0:16:13.32,0:16:17.18,Default,,0000,0000,0000,,I'll also show you the Starship prompt, which I set up in Dialogue: 0,0:16:17.18,0:16:18.64,Default,,0000,0000,0000,,Bash. Dialogue: 0,0:16:19.50,0:16:22.46,Default,,0000,0000,0000,,It's very easy to install,\Nvery easy to configure. Dialogue: 0,0:16:25.26,0:16:29.76,Default,,0000,0000,0000,,Then there are also a few newer shells that simply offer even more features Dialogue: 0,0:16:29.76,0:16:34.86,Default,,0000,0000,0000,,than classic Bash,\Nfor example, extended file globbing, Dialogue: 0,0:16:34.86,0:16:39.82,Default,,0000,0000,0000,,things like inline tab completion,\Nauto-suggestions, and things like that. Dialogue: 0,0:16:39.100,0:16:43.26,Default,,0000,0000,0000,,As an example, I would like to use ZSH, which was Dialogue: 0,0:16:43.26,0:16:46.86,Default,,0000,0000,0000,,the first shell that was truly modern and offered an expanded range of Dialogue: 0,0:16:46.86,0:16:48.64,Default,,0000,0000,0000,,features. Dialogue: 0,0:16:49.94,0:16:52.95,Default,,0000,0000,0000,,Phish is a bit more suitable for beginners\Nbecause it simply Dialogue: 0,0:16:53.64,0:16:57.94,Default,,0000,0000,0000,,offers similar functionality to\NZ-Shell, but is a bit Dialogue: 0,0:16:57.94,0:17:00.26,Default,,0000,0000,0000,,better preconfigured. Dialogue: 0,0:17:01.56,0:17:06.02,Default,,0000,0000,0000,,Or I've listed Elvish here, but I haven't used it myself yet. Dialogue: 0,0:17:06.02,0:17:10.02,Default,,0000,0000,0000,,It's also a relatively modern variant. There are also Dialogue: 0,0:17:10.02,0:17:16.76,Default,,0000,0000,0000,,a few specialized shells, for example, the Xon Shell as Python. Dialogue: 0,0:17:16.76,0:17:20.78,Default,,0000,0000,0000,,Shell, which is based on Python and is\Nultimately a superset of Python. Dialogue: 0,0:17:20.78,0:17:24.16,Default,,0000,0000,0000,,So for those who program very, very extensively or almost Dialogue: 0,0:17:24.16,0:17:27.90,Default,,0000,0000,0000,,exclusively with Python, this might be an alternative. I don't work with Python that much myself, Dialogue: 0,0:17:27.90,0:17:32.80,Default,,0000,0000,0000,,so I haven't used it yet. Dialogue: 0,0:17:32.80,0:17:38.86,Default,,0000,0000,0000,,Then there's the NuShell, which also takes a slightly different approach. Dialogue: 0,0:17:40.84,0:17:44.62,Default,,0000,0000,0000,,For example, if I run a LS\Nor any other command Dialogue: 0,0:17:44.62,0:17:48.98,Default,,0000,0000,0000,,that has a relatively long output, Dialogue: 0,0:17:48.98,0:17:52.86,Default,,0000,0000,0000,,If I then only have a specific Dialogue: 0,0:17:48.98,0:17:52.86,Default,,0000,0000,0000,,information, some commands offer\Nappropriate options to filter out exactly Dialogue: 0,0:17:52.86,0:17:57.20,Default,,0000,0000,0000,,the information I want, other commands Dialogue: 0,0:17:57.20,0:18:00.28,Default,,0000,0000,0000,,cannot do that, and if I then only have a\Nspecific information I want or Dialogue: 0,0:18:00.28,0:18:03.42,Default,,0000,0000,0000,,I want to reformat it, then I\Nquickly have to use Dialogue: 0,0:18:03.42,0:18:07.90,Default,,0000,0000,0000,,external tools like Grab or AWK, if Dialogue: 0,0:18:07.90,0:18:12.20,Default,,0000,0000,0000,,want to swap it around, then it quickly becomes complicated,\Nwhile the New Shell is a Dialogue: 0,0:18:12.20,0:18:15.78,Default,,0000,0000,0000,,A bit similar to PowerShell in terms of approach,\Nwhere I can also see the output Dialogue: 0,0:18:15.78,0:18:17.82,Default,,0000,0000,0000,,as objects individually can address. Dialogue: 0,0:18:17.82,0:18:21.60,Default,,0000,0000,0000,,And this is exactly the concept that NuShell follows, where I can then create selectors directly with Wear. Dialogue: 0,0:18:21.60,0:18:23.44,Default,,0000,0000,0000,,It's definitely quite exciting. Dialogue: 0,0:18:26.08,0:18:30.26,Default,,0000,0000,0000,,I've taken a quick look at it. For everyday use, it's probably not Dialogue: 0,0:18:30.26,0:18:33.04,Default,,0000,0000,0000,,yet for me, but it does offer\Na few interesting features. Dialogue: 0,0:18:33.04,0:18:35.52,Default,,0000,0000,0000,,I also installed it and brought it along. Dialogue: 0,0:18:35.52,0:18:42.32,Default,,0000,0000,0000,,Or for SQL fans, Hoth Query, where I use SQL statements to Dialogue: 0,0:18:42.32,0:18:44.22,Default,,0000,0000,0000,,execute commands with my shell. Dialogue: 0,0:18:44.51,0:18:46.53,Default,,0000,0000,0000,,Also really exciting. Dialogue: 0,0:18:48.48,0:18:53.28,Default,,0000,0000,0000,,And then there are terminals. I'll show them now and then. Dialogue: 0,0:18:53.28,0:18:56.10,Default,,0000,0000,0000,,The classic, of course, is X-Term. Dialogue: 0,0:18:56.10,0:18:59.80,Default,,0000,0000,0000,,It's not really pretty, but it's\Nvery, very functional and does what it's supposed to. Dialogue: 0,0:19:00.82,0:19:05.86,Default,,0000,0000,0000,,But there are also other terminals that\Nmay be able to do a bit more, Dialogue: 0,0:19:05.86,0:19:09.88,Default,,0000,0000,0000,,that can also handle tabs,\Nlike the GNOME Terminal Dialogue: 0,0:19:09.88,0:19:14.78,Default,,0000,0000,0000,,or Konsole, iTerm,\Nor even Thermos on Android. Dialogue: 0,0:19:16.41,0:19:20.13,Default,,0000,0000,0000,,If I want to have it as a dropdown,\Nthere are also Dialogue: 0,0:19:20.13,0:19:24.17,Default,,0000,0000,0000,,solutions for Jaguarke, Guarke, or\NTilder, so that the shell then Dialogue: 0,0:19:24.17,0:19:27.71,Default,,0000,0000,0000,,simply opens dynamically via keystroke,\Nfor example, F10 or F12, Dialogue: 0,0:19:27.71,0:19:29.85,Default,,0000,0000,0000,,usually drops down from the top. Dialogue: 0,0:19:30.69,0:19:33.53,Default,,0000,0000,0000,,It's quite practical because I don't have to\Nopen a shell window, Dialogue: 0,0:19:33.53,0:19:36.65,Default,,0000,0000,0000,,but I basically always have it available behind\Nthe keyboard shortcut. Dialogue: 0,0:19:36.100,0:19:42.42,Default,,0000,0000,0000,,Then there's multiplexing, which\NI can then use to display multiple terminal windows Dialogue: 0,0:19:42.42,0:19:47.04,Default,,0000,0000,0000,,without having to\Ndeal with the Sundays of Screen or Dialogue: 0,0:19:47.04,0:19:48.62,Default,,0000,0000,0000,,Temux. Dialogue: 0,0:19:50.12,0:19:51.62,Default,,0000,0000,0000,,But that's also possible, of course. Dialogue: 0,0:19:51.70,0:19:57.78,Default,,0000,0000,0000,,And more modern terminals like Alacrity or\NKitty, which I use myself, also offer such multiplexer functionalities\Nthat I can very, very Dialogue: 0,0:20:00.94,0:20:03.72,Default,,0000,0000,0000,,easily divide my shell window\Nagain. Dialogue: 0,0:20:03.72,0:20:06.98,Default,,0000,0000,0000,,I can arrange the shells in different layouts. Dialogue: 0,0:20:06.98,0:20:11.20,Default,,0000,0000,0000,,arrange them side by side without needing any additional tools. Dialogue: 0,0:20:11.20,0:20:13.34,Default,,0000,0000,0000,,for me, that's what the Kitty program does. Dialogue: 0,0:20:15.94,0:20:21.32,Default,,0000,0000,0000,,There's also the Warp Terminal,\Nwhich offers a bit of Dialogue: 0,0:20:21.32,0:20:26.66,Default,,0000,0000,0000,,built-in AI, with which I can then\Nalso get suggestions. I Dialogue: 0,0:20:26.66,0:20:28.38,Default,,0000,0000,0000,,can actually ask questions. Dialogue: 0,0:20:28.38,0:20:30.56,Default,,0000,0000,0000,,Yes, how do I do that in Bash? Dialogue: 0,0:20:30.96,0:20:36.56,Default,,0000,0000,0000,,Which then talks to ChatGPT, I think, and looks up the answers for me. Dialogue: 0,0:20:36.74,0:20:41.00,Default,,0000,0000,0000,,Or relatively hyped, I am\NI also came across it on\NYouTube Dialogue: 0,0:20:41.00,0:20:46.52,Default,,0000,0000,0000,,GhostDeep. I want to bring the functionality of tools like Kitty Dialogue: 0,0:20:46.52,0:20:52.02,Default,,0000,0000,0000,,and it should be super fast. Dialogue: 0,0:20:52.02,0:20:57.08,Default,,0000,0000,0000,,I think I've installed it myself,\Nbut haven't really tested it yet. Dialogue: 0,0:20:57.48,0:20:58.92,Default,,0000,0000,0000,,I'm very happy with Kitty. Dialogue: 0,0:21:01.54,0:21:06.64,Default,,0000,0000,0000,,And before we say thank you, let's go back Dialogue: 0,0:21:06.64,0:21:10.06,Default,,0000,0000,0000,,and open a bell. Dialogue: 0,0:21:10.92,0:21:13.40,Default,,0000,0000,0000,,I'll do that, slide 4. Dialogue: 0,0:21:14.22,0:21:15.58,Default,,0000,0000,0000,,We have a bell here. Dialogue: 0,0:21:15.58,0:21:18.80,Default,,0000,0000,0000,,Is it legible if I type something here now? Dialogue: 0,0:21:19.32,0:21:20.60,Default,,0000,0000,0000,,That's fine, right? Dialogue: 0,0:21:25.76,0:21:35.22,Default,,0000,0000,0000,,You've already seen when I do something like this here, it's actually Dialogue: 0,0:21:35.22,0:21:41.22,Default,,0000,0000,0000,,via the ZSH Auto Suggestions and the ZSH\NCompletion, which shows me directly here Dialogue: 0,0:21:42.25,0:21:48.07,Default,,0000,0000,0000,,First, the alias I assigned,\Nthe K for kubectl, so that I don't always have to type it out, Dialogue: 0,0:21:48.07,0:21:52.09,Default,,0000,0000,0000,,but simply\NK and then API Resources shows me Dialogue: 0,0:21:52.09,0:21:56.25,Default,,0000,0000,0000,,the API resources from Kubernetes\Nand then I search here Dialogue: 0,0:21:56.25,0:21:58.07,Default,,0000,0000,0000,,for the String Service Account. Dialogue: 0,0:21:59.23,0:22:02.87,Default,,0000,0000,0000,,Works pretty well so far, or something like that. If I now do a K Dialogue: 0,0:22:02.87,0:22:05.59,Default,,0000,0000,0000,,then we can also see here\Nthe last directory I Dialogue: 0,0:22:05.59,0:22:07.83,Default,,0000,0000,0000,,created is called CLT 2025. Dialogue: 0,0:22:09.65,0:22:12.89,Default,,0000,0000,0000,,If I want to see a little more, I can also Dialogue: 0,0:22:12.89,0:22:17.49,Default,,0000,0000,0000,,look here using Control R and then I can see\Nhere too what I have I Dialogue: 0,0:22:17.49,0:22:20.87,Default,,0000,0000,0000,,Because everything is listed here last,\NI can search it wonderfully. Dialogue: 0,0:22:22.46,0:22:24.52,Default,,0000,0000,0000,,I think that's pretty sexy. Dialogue: 0,0:22:24.52,0:22:27.22,Default,,0000,0000,0000,,Then I can, for example,\Nlook here for what Dialogue: 0,0:22:27.22,0:22:28.76,Default,,0000,0000,0000,,Brew has in it somehow. Dialogue: 0,0:22:29.16,0:22:32.84,Default,,0000,0000,0000,,We can see here that I also installed one or two things via Homebrew. Dialogue: 0,0:22:33.42,0:22:37.30,Default,,0000,0000,0000,,It just doesn't come directly from the Fedora package management. Dialogue: 0,0:22:37.30,0:22:41.02,Default,,0000,0000,0000,,We also see Fedora here, I'm\Nin my home directory. Dialogue: 0,0:22:41.22,0:22:43.74,Default,,0000,0000,0000,,I can also see how long the last command took. Dialogue: 0,0:22:43.74,0:22:47.90,Default,,0000,0000,0000,,I can then also do nice things\Nlike... Like showing me whether Dialogue: 0,0:22:47.90,0:22:49.86,Default,,0000,0000,0000,,the last command was successful. Dialogue: 0,0:22:49.86,0:22:53.68,Default,,0000,0000,0000,,If I do something like that now, then we'll see, yes, it didn't find it. Dialogue: 0,0:22:54.92,0:22:57.32,Default,,0000,0000,0000,,That might not have been the best idea. Dialogue: 0,0:22:57.32,0:22:59.60,Default,,0000,0000,0000,,And I see the arrow is no longer green, it's red. Dialogue: 0,0:22:59.60,0:23:03.64,Default,,0000,0000,0000,,That also tells me directly that the last command was unsuccessful. Dialogue: 0,0:23:03.72,0:23:07.52,Default,,0000,0000,0000,,I can also configure it so that I can directly display the return value Dialogue: 0,0:23:07.52,0:23:11.32,Default,,0000,0000,0000,,of the last command. Dialogue: 0,0:23:11.40,0:23:14.25,Default,,0000,0000,0000,,If it's 0, everything's fine; if it's green, it's wonderful. Dialogue: 0,0:23:14.50,0:23:16.62,Default,,0000,0000,0000,,If it's red, then I might also want to know Dialogue: 0,0:23:16.62,0:23:18.10,Default,,0000,0000,0000,,what the return value is. Dialogue: 0,0:23:18.44,0:23:21.90,Default,,0000,0000,0000,,I wonder if that was an error in the shell because I mistyped the command, or if it's an error code from the command itself. Dialogue: 0,0:23:21.90,0:23:25.64,Default,,0000,0000,0000,,I can have things like that displayed. Dialogue: 0,0:23:26.44,0:23:28.24,Default,,0000,0000,0000,,I can have things like that displayed. Dialogue: 0,0:23:28.28,0:23:32.64,Default,,0000,0000,0000,,Here on the right side, I can also see which user I am and which host I'm on. Dialogue: 0,0:23:33.90,0:23:35.46,Default,,0000,0000,0000,,I see the current time. Dialogue: 0,0:23:37.20,0:23:40.86,Default,,0000,0000,0000,,These are all things like that, and\Nfor me, they mostly come Dialogue: 0,0:23:40.86,0:23:43.44,Default,,0000,0000,0000,,from OMAZSH plugins. Dialogue: 0,0:23:46.54,0:23:49.04,Default,,0000,0000,0000,,And where did I configure them? Dialogue: 0,0:23:49.04,0:23:53.56,Default,,0000,0000,0000,,I have them in... Minus again Dialogue: 0,0:23:56.12,0:24:02.44,Default,,0000,0000,0000,,A1 to the point ZS HAC. Dialogue: 0,0:24:02.44,0:24:06.54,Default,,0000,0000,0000,,Maybe I should also tell them again what I Dialogue: 0,0:24:06.54,0:24:08.64,Default,,0000,0000,0000,,want to grepe for here, that's Dialogue: 0,0:24:16.37,0:24:21.29,Default,,0000,0000,0000,,Exactly, here we can see in Plugins\Nwhich plugins I have installed here. Dialogue: 0,0:24:21.29,0:24:23.73,Default,,0000,0000,0000,,I also had to reinstall a few things, for example Dialogue: 0,0:24:23.73,0:24:26.57,Default,,0000,0000,0000,,I think I had to install the autosuggestions later. Dialogue: 0,0:24:26.71,0:24:28.89,Default,,0000,0000,0000,,And we see, I have a few things here, for Dialogue: 0,0:24:28.89,0:24:30.57,Default,,0000,0000,0000,,Example of using Git. Dialogue: 0,0:24:30.57,0:24:34.31,Default,,0000,0000,0000,,I do a lot with Ansible, so I've installed something there too. I've installed Dialogue: 0,0:24:34.31,0:24:38.86,Default,,0000,0000,0000,,something for DNF. Because I'm on Fedora, which makes it a bit easier for me Dialogue: 0,0:24:38.86,0:24:43.56,Default,,0000,0000,0000,,so I don't have to run sudo dnf update or sudo dnf install Dialogue: 0,0:24:43.56,0:24:47.52,Default,,0000,0000,0000,,I don't have to do anything. I just say\Ndnfi and then I specify the package Dialogue: 0,0:24:47.52,0:24:49.00,Default,,0000,0000,0000,,I want to install. Dialogue: 0,0:24:49.00,0:24:51.46,Default,,0000,0000,0000,,So I'm bringing a few aliases with me that will make things a little easier for Dialogue: 0,0:24:51.46,0:24:54.18,Default,,0000,0000,0000,,me. Dialogue: 0,0:24:54.86,0:24:58.04,Default,,0000,0000,0000,,It brings a lot of aliases\Nwith it, so I don't have to Dialogue: 0,0:24:58.04,0:25:01.62,Default,,0000,0000,0000,,complicatedly specify the brand\Nand what I'm doing with Git. Dialogue: 0,0:25:01.62,0:25:04.30,Default,,0000,0000,0000,,Then, of course, I have something for\Nkubectl. Dialogue: 0,0:25:04.30,0:25:08.50,Default,,0000,0000,0000,,OC is for OpenShift, and we'll see\Na few other things Dialogue: 0,0:25:08.50,0:25:09.80,Default,,0000,0000,0000,,that I have in here. Dialogue: 0,0:25:10.84,0:25:13.66,Default,,0000,0000,0000,,FZF is a great tool for this. Dialogue: 0,0:25:13.66,0:25:16.74,Default,,0000,0000,0000,,For this, I need to have FZF installed as a fuzzy finder. Dialogue: 0,0:25:17.64,0:25:24.56,Default,,0000,0000,0000,,And that allows me to do things like this advanced reverse search, Dialogue: 0,0:25:24.56,0:25:30.70,Default,,0000,0000,0000,,that I configured, which I showed with CTRL-R, so that I Dialogue: 0,0:25:30.70,0:25:33.02,Default,,0000,0000,0000,,then get a direct list\Nwith the things that I Dialogue: 0,0:25:33.02,0:25:35.10,Default,,0000,0000,0000,,displayed that were in there. Dialogue: 0,0:25:36.63,0:25:40.45,Default,,0000,0000,0000,,Likewise, the ZSH navigation tools\Nand the auto-suggestions, as well as Dialogue: 0,0:25:40.45,0:25:42.33,Default,,0000,0000,0000,,and the ZSH syntax highlighting. Dialogue: 0,0:25:42.33,0:25:44.67,Default,,0000,0000,0000,,You can also see it a bit,\Nif I enter a command here, Dialogue: 0,0:25:44.67,0:25:48.89,Default,,0000,0000,0000,,for example, mkdir, then\Nwe see that it's a wonderful green. Dialogue: 0,0:25:49.85,0:25:53.43,Default,,0000,0000,0000,,As long as it's not a command it recognizes,\Nthe whole thing is displayed in red. Dialogue: 0,0:25:53.43,0:25:58.06,Default,,0000,0000,0000,,and it's quite good. Nice, in any case. Dialogue: 0,0:25:59.36,0:26:04.68,Default,,0000,0000,0000,,The Colorize Output. That. Dialogue: 0,0:26:04.68,0:26:09.96,Default,,0000,0000,0000,,I definitely recommend anything\Nthat starts with ZSH and FZF. Dialogue: 0,0:26:11.80,0:26:13.64,Default,,0000,0000,0000,,The Fark, I don't know\Nif you know it. Dialogue: 0,0:26:13.64,0:26:17.08,Default,,0000,0000,0000,,If I've entered a command incorrectly, I can say "Fark" and then Dialogue: 0,0:26:17.08,0:26:18.64,Default,,0000,0000,0000,,it will try to correct it for me. Dialogue: 0,0:26:18.66,0:26:19.98,Default,,0000,0000,0000,,There's also an auto mode. Dialogue: 0,0:26:20.10,0:26:21.52,Default,,0000,0000,0000,,That's just a gimmick. Dialogue: 0,0:26:25.24,0:26:29.28,Default,,0000,0000,0000,,I already said, I'm now\Nhere in Kitty, and I said he Dialogue: 0,0:26:29.28,0:26:34.56,Default,,0000,0000,0000,,can multiplex, it's very easy\Nand I have a new shell here Dialogue: 0,0:26:34.56,0:26:38.04,Default,,0000,0000,0000,,inside, I can then also adjust the layout\Naccordingly here and, for example, place them side by side, it's very practical\NI don't need Themux for that. Dialogue: 0,0:26:44.86,0:26:47.68,Default,,0000,0000,0000,,Okay, let's go back out and\Nthen we can take another quick look at the Starship point. Dialogue: 0,0:26:47.68,0:26:50.32,Default,,0000,0000,0000,, Dialogue: 0,0:26:57.94,0:27:02.66,Default,,0000,0000,0000,,in your line. It's very, very easy to configure, and I've Dialogue: 0,0:27:02.66,0:27:04.28,Default,,0000,0000,0000,,set it up in Bash. Dialogue: 0,0:27:04.28,0:27:08.52,Default,,0000,0000,0000,,So I'll just start a Bash\Nand we can see here, I'm on here Dialogue: 0,0:27:08.52,0:27:13.86,Default,,0000,0000,0000,,I chose Penguin because I couldn't find the Kubernetes logo Dialogue: 0,0:27:13.86,0:27:19.54,Default,,0000,0000,0000,,and then I see Default on Default, in\NDefault is of course, what is that? Dialogue: 0,0:27:19.54,0:27:22.40,Default,,0000,0000,0000,,This is my Kubernetes context. You\Nwill then see which user I am in, Dialogue: 0,0:27:22.40,0:27:25.28,Default,,0000,0000,0000,,which cluster I am logged in to,\Nand which namespace I am in. Dialogue: 0,0:27:25.30,0:27:27.44,Default,,0000,0000,0000,,In this case, everything is now default. Dialogue: 0,0:27:29.80,0:27:32.28,Default,,0000,0000,0000,,Then I can also see here—I’ve expanded this a bit— Dialogue: 0,0:27:32.28,0:27:38.81,Default,,0000,0000,0000,,which shell I am in,\Nand what my username is. Dialogue: 0,0:27:39.45,0:27:44.21,Default,,0000,0000,0000,,If I now switch to a directory\Nwhere I... Dialogue: 0,0:27:47.03,0:27:49.12,Default,,0000,0000,0000,,have Git in there. Dialogue: 0,0:27:49.36,0:27:51.03,Default,,0000,0000,0000,,Let's take a look. Dialogue: 0,0:27:52.44,0:28:04.70,Default,,0000,0000,0000,,And then let's just take my Hyperlint Dots directory here. Dialogue: 0,0:28:04.70,0:28:07.64,Default,,0000,0000,0000,,We can also see which branch I'm in. Dialogue: 0,0:28:08.11,0:28:12.11,Default,,0000,0000,0000,,I can then also see the state of my\Nbranch and ultimately whether I'm in it. Dialogue: 0,0:28:12.11,0:28:14.77,Default,,0000,0000,0000,,I think that simply means\Nthere are things that have been marked. Dialogue: 0,0:28:14.77,0:28:17.09,Default,,0000,0000,0000,,We can take a look at that in the\Nconfig right now. Dialogue: 0,0:28:17.09,0:28:20.85,Default,,0000,0000,0000,,The Starship config is very, very simple and very, Dialogue: 0,0:28:20.85,0:28:22.41,Default,,0000,0000,0000,,very nicely modular. Dialogue: 0,0:28:24.72,0:28:28.02,Default,,0000,0000,0000,,And we can take a look at them too. We'll find them Dialogue: 0,0:28:28.02,0:28:32.50,Default,,0000,0000,0000,,under config starship-tommel. Dialogue: 0,0:28:45.19,0:28:49.21,Default,,0000,0000,0000,,Up here, I've enabled Kubernetes, which then also tells me Dialogue: 0,0:28:49.21,0:28:51.95,Default,,0000,0000,0000,,what format the whole thing should have. Dialogue: 0,0:28:53.15,0:28:55.97,Default,,0000,0000,0000,,This ensures that the\Npenguin is displayed, then my Dialogue: 0,0:28:55.97,0:28:59.69,Default,,0000,0000,0000,,Kubernetes user, my Kubernetes cluster,\Nand the Kubernetes context. Dialogue: 0,0:29:00.67,0:29:04.55,Default,,0000,0000,0000,,Then there's something for terraforming, and\Nthen Shell and User, which shows me Dialogue: 0,0:29:04.55,0:29:08.19,Default,,0000,0000,0000,,which shell I'm in\Nand which user I'm logged in as. Dialogue: 0,0:29:08.19,0:29:10.33,Default,,0000,0000,0000,,and then the Git status stuff. Dialogue: 0,0:29:10.33,0:29:15.25,Default,,0000,0000,0000,,We see beautiful icons here,\Nbut you can also customize them freely. Dialogue: 0,0:29:23.75,0:29:26.43,Default,,0000,0000,0000,,Okay, what else did we have? Dialogue: 0,0:29:26.43,0:29:28.61,Default,,0000,0000,0000,,I wanted to briefly show you the Nu Shell. Dialogue: 0,0:29:28.89,0:29:32.75,Default,,0000,0000,0000,,But I might have to\Nlook it up myself again. Dialogue: 0,0:29:32.75,0:29:35.11,Default,,0000,0000,0000,,the syntax. I call it with Nu. Dialogue: 0,0:29:37.09,0:29:43.83,Default,,0000,0000,0000,,And now I have to\Nstart it again very quickly. Dialogue: 0,0:29:44.65,0:29:46.17,Default,,0000,0000,0000,,I'm still here. Dialogue: 0,0:29:50.46,0:29:51.72,Default,,0000,0000,0000,,Oh God, oh God. Dialogue: 0,0:30:02.88,0:30:07.22,Default,,0000,0000,0000,,And then I can, for example,\Ndo something like this: LS-Wear-Size over Dialogue: 0,0:30:07.22,0:30:13.46,Default,,0000,0000,0000,,10 megabytes and then Sort by Modified\Nwithout having to work with Grab and Dialogue: 0,0:30:13.46,0:30:16.29,Default,,0000,0000,0000,,Sort and any other shell tools. Dialogue: 0,0:30:16.71,0:30:20.73,Default,,0000,0000,0000,,Can I set such filters and sorting directly with NewShell? Dialogue: 0,0:30:21.33,0:30:25.13,Default,,0000,0000,0000,,And then get a completely different output than I'm used to from LS. Dialogue: 0,0:30:25.13,0:30:27.69,Default,,0000,0000,0000,,I can see it perfectly in the table here. Dialogue: 0,0:30:27.69,0:30:32.41,Default,,0000,0000,0000,,It's quite exciting. I haven't used it much myself yet, but I find it Dialogue: 0,0:30:32.41,0:30:36.37,Default,,0000,0000,0000,,very interesting, and I wanted to at least show it to you. Dialogue: 0,0:30:38.46,0:30:41.46,Default,,0000,0000,0000,,That's actually what I wanted to show you. Dialogue: 0,0:30:42.30,0:30:43.48,Default,,0000,0000,0000,,Do you have any questions? Dialogue: 0,0:30:52.95,0:31:00.49,Default,,0000,0000,0000,,Well, I also use a lot of aliases. Dialogue: 0,0:31:00.49,0:31:04.21,Default,,0000,0000,0000,,That's a Rust tool, a better LS. Dialogue: 0,0:31:07.81,0:31:11.99,Default,,0000,0000,0000,,But would that also work in this new shell, or is it a special Dialogue: 0,0:31:11.99,0:31:14.05,Default,,0000,0000,0000,,LS that's being referenced? Dialogue: 0,0:31:15.62,0:31:17.80,Default,,0000,0000,0000,,NewShell interprets\Nthe output differently. Dialogue: 0,0:31:18.44,0:31:20.42,Default,,0000,0000,0000,,So it would also work with...\NSo would that work? Dialogue: 0,0:31:20.42,0:31:20.58,Default,,0000,0000,0000,,Yes. Dialogue: 0,0:31:20.66,0:31:21.58,Default,,0000,0000,0000,,Okay, that's what I wanted to know. Dialogue: 0,0:31:21.58,0:31:21.84,Default,,0000,0000,0000,,Thanks. Dialogue: 0,0:31:27.01,0:31:28.31,Default,,0000,0000,0000,,Any other questions? Dialogue: 0,0:31:33.16,0:31:35.12,Default,,0000,0000,0000,,Perhaps a brief\Nnote on the New Shell. Dialogue: 0,0:31:35.64,0:31:37.68,Default,,0000,0000,0000,,Very closely resembles PowerShell. Dialogue: 0,0:31:37.68,0:31:41.40,Default,,0000,0000,0000,,And if you look at how it works internally, they have something like that Dialogue: 0,0:31:41.40,0:31:44.56,Default,,0000,0000,0000,,the... I'd say, typed pipelines. Dialogue: 0,0:31:45.32,0:31:48.52,Default,,0000,0000,0000,,Relatively exciting, if you talk a lot, I'd say, you could Dialogue: 0,0:31:48.52,0:31:50.72,Default,,0000,0000,0000,,even about object orientation, somewhere like that. Dialogue: 0,0:31:51.88,0:31:56.20,Default,,0000,0000,0000,,Very exciting when you move away from the\Npure Bash, Shell, Dash environment Dialogue: 0,0:31:56.20,0:32:01.60,Default,,0000,0000,0000,,and a lot of, I'd say, intelligence into scripts like this Dialogue: 0,0:32:01.60,0:32:03.42,Default,,0000,0000,0000,,what we've just seen here. Dialogue: 0,0:32:03.84,0:32:05.94,Default,,0000,0000,0000,,The only disadvantage is,\Nvery much on the power level Dialogue: 0,0:32:05.94,0:32:07.96,Default,,0000,0000,0000,,in terms of syntax. Dialogue: 0,0:32:17.38,0:32:22.58,Default,,0000,0000,0000,,Does Alias ​​somehow expand the command by default? Dialogue: 0,0:32:22.58,0:32:28.90,Default,,0000,0000,0000,,So, that I type LL and press Tab and the command Dialogue: 0,0:32:28.90,0:32:34.56,Default,,0000,0000,0000,,which I have set as alias [is auto completed]? \N[Florian Winkler:] It depends, sometimes you have to Dialogue: 0,0:32:34.56,0:32:39.56,Default,,0000,0000,0000,,activate something for that. This is\Nhow it is with Kubernetes. Dialogue: 0,0:32:39.56,0:32:43.32,Default,,0000,0000,0000,,Since the auto-completion for Kubernetes\Nworks, where it then directly Dialogue: 0,0:32:43.32,0:32:47.02,Default,,0000,0000,0000,,requests the API, I also have to\Nturn it on again for the alias Completion Dialogue: 0,0:32:47.02,0:32:49.70,Default,,0000,0000,0000,,How do I turn it on? Dialogue: 0,0:32:49.70,0:32:50.84,Default,,0000,0000,0000,,It doesn't work for me. Dialogue: 0,0:32:54.62,0:33:03.99,Default,,0000,0000,0000,,I should also have that in the\NZSH-AC and Dialogue: 0,0:33:06.39,0:33:16.58,Default,,0000,0000,0000,,I'll pull that at the end, if I'm not very sad. Dialogue: 0,0:33:16.58,0:33:20.62,Default,,0000,0000,0000,,Okay, no, I don't seem to have that directly here. Dialogue: 0,0:33:20.62,0:33:23.10,Default,,0000,0000,0000,,The QCTL plugin does that for me. Dialogue: 0,0:33:26.14,0:33:28.84,Default,,0000,0000,0000,,Otherwise, I can\Njust quickly find it. Dialogue: 0,0:33:28.84,0:33:36.34,Default,,0000,0000,0000,,Let's take this one, just open\Na new tab, k alias completion. Dialogue: 0,0:33:43.27,0:33:47.12,Default,,0000,0000,0000,,And there we see,\Nafter I've defined the alias, Dialogue: 0,0:33:47.12,0:33:52.92,Default,,0000,0000,0000,,I still need the complete-f command, so that it\Nstarts kubectl when I use the Dialogue: 0,0:33:52.92,0:33:56.86,Default,,0000,0000,0000,,alias. Then the built-in kubectl completion also works. Dialogue: 0,0:33:57.50,0:33:59.14,Default,,0000,0000,0000,,Okay, thanks. Dialogue: 0,0:34:05.22,0:34:06.14,Default,,0000,0000,0000,,Any further questions? Dialogue: 0,0:34:08.08,0:34:09.86,Default,,0000,0000,0000,,If not, thank you very much. Dialogue: 0,0:34:10.50,0:34:12.56,Default,,0000,0000,0000,,Then we'll all make it to the raffle.\N[Translated by Tom Süßenbach (KYBS2001 course assignment at JYU.FI)]