Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
logging_in [2017/05/09 19:36] mgstauff [Windows and the Linux/Bash Shell] |
logging_in [2018/03/02 20:32] (current) mgstauff [Screen & tmux] |
====== Overview ====== | ====== Overview ====== |
| |
The CfN cluster is a linux-based system (CentOS 6.6). You connect to it using //ssh//, a tool for remote secure connections between computers. The initial connection and your interaction with the cluster are done using a standard linux //shell// environment (aka 'command line', 'command line interface (CLI)' or 'terminal'). This is a text window where you type commands and get text back as a response. | The CfN cluster is a linux-based system (CentOS 6.9). You connect to it using //ssh//, a tool for remote secure connections between computers. The initial connection and your interaction with the cluster are done using a standard linux //shell// environment (aka 'command line', 'command line interface (CLI)' or 'terminal'). This is a text window where you type commands and get text back as a response. |
| |
---- | ---- |
| |
A shorter introduction, more technical: [[http://www.tldp.org/LDP/Bash-Beginners-Guide/html/chap_01.html]] | A shorter introduction, more technical: [[http://www.tldp.org/LDP/Bash-Beginners-Guide/html/chap_01.html]] |
| |
| ---- |
| ====== Some Useful Linux Things ===== |
| |
| ==== Screen & tmux ==== |
| |
| The ''screen'' and ''tmux'' tools are very useful. They let you create multiple terminal instances from one screen, and most importantly, let you 'detach' from a terminal instance/session and reconnect to it later, even if you've logged out, or lost your network connection or have closed your terminal window. This is **very** useful for running a long terminal program without having to keep your terminal and computer running. |
| |
| Screen - [[https://uisapp2.iu.edu/confluence-prd/pages/viewpage.action?pageId=115540034|Very Simple Usage Instructions]] |
| |
| tmux - [[https://hackernoon.com/a-gentle-introduction-to-tmux-8d784c404340|A Gentle Introduction to tmux]] |
| |
| ==== Simple Bash script loop ==== |
| |
| [[using_ogs_sge#simple_bash_loop|Here's a simple example]] of a Bash script to loop through patients and run a ''qsub'' job on the cluster. |
| |
---- | ---- |
| |
---- | ---- |
====== 'rm -fr' command WARNING ====== | ====== 'rm' command WARNING ====== |
**This is a general warning about using the command ''rm -fr''.** | **This is a general warning about using the command ''rm'' and in particular ''rm -fr''.** |
| |
| **When you delete a file in Linux using ''rm'', you can NOT recover it.** We maintain tape backups of all cluster data on a 2-3 month cycle. These are intended for worst-case scenario disaster recovery, and thus generally backups are not available for mistaken deletions by individual users, although you can check with the admins. |
| |
| This command removes whatever files **and directories** you list after it without asking for confirmation, //and// recursively, meaning it goes into every sub-directory and deletes that too. One user recently ran ''rm -fr /*'' instead of ''rm -fr ./*''. The missing '.' meant that instead of trying to delete everything in her current working directly, it tried to delete everything **on the whole front end**. Most files were protected so she couldn't delete them, but when the command hits /data, it will delete **everything** in there that is owned by her, or for which she has permissions to delete because of group membership. This could be very bad, obviously. Luckily in the recent case the user stopped the command before it got to the /data directory. |
| |
| This warning also applies to the ''rm'' and ''rm -r'' commands, which by default will remove files without asking confirmation. |
| |
This command removes whatever files and directories you list after it without asking for confirmation, //and// recursively, meaning it goes into every sub-directory and deletes that too. One user recently ran ''rm -fr /*'' instead of ''rm -fr ./*''. The missing '.' meant that instead of trying to delete everything in her current working directly, it tried to delete everything **on the whole front end**. Most files were protected so she couldn't delete them, but when the command hits /data, it will delete **everything** in there that is owned by her, or for which she has permissions to delete because of group membership. This could be very bad, obviously. Luckily in the recent case the user stopped the command before it got to the /data directory. | You may also have an issue, for example, if you are in a different directory than you think, and run something like ''rm *.nii''. It will remove all files in the current directory without prompting for confirmation, and you'll have lost them for good. |
| |
Be careful. It's often good to replace 'rm -fr' with 'ls' first to make sure you're getting what you intend. | ===How to use it carefully=== |
| Be careful. It's often good to replace your ''rm'' command with ''ls'' first to make sure you're getting what you intend. After you run ''ls <my list of files or glob command>'', use the up-arrow key in your terminal to recall the previous command and edit it to replace ''ls'' with your ''rm'' command, so that you're sure not to introduce a typo in the list of files or glob command. |
---- | ---- |
====== Editing Text Files ====== | ====== Editing Text Files ====== |