Connecting to cse.unl.edu and other unix servers with ssh from Linux
Open a Terminal window. The instructions that follow are for Ubuntu Linux. Other distributions are similar.
Click on the grid button in the lower left corner.
Enter "Terminal" in the search dialog that appears.
In the window that appears when you click on the Terminal icon shown above, enter "ssh -Y username@cse.unl.edu". Substitue your cse user name for "username" in this command. You can omit the "-Y" flag if you do not want to use ssh X forwarding (and if you don't know what this is, you can safely omit it). The examples below use a user name of "sac".
The first time that you connect to cse.unl.edu, or any other Linux/Unix server, a dialog like that shown above will appear. Answer "yes" to this.
If you have forgotten your MySQL password, reset your MySQL password by going to https://cse.unl.edu/account. Log in using your School of Computing (SoC) credentials and click the 'Reset MySQL Password' link. A new randomly generated password will be sent to you via email.
Changing MySQL Password from the MySQL CLI
If you know your old MySQL password, the password can be changed from MySQL workbench or from the MySQL command line interface (CLI). To chance your password from the CLI, connect to cse.unl.edu, run the MySQL client, once connected, enter the following command at the MySQL client prompt: 'set password=password('####');' and hit enter. Where '####' denotes the password you wish.
Connecting to the Windows Terminal Server from Linux
The instructions that follow are for Ubuntu Linux. Other Linux distributions are similar except for installing the "Remmina" program.
Click on the grid icon at the lower left of the screen.
In the search dialog that appears enter "rdp". The Remmina application should appear in the results. Click on that icon.
In order to connect to our terminal server you need to add a customized connection. Click on the green "+" symbol in the Remmina program and enter the following information:
Profile name: csnt-ts (or another name that you'd like to use).
Server: csnt-ts.unl.edu
User password: your CSE password
Domain: cs.unl.edu
Color depth: True color (24 bpp)
And then click the "Save" or "Save as Default" button.
Double click on the session you just saved.
A dialog may appear asking you to accept a certificate for csnt-ts. You should accept the certificate.
Accessing School of Computing systems using NoMachine - Remote X11 GUI access
NoMachine is a fast, multi protocol remote access client which allows RDP and X11 type connections to a variety of servers. We have a NX server installed on two servers;
cse-linux-01.unl.edu and cse.unl.edu,
which allows GUI X11 Desktop access to either of these systems. Below are steps on setting up a noMachine connection to cse-linux-01.unl.edu.
To configure a new connection, after you launch noMachine:
from the Recent connections pane, click on ‘New’
for Protocol select NX
In the Host input enter ‘cse-linux-01.unl.edu’
for Authentication method select Password
select the Don’t use proxy radio button.
Name your connection and finally click on Done
Once you have configured a connection to establish a connection:
from the Recent connections pane, double click on the named connection
Enter your MyRed login credentials for the cse-linux-01.unl.edu server (username and password)
Double click on the Create a new virtual desktop icon
Click thru the next four dialogs that provide you an overview on using noMachine
For connection to the legacy cse.unl.edu server you must use a CSE login and password, which is separate and distinct from your MyRed login and is only used to connect to SoC legacy servers and web applications. You will not need a CSE login unless an instructor or faculty member has told you that you need one to access legacy
research or instructional tools and/or data.
Tip: You can save your password, the connection type, and click on Don’t show this message again on the dialogs for one-click connection to cse.unl.edu
Note: Please log off when you are done working on cse.unl.edu. Simply disconnecting the NoMachine client will consume resources on the server and your session will be forcefully quit at somepoint, possibly resulting in loss of any unsaved data or settings.
Notice:
Due to network security changes by UNL ITS, printing from personal Linux systems to shared network printers in Avery and Schorr is not working. The instructions below are now obsolete and will not result in a functioning print service. We are working with ITS to develop a new procedure for printing to the network printers under the latest ITS administrative restrictions.
The example provided depicts the GUI interfaces provided by the Ubuntu Linux 20.04 LTS distribution. Note: Printing only works when you connected to a University of Nebraska network.
Prior to setting up printing, you need to install some prerequisite programs. This can be done with the shell-prompt command "sudo apt install python3-smbc smbclient" there will likely be a number of dependencies that also need to be installed when you issue this command.
Open System Settings by clicking on the icons in the upper right corner and select "Settings".
Select Printers on the left and then click "Additional Printer Settings..."
Click on Add:
Select "Windows Printer via SAMBA" Enter csnt/ and the name of the printer that you want to add such as "Avery-ps15" and select "Set authentication details now" if the option is presented. For your login credentials, you should use your CSE login username inserting cs.unl.edu\ before your CSE username, e.g. cs.unl.edu\username. Complete the administration of the printer by entering your password and click Forward:
Select Generic and click Forward on the next window:
Select PostScript in the Drivers column of the next window and select Generic PostScript Printer Foomatic/Postscript [en] (Recommended) column and then click Forward:
Enter a short name for the printer, such as "ps15", and a "Human-readable" name for the printer such as "Avery-ps15" and then click Apply. The short name can be used later for command-line printing and the "Human-readable" name will show up in print applications that use the system's GUI.
You can click Cancel on the popup window or click Print Test Page. The test page will be deducted from your print quota if you choose to print it.
If everything worked as expected you should see the printer.
If you encounter the error: CUPS server error "client-error-not-possible" or a similar error from the CUPS subsystem, you will need to install the smbclient package, and perhaps additionally the samba or smb-common package, using the package manager provided with your Linux distribution.
Linux Mint uses very much the same procedure except instead of being called "System Settings" the system configuration application is called "Control Center". Other Linux distributions are similar.
If you want to take advantage of more advanced printer features, such as duplexing or stapling, you can use a printer-specific driver for the printer models as seen at the bottom of Printing from Mac via SMB 10.8+ section of this FAQ
Local Virtual Machines in the School of Computing (SoC) are generally run under VMware Fusion or Workstation. This and other VMware products are available to SoC students through VMware's Academy Software Licensing program (which is hosted by D2L Brightspace). This service replaces our previous subscription service to VMware OnTheHub.
Downloading VMware Products
Start by requesting a subscription to the VMware Academy Software Licensing Program via the SoC account management portal as outlined below.
Check the "VMware Academic Software Program (D2L Brightspace)" checkbox and save your settings.
This will initiate an account request using your huskers.unl.edu email address. You should receive an email with a link by the next business day. Once you receive the email, click on the link provided for download access.
The link leads to a following page. Click on the 'Click here' button to proceed.
If you already have a D2L account, click on Log In, otherwise click on the Register button.
Complete your registration if you clicked on the Register button above, otherwise skip this step.
On the next page, select the "Click Here to Redeem" button.
Click on the "Software Products and License Keys" button presented on the next page.
The left column of the screen shows the steps to request the VMware software and obtain the 1-Year License Key. The right column contains the download links for your software. VM Workstation is for PC's and VMware Fusion is for MAC.
At this point, you will install the downloaded VMware client and apply the license.
Notes:
Product licenses issued through the VMware Academic Program are valid for one year from date of issue.
Access to VMware Academic Program subscription (D2L) site are reset every October.
– In effect, if your VMware product license has expired, you will need to re-request a subscription to the VMware Academic Software Licensing program by following the instructions on this FAQ Section: Downloading VMware Products, in order to access new versions of VMware products or licenses.
Code development on the SoC Linux servers with Visual Studio Code
If you are developing C or C++ code on the School of Computing's CSE server (cse.unl.edu) and using a Windows PC or Mac, you may benefit from using Visual Studio Code (https://code.visualstudio.com/docs/setup/windows (Links to an external site.)) as an editor. While not as full-featured as a true IDE, VS Code does give you syntax and code error highlighting which can be beneficial.
To use Visual Studio Code to edit your files stored on the CSE server, you will need to attach (mount) your CSE home directory as a remote drive. The instructions on the How do I access my home directory on campus? page will tell you how to mount your home directory as the Z: drive on a Windows system. A similar procedure for Mac allows mounting your home directory using Mac OS.
After mounting your CSE home directory, you can open Visual Studio Code to Explore your Z: drive, and open a workspace. Project directories located in your CSE home directory or subdirectories can be selected using the VS Code Explore tool. Selecting the Open Folder link in VS Code also opens the Explorer tool.
Figure 1. VS Code - Explorer tool view showing a mounted CSE home directory
You can use Windows Explorer to copy or move source and/or project files and directories from your local laptop hard drive into your Z: drive, and create any directories or sub-directories in your CSE home directory. If you are using Git to store your project, you can clone it directly into your Z: drive by selecting the directory on the Z: drive where you want to clone the project.
To Clone a Git repository project using VS Code, choose the Clone Repository button:
Figure 2. VS Code selecting a Github project repository to clone
Choose a directory on Z: drive to save the git project:
Figure 3. Selecting a directory on the CSE server using the mounted Z: to save the Github project repository into
This example clones a project from Github, and saves the project within the directory ~/git on the CSE server. The tilde character, ~ refers to your home directory on CSE, and the git directory is an arbitrary directory that I have chosen to save all my git projects.
For MacOS, after following the instructions to mount your CSE home directory, you can use the Mac Finder application to navigate into your CSE home directory (remote location) and copy files and directories to and from your MacOS machine. Opening files and projects in VS Code is the same in MacOS using the VS Code Explorer tool, including the cloning repositories by selecting your CSE home directory remote location.
Attaching to your CSE home directory on from an off-campus network may require using a VPN connection. The VPN is a service of UNL Information Technology Services, visit the UNL ITS Global Protect VPN page for instructions on installing and connecting to the UNL network using the VPN client.
Disk Usage Considerations
The prior version of this article instructed users to load the Remote - SSH extension into VS Code and connect to the CSE server via that extension when running VS Code. The instructions above supersede those, and make the need for a .vscode-server directory in your home directory unnecessary. If you have used VS Code using the old instructions, you may reach or exceed your quota of disk space on CSE. Using the Remote - SSH extension triggers the installation of a 100MB+ image of the VS Code Server into your home directory. With prolonged use of VS Code and Remote - SSH, you may have multiple copies of the VS Code Server application being placed in a subdirectory of your home directory. This is caused by VS Code and the update mechanism, resulting in extra copies of the executable files in ~/.vscode-server/bin. These old/extra copies count against your disk quota on the CSE server, and may result in you receiving disk quota exceeded emails from CSE Systems Support. These old/extra copies can safely be removed, an easy way to tell is if the date reported by ls -lt is the most recent, that is the copy to keep. All older copies can be safely removed.
Below is an example of what you will find in the VS Code Server directory, ~/.vscode-server and how to remove extra copies of VS Code executable files:
wmotycka@cse:~> ls -l ~/.vscode-server/bin/
total 12
drwxr-xr-x 6 wmotycka staff 4096 Oct 26 07:54 d2e414d9e4239a252d1ab117bd7067f125afd80a # NOTE OLDEST DATE
drwxr-xr-x 6 wmotycka staff 4096 Jan 16 08:55 ea3859d4ba2f3e577a159bc91e3074c5d85c0523
drwxr-xr-x 6 wmotycka staff 4096 Nov 8 09:00 fcac248b077b55bae4ba5bab613fd6e9156c2f0c # NOTE OLD DATE
wmotycka@cse:~> cd ~/.vscode-server/bin
wmotycka@cse:~/.vscode-server/bin> du -hs
317M .
wmotycka@cse:~/.vscode-server/bin> du -hd1
112M ./d2e414d9e4239a252d1ab117bd7067f125afd80a
104M ./ea3859d4ba2f3e577a159bc91e3074c5d85c0523
103M ./fcac248b077b55bae4ba5bab613fd6e9156c2f0c
317M .
wmotycka@cse:~/.vscode-server/bin> cd ../..
wmotycka@cse:~> # Remove the extra/oldest copy/copies of the VS Code Server using 'rm -rf'
wmotycka@cse:~> rm -rf ~/.vscode-server/bin/d2e414d9e4239a252d1ab117bd7067f125afd80a
wmotycka@cse:~> rm -rf ~/.vscode-server/bin/fcac248b077b55bae4ba5bab613fd6e9156c2f0c
wmotycka@cse:~>
The last two commands above remove the oldest copies of VS Code Server images while retaining the most recently dated copy present.
Latest Notes
Unless you have a particular need, we recommend completely removing the ~/.vscode-server directory and instead access files on CSE using the method above. The ~/.vscode-server directory is necessary for operation using the Remote - SSH extension but is unnecessary when using VS Code on remote-mounting files to your personal Windows or Mac machine. There is also a performance improvement to VS Code by using remote-mounted files instead of the Remote - SSH method since all of the editing work is done on your local system. Disk usage reduction and performance improvement together justify changing to the method described above. If you want, remove all the contents of the ~/.vscode-server/bin/* and then use the instructions above to connect to your project. The only change you should see may be the need to install extensions locally that you originally had installed on the CSE server.
The Remote - SSH extension can also cause performance issues on the CSE server. Features of the extension like file search spawn processes that can linger in the CSE process table, becoming "zombie" processes that can only be removed by manual intervention (reboot or using 'kill' on each.) These lingering processes reduce available processing time, which you experience as slow compiles and program execution.
VS Code on a Linux client
Running VS Code on a Linux client (for example running Ubuntu on your own laptop) the way you mount the drive is important. You will need to use the fuse filesystem and the base SAMBA client packages samba-client and samba-common. For more specifics follow (or search) the instructions for your Linux distribution regarding installing SAMBA client. For my installation (Kubuntu 22.04), I also installed samba-common-bin, samba-libs, samba-vfs-libs, smbclient, cifs-utils, and winbind packages. The Gnome Virtual Filesystem gvfs facility, if properly configured, will mount your CSE home directory to one of the two the default locations, ~/.gvfs or /run/user/<user-number>/gvfs. This gvfs facility is easy to use from the Gnome Files application, but doesn't work properly with all file managers like Dolphin, where the mounted CSE filesystem is not being exposed into the ~/.gvfs or /run/user/<user-number>/gvfs directory, as the gvfsd-fuse documentation describes. Using the Gnome Files application, the /run/user/<user-number>/gvfs directory contains the mount point directory that allows access to your CSE home directory. Later instructions provide the Linux shell command-line necessary to mount your home directory without the use of a file manager application. After installing the appropriate packages, the following steps will mount your CSE home directory:
Launch the Files application, and select Other Locations from the left-side menu:
Figure 4. Gnome Files application Other Locations page
In the Connect to Server field enter the URL for connecting to the the Samba server, smb://cse-smb1.unl.edu/%lt;cse-login%gt; where cse-login is your username on the CSE server. Finish this step by pressing the Connect button.
You will next be prompted to enter your CSE username (login id), network domain, and password. Enter cs.unl.edu for the Domain, and your CSE username and password:
Figure 5. Network connection prompt for CSE login credentials
Your CSE home directory is now mounted and can be accessed from within VS Code using the Explore Open Folder action:
Figure 6. VS Code Explore panel offering your CSE home directory under the Networks heading
You can also mount your CSE home directory using the Linux command-line shell. The following outlines the basic steps:
Open a terminal window and execute the command: gio mount smb://cse-smb1.unl.edu/cse-login replacing cse-login with your login id on the CSE server
You will be prompted for you CSE login id and credentials:
Figure 7. Mounting my CSE home directory from command-line
If your login credentials on your Linux client (laptop) are not the same as your CSE credentials, enter your CSE login username to the User prompt. The Domain is cs.unl.edu as shown in figure 4. Enter your CSE password to the Password prompt. If successful, the shell command prompt is returned.
You can then create symbolic links from the mount-point directory under /run/user/<user-number>/gvfs/ into a place in your home directory that will help navigate to it: ln -s /run/user/1000/gvfs/smb-share\:server\=cse-smb1.unl.edu\,share\=wmotycka ~/Documents/CSE creates a symbolic-link (directory path), /home/wmotycka/Documents/CSE, to the CSE home directory of the user wmotycka that can be accessed from within the VS Code Explorer, Open Folder action.
Figure 8. Navigating to the ~/public_html/homepage_jekyll project path on the CSE server using the symbolic-linked CSE path
Projects and source files that require compilers like C and C++ source will still need to be compiled from a shell command-line on CSE, since the compiler and libraries on your local Linux client system may not be compatible with the libraries installed on CSE. This does not preclude compiling and running your code on your local Linux client system, which you can do for testing and development.
Project management tools like git have extensions in VS Code that allow managing shared code projects and cloud-based source repositories through the VS Code application. The CSE server supports git and maven (mvn) source management as well as svn source version control. Code-base management can be performed from both within the VS Code application and using CSE server shell commands.
The Department of Mathematics maintains a LaTex class file that helps format your thesis to Nebraska's guidelines. This template may be helpful to Computer Science and Engineering students as well. Look for the "NU Thesis LaTeX Class File" under the Resources section of this page: https://math.unl.edu/current-graduate
To use pico, type "pico filename" where filename is the file you with to create or edit. Once in pico, you will see a list of pico commands you can use, shown on the bottom of the screen. The '^' symbols means <CTRL>. To view the pico help screen the command shown on the bottom of the screen is "^G" which means <CTRL>-G.
displays file(s) one screenful, at a time. At MORE prompt enter: space bar - for next screenful <cr> - for next
line, q - to quit more command.
cp fn1 fn2
copy file - fn1 to fn2, fn1 remains.
mv fn1 fn2
move (rename) file - fn1 to fn2, fn1 no longer exists.
rm fn
remove (delete) file.
lpr -Pprinter_name fn
print a file, printer_name = ps16 or ps17.
ls [fn]
list files in current directory option filename is usually used to display files matching wildcards. (ie. ls *.s will
list all assembly language source files.)
ls -lgRa
Recursive listing of all files within all subdirectories. Longest, most descriptive format.
cd [dir]
change working directory, ``home directory" if not specified. cd .. will backup one level in the directory structure.
pwd
print working directory path.
mkdir dir
make a new directory, giving it the name dir (within the current directory)
rmdir dir
remove (delete) the directory named dir (the directory must be empty)
file fn
Tries to determine what kind of information is in a file by consulting the file system index and by reading the file itself.
du
Prints a summary of total space occupied by all files in a hierarchy.
sort fn
Sorts ASCII files line-by-line.
chmod
Change file permissions. See the man pages for a complete description of settings. Use this command to determine whether
files can be readable by other people.
find . -name filename
In it's most simple form find will display all files in this and any subdirectories which name matches filename.
See the man page for find for a complete description of this command. Find can be use to find files matching
name patters, dates, owners, sizes, etc. and to perform action on matched files.
gzip fn
Use this to compress files not needed immediately to conserve disk space. A ``.gz" will be appended to the filename.
gzip -d
Uncompresses files with ``.Z" at end of filename.
head {-n} fn
Prints first n lines of a text file. If no number is specified, the default is 10.
tail {-n} fn
Prints last n lines of a text file. If no number is specified, the default is 10.
tail {-n} fn
Prints last n lines of a text file. If no number is specified, the default is 10.
grep string fn
Print occurrences of string in file
Remote Connection:
ssh remote_host
Launch a secure shell to the remote host specified.
Communication:
finger
list users currently on the system.
who
list users currently on the system.
w
what, similar to who but includes what they are doing.
pine
Email message utility.
pine username
will send Email to username.
talk username
allows two users to have an interactive conversation over the computer.
write username
allows a user to put a message on another users screen.
mesg n
Makes it so other users cannot interrupt you with talk requests, and write messages.
Help:
man command
manual, returns the manual for the given command from the UNIX on-line manual. If you cannot find a man page for a command,
there may be one in a directory that isn't in your MANPATH. Your MANPATH is setup in the .login file and a command's
man page is usually in a man directory off the same parent directory as the command. For example, if the command is
located in /usr/local/bin, its man page is probably in /usr/local/man.
man -k keyword
display manual headings containing the word keyword.
Miscellaneous:
alias name def
Assigns ``def'' to the alias ``name''. Usually found in the .cshrc file. For example ``alias dir ls -la''.
clear
Clears screen.
history
List history of commands used.
!!
re-execute the last command entered.
!x
re-execute the last command that started with the given letter, eg !c will re-execute the last command that began with
the letter c.
jobs -l
list all currently stopped or background jobs with job numbers and process ID's.
kill [-signal] %jobnumber
kill the given job number. Use the "jobs" command to show running jobs. You might need to kill a job to logout if you
have accidentally put a job into the background or stopped a job. Use -TERM or -KILL singlas to force quite jobs.
kill PID
kill the given Process. refer the "ps" command to find running processes. Use -TERM or -KILL singlas to force quite jobs.
ps -fa
list all your current processes. See the man page for a full description.
<control>C
kill the current process - the one in the
foreground
<control>Z
suspend foreground process.
bg
put a suspended job in the background.
fg
put a suspended or background job in the foreground.
The default editor that comes with the UNIX operating system is called
vi (
visual editor). [Alternate editors for UNIX environments include
pico and
emacs, a product of GNU.]
The UNIX
vi editor is a full screen editor and has two modes of operation:
Command mode commands which cause action to be taken on the file, and
Insert mode in which entered text is inserted into the file.
In the command mode, every character typed is a command that does something to the text file being edited; a
character typed
in the command mode may even cause the
vi editor to enter the insert mode. In the insert mode, every character typed is added to the text
in
the file; pressing the
<Esc> (
Escape) key turns off the Insert mode.
While there are a number of
vi commands, just a handful of these is usually sufficient for beginning
vi users. To assist such users, this Web page contains a sampling of basic
vi commands. The most basic and useful commands are marked with an asterisk (
* or star) in the tables below. With practice, these commands should become automatic.
NOTE: Both UNIX and
vi are
case-sensitive. Be sure not to use a capital letter in place of a lowercase letter; the results will not be
what
you expect.
To Get Into and Out Of
vi
To Start
vi
To use
vi on a file, type in
vi filename. If the file named
filename exists, then the first page (or screen) of the file will be displayed; if the file does
not
exist, then an empty file and screen are created into which you may enter text.
*
vi filename
edit
filename starting at line 1
vi -r filename
recover
filename that was being edited when system crashed
To Exit
vi
Usually the new or modified file is saved when you leave
vi. However, it is also possible to quit
vi without saving the file.
Note: The cursor moves to bottom of screen whenever a colon (
:) is typed. This type of command is completed by hitting the
<Return> (or
<Enter>) key.
Basic Command
Command
Description
here
:x<Return>
quit
vi, writing out modified file to file named in original invocation
:wq<Return>
quit
vi, writing out modified file to file named in original invocation
:q<Return>
quit (or exit)
vi
*
:q!<Return>
quit
vi even though latest changes have not been saved for this
vi call
Moving the Cursor
Unlike many of the PC and MacIntosh editors,
the mouse does not move the cursor within the
vi editor screen (or window). You must use the the key commands listed below. On some UNIX
platforms,
the arrow keys may be used as well; however, since
vi was designed with the Qwerty keyboard (containing no arrow keys) in mind, the arrow keys
sometimes
produce strange effects in
vi and should be avoided.
If you go back and forth between a PC environment and a UNIX environment, you may find that this dissimilarity in
methods
for cursor movement is the most frustrating difference between the two.
In the table below, the symbol
^ before a letter means that the
<Ctrl> key should be held down while the letter key is pressed.
Basic Command
Command
Description
*
jor<Return> [
or down-arrow]
move cursor down one line
*
k [
or up-arrow]
move cursor up one line
*
hor<Backspace> [
or left-arrow]
move cursor left one character
*
lor<Space> [
or right-arrow]
move cursor right one character
*
0 (zero)
move cursor to start of current line (the one with the cursor)
*
$
move cursor to end of current line
w
move cursor to beginning of next word
b
move cursor back to beginning of preceding word
:0<Return>
or 1G
move cursor to first line in file
:n<Return>
or nG
move cursor to line
n
:$<Return>
or G
move cursor to last line in file
Screen Manipulation
The following commands allow the
vi editor screen (or window) to move up or down several lines and to be refreshed.
Basic Command
Command
Description
^f
move forward one screen
^b
move backward one screen
^d
move down (forward) one half screen
^u
move up (back) one half screen
^l
redraws the screen
^r
redraws the screen, removing deleted lines
Adding, Changing, and Deleting Text
Unlike PC editors, you cannot replace or delete text by highlighting it with the mouse. Instead use the commands in
the following
tables.
Perhaps the most important command is the one that allows you to back up and
undo your last action. Unfortunately, this command acts like a toggle, undoing and redoing your most
recent
action. You cannot go back more than one step.
*
u
UNDO WHATEVER YOU JUST DID; a simple toggle
The main purpose of an editor is to create, add, or modify text for a file.
Inserting or Adding Text
The following commands allow you to insert and add text. Each of these commands puts the
vi editor into insert mode; thus, the
<Esc> key must be pressed to terminate the entry of text and to put the
vi editor back into command mode.
Basic Command
Command
Description
*
i
insert text before cursor, until
<Esc> hit
I
insert text at beginning of current line, until
<Esc> hit
*
a
append text after cursor, until
<Esc> hit
A
append text to end of current line, until
<Esc> hit
*
o
open and put text in a new line below current line, until
<Esc> hit
*
O
open and put text in a new line above current line, until
<Esc> hit
Changing Text
The following commands allow you to modify text.
Basic Command
Command
Description
*
r
replace single character under cursor (no
<Esc> needed)
R
replace characters, starting with current cursor position, until
<Esc> hit
cw
change the current word with new text, starting with the character under cursor, until
<Esc> hit
cNw
change
N words beginning with character under cursor, until
<Esc> hit; e.g.,
c5w changes 5 words
C
change (replace) the characters in the current line, until
<Esc> hit
cc
change (replace) the entire current line, stopping when
<Esc> is hit
NccorcNc
change (replace) the next N lines, starting with the current line, stopping when
<Esc> is hit
Deleting Text
The following commands allow you to delete text.
Basic Command
Command
Description
*
x
delete single character under cursor
Nx
delete N characters, starting with character under cursor
dw
delete the single word beginning with character under cursor
dNw
delete
N words beginning with character under cursor; e.g.,
d5w deletes 5 words
D
delete the remainder of the line, starting with current cursor position
*
dd
delete entire current line
NddordNd
delete
N lines, beginning with the current line; e.g.,
5dd deletes 5 lines
Cutting and Pasting Text
The following commands allow you to copy and paste text.
Basic Command
Command
Description
yy
copy (yank, cut) the current line into the buffer
NyyoryNy
copy (yank, cut) the next N lines, including the current line, into the buffer
p
put (paste) the line(s) in the buffer into the text after the current line
Other Commands
Searching Text
A common occurrence in text editing is to replace one word or phase by another. To locate instances of particular
sets of
characters (or strings), use the following commands.
Basic Command
Command
Description
/string
search forward for occurrence of
string in text
?string
search backward for occurrence of
string in text
n
move to next occurrence of search string
N
move to next occurrence of search string in opposite direction
Determining Line Numbers
Being able to determine the line number of the current line or the total number of lines in the file being edited is
sometimes
useful.
Basic Command
Command
Description
:.=
returns line number of current line at bottom of screen
:=
returns the total number of lines at bottom of screen
^g
provides the current line number, along with the total number of lines, In the file at the bottom of the
screen
Saving and Reading Files
These commands permit you to input and output files other than the named file with which you are currently
working.
Basic Command
Command
Description
:r filename<Return>
read file named
filename and insert after current line (the line with cursor)
:w<Return>
write current contents to file named in original
vi call
:w newfile<Return>
write current contents to a new file named
newfile
:12,35w smallfile<Return>
write the contents of the lines numbered 12 through 35 to a new file named
smallfile
:w! prevfile<Return>
write current contents over a pre-existing file named
prevfile
MySQL Database Account — Requesting and Connecting
MySQL is the general purpose database subsystem provided by the School of Computing (SoC) for student use. Each user is allowed one database. This database is automatically created after requested by a user and is named the same as your SoC systems username. Users can create as many tables as they want but we ask that they keep all databases to a reasonable size.
Requesting a MySQL Account and Database Any user with a SoC account can request access to the MySQL server running on the cse.unl.edu server. To do so, log in to the SoC Account Management Utility (AMU) page at cse.unl.edu/account with your CSE account credentials. Once you log in, click the Account Settings link on the left page. From there, check the box for MySQL Account and then click Save. You should then receive an email message with your MySQL account credentials.
The MySQL credentials you receive will have a login that matches your CSE server (cse.unl.edu) username, but your password for the MySQL server is completely different from your CSE server password.
Accessing the MySQL server is done by one either logging into the cse.unl.edu server using your CSE username and password, or connecting to the cse.unl.edu server using a TCP/IP connection.
Connecting to MySQL Database To connect to a MySQL database from the command-line on cse.unl.edu, type mysql -p and hit enter. The password you will be prompted for will be your MySQL password, which is different from your cse.unl.edu server password. Enter the MySQL password you received in the email message that was sent when you requested your account. You should be presented a MariaDB [(username)]> prompt from the MySQL application.
To connect to a MySQL database from the command line from another computer with the MySQL command line client installed. Run 'mysql -h cse.unl.edu -u YOUR_CSE_LOGIN -p' and hit enter. Note: the password you will be prompted for will be your MySQL password, which is different from your SoC password. MySQL passwords can be reset using the SoC Account Management Utility page.
TCP/IP connectivity requires authentication using your MySQL credentials and is supported on the standard MySQL service port, 3306, on the CSE server.