This is
USER information for Linux/Unix operating systems.
The advice in this web should apply equally well for Linux or Unix systems.
Insights and Overviews about Linux/UNIX
There are several inherent benefits in learning to use Unix systems. I've built a short summary in
UnixBenefits.
Jeff Watts circulated this cute essay about
PersonalEvolutionOfAWindowsUser into a Linux user. It matches exactly
MyPersonalExperience in the essay "Live Report From Linux Land" that was published in
The Political Methodologist.
Also it meshes with the
FamousAirplaneAnalogy to Linux usage.
Things Everybody Must know.
Log Into Your Account
If you have an account on a Unix/Linux system, you can either sit down in front of the machine and log in by typing your name/password, or you must login remotely to the system.
If you have direct access to a Unix/Linux system, your job is easy. Log in. Then find a way to run one of the many "terminal emulation" programs. The classic, most famous, is "xterm", but most systems have others like "rxvt" or "gnome-terminal" or so forth. If your system has a graphical interface, you can get a terminal emulator in many ways. Look for a "run command" menu item and then type "xterm" or "rxvt".
There are plenty of programs ("clients") you can use for
RemoteLogin and they give you a "terminal emulation" as if you were actually sitting in front of the Unix/Linux system.
Type in some commands!
Suppose you log in for the first time. Try to follow along with some commands described in
FirstTime.
Absolutely Vital Things Everybody must know. There is a small set of frequently used commands discussed in
CommonCommands. Some things are so vital I've written more detailed info, such as
ListFiles and
FindFiles.
The Shell
When you give commands in a Unix/Linux system, they are always interpreted inside a "shell", or a basic framework that allows some commands and understands them. Here are some
UnixtipsShellBasics. All shells I know of offer some form of automatic
CommandCompletion, so that if you start typing some long filename, all you do is hit the magic button and the system will complete it for you.
File Formats
On Unix/Linux systems, files are often packed with tar and compressed with the GNU gzip program. See
TarAndGzip? .
The Unix File System
Unlike Microsoft systems, where users and programs typically write files wherever the hell they want, the Unix/Linux system is organized and clean and limits the ability of users and programs to write to a few, well specified places. Read
UnixFilesystem for more info.
User Permissions
Just about the best thing about Unix/Linux is security. Your files are protected from other users, and the system's files are protected from you. MS Windows has been inching along toward this kind of protection, but they always seem to get it wrong. So the first thing you should do is learn about
FilePermissions and how to change them, and then overview the
UnixFilesystem.
What about Graphical Programs?
If you log into a Unix/Linux system, and you are in the "console"--the place where you type in commands, then you have access only to the "command line interface." You type stuff in, see the results in letters and numbers.
If you need more, you need an X-Server to display graphical information.An X-Server is a program that displays pretty pictures, boxes, menus, and such. If you are logged into a Unix/Linux system, and you run a program that requires graphics, it may fail unless you have an X-Server running.
You probably already have an X-Server running if you are logged into a Unix/Linux workstation. If you see pictures, icons, and stuff like that, you are seeing them on an X-Server's display, so that means you have an X-Server.
If you log into a remote Unix/Linux system with "ssh", and then you run a graphical program from that computer, its graphics will automatically get "projected" across the network onto the monitor that you are using. If you log in with telnet or some other client program, the graphics will not be automatically forwarded to your terminal, but it is pretty easy to set up. In case you ever need to do that, let me know, I'll draw you a little diagram.
If you are on a Windows System, you may need to learn more about
GettingAnXServer.
How Can You Edit Files on a Unix/Linux System
There are many good answers to this question. I am afraid to start giving too much information for fear it will make people think it is too bewildering. Nevertheless, check out
EditingFiles.
Networking that All Smart People Understand
These days, the programs that I usually use to move files around are "scp", "gsftp" and "filezilla". All of these have an option to use the secure shell to log in to a remote server. Many systems will no longer accept the command line "ftp" (file transfer program), bt that name is still used to refer generically to programs that move files around. In case you are ever stuck on a desert island with an ftp program and nothing else, you could use ftp to log in somewhere and get scp, ssh, etc. In that eventuality, you might review
CommandLineFTP. For people who can't make their graphical display work, there is a web browser (which was pioneered at my University) called lynx that can work in text mode. See
UseLynx.
Recall that ssh, short for "secure shell", is a way to log into systems so that your password is protected from people who might be snooping on the line. The program "scp" is a secure file transfer program that uses ssh. In order to use it, you have to know where a file is, and then you get it with a command like
scp otherusername@othersystem:desired_file_name .
The "period" means "current directory". If you use the -r option with scp, it will copy recursively down through a directory structure.
Find Out More
Unix/Linux programs are supposed to be "self documenting". Many come with a manual page, and to read it you type
man program_name
Some newer programs from GNU want to use an alternative "info" format for these pages, and the program "info" can view them, although I admit they are hard to navigate unless you are in Emacs, which has a built in info viewer.
On the web, you can find tons of tutorials on the basis of interacting with a Unix or Linux system from the command line. Although these systems have an increasing amount of graphical user interface, you will be embarrasses among knowledgable users if you can't handle the minimal things from the command line.
For people who use Swarm, I compiled some common Unix tips. They may help other people as well:
http://pj.freefaculty.org/SwarmFaq/Memos/Swarm-Unix-FAQ.html
Benedikt Stefansson put together some help on the BASH shell:
http://pj.freefaculty.org/SwarmFaq/benediktBashHelp.html
"Getting to know BASH":
http://www.luv.asn.au/overheads/bash.html
And if you want to write programs to run in the shell, I learned the basics from a book called "Beginning Linux Programming" by Neil Matthew and Richard Stones and "Unix Power Tools" by Jerry Peek, Tim O'Reilly, and Mike Loukides. There is a good online page for wanna-be scritp writers:
http://www.shelldorado.com/
Although the Usenet is rapidly declining in its reach and availability, it still seems to me that many smart old timers read & write ther. When an ordinary Google search doesnt find what you need, turn on the google "groups" option, and it will give you read access to the Usenet.
Running Your Own Linux System
I've set up Linux for lots of people, and sometimes people really enjoy tinkering with it. At one time, I was trying to maintain a big collection on system administration, but I found that most of my bits went "out of style" too quickly. I've pared down to a few core tips under the page
LinuxAdministration. For more up-to-date things, the things I don't want to forget, I now post things into a blog. It is a little more convenient to use 'drivel' to jot down a few things on a pc and plop it up there. Got to
http://pj.freefaculty.org/blog and choose the Linux category.