The first one is HTML helper method which exist in MVC4 and 5. The second one is called Tag helpers which appeared in asp.net core. It looks more like pure HTML syntax so even UI designers who are not so familiar with C# can use those to create links.
The link tag helper can do whatever the ActionLink helper can do, and even more. For example, with the link tag helper you can create HTML markup like this.
<a asp-action="Search" asp-controller="Home">
<i class="glyphicon glyphicon-search"></i>
</a>
You cannot generate the above kind of markup (other element markup inside the anchor tag with ActionLink helper.
Keep in mind that, you can use the HTML helper methods inside asp.net core views. But tag helpers are more easy to read from an HTML perspective.
Compare the code to render the SELECT element in tag helper approach
<select asp-for="UserId" asp-items="@Model.UserList">
<option>Select one</select>
</select>
vs
@Html.DropDownListFor(a=>a.UserId, Model.UserList,"select one")
IMHO, The tag helper approach is more designer friendly and readable