Shell: bash. It combines the advantages of csh and ksh, has the function of readline, and can bind the keyboard at will.
Editor: VIM, Emacs.
Paper, Slide Tools: Latex, Background
Drawing tool: MetaPost. This language is so strong that I only use it. If you are not familiar with it, you can use XFIG and DIA to draw some flowcharts and so on.
Image processing: ImageMagick. Among them, the import program can capture the picture on the screen, the conversion program can convert the image format, and the display can display the picture and simply edit it (zoom, change the quality, convert the format, simply draw, simply consider the mirror image). Usually this is what I need. If you want a more powerful image tool, you can use Gimp, which is similar to Photoshop.
Automatic management tool: make. I will use make to automatically compile programs, automatically compile documents, automatically update illustrations ... automatically, without duplication of work.
Numerical calculation program: SciLab. This program can basically replace Matlab.
Algebraic calculation program: MAXIMA. This program is based on one of the oldest computer algebra systems in the world: MIT Macsyma system issued by the US Department of Energy (DOE). It is implemented with Common Lisp. Many symbolic computation programs, such as Maple, have learned a lot from MAXIMA. It is now released as a GPL with the approval of DOE, and will always be a free software.
Encryption program: GnuPG. That's how I got the PGP key.
Virtual cd program. Linux doesn't need a virtual CD-ROM program, just mount it directly.
Ftp server: proftpd, vsftpd. Proftpd is very powerful, but I only use the simplest settings.
WWW server: apache. (I don't usually open it)
Ftp client: lftp, ncftp. It is all text mode operation, but it is much more convenient than graphical interface. For example, lftp has almost all the convenient functions of bash, such as tabulation, bookmark, queue, background download, mirroring ... Linux also has ftp clients with graphical interfaces, but most of them are unstable and have many problems. This is a small reason why many people complain that Linux is not as good as Windows. There are many people who use Wine to simulate Windows leapftp. In fact, lftp is much better than LEAPTP. You just need to get used to it.
Automatic download tool: wget. It is very stable. Once I downloaded a program, the files downloaded by IE and Mozilla were all bad, and finally wget transmitted the data reliably.