The command line makes our life so much easier since we can automate several mundane tasks and make things run smoother. Instead of clicking around in the Graphical User Interface _(GUI),_ we can fire off a couple of commands and call it job done.
A Unix shell is a command-line interpreter or shell that provides a command-line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language and is used by the operating system to control the execution of the system using shell scripts.
Every Linux or Mac-based operating system has a command-line installed by default, usually under the name “Terminal.” The command line (CLI) lets us easily move and rename files, sort through data, and navigate around the computer.
Without further ado, here are 11 command line tricks that will make your life easier.1. echo
$ echo "some text"
echo command in Linux is used to display a line of text/string that’s passed as an argument. The
echo is a built-in command that’s mostly used in shell scripts and batch files to output status text to the screen or a file.
ls lists files and directories in the current active path. If the pathname is a file,
ls displays information on the file according to the requested options. If the pathname is a directory, ls displays information on the files and subdirectories therein.
Using the ls command to show all files in the current directory
You might have noticed the files are being shown as a grey color, while the folders are blueish. This is to help us make a distinction between folders and files.3. pwd
Printing out the current working directory (pwd)
pwd command is a command-line utility for printing the current working directory. The output will print the full system path of the current working directory to standard output. By default, the
pwd command ignores symlinks, although the full physical path of a current directory can be shown with an option.
$ grep "some string" file
The grep command searches for patterns in each file. It also looks for patterns separated by newline characters, and grep prints each line that matches a pattern.
**grep** command to find all React keywords in a file
-i option enables us to search for a string case-insensitively in the given file. It matches words like “REACT,” “REact,” and “react.”
$ grep -i "REact" file
We can find the number of lines that matches the given string/pattern with the
-c (count) flag.
$ grep -c "react" index.js
Counting the times the word “react” pops up in a life
Here’s a fun and an educational comic about the
grep command I found on the internet.
Source: Wizard Zines
In addition, the variant programs
fgrep are the same as
grep -E and
grep -F, respectively. These variants are deprecated,
but are provided for backward compatibility.
You can do a lot with
grep— read the documentation for an in-depth dive here.
$ mkdir some-directory
As you guessed it, mkdir creates a new empty directory in the current active path. Instead of clicking around in your text editor or GUI, use this command to create new folders.
Creating a new directory with mkdir
Note: Notice how we can peek inside the directory with the previous
$ rm someFile
Rm stands for remove, which does exactly what it says it does. Removes, or in other words, deletes a file.
Removing a file with the
By default, the
rm command doesn’t remove directories. You need to pass the
-rf flag to remove directories.
Removing a directory with the rm command (notice we’re passing the flag to remove a directory)
Note: This removes the directory unconditionally, whether the directory has content inside or not.
$ rmdir some-directory
rmdir command removes the directory if there’s no content inside the directory.
Removing an empty directory with rmdir6. touch
$ touch somefile
touch command is used to create a file without any content. The
touch command can be used when the user doesn’t have data to store at the time of file creation.
Creating a new file with touch
Notice how we’re using
touch to create the file and
cat to look inside the file. Since the newly created
index2.js file is empty, the cat returns nothing.
Here are the main differences between
cat— Used to create the file with the content.
touch— Creates a file without any content or empty files. Remember, the file created using
touchcommand is empty. This command is useful when the user doesn’t have data to store at the time of file creation.
$ cat somefile.js
Displaying content of a file with cat
cat command has three related functions with regard to a text file:
The most common use of cat is to read the contents of files, and
cat is often the most convenient program for this purpose.
In the following example, the standard output of cat is redirected using the output redirection operator (which is represented by a rightward pointing angular bracket) to file2:
$ cat somefile > somefile2
Creating files with cat8. tail
$ tail somefile
tail command reads a file and outputs the last part of it (the “tail”).
Output the last num lines, instead of the default (10)
tail command is useful when going through crash reports or previous history logs. Here’s an example of its usefulness when working with file logs.
# tail /var/log/messages Mar 20 12:42:22 hameda1d1c dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd) Mar 20 12:42:24 hameda1d1c avahi-daemon: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*. Mar 20 12:42:28 hameda1d1c dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd) Mar 20 12:42:28 hameda1d1c dhclient: DHCPACK from 10.76.198.1 (xid=0x280436dd) Mar 20 12:42:30 hameda1d1c avahi-daemon: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87. Mar 20 12:42:30 hameda1d1c avahi-daemon: New relevant interface eth0.IPv4 for mDNS. Mar 20 12:42:30 hameda1d1c avahi-daemon: Registering new address record for 10.76.199.87 on eth0.IPv4. Mar 20 12:42:30 hameda1d1c NET: /sbin/dhclient-script : updated /etc/resolv.conf Mar 20 12:42:30 hameda1d1c dhclient: bound to 10.76.199.87 -- renewal in 74685 seconds. Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
$ wget someurl
GNU Wget is a free software package for retrieving files using HTTP, HTTPS, FTP, and FTPS — the most widely-used internet protocols. It’s a non-interactive command-line tool, so it may easily be called from scripts, CRON jobs, terminals without X-Windows support, etc.
wget to fetch information about a webpage
GNU Wget has many features to make retrieving large files or mirroring entire web or FTP sites easy, including:
Read the official GNU documentation for more information.10. find
$ find path -name filename
find command lets you quickly lookup a file or directory. It’s useful when you’re working on a big project with hundreds of files and multiple directories.
Search for files of a particular type
Finding all files with the name of index.js
find command also lets you search for the same type of files in a directory (and its subdirectories). For example, the following command will search for all
.js files in your current working directory.
$ find . -name "*.js"
Finding all .js files in the components directoryConclusion
Thanks for reading, I hope you learned something new. If you know a handy command-line trick, please let’s grow together and post it in the responses.
A thoroughly researched list of top NodeJS development companies with ratings & reviews to help hire the best Node.JS developers who provide development services and solutions across the world. List of Leading Node.js development Service Providers...
A thoroughly researched list of top NodeJS development companies with ratings & reviews to help hire the best Node.JS developers who provide development services and solutions across the world.
List of Leading Node.js development Service Providers & Developers...
Best Mobile App Development Company India, WebClues Global is one of the leading web and mobile app development company. Our team offers complete IT solutions including Cross-Platform App Development, CMS & E-Commerce, and UI/UX Design.
We are custom eCommerce Development Company working with all types of industry verticals and providing them end-to-end solutions for their eCommerce store development.
Know more about Top E-Commerce Web Development Company
Mobile app development has skyrocketed over these years with the increasing demand of mobile apps for a variety of purposes like entertainment, banking, weather update, health, booking movie tickets, booking a taxi etc. With the latest...
Mobile app development has skyrocketed over these years with the increasing demand of mobile apps for a variety of purposes like entertainment, banking, weather update, health, booking movie tickets, booking a taxi etc. With the latest technologies adopted by mobile app development services, there are different app development approaches which are being practiced. Among them is low-code or no-code development. But will it be the future of mobile app development? Will any mobile application development company start taking this approach as the primary one. Let’s try to find a detailed answer to this question.
But first, let’s understand what this approach exactly is? Well, it is a streamlined approach which involves swift design as well as development with minimal coding, generally relying on different third-party APIs.
Even though there isn’t any single definition of no-code or low-code development because it is actually more of a mindset rather than something which can be directly measured, this mindset has certainly led to a vast community mushrooming up with this mentality. Android app development services are rapidly adopted by this approach. Low-code app innovators are rapidly disrupting all types of various industries. There are a plethora of benefits to these low code platforms and let’s look at this.
1. Less Number of Bugs
It is pretty evident that less code actually means fewer bugs. As simple as that. The entire bug testing phase is actually a major part of modern and latest application development. It is quite inevitable that various issues will come up if there is actually enough code present there. But the best thing regarding low code platforms is that there’s certainly less to test. Also, when they actually tap into APIs, those particular APIs are actually tested by other people.
Lesser number of bugs is better for both users, as well as developers since less amount of time, will be taken up with bug-fixes and troubleshooting. Also, the fast pace of this development approach actually means that if in any case a bug is found, it is generally better just to develop a new iteration rather than fixing it.
2. Significant Lower Costs
Among the most obvious reasons for why you would actually opt for any low code platform is that in reality, low code results in lower cost. Low code development leads to faster app development which saves a lot of time and as a result, lower cost.
It's not only good for companies but also for developers. It certainly cut out the intermediaries, and while they charge less, they use fewer resources and finally come out on top. It is fun for developers because it stops them from actually finding themselves stuck on one particular project which seems to last forever. This is why most of the companies hire app developer who is a well-versed with low-code development.
3. Better Accessibility
The lesser amount of code an application uses, the lesser bandwidth is needed to download it as well as run it. This is quite good news for the people who are based in rural areas or in different developing countries where access to the internet isn’t as prevalent as Western countries. Also, as low code applications can easily be created quite easily than a traditional app, they can easily be released much more swiftly and at a much lower price, and sometimes for free. iPhone app development services follow this approach because it will help in increasing the uptake of their apps as it reduces the entry barrier for every person from lower-income families.
Innovative Development Approach
Among the most promising instances of a low-code or no-code platform is Uber. The apps tap into Google for Maps, Dropbox for storage, Braintree for payments and much more. The most interesting thing about this is that app programming interfaces of APIs which Uber actually relies upon are easily available to anyone who wishes to use them. Uber took those APIs and then used them to create, which was new without requiring to develop each of those particular individual elements, all by themselves. They developed their own brand on top of it by means of looking at how they could actually differentiate themselves from the rest of the others. Mobile app development services should follow this example to create their own low code mobile app which disrupts the market.
The best thing about this is that it inspires innovation. At present, the marketplace actually decides, and only the best applications rise to the top. Also, low code development easily allows developers to iterate much more quickly and can aim for higher more.
The Role of Artificial Intelligence (AI)
Artificial Intelligence is certainly making big waves in different businesses, and as this technology improves further, it will find its way in different other uncharted areas. Among those areas is the low code app development, where it comes in quite useful for a wide range of tasks and actions including the integration of various data sources or just making sense of an entire unstructured or semi-structured data.
Artificial Intelligence is quite great at analysing and conducting trial and error. Hence, it won’t be quite long until the usage of AI becomes quite a standard part of the low code app development. A mobile application development company can find ways to reduce the total amount of code that it is using through AI and flagging potential and possible improvements.
It is quite certain that low-code or no-code app development is the future of app development for one of the simplest reasons that it is quite easier as well as faster and efficiently uses time. It actually doesn’t matter whether Android app development services or iPhone app development services are on-board with this particular change or not. This is quite inevitable as this approach is the path of least resistance. Also, as the inherent demand for low code platforms keeps in growing, developers will certainly find themselves to adopt it.
It is quite a great news as it will push the developers of mobile application development services to become the best. Also, there won’t be any time to redoing it to create the same thing, or any room for sloppy code as well as lengthy development processes which makes the mobile apps redundant even before they are actually finished. Hence, low-code or no-code development will certainly lead the future of mobile app development, and mobile app developers certainly have to get on the bandwagon, one way or the other.