Setting Up a Computer Environment for Research
==============================================
Terminal Tools
--------------
Terminal Emulator
~~~~~~~~~~~~~~~~~
- `iTerm2 - macOS Terminal Replacement `__
- A nice free choice for **MacOSX**.
`iTerm2 `__ brings the
terminal into the modern age with features you never knew you
always wanted.
- A `cheat sheet of iTerm2
shortcuts `__
- It becomes easier and easier to do research under Windows system:
- `Microsoft’s terminal - The new Windows Terminal, and the original
Windows console host `__
- `cmder - Portable console emulator for
Windows `__
- Different Linux releases have there own default terminal emulator and
normally they are good enough for research works. Meanwhile, there
are some nice choices of drop-down style emulators:
- `tilda - A Gtk based drop down terminal for Linux and
Unix `__
- `guake - Drop-down terminal for
GNOME `__
- **Guake** is a dropdown terminal made for the **GNOME** desktop
environment. **Guake**\ ’s style of window is based on an FPS
game, and one of its goals is to be easy to reach.
Terminal Multiplexer
~~~~~~~~~~~~~~~~~~~~
- `GNU Screen `__
- **Screen** is available in most Unix/Linux system release.
- `How to use Linux
Screen `__
- `tmux - a terminal multiplexer for Unix-like operating
systems `__
- Similar to **Screen**. There are a lot of discussions about the
pros and cons of **Screen** and **tmux**, but as a beginner,
either is fine.
- Read `A tmux crash
course `__ and
`tmux shortcuts and cheat
sheet `__ before you
use it.
Shell Environment
-----------------
Fluency on the command line is a skill often neglected or considered
arcane, but it improves your flexibility and productivity as an
engineer in both obvious and subtle ways. – The Art of Command Line
- **The same also applies to student of science and researcher.**
- `The Art of Command
Line `__
- In multiple languages, including Chinese
- `37 Important Linux Commands You Should
Know `__
- `awesome-command-line-apps - Use your terminal shell to do awesome
things `__
- A curated list of useful command line apps, in celebration of the
TUI.
- `awesome-macos-command-line - Use your macOS terminal shell to do
awesome
things `__
- A curated list of shell commands and tools specific to OS X.
- A lot of these actually work for Linux too.
Regular Expression
~~~~~~~~~~~~~~~~~~
- Regular expression (**regex**) is a group of characters or symbols
which is used to find a specific pattern from a text. It is very
useful to learn the basic of **regex**.
- `Learn Regex the Easy
Way `__
- There is a `Chinese
version `__
**Bash** related
~~~~~~~~~~~~~~~~
- `Pure Bash Bible `__
- A collection of pure bash alternatives to external processes.
- `Bash Notebook `__
- In depth Bash notebook in multiple languages
- `Bash-it - a collection of community Bash commands and scripts for
Bash 3.2+ `__
- Achieve some of **zsh**\ ’s functions in **bash**.
Other than **bash**
~~~~~~~~~~~~~~~~~~~
- `Oh My Zsh `__
- Code on Github is
`here `__
- `The Fish Cookbook `__
- Tips and recipes for fish, from shell to plate
Version Control
---------------
**Git**
~~~~~~~
- `git `__ is the most widely used software
for version control and it is extremely useful to learn the basic of
it.
- Plenty of reference and examples are provided in the above webpage
including many short videos.
- `Learn Git with Bitbucket
Cloud `__
is another good place to start learning about version control using
**git**.
- `Git cheat
sheet `__
and `Advanced Git
Tutorials `__.
- `Oh shit, git! `__
- A very practical guide for when you screw up in **git**.
Others
~~~~~~
- `mercurial `__ is another popular
version control software.
System Tools
------------
- `gotop - system monitor `__
- A terminal based graphical activity monitor inspired by gtop and
vtop
- `tldr - command document for
human `__
- Simplified and community-driven man pages
- `thefuck - Magnificent app which corrects your previous console
command `__
- Well….it is actually kind of useful…
--------------
MacOS
-----
- `mac-setup: Installing Development environment on
macOS `__
- The more readable website is
`here `__
Mount harddrive in Linux file system
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Linux system uses **ext4** or other similar file system that is not
automatically readable under **MacOSX**. The `ext4fuse
software `__ will be useful.
- Please read `this stackexchange
thread `__
for more details.
- `ExtFS `__ is
not a free software. It costs you $39.95 but it is claimed to be able
to mount or even repair **ext** system under **MacOSX**