<!DOCTYPE html>
    <html lang="vi" xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns#">
    <head>
<title>4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian</title>
<meta name="description" content="4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian - Savefile - Tin Tức -...">
<meta name="author" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :.">
<meta name="copyright" content=".: Nguoicodonvn2008.info - Cõi lòng người cô đơn :. [admin@nguoicodonvn2008.info]">
<meta name="robots" content="index, archive, follow, noodp">
<meta name="googlebot" content="index,archive,follow,noodp">
<meta name="msnbot" content="all,index,follow">
<meta name="generator" content="NukeViet v4.5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta property="og:title" content="4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian">
<meta property="og:type" content="website">
<meta property="og:description" content="Savefile - Tin Tức - https&#x3A;&#x002F;&#x002F;www.nguoicodonvn2008.info&#x002F;vi&#x002F;news&#x002F;savefile&#x002F;kien-thuc-may-tinh&#x002F;4-cach-rut-ngan-cac-lenh-linux-va-tiet-kiem-thoi-gian-6401.html">
<meta property="og:site_name" content=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.">
<meta property="og:url" content="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/4-cach-rut-ngan-cac-lenh-linux-va-tiet-kiem-thoi-gian-6401.html">
<link rel="shortcut icon" href="https://www.nguoicodonvn2008.info/favicon.ico">
<link rel="canonical" href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/4-cach-rut-ngan-cac-lenh-linux-va-tiet-kiem-thoi-gian-6401.html">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/" title="Tin Tức" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/karaoke-dual/" title="Tin Tức - Karaoke Dual" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nhac-tre/" title="Tin Tức - Nhạc trẻ" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tru-tinh/" title="Tin Tức - Trữ tình" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/nuoc-ngoai/" title="Tin Tức - Nước ngoài" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/remix/" title="Tin Tức - Remix" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tam-su-tinh-yeu/" title="Tin Tức - Tâm sự tình yêu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tho-suu-tam/" title="Tin Tức - Thơ sưu tầm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/cuoc-song/" title="Tin Tức - Cuộc sống" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/phan-mem/" title="Tin Tức - Phần mềm" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/kien-thuc-may-tinh/" title="Tin Tức - Kiến thức máy tính" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/hoc-tap/" title="Tin Tức - Học tập" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/tai-lieu/" title="Tin Tức - Tài liệu" type="application/rss+xml">
<link rel="alternate" href="https://www.nguoicodonvn2008.info/vi/news/rss/de-thi/" title="Tin Tức - Đề thi" type="application/rss+xml">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css" type="text/css">
<link rel="preload" as="style" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css" type="text/css">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/language/vi.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/global.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/assets/js/site.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/news.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/main.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/custom.js" type="text/javascript">
<link rel="preload" as="script" href="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js" type="text/javascript">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/assets/css/font-awesome.min.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/bootstrap.non-responsive.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/style.non-responsive.css">
<link rel="StyleSheet" href="https://www.nguoicodonvn2008.info/themes/default/css/news.css">
<link rel="stylesheet" href="https://www.nguoicodonvn2008.info/themes/default/css/custom.css">
<style type="text/css">
	body{background: #fff;}
</style>
    </head>
    <body>
<div id="print">
	<div id="hd_print">
		<h2 class="pull-left">.&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.</h2>
		<p class="pull-right"><a title=".&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;." href="https://www.nguoicodonvn2008.info/">https://www.nguoicodonvn2008.info</a></p>
	</div>
	<div class="clear"></div>
	<hr />
	<div id="content">
		<h1>4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian</h1>
		<ul class="list-inline">
			<li>Thứ sáu - 02/12/2022 00:01</li>
			<li class="hidden-print txtrequired"><em class="fa fa-print">&nbsp;</em><a title="In ra" href="javascript:;" onclick="window.print()">In ra</a></li>
			<li class="hidden-print txtrequired"><em class="fa fa-power-off">&nbsp;</em><a title="Đóng cửa sổ này" href="javascript:;" onclick="window.close()">Đóng cửa sổ này</a></li>
		</ul>
		<div class="clear"></div>
		<div id="hometext">
		</div>
				<div class="imghome">
			<img alt="4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian" src="https://st.quantrimang.com/photos/image/2017/10/30/bai-tap-python-thuc-hanh-code-size-80x80-znd.jpg" width="460" class="img-thumbnail" />
		</div>
		<div class="clear"></div>
		<div id="bodytext" class="clearfix">
			<p style="text-align: justify;">Các lệnh Linux thường được biết đến là quá dài. Việc này sẽ làm tăng độ phức tạp và các vấn đề liên quan đến việc tìm hiểu. Nhưng luôn có cách để rút ngắn các lệnh Linux của bạn và biến chúng thành những chuỗi ngắn gọn, súc tích mà mọi người yêu thích.</p>

<p style="text-align: justify;">Dưới đây là 4 cách để rút ngắn độ dài của các lệnh, giúp bạn chỉ cần nhập ít hơn và có thời gian làm được nhiều việc khác trong Linux Terminal.</p>

<h2 style="text-align: justify;">1. Thay thế đường dẫn tuyệt đối bằng đường dẫn tương đối</h2>

<p style="text-align: justify;">Bất kỳ ai quen thuộc với các nguyên tắc cơ bản của việc truyền đối số cho những chương trình Linux đều biết rằng có hai biểu thức đường dẫn khác nhau trong Linux: Đường dẫn tương đối và đường dẫn tuyệt đối.</p>

<p style="text-align: justify;">Ngoài việc dễ nhìn, các biểu thức đường dẫn tương đối còn mang lại một lợi ích khác, đó là chúng có thể làm được nhiều việc với ít ký tự hơn. Bạn có thể thay thế những đường dẫn tuyệt đối trong các lệnh của mình bằng các biểu thức đường dẫn tương đối và chỉ riêng điều đó thôi cũng sẽ giúp bạn tránh được rắc rối khi nhập các ký tự không cần thiết khi chỉ định đường dẫn file hoặc thư mục.</p>

<p style="text-align: justify;">Ngoài ra, các biểu thức đường dẫn tuyệt đối có một yêu cầu vốn có liên quan đến chúng. Bạn cần biết chi tiết về toàn bộ cấu trúc thư mục Linux để sử dụng đúng tên đường dẫn tuyệt đối.</p>

<p style="text-align: justify;">Hãy xem xét bạn hiện đang ở bên trong&nbsp;<strong>folder2</strong>&nbsp;trong cấu trúc thư mục sau:</p>

<pre id="pre0">
<code>/etc/folder1/folder2/folder3</code></pre>

<p style="text-align: justify;">Bây giờ, nếu bạn muốn điều hướng đến thư mục&nbsp;<strong>folder3</strong>&nbsp;ở cuối hệ thống phân cấp bằng đường dẫn tuyệt đối, bạn hãy nhập:</p>

<pre id="pre1">
<code>cd /etc/folder1/folder2/folder3</code></pre>

<p style="text-align: justify;">Mặt khác, để trỏ đến&nbsp;<strong>folder3</strong>&nbsp;trong khi bạn đang ở trong&nbsp;<strong>folder2</strong>&nbsp;bằng các đường dẫn tương đối, bạn sẽ nhập:</p>

<pre id="pre2">
<code>cd ./folder3</code></pre>

<p style="text-align: justify;">Sử dụng các biểu thức đường dẫn tương đối giúp bạn tiết kiệm công sức và thời gian lãng phí khi nhập 19 ký tự. Mặc dù khoản tiết kiệm ban đầu có vẻ không đáng kể nhưng về lâu dài nó sẽ hữu ích.</p>

<h2 style="text-align: justify;">2. Sử dụng alias dòng lệnh</h2>

<p style="text-align: justify;">Một lợi ích tuyệt vời khác của việc sử dụng giao diện dòng lệnh thay vì GUI là hầu hết các Linux shell cho phép bạn đặt alias dòng lệnh, là các biến đóng vai trò tham chiếu đến một lệnh khác bất cứ khi nào chúng được gọi trong shell.</p>

<p style="text-align: justify;">Alias giống như các biến chuỗi trong&nbsp;ngôn ngữ lập trình. Tên biến thường ngắn, nhưng khi bạn in giá trị của nó, nó có thể xuất ra hàng trăm, thậm chí hàng nghìn từ cùng một lúc.</p>

<p style="text-align: justify;">Do đó, nếu có một lệnh dài mà bạn chạy khá thường xuyên, bạn có thể đặt alias ngắn hơn nhiều cho lệnh đó để tiết kiệm thời gian.</p>

<p style="text-align: justify;">Giả sử bạn đang làm việc trên một dự án&nbsp;web-scraping&nbsp;và cần thường xuyên điều hướng đến thư mục dự án của mình bằng lệnh cd sau:</p>

<pre id="pre3">
<code>cd /home/username/project/python/scraper/myscraper</code></pre>

<p style="text-align: justify;">Gõ lệnh này một lần chắc chắn không thành vấn đề. Nhưng nếu bạn cần gõ lại cùng một lệnh hàng chục lần thì sao? Lựa chọn thông minh hơn sẽ là đặt alias đóng vai trò thay thế cho lệnh đã nói ở trên. Bạn có thể làm như vậy bằng cách sử dụng lệnh alias như sau:</p>

<pre id="pre4">
<code>alias cdproj=&quot;cd /home/username/project/python/scraper/myscraper&quot;</code></pre>

<p style="text-align: justify;">Bây giờ, khi bạn gõ cdproj trong terminal, shell sẽ thay đổi thư mục làm việc hiện tại thành thư mục dự án.</p>

<p style="text-align: justify;">Để lưu alias vĩnh viễn, hãy thêm lệnh nêu trên vào file cấu hình shell của bạn, tức là .bashrc, .zshrc, v.v…</p>

<h2 style="text-align: justify;">3. Sử dụng tính năng tự động hoàn thành của shell</h2>

<p style="text-align: justify;">Hầu hết các Linux shell sẽ giúp bạn nhập lệnh dễ dàng hơn bằng cách cung cấp cho bạn tính năng tự động hoàn thành, tương tự như tính năng bạn có trên điện thoại thông minh của mình.</p>

<p style="text-align: justify;">Khi bạn chỉ định đường dẫn đến một file hoặc thư mục, hầu hết thời gian, bạn có thể nhấn Tab để tự động hoàn thành biểu thức đường dẫn. Tùy thuộc vào shell bạn đang sử dụng, thậm chí bạn có thể tự động hoàn thành các lệnh Linux khác bằng cách nhấn Tab.</p>

<p style="text-align: justify;">Hãy xem xét cấu trúc thư mục&nbsp;<strong>/etc/folder1/folder2/folder3</strong>&nbsp;làm ví dụ. Nếu bạn đang ở trong&nbsp;<strong>folder1</strong>&nbsp;và muốn thay đổi thư mục thành&nbsp;<strong>folder2</strong>, bạn có thể nhập&nbsp;<strong>&quot;cd fold&quot;</strong>&nbsp;rồi nhấn ngay&nbsp;<strong>Tab</strong>&nbsp;để shell hoàn thành lệnh cho bạn.</p>

<h2 style="text-align: justify;">4. Tạo shell script cho các hoạt động lặp đi lặp lại</h2>

<p style="text-align: justify;">Viết shell script của riêng bạn cho các tác vụ lặp đi lặp lại có thể hữu ích nếu bạn có một loạt lệnh chạy thường xuyên. Nó đặc biệt là cứu cánh cho các lập trình viên, những người thường xuyên phải biên dịch và thực thi một chương trình bằng cách sử dụng một loạt các lệnh hoạt động trên file nguồn.</p>

<p style="text-align: justify;">Giả sử bạn phải chạy một nhóm lệnh nhiều lần trong ngày. Điều này có thể bao gồm các lệnh để cam kết thay đổi đối với kho lưu trữ Git trung tâm của dự án, di chuyển một số file từ vị trí này sang vị trí khác hoặc chỉ cần thay đổi tên của file được sửa đổi lần cuối trong một thư mục cụ thể.</p>

<p style="text-align: justify;">Thay vì nhập thủ công các lệnh trong terminal, bạn có thể viết shell script để tự động quy trình này cho bạn. Cân nhắc việc bạn cần thêm và cam kết các thay đổi được thực hiện đối với mã nguồn của dự án bằng Git. Bạn có thể sử dụng shell script sau để tự động hóa việc này:</p>

<pre id="pre5">
<code>#!/bin/bash
cd /home/username/project/directory/
git add --all
git commit -m &quot;Another change&quot;
echo &quot;All changes were successfully committed&quot;</code></pre>

<p style="text-align: justify;">Lưu file dưới dạng&nbsp;<strong>&quot;changes.sh&quot;</strong>&nbsp;và sau đó chạy nó bằng lệnh sau, bất cứ khi nào bạn muốn thực hiện các thay đổi đối với kho lưu trữ:</p>

<pre id="pre6">
<code>./changes.sh</code></pre>

<p style="text-align: justify;">Trước khi chạy script, hãy đảm bảo cấp quyền thực thi cho file bằng chmod:</p>

<pre id="pre7">
<code>sudo chmod +X changes.sh</code></pre>

<h2 style="text-align: justify;">Mẹo bổ sung: Truy cập lịch sử lệnh trên Linux</h2>

<p style="text-align: justify;">Linux cố gắng hết sức để giảm thiểu thời gian và công sức bạn bỏ ra để làm việc với dòng lệnh. Shell alias, script và tính năng tự động hoàn thành giúp việc gõ lệnh trở nên thuận tiện cho những người sử dụng terminal để họ có thể tận hưởng công việc trong shell.</p>

<p style="text-align: justify;">Một tính năng khác là khả năng truy cập các lệnh đã nhập trước đó bằng lịch sử lệnh. Khi ở trong một terminal, bạn có thể sử dụng phím mũi tên lên để điều hướng qua lịch sử lệnh và nhấn&nbsp;<strong>Enter</strong>&nbsp;để ra lệnh.</p>

<p style="text-align: justify;">Giả sử bạn đã thay đổi thư mục làm việc hiện tại của mình thành thư mục dự án hai giờ trước đó. Bạn có thể tiếp tục nhấn mũi tên lên cho đến khi tìm thấy lệnh mình cần. Sau đó, chỉ cần nhấn&nbsp;<strong>Enter</strong>&nbsp;để ra lệnh lại.</p>

<p style="text-align: justify;">Bạn chỉ có thể xem và thực hiện lại các lệnh mà bạn đã chạy trong terminal hiện tại.</p>
		</div>
				<div id="author">
						<p>
				<strong>Nguồn tin:</strong>
				Quantrimang.com
			</p>
		</div>
	</div>
	<div id="footer" class="clearfix">
		<div id="url">
			<strong>URL của bản tin này: </strong><a href="https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/4-cach-rut-ngan-cac-lenh-linux-va-tiet-kiem-thoi-gian-6401.html" title="4 cách rút ngắn các lệnh Linux và tiết kiệm thời gian">https://www.nguoicodonvn2008.info/vi/news/savefile/kien-thuc-may-tinh/4-cach-rut-ngan-cac-lenh-linux-va-tiet-kiem-thoi-gian-6401.html</a>

		</div>
		<div class="clear"></div>
		<div class="copyright">
			&copy; .&#x3A; Nguoicodonvn2008.info - Cõi lòng người cô đơn &#x3A;.
		</div>
		<div id="contact">
			<a href="mailto:admin@nguoicodonvn2008.info">admin@nguoicodonvn2008.info</a>
		</div>
	</div>
</div>
        <div id="timeoutsess" class="chromeframe">
            Bạn đã không sử dụng Site, <a onclick="timeoutsesscancel();" href="https://www.nguoicodonvn2008.info/#">Bấm vào đây để duy trì trạng thái đăng nhập</a>. Thời gian chờ: <span id="secField"> 60 </span> giây
        </div>
        <div id="openidResult" class="nv-alert" style="display:none"></div>
        <div id="openidBt" data-result="" data-redirect=""></div>
		</script>
		<div class="car-top">
  <span><img src="https://www.nguoicodonvn2008.info/themes/default/images/car.png" alt=""></span>
</div>
<div id="run_cronjobs" style="visibility:hidden;display:none;"><img alt="cron" src="/index.php?second=cronjobs&amp;p=l2691F6p" width="1" height="1" /></div>
<script src="https://www.nguoicodonvn2008.info/assets/js/jquery/jquery.min.js"></script>
<script>var nv_base_siteurl="/",nv_lang_data="vi",nv_lang_interface="vi",nv_name_variable="nv",nv_fc_variable="op",nv_lang_variable="language",nv_module_name="news",nv_func_name="savefile",nv_is_user=0, nv_my_ofs=-4,nv_my_abbr="EDT",nv_cookie_prefix="nv4c_e856T",nv_check_pass_mstime=1738000,nv_area_admin=0,nv_safemode=0,theme_responsive=0,nv_recaptcha_ver=2,nv_recaptcha_sitekey="",nv_recaptcha_type="image",XSSsanitize=1;</script>
<script src="https://www.nguoicodonvn2008.info/assets/js/language/vi.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/DOMPurify/purify3.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/global.js"></script>
<script src="https://www.nguoicodonvn2008.info/assets/js/site.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/news.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/main.js"></script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/custom.js"></script>
<script type="application/ld+json">
        {
            "@context": "https://schema.org",
            "@type": "Organization",
            "url": "https://www.nguoicodonvn2008.info",
            "logo": "https://www.nguoicodonvn2008.info/uploads/angel.gif"
        }
        </script>
<script src="https://www.nguoicodonvn2008.info/themes/default/js/bootstrap.min.js"></script>
<script type="text/javascript">
var $scrolltop = $('.car-top');
$scrolltop.on('click', function () {
    $('html,body').animate({
        scrollTop: 0
    }, 800);
    $(this).addClass("car-run");
    setTimeout(function(){ $scrolltop.removeClass('car-run');}, 1000);
    return false;
});
$(window).on('scroll', function ()
{ 
    if($(window).scrollTop() >= 200)
    {
        $scrolltop.addClass("show");
        $scrolltop.addClass("car-down");
    }
    else
    {
       $scrolltop.removeClass("show");
       setTimeout(function(){ $scrolltop.removeClass('car-down');}, 300);
    }
});
</script>
</body>
</html>