CommandLineBasics
User Days Command Line Basics Session
Shell, Bash
- 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
- aliases
- history
Getting information
- apropos
- man and info
Getting a Little Fancy
- Piping to less.
- Redirecting output to a file.
- Basic grep.
- Finding and killing a process
Some Tools
- A file manager: midnight commander.
- A web browser: lynx and/or links.
- An email client: alpine.
References
- tldp.org
- 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
UserDays/01232010/CommandLineBasics (last edited 2010-01-24 00:23:01 by alderaan)