GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
As some of you may already know (thanks for all your help so far) I'm fairly new to Linux and am thoroughly enjoying the experience. I'm trying to be more proactive in my learning of the system and find the whole thing fascinating. I've been working my way through the linkbat tutorial (http://www.linux-tutorial.info/Linkbat/) and love the depth and detail it goes into. I just thought I'd ask if there was any other material that I should be reading. As a "grown up" kid who used to take his toys apart to findout how they worked I'd really like to get into the workings of this thing. It would also be a nice feeling to be able to contribute more to the forum, as I'm certainly grateful for the help I've received so far.
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
Rep:
The dd command is pretty cool. I already have a post called: "Learn the dd command". you can really, really do a lot with it. Also, learn about command piping. You can pipe the output of one command into the input of another command with the "pipe" character. It is above the "\" on the same key. Here is an example:
Suppose you think your girlfriend is cheating on you. Here is how to search her entire hard drive for a text string. You use a boot cd, like Knoppix, to do this.
<dd if=/dev/sda | hexdump -C | grep 'I just don't love Tony any more'>
That will search the whole drive "sda" for the text string after the grep command. This is a display of the power behind "dd", and an example of piping three commands together. Every instance of the text string, whether it is in a deleted file, a chat log, email, or disk free space will appear on the screen, complete with a byte offset to where it is exactly on the hard drive. In my post it tells you how to use dd to view a particular part of a disk, knowing the byte offset.
If you are having fun learning linux now, it will never end. Linux is an endless frontier, composed of millions of programmers, tens of thousands of programs, and an absolutely endless variety.
Moved: This thread is more suitable in General since it's not really a question, and has been moved accordingly to help your thread/question get the exposure it deserves.
Thanks everyone, and thanks for putting the thread in a better place Tinkster. I must admit I wasn't quite sure about which of the two forums to go for.
The dd command stuff looks amazing. When it comes to programming I have been learning C++, although I have been concerned about wether this is a good place to start. Can anyone tell me wether switching to C would be a better way forward for working with Linux, and just out of curiosity, what the advantages of C over C++ might be.
My personal stance would be that it depends on what your
priority is:
If you want easy code re-use and (in bigger projects) more
easily maintainable code - go with C++.
If you want maximum performance out of your project, go and
use C for it.
Raw C will still beat C++ hands down, and C++ will beat
most of the interpreted/byte-compiled languages hands
down on most tasks.
I'm glad posted this while I'm in the earlier stages of learning as a switch to C won't involve any "wasted" time. I can certainly see the advantages and love the idea of working in a language that brings you so close to the machine. Besides, even at this stage I'm beginning to perceive that once I learn my first language thoroughly, switching to another won't involve a horrendous learning curve. For instance, now that I have grasped the principles of object oriented programming, switching from C to C++ or another language that depends on it at a later stage won't phase me. Especially since if I learn to program well and in an organised fashion a form of object oriented approach for handling file systems will be something that I will already be dealing with in C.
For the time being at least, learning C seems like the best way to get a good solid grounding on which to build a wider repetoire later on. Thanks again guys. You've saved me weeks if not months of going down blind alleys.
Caution here, though. Learning the ropes in a procedural
language is often a HINDRANCE in learning OO stuff.
C++ is NOT just a superset of C, it's a whole new world,
a completely different paradigm of programming, with a VERY
similar syntax, but the semantics are completely different.
Thanks for the tip Tink, I'm actually signed off sick until September 2006 so I'm guessing that if I'm reasonably disiplined with my time it should be sufficient to learn C first and then go on to the objected oriented language before I start the diploma course that I hope to commence in September. Please feel free to correct me if I am sadly misguided in thinking that ithis is possible, or wether I'll just end up with a half baked knowledge of each language.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.