User Days Command Line Basics Session
- What is a shell.
- What is bash, Bourne again shell, Bourne shell
- Other shells, dash
- builtins, programs and processes
Key Concept: Where am I?
- Where am I?
- Let's go somewhere else.
- What is here?
- Viewing the content of a file.
- Moving files and directories.
Short Cuts or How to Not Type So Much
- tab completion
- man and info
Getting a Little Fancy
- Piping to less.
- Redirecting output to a file.
- Basic grep.
- Finding and killing a process
- A file manager: midnight commander.
- A web browser: lynx and/or links.
- An email client: alpine.
- Learning the Bash Shell
- What are you forgetting Mark?
1 === _marx_ changed the topic of #ubuntu-classroom to: Ubuntu Classroom Chat || Ubuntu User Days | Current Session: Command Line Basics ~~ Presented by _marx_ || Please ask questions here; prefix your question with QUESTION || Ubuntu User Days Survey: http://www.surveymonkey.com/s/WQWHJQY 2 [14:00] <_marx_> Welcome everyone to Command Line Basics 3 [14:00] <cjohnston> Up next we have _marx_ 4 [14:00] <cjohnston> Mark Cox lives in Winston-Salem, North Carolina. He has made his living as a carpenter since getting out of the Army in '85. 5 [14:00] <cjohnston> He has been using Linux since 1998. Mark has been using Ubuntu since 5.04. He hopes to be unique by being the first Grandfather in recorded history 6 [14:00] <cjohnston> to convert his grandsons to Ubuntu instead of the other way around. Mark's two oldest grandchildren were dazzled by "the cube" over the holidays. 7 [14:01] <_marx_> thanks cjohnston 8 [14:01] <_marx_> Today I just want to cover some basics. 9 [14:01] <cjohnston> < mick__> Question:: shell programming:: any good tutorials online to take you from newbie to MOTU? 10 [14:01] <cjohnston> Got an early question for you. ;-) 11 [14:02] <_marx_> Hopefully when we're done you be able to survive the dreaded no X experience. 12 [14:02] <_marx_> mick__, the linux documentation project bash 13 [14:03] <_marx_> First a little lecture time. 14 [14:03] <_marx_> Then we'll do some things 15 [14:03] <_marx_> When we use the command line we are using a shell. 16 [14:03] <_marx_> In this context a shell is the most basic way a user can interact with a computer's operating system kernel. 17 [14:04] <_marx_> A shell is a piece of software. 18 [14:04] <_marx_> Most GNU/Linux distributions use the Bourne Again SHell (bash) as the login shell. 19 [14:05] <_marx_> The again part is because the first iteration was called the Bourne SHell (sh) which was released for unix in the late '70's 20 [14:05] <_marx_> Beginning with the 6.10 release Ubuntu began using dash (the Debian Almquist Shell) as the default system shell. 21 [14:05] <Pendulum> Jedemco> Question: Is a "shell" also the "Terminal" in Ubuntu? 22 [14:05] <_marx_> The default login shell is still bash. 23 [14:06] <_marx_> Jedemco, yes for all practical purposes 24 [14:06] <_marx_> when one opens say gnome-terminal you'll be using bash 25 [14:07] <_marx_> Today we will learn how to navigate the Linux file system, 26 [14:07] <_marx_> view the contents of a file, 27 [14:08] <_marx_> opy and rename files and directories, 28 [14:08] <_marx_> userdays3, yes 29 [14:10] <_marx_> pipe output of one command to another, direct output to a file, 30 [14:10] <_marx_> install programs, navigate the internet all via the command line interface. 31 [14:10] <_marx_> Maybe we'll get to all of that! 32 [14:10] <_marx_> For our exercises today I will be using the Gnome terminal. 33 [14:10] <_marx_> I want to make opening a terminal a click or two faster so click Applications > Accessories and drag Terminal into your top panel. 34 [14:11] <_marx_> This is just to make starting a terminal a little faster by not using the menu system 35 === nigel_nb is now known as Guest70547 36 [14:11] <_marx_> I'm not real familiar with KDE and Xfce so maybe just drop the icon on the desktop to create a launcher. 37 [14:12] <Pendulum> < userdays3> QUESTION:Is there a difference between a system shell and a login shell? 38 [14:12] <_marx_> lannocc, makes starting a terminal little quicker 39 [14:13] <_marx_> There can be a difference between the system shell and login shell; on Ubuntu they are different. 40 [14:13] <_marx_> ow let's open a terminal session, just click the icon we just created in the top panel. 41 [14:14] <_marx_> Everyone have a terminal open? 42 [14:14] <_marx_> I'm going to try to remember to wrap all my command examples with quotes around them so just type whatever is inside the quote marks. 43 [14:15] <_marx_> I may forget so pay attention :-) 44 [14:15] <_marx_> Okay first command "whoami" 45 [14:15] <_marx_> Well now you know who you are! 46 [14:17] <_marx_> Concept Where am I! 47 [14:17] <_marx_> This is an important unix concept. 48 [14:17] <_marx_> Where am I in the file system? 49 [14:17] <_marx_> Let's use print working directory to find out. "pwd" 50 [14:18] <_marx_> everyone should be in their home directory. 51 [14:19] <_marx_> Okay, what's here? Use the list command to list the contents "ls" 52 [14:20] <_marx_> no pm's please 53 [14:20] <_marx_> ask in -chat 54 [14:21] <_marx_> Commands can take options. 55 [14:21] <_marx_> Try `ls -l` 56 [14:22] <_marx_> now we get a long listing of all the files and directories 57 [14:22] <_marx_> But this isn't all the files use `ls -a` to see all the files 58 === Walt is now known as Guest71766 59 [14:23] <_marx_> Okay let's go somewhere else; `cd /` 60 [14:23] <_marx_> and let's do a long listing of all the files 61 [14:23] <_marx_> answer in -chat 62 [14:24] <_marx_> any one long listing of all files 63 [14:24] <_marx_> well it's `ls -al` 64 [14:25] <_marx_> and where are we now? 65 [14:25] <cjohnston> < doxdrum> Question - is it important the order of the options? -al or -la 66 [14:25] <_marx_> doxdrum no 67 [14:26] <_marx_> everyone should be in "/" now. 68 [14:26] <_marx_> pwd to find out where you are 69 [14:27] <_marx_> well not seeing responces to where one is in -chat 70 [14:28] <_marx_> okay let's all go home with `cd` 71 [14:28] <_marx_> the command `cd ~` will also work 72 [14:28] <_marx_> now `cd -` 73 [14:28] <_marx_> and where are we? 74 [14:29] <_marx_> that was a dash or minus sign 75 [14:29] <_marx_> yep; "cd -" will take you back to the last directory you were in 76 [14:30] <_marx_> ok go home 77 [14:30] <_marx_> and list all files 78 [14:30] <_marx_> we're gonna shorten up on some of this typing 79 [14:31] <_marx_> `less .bashrc` will let you view your bashrc file 80 [14:31] <_marx_> use "q" to quite less 81 [14:31] <_marx_> we can shorten up on alot of typing by using aliases 82 [14:32] <_marx_> type `alias` to see what aliases are set now 83 [14:32] <_marx_> everyone have a output of current aliases? 84 [14:34] <_marx_> oka to set an alias try "alias 'l=ls -l'" 85 [14:35] <_marx_> now just type "l" 86 [14:36] <_marx_> good question hhlp 87 [14:36] <_marx_> it is not permenamt 88 [14:36] <_marx_> ow bad spelling 89 [14:37] <_marx_> to make an alias permenant 90 [14:37] <_marx_> we need to edit ~/.bashrc; that file we just viewed with less 91 [14:38] <_marx_> assuming everyone is in there home directories do "nano .bashrc" 92 [14:39] <Pendulum> < Crewsr3> so when you set up an alias without editing the .bashrc file how long will the alias work? 93 [14:39] <_marx_> go to the end of the file and add the line "alias 'l=ls -l'" 94 [14:40] <_marx_> Crewsr3, until you logout of the shell/bash session. 95 [14:40] <_marx_> 20 minutes to go: how are we on nano w/.bashrc? 96 [14:41] <_marx_> everyone have that line in .bashrc 97 [14:41] <_marx_> save and exit the file 98 [14:41] <_marx_> now bash doesn't know we've changed it's config file 99 [14:42] <Pendulum> < Yos> how to save and exit ? 100 [14:42] <_marx_> in nano ctl-x to save and exit 101 [14:43] <_marx_> so to make bash aware that we've changed it's config file we need to source the config file 102 [14:43] <_marx_> do that with "source .bashrc" 103 [14:45] <_marx_> so now you could open a second terminal and "l" should give you the same as "ls -l" 104 [14:45] <_marx_> well i'm not going to get to everything i wanted to so questions? 105 [14:46] <_marx_> Question: command to check available disk space 106 [14:47] <_marx_> i like `df -h` and i usually alias df to that 107 [14:47] <_marx_> ah info on commands can be found several ways 108 [14:47] <_marx_> man <command> info <command> 109 [14:48] <Pendulum> < Jedemco> Question: I don't understand the concept of "alias." What is it and what does it do for me? 110 [14:48] <_marx_> alias example: `alias 'df=df -h'` 111 [14:49] <_marx_> an alias is like a shortcut; instead of typing all the options for a command we can type one or two letters to do the command 112 [14:50] <_marx_> for the brave "sudo apt-get install mc" 113 [14:50] <_marx_> this will install the midnight commander file manager 114 [14:50] <_marx_> it can also do ftp and sftp 115 [14:51] <cjohnston> < Yos> Question what is the difference between bash and screen byobu ? 116 [14:51] <_marx_> screen is like a console or command line window manager 117 [14:52] <_marx_> screen starts within a bash session 118 [14:53] <_marx_> anyone install mc? 119 [14:53] <_marx_> start mc with `mc` 120 [14:53] <cjohnston> < Jedemco> Question: how do I get to "screen"? 121 [14:54] <_marx_> Jedemco, just type `screen` 122 [14:54] <cjohnston> _marx_: is screen installed by default? 123 [14:54] <_marx_> start mc with `mc` 124 [14:54] <_marx_> cjohnston, not sure 125 [14:54] <cjohnston> I believe they would need to install first? 126 [14:55] <_marx_> we could do 30 minutes on mc probably 127 [14:55] <cjohnston> 5 minutes left in this session 128 [14:56] <_marx_> some other command line goodies are lynx for a web browser 129 [14:56] <_marx_> and alpine for an email client 130 [14:57] <_marx_> three minutes left thanks everone of coming by today 131 [14:58] <_marx_> hopefully some of this was helpful