1669921740
These traditional Linux utilities have been revitalized with modern replacements.
Linux has a good track record for software support. There are about 60 commands in man section 1 of Unix 1st edition, and the majority still work today. Still, progress stops for no one. Thanks to vast global participation in open source, new commands are frequently developed. Sometimes a new command gains popularity, usually because it offers new features, or the same features but with consistent maintenance. Here are ten old commands that have recently been reinvented.
The man page is functional, and it works well for what it does. However, man pages aren't always the most succinct at demonstrating how to use the command you're trying to reference. If you're looking for something a little more to the point, try cheat or tealdeer.
The ifconfig
command provides information about your network interfaces, whether they're physical or virtual.
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.2.34 netmask 255.255.255.0 broadcast 10.0.1.255
inet6 fe80::f452:f8e1:7f05:7514 prefixlen 64
ether d8:5e:d3:2d:d5:68 txqueuelen 1000 (Ethernet)
[...]
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1360
inet 10.2.3.45 netmask 255.255.254.0 destination 10.2.14.15
inet6 2620:52:4:1109::100e prefixlen 64 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-[...]0-00 txqueuelen 500 (UNSPEC)
[...]
The newer ip
command provides similar information:
$ ip -4 address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.1.2.34/24 brd 10.0.1.255 scope global noprefixroute eth0
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1360 qdisc pfifo_fast state UNKNOWN group default qlen 500
inet 10.2.3.45/23 brd 10.2.15.255 scope global noprefixroute tun0
Package managers tend to be slow to change, and when they do they often work hard to maintain backward compatibility. Both the yum
command and the apt-get
command have had improvements lately. The changes are usually aliased or designed to work in both their old and new syntax:
$ sudo yum install foo
$ sudo dnf install foo
$ sudo apt-get install foo
$ sudo apt install foo
Before there was dnf
there were a variety of utilities for yum
to help users get reports on their packaging system configuration. Most of those extra functions got included by default with dnf
. For instance, repoquery
is a subcommand of dnf
, and it provides a list of all installed packages:
$ sudo dnf repoquery
The pip
command is a package manager for Python. It hasn't been replaced, but the preferred syntax has been updated. The old command:
$ pip install yamllint
The new syntax:
$ python3 -m pip install yamllint
The ls
command hasn't been replaced.
Rather, it hasn't been replaced again.
The ls
command was originally its own binary application, and it's still available as one. Eventually, though, the Bash shell included its own ls
built-in command, which by default overrides any installed ls
command.
Recently, the exa
command has been developed as, depending on your preferences, a better ls
. Read about it in Sudeshna Sur's exa command article, and then try it for yourself.
There's nothing wrong with the du
, which reports on how much disk space is used on your hard drives. It does its job well, but to be fair it's pretty minimal.
If you're looking for a little variety, try the ncdu command or the dust command.
The cat command is, aside from being overused by the best of us, is a simple and direct command. It reads the contents of any number of files, and outputs it to standard input.
Its output is pretty basic, so if you're looking for something with syntax highlighting and flexible output options, try the bat command instead.
Does bat
also replace the tac command? No, don't worry, for now at least tac
is safe in its position as the command that outputs a file in reverse. (Unless, that is, you count sed
.)
The netstat
command has largely been replaced by the ss
command, although of all the commands on this list it's possibly the most hotly debated. The ss
command provides much of the same functionality, but as Jose Vicente Nunez points out in his six deprecated commands article, there are gaps and differences in functionality. Before switching wholesale to ss
, try it and compare it with how you use netstat
now.
I use find
to located files, as an input source for GNU Parallel, and more. I'm pretty familiar with it, but I have to admit that its syntax is a little clunky. The fd
command seeks to improve upon that. For instance, suppose you're looking for a file called example
, but you can't remember what file extension you used. With find
, the syntax might look something like this:
$ find . -name "*example*"
/home/tux/example.adoc
/home/tux/example.sh
With fd
, the syntax is:
$ fd example
/home/tux/example.adoc
/home/tux/example.sh
And suppose you want to grep command to search through the results for the phrase "zombie apocalypse". Using find:
$ find . -name "*example*" -exec grep "zombie apocalypse" {} \;
zombie apocalypse
Using fd
instead:
$ fd txt -x grep zombie
zombie apocalypse
Read more about it in Sudeshna Sur's fd article, and then try it for yourself.
For even more updates to classic commands, download our cheat sheet below.
Original article source at: https://opensource.com/
1669921740
These traditional Linux utilities have been revitalized with modern replacements.
Linux has a good track record for software support. There are about 60 commands in man section 1 of Unix 1st edition, and the majority still work today. Still, progress stops for no one. Thanks to vast global participation in open source, new commands are frequently developed. Sometimes a new command gains popularity, usually because it offers new features, or the same features but with consistent maintenance. Here are ten old commands that have recently been reinvented.
The man page is functional, and it works well for what it does. However, man pages aren't always the most succinct at demonstrating how to use the command you're trying to reference. If you're looking for something a little more to the point, try cheat or tealdeer.
The ifconfig
command provides information about your network interfaces, whether they're physical or virtual.
$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.2.34 netmask 255.255.255.0 broadcast 10.0.1.255
inet6 fe80::f452:f8e1:7f05:7514 prefixlen 64
ether d8:5e:d3:2d:d5:68 txqueuelen 1000 (Ethernet)
[...]
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1360
inet 10.2.3.45 netmask 255.255.254.0 destination 10.2.14.15
inet6 2620:52:4:1109::100e prefixlen 64 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-[...]0-00 txqueuelen 500 (UNSPEC)
[...]
The newer ip
command provides similar information:
$ ip -4 address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.1.2.34/24 brd 10.0.1.255 scope global noprefixroute eth0
4: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1360 qdisc pfifo_fast state UNKNOWN group default qlen 500
inet 10.2.3.45/23 brd 10.2.15.255 scope global noprefixroute tun0
Package managers tend to be slow to change, and when they do they often work hard to maintain backward compatibility. Both the yum
command and the apt-get
command have had improvements lately. The changes are usually aliased or designed to work in both their old and new syntax:
$ sudo yum install foo
$ sudo dnf install foo
$ sudo apt-get install foo
$ sudo apt install foo
Before there was dnf
there were a variety of utilities for yum
to help users get reports on their packaging system configuration. Most of those extra functions got included by default with dnf
. For instance, repoquery
is a subcommand of dnf
, and it provides a list of all installed packages:
$ sudo dnf repoquery
The pip
command is a package manager for Python. It hasn't been replaced, but the preferred syntax has been updated. The old command:
$ pip install yamllint
The new syntax:
$ python3 -m pip install yamllint
The ls
command hasn't been replaced.
Rather, it hasn't been replaced again.
The ls
command was originally its own binary application, and it's still available as one. Eventually, though, the Bash shell included its own ls
built-in command, which by default overrides any installed ls
command.
Recently, the exa
command has been developed as, depending on your preferences, a better ls
. Read about it in Sudeshna Sur's exa command article, and then try it for yourself.
There's nothing wrong with the du
, which reports on how much disk space is used on your hard drives. It does its job well, but to be fair it's pretty minimal.
If you're looking for a little variety, try the ncdu command or the dust command.
The cat command is, aside from being overused by the best of us, is a simple and direct command. It reads the contents of any number of files, and outputs it to standard input.
Its output is pretty basic, so if you're looking for something with syntax highlighting and flexible output options, try the bat command instead.
Does bat
also replace the tac command? No, don't worry, for now at least tac
is safe in its position as the command that outputs a file in reverse. (Unless, that is, you count sed
.)
The netstat
command has largely been replaced by the ss
command, although of all the commands on this list it's possibly the most hotly debated. The ss
command provides much of the same functionality, but as Jose Vicente Nunez points out in his six deprecated commands article, there are gaps and differences in functionality. Before switching wholesale to ss
, try it and compare it with how you use netstat
now.
I use find
to located files, as an input source for GNU Parallel, and more. I'm pretty familiar with it, but I have to admit that its syntax is a little clunky. The fd
command seeks to improve upon that. For instance, suppose you're looking for a file called example
, but you can't remember what file extension you used. With find
, the syntax might look something like this:
$ find . -name "*example*"
/home/tux/example.adoc
/home/tux/example.sh
With fd
, the syntax is:
$ fd example
/home/tux/example.adoc
/home/tux/example.sh
And suppose you want to grep command to search through the results for the phrase "zombie apocalypse". Using find:
$ find . -name "*example*" -exec grep "zombie apocalypse" {} \;
zombie apocalypse
Using fd
instead:
$ fd txt -x grep zombie
zombie apocalypse
Read more about it in Sudeshna Sur's fd article, and then try it for yourself.
For even more updates to classic commands, download our cheat sheet below.
Original article source at: https://opensource.com/
1594368382
Looking to develop real-time applications?
Hire Dedicated Linux Developer from HourlyDeveloper.io, we have dedicated developers who have vast experience in developing applications for Linux and UNIX operating systems and have in-depth knowledge of their processes, kernel tools, internal architectures, and development packages.
Consult with experts:- https://bit.ly/2ZQ5ySP
#hire linux dedicated developer #linux developer #linux development company #linux development services #linux development #linux developer
1603415915
This article is all about my journey on switching from Windows 10 to Linux Mint 20, how I got easily adapted to the Linux environment, and some resources that helped me to set up a perfect Desktop environment.
Ok, now I have decided to switch to Linux but here comes the first question. Which distro will satisfy my needs both in terms of GUI and other aspects? Linux is not something new to me since I have been working with RHEL based distros in my work for the past 4 years with the command-line.
I know RHEL based distros are good for enterprises but not for personalized desktop environments, at least that’s what I am thinking till now. So I started my research to find the distro that should be easy for me to use and at the same time should have good community support if in case I ran into some problem. Among many Linux distros, I drilled down my list to 4 flavors.
Related Article: The Best Linux Distributions for Beginners
Before deciding the Distro it is necessary you formulate the list of tools/programs or packages needed and check if the distro you choose provides all those features.
For me, I use Linux for two main purposes: one is for my professional development work, writing articles, and second for my personal use like Video editing and Movies. Most of the popular software are created to be compatible with Windows, macOS, and Linux like Sublime Text, VSCode, VLC Media Player, Firefox/Chromium browser. Other than these software, cloud-based services make our life easy Like Microsoft Office 365 or G Suite.
#linux distros #linux mint #linux distros #linux mint tips #linux
1620616862
In this remove or delete directories and files linux tutorial guide, you will learn how to remove empty directory and non empty directory linux using command line. And as well as how to remove/file files linux using command line.
So, this tutorial guide will show you you how to use the rm
, unlink
, and rmdir
commands to remove or delete files and directories in Linux with and without confirmation.
https://www.tutsmake.com/how-to-remove-directories-and-files-using-linux-command-line/
#how to delete directory in linux #how to remove non empty directory in linux #remove all files in a directory linux #linux delete all files in current directory #linux delete all files in a directory recursively #delete all files in a directory linux
1648681200
util-linux
util-linux is a random collection of Linux utilities
Note: for the years 2006-2010 this project was named "util-linux-ng".
COMPILE & INSTALL:
See Documentation/howto-compilation.txt.
MAILING LIST:
E-MAIL: util-linux@vger.kernel.org
URL: http://vger.kernel.org/vger-lists.html#util-linux
ARCHIVE: https://lore.kernel.org/util-linux/
The mailing list will reject email messages that contain:
- more than 100K characters
- html
- spam phrases/keywords
See: http://vger.kernel.org/majordomo-info.html#taboo
IRC CHANNEL:
#util-linux at libera.chat:
irc://irc.libera.chat/util-linux
The IRC channel and Mailing list are for developers and project
maintainers. For end users it is recommended to utilize the
distribution's support system.
BUG REPORTING:
E-MAIL: util-linux@vger.kernel.org
Web: https://github.com/util-linux/util-linux/issues
Bug reports with sensitive or private information: Karel Zak <kzak@redhat.com>
This project has no resources to provide support for distribution specific
issues. For end users it is recommended to utilize the distribution's
support system.
NLS (PO TRANSLATIONS):
PO files are maintained by:
http://translationproject.org/domain/util-linux.html
VERSION SCHEMA:
Standard releases:
<major>.<minor>[.<maint>]
major = fatal and deep changes
minor = typical release with new features
maint = maintenance releases; bug fixes only
Development releases:
<major>.<minor>-rc<N>
SOURCE CODE:
Download archive:
https://www.kernel.org/pub/linux/utils/util-linux/
See also:
Documentation/howto-contribute.txt
Documentation/howto-build-sys.txt
Documentation/howto-pull-request.txt
SCM (Source Code Management) Repository:
Primary repository:
git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
Backup repository:
git clone git://github.com/util-linux/util-linux.git
Web interfaces:
http://git.kernel.org/cgit/utils/util-linux/util-linux.git
https://github.com/util-linux/util-linux
Note: the GitHub repository may contain temporary development branches too.
The kernel.org repository contains master (current development) and stable/*
(maintenance) branches only. All master or stable/* changes are always pushed
to both repositories at the same time.
Repository Branches: 'git branch -a'
master branch
- current development
- the source for stable releases when deemed ready.
- day-to-day status is: 'it works for me'. This means that its
normal state is useful but not well tested.
- long-term development or invasive changes in active development are
forked into separate 'topic' branches from the tip of 'master'.
stable/ branches
- public releases
- branch name: stable/v<major>.<minor>.
- created from the 'master' branch after two or more release
candidates and the final public release. This means that the stable
releases are committed, tagged, and reachable in 'master'.
- these branches then become forked development branches. This means
that any changes made to them diverge from the 'master' branch.
- maintenance releases are part of, and belong to, their respective
stable branch. As such, they are tags(<major>.<minor>.<maint>) and
not branches of their own. They are not part of, visible in, or
have anything to do with the 'master' development branch. In git
terminology: maintenance releases are not reachable from 'master'.
- when initially cloned (as with the 'git clone' command given above)
these branches are created as 'remote tracking branches' and are
only visible by using the -a or -r options to 'git branch'. To
create a local branch use the desired tag with this command:
'git checkout -b v2.29.2 v2.29.2'
Tags: 'git tag'
- a new tag object is created for every release.
- tag name: v<version>.
- all tags are signed by the maintainer's PGP key.
Known Bugs:
- don't use tag v2.13.1 (created and published by mistake),
use v2.13.1-REAL instead.
WORKFLOW EXAMPLE:
1) development (branch: <master>)
2) master release (tags: v2.29-rc1, v2.29-rc2, v2.29, branch: <master>)
3) development (work on v2.30, branch: <master>)
4) fork -- create a new branch <stable/v2.29> based on tag v2.29
4a) new patches or cherry-pick patches from <master> (branch: <stable/v2.29>)
4b) stable release (tag: v2.29.1, branch: <stable/v2.29>)
4c) more patches; another release (tag: v2.29.2, branch: <stable/v2.29>)
5) master release v2.30 (branch: <master>)
...
where 3) and 4) happen simultaneously.
Author: util-linux
Source Code: https://github.com/util-linux/util-linux
License: GPL-2.0 License