For developers, the terminal is one of the most important tools. Mastering the terminal can effectively improve the workflow of developers. Using the terminal, many daily tasks have been simplified to write simple commands and press the Enter button.
This article lists a series of Linux commands to help you make the most of the terminal tool. Some of the terminal commands are built-in, others are free tools, and after testing these tools can be installed in less than a minute.
Curl
Curl is a command line tool for making requests via HTTP(s), FTP, and dozens of other protocols. Use Curl to download files, check response headers, and freely access remote data.
In web development, Curl is often used with RESTful APIs to test connections.
# Fetch the headers of a URL.
curl -I http://google.com
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Referrer-Policy: no-referrer
Location: http://www.google.com/?gfe_rd=cr&ei=0fCKWe6HCZTd8AfCoIWYBQ
Content-Length: 258
Date: Wed, 09 Aug 2017 11:24:01 GMT
# Make a GET request to a remote API.
curl http://numbersapi.com/random/trivia
29 is the number of days it takes Saturn to orbit the Sun.
The Curl command may be more complicated than the above code. There are many options for controlling headers, cookies, authentication, etc. To learn more, please read Everything curl .
Tree
Tree is a small command-line utility that displays the files in the directory in a visual way. It uses recursive operation, traversing each level of nesting and drawing the format tree of all content. In this way, you can quickly browse and find the files you need.
tree
.
css
bootstrap.css
bootstrap.min.css
fonts
glyphicons-halflings-regular.eot
glyphicons-halflings-regular.svg
glyphicons-halflings-regular.ttf
glyphicons-halflings-regular.woff
glyphicons-halflings-regular.woff2
js
bootstrap.js
bootstrap.min.js
You can also use a simple regEx mode to filter the results:
tree -P '*.min.*'
.
css
bootstrap.min.css
fonts
js
bootstrap.min.js
Tmux
According to the wiki's explanation, Tmux is a terminal multiplexer. In layman's terms, it is a tool that can connect multiple terminals to a single terminal session.
Tmux allows users to switch between programs in the terminal, add screen panes, and connect multiple terminals to the same session to keep them synchronized. When working on a remote server, Tmux is particularly useful because it allows users to create new tabs without having to log in again.
du
The du command is used to generate reports on the space usage of files and directories. du is easy to use and can be run recursively, traversing each subdirectory and returning the size of each file.
A common use case for du is: when a drive has insufficient space, the user does not know the size of each storage. Use this command to quickly view the storage space occupied by each folder to find the storage that takes up the most space.
# Running this will show the space usage of each folder in the current directory.
# The -h option makes the report easier to read.
# -s prevents recursiveness and shows the total size of a folder.
# The star wildcard (*) will run du on each file/folder in current directory.
du -sh *
1.2G Desktop
4.0K Documents
40G Downloads
4.0K Music
4.9M Pictures
844K Public
4.0K Templates
6.9M Videos
There is also a similar command df (Disk Free), using df will return various information about the available disk space.
Git
Git is by far the most popular version control system and one of the defining tools for modern web development.
Git has many third-party applications and tools that can be used, but most people like to access git through a local terminal. The git CLI is very powerful and can handle the most confusing project version issues.
To learn more about git, I recommend learning " Learn Git in 30 Minutes ".
Tar
Tar is the default Unix tool for file archiving. Tar allows users to quickly bind multiple files into one package, making it easier to store and move.
tar -cf archive.tar file1 file2 file3
The -x option can also be used to extract existing .tar archives.
tar -xf archive.tar
Please note that most other formats such as .zip and .rar cannot be opened with the tar command. To open files such as .zip and .rar, a command such as unzip is required .
Many modern Unix systems are running an extended version of tar (GNU tar), which can help compress the size of the executable file:
# Create compressed gzip archive.
tar -czf file.tar.gz inputfile1 inputfile2
# Extract .gz archive.
tar -xzf file.tar.gz
If your operating system does not have this version of tar, you can use gzip , zcat or compress to compress the size of the archive file.
md5sum
Unix has several built-in hash commands, including md5sum , sha1sum, etc. These command-line tools have many applications in programming, but the most important function is that they can be used to check the integrity of files.
For example, if you download an .iso file from an untrusted source, the file may contain harmful scripts. To ensure that the .iso is safe, users can generate md5 or other hashes from it.
md5sum ubuntu-16.04.3-desktop-amd64.iso
0d9fe8e1ea408a5895cbbe3431989295 ubuntu-16.04.3-desktop-amd64.iso
Then, you can compare the generated string with the string provided by the original author (such as UbuntuHashes).
Htop
Htop is a very powerful alternative for creating top tasks in the task manager. It provides an advanced interface with many options for monitoring and controlling system processes.
Although Htop runs in the terminal, Htop has very good support for mouse controls. This also makes it easier to complete navigation menus, select processes, and organize sorting and filtering tasks.
Ln
Links in Unix are similar to shortcuts in Windows, allowing users to quickly access certain files. Links are created by the ln command, and there are two types: hard or symbolic. Each has different properties, which are used for different objects.
The following is an example of using links. Suppose there is a directory named Scripts on the desktop. It contains the bash scripts we usually use. Whenever we want to call one of the scripts, we must do this:
~/Desktop/Scripts/git-scripts/git-cleanup
This is obviously very inconvenient, because the absolute path must be written every time. Instead, we can create a symbolic link from the script folder to/usr/local/bin, which will make the script easier to execute.
sudo ln -s ~/Desktop/Scripts/git-scripts/git-cleanup/usr/local/bin/
By creating a symbolic link, you can call the script by simply writing the name in any open terminal.
git-cleanup
SSH
Using the ssh command, users can quickly connect to a remote host and log in to their Unix shell. This also allows the user to directly operate the remote server from the terminal of the local machine and issue commands more conveniently.
To establish a connection, you only need to specify the correct IP address or URL. When connecting to a new server for the first time, there will be some form of authentication.
ssh username@remote_host
If you want to quickly execute commands on the server without logging in, you can add a command after the URL. The command will run on the server and return the result.
ssh username@remote_host ls/var/www
some-website.com
some-other-website.com
You can use SSH to do many things, such as creating agents and tunnels, using private keys to protect connections, transferring files, and so on. Learn more about ssh.
Grep
Grep is a standard Unix utility for finding strings in text. Grep inputs in the form of files or direct streams, runs its contents through regular expressions, and returns all matching lines.
When filtering large files, it is very convenient to use Grep. Below we use Grep and data command search to search a large log file and generate a new file containing only the error information of the day.
//Search for today's date (in format yyyy-mm-dd) and write the results to a new file.
grep "$(date +"%Y-%m-%d")" all-errors-ever.log > today-errors.log
Another powerful command for processing strings is sed , which is more powerful and complex than grep. It can perform almost any string-related tasks, including adding, deleting or replacing strings.
Alias
Many Unix commands, including some of the functions in this article, will be a long list of commands after adding all the options. To make these long lists of commands easier to remember, users can use the alias command to create short aliases:
# Create an alias for starting a local web server.
alias server="python -m SimpleHTTPServer 9000"
# Instead of typing the whole command simply use the alias.
server
Serving HTTP on 0.0.0.0 port 9000 ...
As long as you keep the terminal open, the alias will always be available. In order to make the alias permanently available, you can also add the alias command to the .bashrc file.
Recommended front-end development tools
SpreadJS pure front-end table control is a JavaScript spreadsheet and grid control based on HTML5. It provides a complete formula engine, sorting, filtering, input control, data visualization, Excel import/export and other functions. It is suitable for .NET, Java and mobile. Development of spreadsheet programs with online editing functions like Excel on various platforms such as terminals.
summary
For web developers, if there are some unfamiliar commands among the above 12 terminal commands, you should quickly get familiar with them through this article and gradually apply them to your own development work.
Original link: https://tutorialzine.com/2017/08/12-terminal-commands-every-web-developer-should-know
Please indicate the source of the reprint: Grape City Controls
About Grape City
Established in 1980, Grape City is the world's largest provider of controls, the world's leading provider of enterprise application customization tools, enterprise reports and business intelligence solutions, providing services to more than 75% of the global Fortune 500 companies. Grape City established a research and development center in China in 1988. In the process of global product research and development, it constantly adapts to the local needs of the Chinese market, and provides excellent software tools and consulting services for software companies and the informatization of various industries.
Original Published time: October 17, 2017
the original author: Grape City Technical Team
Source of this article: Open Source China
If you need to reprint, please contact the original author