Career Goals - Futures in Linux Careers
-
@dashrender said in Career Goals - Futures in Linux Careers:
.... SED is not yet just another command that's part of BASH.
BASH is a programming language. The only "commands" it has are programming language control structures. Shells aren't full of commands.
BASH commands are extremely few like **for, if, . (it's just a dot but is called source), export, read, alias, ....
All programming stuff, not things people using BASH typically type at all. BASH has two key uses...
- Run other programs
- Control the input and output to those other programs
That's it. Think of DOS. DOS was just a way to load applications, DOS itself did almost nothing, and DOS was the entire OS plus a shell. BASH is only the shell. A typical BASH user will use literally zero bash commands. And advanced BASH users will typically use four or five.
For example, I use if and for all of the time. But that's about it.
-
Now, when taking this bit of the conversation and looping it back to careers, this is where we could say how important it is that IT people learn basic programming. Because it takes extremely little time programming, like a few days, before we can then simply explain that "BASH is a programming language" to make basically everything else really clear. Realizing that BASH is a programming language, it becomes obvious that things like top, AWK or cal (the calendar) are obviously applications being called from it, and not a part of it.
No programming language or shell anywhere has that stuff built in. For some bizarre reason, BASH has earned this weird reputation as being the cumulation of all software that can be run by an operating system.
But oddly, why does AWK or cal get confused as part of BASH, but not Rocket, MySQL, Microsoft SQL Server and other apps called identically?
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
I don't know if awk and SED are or are not installed in most Linux distros or not, but assuming it is, that would explain the lack of understanding that launching SED is not yet just another command that's part of BASH.
That's VERY different, though. SED, AWK, and BASH are all apps included in a typical Linux distro. Just as PerfMon, Notepad, and PowerShell are all included in Windows.
So if you are merging AWK and BASH, why not call PerfMon PowerShell?
In your example, you are treating Windows and Linux completely differently. BASH is just one of many apps included with a typical Linux install, and some Linux installs (many, in fact) don't include BASH at all, but they still have AWK and SED. But no Windows comes without both PerfMon and PowerShell.
Do you see why that logic doesn't make sense as it is not consistent from place to place? If you were saying that AWK seemed like it was "part of Linux" and that WordPad seemed like "part of Windows" because they were included in them, then sure, I can see that.
But mixing multiple things together because they are all peers within the same parent container doesn't make sense. That's like confusing apples with bananas simply because they were sold in the same grocery bag.
There's a huge difference here that I feel you're glossing over. In Windows - you can super easily see that Perfmon is called perfmon in the window title and you're looking a gui interface for it.
when your 'running' BASH and you run an SED command inside BASH - it doesn't look any different.
I'll give you that people will have the same issue on Windows if they are in a CMD and they run powershell commands by typing something like "powershell.exe somecommand -somearguement" to a normal user that appears to be just part of CMD, not something special or external to CMD.
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
But oddly, why does AWK or cal get confused as part of BASH, but not Rocket, MySQL, Microsoft SQL Server and other apps called identically?
I'm going to say it's because those other things almost always have to be install separately, so the noob is definitely aware that they did something to make that program be there. But in most cases they did nothing - and SED, AWK are just there.
-
@dashrender said in Career Goals - Futures in Linux Careers:
There's a huge difference here that I feel you're glossing over. In Windows - you can super easily see that Perfmon is called perfmon in the window title and you're looking a gui interface for it.
You can see AWK separately in the process list, too, with BASH. If you treat BASH and PowerShell the same, they act the same. They both make it clear that they are loading something that isn't themselves.
Do people confuse all the things that don't have GUIs as being part of PowerShell?
-
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
But oddly, why does AWK or cal get confused as part of BASH, but not Rocket, MySQL, Microsoft SQL Server and other apps called identically?
I'm going to say it's because those other things almost always have to be install separately, so the noob is definitely aware that they did something to make that program be there. But in most cases they did nothing - and SED, AWK are just there.
Some of them do, some of them don't. SED and AWK are just there, like Notepad or PerfMon, yes. But not nearly as often.
And if put BASH on Windows, none of that stuff exists. Windows users should have an even clearer picture of how disconnected they are as BASH on Windows still uses all "Windows tools" just as if you were in CMD.
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
There's a huge difference here that I feel you're glossing over. In Windows - you can super easily see that Perfmon is called perfmon in the window title and you're looking a gui interface for it.
You can see AWK separately in the process list, too, with BASH. If you treat BASH and PowerShell the same, they act the same. They both make it clear that they are loading something that isn't themselves.
Do people confuse all the things that don't have GUIs as being part of PowerShell?
really? a process list? yet something else that will show up inside BASH? LOL - you're really not getting what I'm driving at, are you?
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
Do people confuse all the things that don't have GUIs as being part of PowerShell?
No, they confuse them as part of CMD.
-
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
There's a huge difference here that I feel you're glossing over. In Windows - you can super easily see that Perfmon is called perfmon in the window title and you're looking a gui interface for it.
You can see AWK separately in the process list, too, with BASH. If you treat BASH and PowerShell the same, they act the same. They both make it clear that they are loading something that isn't themselves.
Do people confuse all the things that don't have GUIs as being part of PowerShell?
really? a process list? yet something else that will show up inside BASH? LOL - you're really not getting what I'm driving at, are you?
You could open that process list via the desktop GUI if you wanted.
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
But oddly, why does AWK or cal get confused as part of BASH, but not Rocket, MySQL, Microsoft SQL Server and other apps called identically?
I'm going to say it's because those other things almost always have to be install separately, so the noob is definitely aware that they did something to make that program be there. But in most cases they did nothing - and SED, AWK are just there.
Some of them do, some of them don't. SED and AWK are just there, like Notepad or PerfMon, yes. But not nearly as often.
And if put BASH on Windows, none of that stuff exists. Windows users should have an even clearer picture of how disconnected they are as BASH on Windows still uses all "Windows tools" just as if you were in CMD.
No Windows users would ever use BASH - Windows Admins might, though - why? Unless they are managing tons of 'nix boxes, why not just stick with powershell?
-
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
Do people confuse all the things that don't have GUIs as being part of PowerShell?
No, they confuse them as part of CMD.
You mean you think Windows admins actually think like chkdsk is part of CMD and not an application of its own?
-
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
But oddly, why does AWK or cal get confused as part of BASH, but not Rocket, MySQL, Microsoft SQL Server and other apps called identically?
I'm going to say it's because those other things almost always have to be install separately, so the noob is definitely aware that they did something to make that program be there. But in most cases they did nothing - and SED, AWK are just there.
Some of them do, some of them don't. SED and AWK are just there, like Notepad or PerfMon, yes. But not nearly as often.
And if put BASH on Windows, none of that stuff exists. Windows users should have an even clearer picture of how disconnected they are as BASH on Windows still uses all "Windows tools" just as if you were in CMD.
No Windows users would ever use BASH - Windows Admins might, though - why? Unless they are managing tons of 'nix boxes, why not just stick with powershell?
Linux USERS don't use BASH either, Linux admins do. You are talking about command line shells, so not for end users in any sense.
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
Do people confuse all the things that don't have GUIs as being part of PowerShell?
No, they confuse them as part of CMD.
You mean you think Windows admins actually think like chkdsk is part of CMD and not an application of its own?
I'll admit that I've conflated this a bit by mixing windows users and windows admins in this conversation. But super green admins - who don't know powershell, only ever seen CMD - yeah, I think they could be confused about that.
-
@dashrender said in Career Goals - Futures in Linux Careers:
Unless they are managing tons of 'nix boxes, why not just stick with powershell?
Because BASH was there a decade before PowerShell and is way easier to use. Easier than CMD, too. More power, less effort. Why wouldn't they have been using it? CSH has long been available on Windows, too.
-
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
Do people confuse all the things that don't have GUIs as being part of PowerShell?
No, they confuse them as part of CMD.
You mean you think Windows admins actually think like chkdsk is part of CMD and not an application of its own?
I'll admit that I've conflated this a bit by mixing windows users and windows admins in this conversation. But super green admins - who don't know powershell, only ever seen CMD - yeah, I think they could be confused about that.
So you think it is improving because now they are seeing two shells and realizing that now, with three shells to use (the GUI is a shell) that the apps aren't tied to the shell?
Did they never notice that they were apps on the disk that could be deleted?
-
This has long been a "strength" of Linux, because BASH wasn't universal (nothing was) and because BASH is available on loads of things that are not Linux (like VMware ESXi, Solaris, Windows, etc.) it's super obvious with even casual use to see that top or whatever can't be part of BASH because you can run them without BASH and BASH can exist without them.
Because Linux has long has like ten shells in typical installations, it's really hard to confuse the shell and the apps that it calls. Windows only shipped with one traditionally, making it a lot harder to figure out.
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
Do people confuse all the things that don't have GUIs as being part of PowerShell?
No, they confuse them as part of CMD.
You mean you think Windows admins actually think like chkdsk is part of CMD and not an application of its own?
I'll admit that I've conflated this a bit by mixing windows users and windows admins in this conversation. But super green admins - who don't know powershell, only ever seen CMD - yeah, I think they could be confused about that.
So you think it is improving because now they are seeing two shells and realizing that now, with three shells to use (the GUI is a shell) that the apps aren't tied to the shell?
Did they never notice that they were apps on the disk that could be deleted?
I'll admit my own ignorance in this a while ago - just because you saw different apps on the disk didn't mean they were truly separate - there are a few dozen exe's in the Office folder - yet all those things are tied together. Granted word.exe doesn't need excel.exe, but (I think at least) there are common exe's that they both call as part of their usage. So that leads one to believe this is a common practice and since all those other things in windows are in the same directory as CMD, why aren't they just part of it?
-
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
@scottalanmiller said in Career Goals - Futures in Linux Careers:
Do people confuse all the things that don't have GUIs as being part of PowerShell?
No, they confuse them as part of CMD.
You mean you think Windows admins actually think like chkdsk is part of CMD and not an application of its own?
I'll admit that I've conflated this a bit by mixing windows users and windows admins in this conversation. But super green admins - who don't know powershell, only ever seen CMD - yeah, I think they could be confused about that.
So you think it is improving because now they are seeing two shells and realizing that now, with three shells to use (the GUI is a shell) that the apps aren't tied to the shell?
Did they never notice that they were apps on the disk that could be deleted?
I'll admit my own ignorance in this a while ago - just because you saw different apps on the disk didn't mean they were truly separate - there are a few dozen exe's in the Office folder - yet all those things are tied together. Granted word.exe doesn't need excel.exe, but (I think at least) there are common exe's that they both call as part of their usage. So that leads one to believe this is a common practice and since all those other things in windows are in the same directory as CMD, why aren't they just part of it?
DLLs are shared, EXEs generally are not. BASH is certainly a single file. As is AWK. As is PowerShell. As is Python. As is top. It's very, very rare for EXEs to be shared like libraries. In Windows, typical libraries are called DLLs. In Linux, they are typically .so
-
@dashrender said in Career Goals - Futures in Linux Careers:
Granted word.exe doesn't need excel.exe, but (I think at least) there are common exe's that they both call as part of their usage.
Without looking at a box with them, I'm guessing you are thinking of the launcher application, which is definitely separate. That .exe is like a shell, sort of, with the only job to discover and launch other applications. It then launches Word, Excel, or whatever else is there. Each being completely separate applications.
In that case, the "shared" is misleading as it is its own thing, and the underlying things are not connected at the application level. You can remove the launcher without disabling anything that it calls. Or remove Word without affecting the launcher or Excel.
-
@scottalanmiller said in Career Goals - Futures in Linux Careers:
@dashrender said in Career Goals - Futures in Linux Careers:
Granted word.exe doesn't need excel.exe, but (I think at least) there are common exe's that they both call as part of their usage.
Without looking at a box with them, I'm guessing you are thinking of the launcher application, which is definitely separate. That .exe is like a shell, sort of, with the only job to discover and launch other applications. It then launches Word, Excel, or whatever else is there. Each being completely separate applications.
In that case, the "shared" is misleading as it is its own thing, and the underlying things are not connected at the application level. You can remove the launcher without disabling anything that it calls. Or remove Word without affecting the launcher or Excel.
I could be mistaken about word.exe calling other exes versus just calling DLLs. but to the uninitiated, all being in the same folder makes them seem like they are a single thing, and even though they are multiple files, they seem inexorably linked. I'm not saying it's right to think that - only that they do, I know I did in the past.