[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
slackbook:basic_networking_utilities [2012/09/17 02:39 (UTC)] – [mutt] Added original text and formatting mfillpotslackbook:basic_networking_utilities [2012/09/17 02:49 (UTC)] (current) – [Sources] updated the author list mfillpot
Line 490: Line 490:
 ==== mailx ==== ==== mailx ====
  
-So those are great and everything, but what if you just want a mail client that isn't menu-driven? Thankfully mailx is here to save you.+So those are great and everything, but what if you just want a mail 
 +client that isn't menu-driven? Thankfully 
 +**//mailx//** is here to save you. 
  
-mailx is based on the Berkeley Mail application, with a mail command appearing as early as Version 1 of AT&T's UNIX. It can be used either interactively or non-interactively. 
  
-mailx reads mail from your computer's mail spool and displays the usual combination of sender, subject, status, and size in a list, leaving the user at an interactive prompt. In fact, it might look familiar to you if you bothered checking your mail immediately after installing Slackware and read Pat Volkerding's greeting.+**//mailx//** is based on the Berkeley Mail 
 +application, with a **//mail//** command 
 +appearing as early as Version 1 of AT&T's UNIX. It can be 
 +used either interactively or non-interactively. 
 + 
 + 
 +**//mailx//** reads mail from your computer's 
 +mail spool and displays the usual combination of sender, subject, 
 +status, and size in a list, leaving the user at an interactive 
 +prompt. In fact, it might look familiar to you if you bothered 
 +checking your mail immediately after installing Slackware and read 
 +Pat Volkerding's greeting. 
  
 <code> <code>
 +
 darkstar:~# mailx darkstar:~# mailx
-Heirloom mailx version 12.4 7/29/08.  Type ? for help.+Heirloom mailx version 12.4 7/29/08.Type ? for help.
 "/var/spool/mail/root": 2 messages 2 new "/var/spool/mail/root": 2 messages 2 new
->N  1 To root            Thu Mar 10 23:33   52/1902  Register with the Linux counter project +>N1 To rootThu Mar 10 23:33 52/1902Register with the Linux counter project 
- N  2 To root            Thu Mar 10 23:35  321/15417 Welcome to Linux (Slackware 14.0)!+ N2 To rootThu Mar 10 23:35321/15417 Welcome to Linux (Slackware 14.0)!
 ?; ?;
 </code> </code>
  
-To read a message, enter the number of the message at the prompt. This displays the message using more, so use the **RETURN** key to view the next page. Once the end of the message has been reached, press **q** to return to the list view, or **RETURN** to continue to the next message. 
  
-To see a list of available commands, enter **?** at the mail prompt; using the commands provided, you can view the headers of mail in the spool, reply, delete, save, and many other common email tasks.+To read a message, enter the number of the message at the 
 +prompt. This displays the message using 
 +**//more//**, so use the <key>'RETURN'</key> 
 +key to view the next page. Once the end of the message has been 
 +reached, press <key>'q'</key> to return to the list view, or 
 +<key>'RETURN'</key> to continue to the next message. 
 + 
 + 
 +To see a list of available commands, enter <key>'?'</key> at the 
 +**//mail//** prompt; using the commands provided, 
 +you can view the headers of mail in the spool, reply, delete, save, 
 +and many other common email tasks
 + 
 + 
 +**//mailx//** is most powerful when used in 
 +scripting. For all of the options available for 
 +**//mailx//**, view its man page. A simple way to 
 +send an email to someone requires only the command itself and the 
 +destination address.
  
-mailx is most powerful when used in scripting. For all of the options available for mailx, view its man page. A simple way to send an email to someone requires only the command itself and the destination address. 
  
 <code> <code>
-  darkstar:~$  mailx bob@example.com+ 
 +darkstar:~$mailx bob@example.com
 </code> </code>
  
-After the command has been issued, an interactive prompt appears for a subject line, the message body, and the end character (a single period on an otherwise empty line). 
  
-mailx can be used entirely without human intervention, however. Generally, it's safe to assume that any attribute you can define in the interactive shell for mailx can also be defined while scripting it or using it as one non-interactive command.+After the command has been issued, an interactive prompt appears for 
 +a subject line, the message body, and the end character (a single 
 +period on an otherwise empty line). 
 + 
 + 
 +**//mailx//** can be used entirely without human 
 +intervention, however. Generally, it's safe to assume that any 
 +attribute you can define in the interactive shell for 
 +**//mailx//** can also be defined while scripting 
 +it or using it as one non-interactive command. 
  
 <code> <code>
-  darkstar:~$ mailx -n -s "Test message" bob@example.com < ~/message.txt+ 
 +darkstar:~$ mailx -n -s "Test message" bob@example.com < ~/message.txt
 </code> </code>
  
-In this example, the contents of the file message.txt would be sent as the message body to the specified recipient. No interaction from the user is required. 
  
-Within one's own computer (localhost) or one's own network, sending email in this manner is entirely possible. But over the internet a few more steps are usually required along the way. Of course, most notably there is usually an smtp server handling the delivery of your email. This, too, can be specified as part of your mail command:+In this example, the contents of the file 
 +''message.txt'' would be sent as the message body 
 +to the specified recipient. No interaction from the user is required. 
 + 
 + 
 +Within one's own computer (localhost) or one's own network, sending 
 +email in this manner is entirely possible. But over the internet a 
 +few more steps are usually required along the way. Of course, most 
 +notably there is usually an smtp server handling the delivery of your 
 +email. This, too, can be specified as part of your 
 +**//mail//** command: 
  
 <code> <code>
-  darkstar:~$  env MAILRC=/dev/null + 
-  from="bob@example.com (Bob Dobbs)" +darkstar:~$env MAILRC=/dev/null 
-  smtp=relay.example.com mail -n -s "Test message" connie@example.com < ~/message.txt+from="bob@example.com (Bob Dobbs)" 
 +smtp=relay.example.com mail -n -s "Test message" connie@example.com < ~/message.txt
 </code> </code>
  
-In this case, the MAILRC variable is set to /dev/null in order to override any system defaults, and the smtp server as well as the //FROM:// line are defined. The rest of the command is the same as using mailx internally within one's own computer or network. 
  
-Over allmailx is usually viewed as a mail client with the bare-minimum features; this is largely true, but when you need to be able to script sending notification emails or important update messagesit quickly becomes a lot more valuable than a fully interactive application like pine or mutt.+In this case, the //MAILRC// variable is set to 
 +/dev/null in order to override any system defaultsand the 
 +smtp server as well as the //FROM:// line are 
 +defined. The rest of the command is the same as using 
 +**//mailx//** internally within one's own 
 +computer or network. 
  
 +Over all, **//mailx//** is usually viewed as a
 +mail client with the bare-minimum features; this is largely true,
 +but when you need to be able to script sending notification emails
 +or important update messages, it quickly becomes a lot more valuable
 +than a fully interactive application like
 +**//pine//** or **//mutt//**.
 ===== FTP Clients ===== ===== FTP Clients =====
  
-Lots of data is stored on FTP servers the world over. In fact, Slackware Linux was first publically offered via FTP and continues to be distributed in this fashion today. Most open source software can be downloaded in source code or binary form via FTP, so knowing how to retrieve this information is a handy skill. +Lots of data is stored on FTP servers the world over. In fact, 
 +Slackware Linux was first publically offered via FTP and continues to 
 +be distributed in this fashion today. Most open source software can be 
 +downloaded in source code or binary form via FTP, so knowing how to 
 +retrieve this information is a handy skill.
 ==== ftp ==== ==== ftp ====
  
-The simplest FTP client included with Slackware is named simply, ftp(1) and is a reliable if somewhat simple means of sending and retrieving data. ftp connects to an FTP server, asks for your username and password, and then allows you to put or get data to and from that server. ftp has fallen out of favor with more experienced users do to a lack of features, but remains a handy tool, and much of the documentation you see online will refer you to it.+The simplest FTP client included with Slackware is named simply, 
 +**//ftp//**(1) and is a reliable if somewhat simple 
 +means of sending and retrieving data. **//ftp//** 
 +connects to an FTP server, asks for your username and password, and 
 +then allows you to put or get data to and from that server. 
 +**//ftp//** has fallen out of favor with more 
 +experienced users do to a lack of features, but remains a handy tool, 
 +and much of the documentation you see online will refer you to it
 + 
 + 
 +Once an FTP session has been initialized, you'll be placed at a prompt 
 +somewhat like a shell.From here you can change and list directories 
 +using the //"cd"// and //"ls"// commands, just like a shell.Additionally, you 
 +may issue the //"put"// command to send a file to the server, or a //"get"// 
 +command to retrieve data from the server. If you're connecting to a 
 +public FTP server, you'll want to use the //"anonymous"// username and 
 +simply enter your e-mail address (or a fake one) for the password.
  
-Once an FTP session has been initialized, you'll be placed at a prompt somewhat like a shell. From here you can change and list directories using the "cd" and "ls" commands, just like a shell. Additionally, you may issue the "put" command to send a file to the server, or a "get" command to retrieve data from the server. If you're connecting to a public FTP server, you'll want to use the "anonymous" username and simply enter your e-mail address (or a fake one) for the password. 
  
 <code> <code>
Line 570: Line 651:
 ==== ncftp ==== ==== ncftp ====
  
-ncftp(1) (pronounced nick-f-t-p), is a more feature rich successor to ftp, supporting tab completion and recursive retrieval. It automatically connects to a server as the anonymous user, unless you specify a different username on the commandline with the [-uargument. The primary advantage over ftp is the ability to send and retrieve multiple files at once with the "mput" and "mget" commands. If you pass the [-Rargument to either of them, they will recursively put or get data from directories.+**//ncftp//**(1) (pronounced nick-f-t-p), is a more 
 +feature rich successor to **//ftp//**, supporting 
 +tab completion and recursive retrieval. It automatically connects to a 
 +server as the anonymous user, unless you specify a different username 
 +on the commandline with the //-u// argument. The primary 
 +advantage over **//ftp//** is the ability to send 
 +and retrieve multiple files at once with the //"mput"// and //"mget"// 
 +commands. If you pass the //-R// argument to either of them, 
 +they will recursively put or get data from directories. 
  
 <code> <code>
 darkstar:~# ncftp ftp.osuosl.org darkstar:~# ncftp ftp.osuosl.org
-Logging in...                                                                   +Logging in... 
 Login successful. Login successful.
-Logged in to ftp.osuosl.org.                                                    +Logged in to ftp.osuosl.org.
 ncftp / > cd pub/slackware/slackware-current ncftp / > cd pub/slackware/slackware-current
 Directory successfully changed. Directory successfully changed.
 ncftp ...ware/slackware-current > mget -R isolinux ncftp ...ware/slackware-current > mget -R isolinux
-isolinux/README.TXT:                                     4.63 kB 16.77 kB/s   +isolinux/README.TXT: 4.63 kB 16.77 kB/s 
-isolinux/README_SPLIT.TXT:                             788.00 B    5.43 kB/s   +isolinux/README_SPLIT.TXT: 788.00 B5.43 kB/s 
-isolinux/f2.txt:                                       793.00 B    5.68 kB/s   +isolinux/f2.txt: 793.00 B5.68 kB/s 
-isolinux/initrd.img:                                    13.75 MB 837.91 kB/s   +isolinux/initrd.img:13.75 MB 837.91 kB/s 
-isolinux/iso.sort:                                      50.00 B  354.50 B/s    +isolinux/iso.sort:50.00 B354.50 B/s  
-isolinux/isolinux.bin:                                  14.00 kB 33.99 kB/s   +isolinux/isolinux.bin:14.00 kB 33.99 kB/s 
-isolinux/isolinux.cfg:                                 487.00 B    3.30 kB/s   +isolinux/isolinux.cfg: 487.00 B3.30 kB/s 
-isolinux/message.txt:                                  760.00 B    5.32 kB/s   +isolinux/message.txt:760.00 B5.32 kB/s 
-isolinux/setpkg:                                         2.76 kB 19.11 kB/s  +isolinux/setpkg: 2.76 kB 19.11 kB/s
 ncftp ...ware/slackware-current > bye ncftp ...ware/slackware-current > bye
 </code> </code>
- 
 ==== lftp ==== ==== lftp ====
  
-The last client we're going to look at is lftp(1). Like ncftp, it supports tab completion and recursive activity, but has a more friendly license. Rather than user "mget" and "mput", all recursive operations are handled with the "mirror" command. "mirror" has many different options available, so I'll have to refer you to the man page and the built-in "help" command for complete details.+The last client we're going to look at is 
 +**//lftp//**(1).Like 
 +**//ncftp//**, it supports tab completion and 
 +recursive activity, but has a more friendly license.Rather than user 
 +//"mget"// and //"mput"//, all recursive operations are handled with the 
 +//"mirror"// command.//"mirror"// has many different options available, so 
 +I'll have to refer you to the man page and the built-in //"help"// command 
 +for complete details. 
  
 <code> <code>
 darkstar:~# lftp ftp.osuosl.org darkstar:~# lftp ftp.osuosl.org
 lftp ftp.osuosl.org:~> cd /pub/slackware/slackware-current lftp ftp.osuosl.org:~> cd /pub/slackware/slackware-current
-cd ok, cwd=/pub/slackware/slackware-current            +cd ok, cwd=/pub/slackware/slackware-current
 lftp ftp.osuosl.org:/pub/slackware/slackware-current> mirror isolinux lftp ftp.osuosl.org:/pub/slackware/slackware-current> mirror isolinux
-Total: 2 directories, 16 files, 1 symlink                                      +Total: 2 directories, 16 files, 1 symlink
 New: 16 files, 1 symlink New: 16 files, 1 symlink
 14636789 bytes transferred in 20 seconds (703.7K/s) 14636789 bytes transferred in 20 seconds (703.7K/s)
 lftp ftp.osuosl.org:/pub/slackware/slackware-current> bye lftp ftp.osuosl.org:/pub/slackware/slackware-current> bye
 </code> </code>
- 
 ===== rsync ===== ===== rsync =====
  
-Ready to see something cool? Have you ever found yourself needing just a handful of files from a large directory, but you're not entirely sure which files you already have and which ones you need? You can download the entire directory again, but that's duplicating a lot of work. You can pick and chose, manually check everything, but that's very tedious. Perhaps you've downloaded a large file such as an ISO, but something went wrong with the download? It doesn't make sense that you should have to pull down the entire file again if only a few bits have been corrupted. Enter rsync(1), a fast and versatile copying tool for local and remote files.+Ready to see something cool? Have you ever found yourself needing just 
 +a handful of files from a large directory, but you're not entirely sure 
 +which files you already have and which ones you need? You can download 
 +the entire directory again, but that's duplicating a lot of work. You 
 +can pick and chose, manually check everything, but that's very tedious. 
 +Perhaps you've downloaded a large file such as an ISO, but something 
 +went wrong with the download? It doesn't make sense that you should 
 +have to pull down the entire file again if only a few bits have been 
 +corrupted.Enter **//rsync//**(1), a fast and 
 +versatile copying tool for local and remote files
 + 
 + 
 +**//rsync//** uses a handful of simple, but very 
 +effective techniques to determine what needs to be changed. By checking 
 +file size and time stamps, it can determine if two files are different. 
 +If something has changed, it can determine what bytes are different, 
 +and simply download that handfull of data rather than an entire file. 
 +It is truly a marvel of modern technology.
  
-rsync uses a handful of simple, but very effective techniques to determine what needs to be changed. By checking file size and time stamps, it can determine if two files are different. If something has changed, it can determine what bytes are different, and simply download that handfull of data rather than an entire file. It is truly a marvel of modern technology. 
  
-In its simplist form, rsync connects to an rsync protocol server and downloads a list of files and directories, along with their sizes, timestamps, and other information. It then compares this to the local files (if any) to determine what it needs to transfer. Only files that are different will be synced. Additionally, it breaks up large files into smaller chunks and compares those chunks using a quick and simple hash function. Any chunks that match are not transferred, so the amount of data that must be copied can be dramatically reduced. rsync also supports compression, verbose output, file deletion, permission handling, and many other options. For a complete list, you'll need to refer to the man page, but I've included a small table of some of the more common options.+In its simplist form, **//rsync//** connects to an 
 +rsync protocol server and downloads a list of files and directories, 
 +along with their sizes, timestamps, and other information. It then 
 +compares this to the local files (if any) to determine what it needs to 
 +transfer. Only files that are different will be synced.Additionally, 
 +it breaks up large files into smaller chunks and compares those chunks 
 +using a quick and simple hash function. Any chunks that match are not 
 +transferred, so the amount of data that must be copied can be 
 +dramatically reduced.**//rsync//** also supports 
 +compression, verbose output, file deletion, permission handling, and 
 +many other options. For a complete list, you'll need to refer to the 
 +man page, but I've included a small table of some of the more common 
 +options.
  
 **Table 16.1. rsync Arguments** **Table 16.1. rsync Arguments**
Line 626: Line 750:
 |-z |Compress - handy for slow network connections| |-z |Compress - handy for slow network connections|
  
-Due to the power and versatility of rsync, it can be invoked in a number of ways. The following two examples connect to an rsync protocol server to retrieve some information and to another server via ssh to encrypt the transmission.+Due to the power and versatility of **//rsync//**, 
 +it can be invoked in a number of ways.The following two examples 
 +connect to an rsync protocol server to retrieve some information and to 
 +another server via ssh to encrypt the transmission. 
  
 <code> <code>
Line 633: Line 761:
 darkstar:~# rsync -e ssh ftp.slackware.com:/home/alan/foo /tmp/foo darkstar:~# rsync -e ssh ftp.slackware.com:/home/alan/foo /tmp/foo
 </code> </code>
- 
 ====== Chapter Navigation ====== ====== Chapter Navigation ======
  
Line 642: Line 769:
 ====== Sources ====== ====== Sources ======
 <!-- If you copy information from another source, then specify that source --> <!-- If you copy information from another source, then specify that source -->
-  * Original source: [[http://www.slackbook.org/beta]] +  * Original source: [[http://www.slackbook.org/beta]] \\
 <!-- Authors are allowed to give credit to themselves! --> <!-- Authors are allowed to give credit to themselves! -->
-<!-- * Originally written by [[wiki:user:xxx | User X]] -->+  * Originally written by Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
 <!-- * Contrbutions by [[wiki:user:yyy | User Y]] --> <!-- * Contrbutions by [[wiki:user:yyy | User Y]] -->
  
 slackbook:basic_networking_utilities ()