Welcome to the Linux Foundation Forum!
Switching Over and Mastering
Kyser Soze
Posts: 3
Hello. I have been fascinated by Linux and more specifically Ubuntu for quite some time now. I have been thinking about switching from Windows for a couple years but, have been very hesitant because I know nothing about the terminal language and the real in's and out's. That being said, I would like to know how you mastered linux and what do you think is the fastest way and/or best way for me to do the same.
Also, I have just put together a sort of "bare bones" kit if you will with a dual core 1.6 Ghz processor and the Nvidia ION chipset. If you want to see what it is here is a link: Link to see what I am working with. I am going to be making it a file server and a kind of media server as well. What do you recommend and why?
0
Comments
-
I learned Linux based systems a little differently. In 2003 i decided that I should learn it, so I removed windows completely and installed Slackware. With no fallback options i became familiar worth three system within a couple of months.
As for your server i agree with robin, try some live cds to confirm hardware compatibility.0 -
Most services are available in GUI form accessible from your Ubuntu desktop. There are many times when things are easier to do from a command line. The shell program that Ubuntu (and most Linux systems) use by default is called bash, short for "Bourne Again SHell". A popular (and one of the first) Unix shell programs was written by Bourne (not Jason :-)). The open source version that was written to be 100% compatible with the Bourne shell is bash. So, get the Nutshell book on bash programming, or I think there is a Bash Programming For Dummies available as well. In any case, several are out there that you can order from or buy at Amazon.com, Borders, Barnes and Noble, et al.0
-
How did I master Linux?
By
while [ 1 -lt 2 ]; do
fiddling with it, breaking it, trying to fix it, swearing at it, reinstalling it.
done
I don't think there is another way and since 1 is STILL less than (-lt) 2 I'm still at it after 11 or 12 years, although the swearing and reinstalling part is very seldom in the loop anymore...
Just make sure you have all the data on its own partition, I use the /home partition for shared stuff in addition to the home dirs, it makes it easy to partition (/home as big as you can) and it makes it easy to reinstall without loosing data (just not format /home during install, just mount it).
I was so tired of reinstalling at one point (I think I was running RedHat 6.2) that I made an extra partition for a small install and a compressed image of my /root partition.
(dd if=/dev/sda2 |gzip > root.img.gz)
I then made a script to run dd from the image back on my main /root partition, so when I had broken my install beyond (my ability) to repair I just booted from the other partition, ran the dd-script and was back up and running.
Yes I know there are more elegant ways of doing this, but I learned a lot
So my advice would be to just try, start out with Ubuntu or Debian (my preference) and use the forums, there's usually a bunch of helpful people there
Oh, and don't be afraid of using bash, it's not THAT hard once you've started with it and it's a great tool!
Even though you have graphical frontends for most everything now the config is still in text-files, so being able to browse them and edit them is, while not a must, an advantage if you want to understand your system.
Good luck...0 -
The first step is to recognize that, contrary to popular belief, the command line is not an arcane "hack". All the commands available were created by other people with the express intent of providing an easy and efficient interface to your computer.
Although it's a different path than I used myself, I think I would recommend this this approach to learning the command line:
1. Learn to do basic file management from the terminal.[ul][li]pwd - Print Working Directory[/li][li]cd /path/to/directory - Change Directory[/li][li]ls - List the files and folders in the current directory[/li][li]mv /path/to/file1 /path/to/file2 - Move or rename a file[/li][li]cp /path/to/file1 /path/to/file2 - Copy a file[/li][li]rm /path/to/file - Remove a file[/li][li]mkdir /path/dirname - Make a new directory[/li][li]rmdir /path/dirname - Remove a directory[/li][li]rm -r /path/dirname - Recursively remove a directory, with all its contents[/li][li]touch /path/to/file - Create an empty file[/li][li]chown username:groupname /path/to/file - Change Owner of a file[/li][li]chmod rwxrwxrwx /path/to/file - Change the rights to a file. The three sets of rwx denotes the access rights of, respectively, the file owner, the group, and everyone else. Replace a letter with a dash (-) to remove that access right, e.g. rwxr-xr-x gives full access to the owner and read/execute rights to everyone else.[/li][/ul]
2. Learn basic text manipulation[ul][li]cat /path/to/file - Print the contents of a file in the terminal[/li][li]less /path/to/file - Show the contents of a file in the terminal. Allows you to use the arrow keys and page up/page down to navigate in the file. Use forward slash to search (/pattern<ENTER>), the press N to jump to next search result and Shift-N to go to previous hit, and use the button Q to quit.[/li][li]grep 'some pattern' /path/to/file - Show all lines in a file that contains a text pattern. Use the character '^' to indicate the beginning of a line, and '$' to indicate the end of a line; so the pattern '^text$' will match lines that contain nothing but 'text'.[/li][li]grep -v 'some pattern' /path/to/file - Show all lines that do not contain some pattern.[/li][li]sed 's/old pattern/new pattern/g' /path/to/file - Show the contents of a file, but substitute all occurences of 'old pattern' with 'new pattern' first.[/li][li]echo 'some text' - Print some text in the terminal[/li][li]nano -w /path/to/file - Use a user-friendly command line text editor to edit a text file.[/li][li]wc -l /path/to/file - Count the number of lines in a file[/li][li]sort /path/to/file - Sort the lines in a file alphanumerically[/li][/ul]
3. Learn to do package management from the command line[ul][li]apt-cache search pattern - search for a package named pattern[/li][li]sudo apt-get install packagename - install a package[/li][li]sudo apt-get remove packagename - uninstall a package[/li][li]sudo apt-get autoremove - uninstall unneeded dependencies[/li][li]sudo apt-get clean - clean the cache of downloaded packages[/li][li]sudo dpkg -i /path/to/package.deb - install a manually downloaded .deb package[/li][/ul]
4. Learn to use shell redirection. This is were the real power of the UNIX command line comes from; you can redirect the output of one command as the input of a new command, linking several commands together in a digital production chain.[ul][li]command_1 | command_2 - Send output from one command as input to a new command[/li][li]command > /path/to/file - Write the output of a command to a file, overwriting the file in the process.[/li][li]command >> /path/to/file - Append the output of a command to the end of an existing file.[/li][/ul]A couple of practical examples:[ul][li]apt-cache search web | less - Search for packages related to web, and navigate the list of results using the command less.[/li][li]apt-cache search mozilla | grep -v firefox > results.txt - search for packages related to "mozilla", but remove all entries in the list related to "firefox" - and finally save the results as results.txt[/li][li]cat /path/to/file | sed 's/old/new/' > /path/to/file - Replace all occurences of the pattern old with new in a file.[/li][li]echo "This is some text" >> /path/to/file - Append text to a file[/li][li]cat /path/to/file | grep -v '^#' > /path/to/file - Remove all lines in a file beginning with the sign #[/li][/ul]
5. Now that you know many useful commands, put them in a script to automate tasks from the command line - and glue them together with logical operators and test constructs. Google it when you get here
6. Whenever you're unsure of how to use a command, try running man command to check the system manual for that command. If that doesn't help, try googling for guides
There are of course many more commands you should learn with time, like ps, kill and mount - but I recommend starting with the ones above.
I hope this helps. And yes, I had a lot of spare time today0
Categories
- All Categories
- 217 LFX Mentorship
- 217 LFX Mentorship: Linux Kernel
- 788 Linux Foundation IT Professional Programs
- 352 Cloud Engineer IT Professional Program
- 177 Advanced Cloud Engineer IT Professional Program
- 82 DevOps Engineer IT Professional Program
- 146 Cloud Native Developer IT Professional Program
- 137 Express Training Courses
- 137 Express Courses - Discussion Forum
- 6.2K Training Courses
- 46 LFC110 Class Forum - Discontinued
- 70 LFC131 Class Forum
- 42 LFD102 Class Forum
- 226 LFD103 Class Forum
- 18 LFD110 Class Forum
- 37 LFD121 Class Forum
- 18 LFD133 Class Forum
- 7 LFD134 Class Forum
- 18 LFD137 Class Forum
- 71 LFD201 Class Forum
- 4 LFD210 Class Forum
- 5 LFD210-CN Class Forum
- 2 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum - Discontinued
- 2 LFD233 Class Forum
- 4 LFD237 Class Forum
- 24 LFD254 Class Forum
- 694 LFD259 Class Forum
- 111 LFD272 Class Forum
- 4 LFD272-JP クラス フォーラム
- 12 LFD273 Class Forum
- 146 LFS101 Class Forum
- 1 LFS111 Class Forum
- 3 LFS112 Class Forum
- 2 LFS116 Class Forum
- 4 LFS118 Class Forum
- 6 LFS142 Class Forum
- 5 LFS144 Class Forum
- 4 LFS145 Class Forum
- 2 LFS146 Class Forum
- 3 LFS147 Class Forum
- 1 LFS148 Class Forum
- 15 LFS151 Class Forum
- 2 LFS157 Class Forum
- 25 LFS158 Class Forum
- 7 LFS162 Class Forum
- 2 LFS166 Class Forum
- 4 LFS167 Class Forum
- 3 LFS170 Class Forum
- 2 LFS171 Class Forum
- 3 LFS178 Class Forum
- 3 LFS180 Class Forum
- 2 LFS182 Class Forum
- 5 LFS183 Class Forum
- 31 LFS200 Class Forum
- 737 LFS201 Class Forum - Discontinued
- 3 LFS201-JP クラス フォーラム
- 18 LFS203 Class Forum
- 130 LFS207 Class Forum
- 2 LFS207-DE-Klassenforum
- 1 LFS207-JP クラス フォーラム
- 302 LFS211 Class Forum
- 56 LFS216 Class Forum
- 52 LFS241 Class Forum
- 48 LFS242 Class Forum
- 38 LFS243 Class Forum
- 15 LFS244 Class Forum
- 2 LFS245 Class Forum
- LFS246 Class Forum
- 48 LFS250 Class Forum
- 2 LFS250-JP クラス フォーラム
- 1 LFS251 Class Forum
- 151 LFS253 Class Forum
- 1 LFS254 Class Forum
- 1 LFS255 Class Forum
- 7 LFS256 Class Forum
- 1 LFS257 Class Forum
- 1.2K LFS258 Class Forum
- 10 LFS258-JP クラス フォーラム
- 118 LFS260 Class Forum
- 159 LFS261 Class Forum
- 42 LFS262 Class Forum
- 82 LFS263 Class Forum - Discontinued
- 15 LFS264 Class Forum - Discontinued
- 11 LFS266 Class Forum - Discontinued
- 24 LFS267 Class Forum
- 22 LFS268 Class Forum
- 30 LFS269 Class Forum
- LFS270 Class Forum
- 202 LFS272 Class Forum
- 2 LFS272-JP クラス フォーラム
- 1 LFS274 Class Forum
- 4 LFS281 Class Forum
- 9 LFW111 Class Forum
- 259 LFW211 Class Forum
- 181 LFW212 Class Forum
- 13 SKF100 Class Forum
- 1 SKF200 Class Forum
- 1 SKF201 Class Forum
- 795 Hardware
- 199 Drivers
- 68 I/O Devices
- 37 Monitors
- 102 Multimedia
- 174 Networking
- 91 Printers & Scanners
- 85 Storage
- 758 Linux Distributions
- 82 Debian
- 67 Fedora
- 17 Linux Mint
- 13 Mageia
- 23 openSUSE
- 148 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 353 Ubuntu
- 468 Linux System Administration
- 39 Cloud Computing
- 71 Command Line/Scripting
- Github systems admin projects
- 93 Linux Security
- 78 Network Management
- 102 System Management
- 47 Web Management
- 63 Mobile Computing
- 18 Android
- 33 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 370 Off Topic
- 114 Introductions
- 173 Small Talk
- 22 Study Material
- 805 Programming and Development
- 303 Kernel Development
- 484 Software Development
- 1.8K Software
- 261 Applications
- 183 Command Line
- 3 Compiling/Installing
- 987 Games
- 317 Installation
- 96 All In Program
- 96 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)