Tải bản đầy đủ (.pptx) (32 trang)

Window subsystem for linux ubuntu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (262.64 KB, 32 trang )

<span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>WINDOW </b>

<b>SUBSYSTEM </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

Giới thiệu

<b>01</b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Hệ thống con Windows dành cho Linux cho phép các nhà phát triển chạy môi trường GNU/Linux -- bao gồm hầu hết các công cụ, tiện ích và ứng dụng dịng lệnh -- trực tiếp trên Windows, không bị sửa đổi, mà không cần cài đặt khởi động kép hoặc máy ảo truyền thống.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Cài đặt

<b>02</b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

—Cài đặt

Chạy Windows 10 phiên bản 2004 trở lên (Build 19041 trở lên) hoặc Windows 11 để sử dụng các lệnh bên dưới

<small>7</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Tải xuống gói nhân cập nhật: Packet wsl --set -default-version2 Để liệt kê tên distro, wsl - - list - - online. wsl --install –d <tên bản phân phối>. Thiết lập người dùng và mật khẩu

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

GUI Bật TÍNH NĂNG CỬA SỔ

cho WSL.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Tải xuống gói kernel cập nhật cho wsl (nếu

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

whoami Hiển thị người dùng hiện tại

man <command> Nhận hướng dẫn sử dụng <lệnh> clear Xóa tồn bộ dữ liệu trên màn hình pwd Hiển thị thư mục làm việc hiện tại

ls Liệt kê tất cả những gì có trong thư mục hiện tại

cd Thay đổi thư mục (theo trình tự) cd . . Quay lại thư mục trước

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

open Mở tệp, thư mục

mv <file> <path>/ Di chuyển <tệp> đến <đường dẫn> cp <src> <dest> Sao chép nội dung của src sang dest head <file> -n lines In ra dòng đầu tiên của tệp

tail <file> -n lines In ra dòng cuối cùng của tệp date Hiển thị ngày- giờ

> Chuyển hướng đầu ra tiêu chuẩn cat –n <file> Đọc tệp và hiển thị số dòng

less <file> Hiển thị nội dung của tệp trong giao diện người dùng

echo Nhập kí tự vào file chỉ định

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

wc <file> In dòng, từ, số byte của tệp find <where>

<pattern> <sup>Tìm các tệp hoặc thư mục khớp với một mẫu tìm </sup>kiếm cụ thể theo cách đệ quy. grep Tìm kiếm trong tệp hoặc kết hợp để lọc đầu ra

của lệnh khác.

history Hiển thị tất cả các lệnh đã nhập.

ps Hiển thị các tiến trình hiện đang chạy.

top Liệt kê các tiến trình đang chạy trong thời gian thực.

kill <PID> Gửi nhiều tín hiệu đến một chương trình <PID> Mặc định: gửi tín hiệu ‘TERM' đến <PID>

nano <file_name> Mở và sửa đổi tệp.

sudo Chạy lệnh với quyền quản trị

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Để thay đổi quyền của một tập tin hoặc một thư mục.

Để sử dụng “chmod”, chúng ta cần nói với nó:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Ví dụ: chmod g+w file1.txt: nhóm có thể sửa đổi file1.txt chmod a-w file2.txt: xóa quyền ghi khỏi tất cả

chmod a=r file3.txt: Chỉ đặt quyền đọc cho tất cả

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>Vim & Nano </b>

<b>04</b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Vim </b>

• Vim là một trình soạn thảo văn bản là phiên bản nâng cấp của trình soạn thảo Vi và tương thích hơn với Vi. Việc sử dụng hầu hết các trình chỉnh sửa vi là để tạo tệp mới, chỉnh sửa tệp hiện có hoặc chỉ đọc tệp. Trình chỉnh sửa Vim hữu ích hơn trong việc chỉnh sửa các loại văn bản thuần túy khác nhau. Lệnh này được sử dụng nhiều hơn trong việc soạn thảo chương trình.

• Chúng ta có thể sử dụng Vim để chỉnh sửa các tệp .txt

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<small>•Mở hoặc tạo một tệp : vim <tên file></small>

<small>•Cho phép chỉnh sửa tập tin đó : Ấn phím Insert hoặc I•Copy và dán trong Vim:</small>

<small>Phím [v] và sử dụng ← → để đánh dấu văn bản. Sử dụng [V] (capslock) để chọn toàn bộ </small>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<small>•Cũng giống như Vim, nhưng Nano dễ tiếp cận hơn</small>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Khác nhau giữa GCC và G++

<small>g++ được sử dụng để biên dịch chương trình </small>

<small>C++.</small> <sup>gcc được sử dụng để biên dịch chương trình C.</sup>

<small>Sử dụng g ++ để liên kết các tệp đối tượng, các tệp sẽ tự động liên kết trong các thư viện </small>

<small>C++ tiêu chuẩn.</small> <sup>gcc không làm điều này.</sup> <small>g++ biên dịch với nhiều macro được xác định </small>

<small>trước hơn.</small>

<small>gcc biên dịch các tệp C++ với nhiều macros được xác định trước hơn. Một số là #define __GXX_WEAK__ 1, #define __cplusplus 1, #define __DEPRECATED 1, v.v.</small>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

Bước 1: Tạo chương trình C

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<small>1. Pre-processing</small>

<small>gcc –E {file_name}.c -o {file_name}.i</small>

<small>Đây là giai đoạn đầu tiên mà mã nguồn được chuyển qua. Giai đoạn này bao gồm:</small>

• Xóa ghi chứ

• Mở rộng Macro

• Mở rộng các tập tin bao gồm.

• Biên dịch có điều kiện

<small>Đầu ra được xử lý trước được lưu trữ trong tên tệp.i. Hãy xem có gì bên trong </small>

<b><small>filename.i: using $vi filename.i </small></b>

<small>Trong đầu ra ở trên, tệp nguồn chứa rất nhiều thông tin, nhưng cuối cùng, mã của chúng tôi được giữ nguyên.</small>

printf bây giờ chứa a + b thay vì add(a, b) đó là do macro đã được mở rộng.

Bình luận bị tước bỏ.

<b>#include<stdio.h> bị thiếu thay vào đó chúng tơi thấy rất nhiều mã. </b>

Vì vậy, các tệp tiêu đề đã được mở rộng và đưa vào tệp nguồn của chúng tơi.

<b>Những gì diễn ra bên trong q trình biên dịch?</b>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

2. Complier (Biên dịch)

<small>Bước tiếp theo là biên dịch filename.i và tạo một; tập tin đầu ra được biên dịch </small>

<b><small>trung gian  filename.s. Tệp này nằm trong hướng dẫn cấp độ lắp ráp. Hãy xem qua tập tin này bằng cách sử dụng $nano filename.s  lệnh đầu cuối.</small></b>

<small>gcc –S {file_name}.c => {file_name}.s</small>

3. Assembler

<small>Trong giai đoạn này, filename.s được lấy làm đầu vào và được trình hợp dịch mã chuyển thành filename.o. Tệp này chứa các hướng dẫn ở cấp độ máy. Ở giai đoạn này, chỉ mã hiện có được chuyển đổi thành ngơn ngữ máy và các lệnh gọi hàm </small>

<b><small>như printf() không được giải quyết. Hãy xem tập tin này bằng cách sử dụng $vi </small></b>

<small>gcc –c {file_name.s) => {file_name}.o</small>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

4. Linker

Đây là giai đoạn cuối cùng trong đó tất cả việc liên kết các lệnh gọi hàm với định nghĩa của chúng được thực hiện. Trình liên kết biết tất cả các chức năng này được triển khai ở đâu. Trình liên kết cũng thực hiện một số cơng việc bổ sung, nó thêm một số mã bổ sung vào chương trình của chúng tơi, mã này được yêu cầu khi chương trình bắt đầu và kết thúc. Ví dụ: có một mã cần thiết để thiết lập mơi trường như truyền đối số dịng lệnh. Bạn có thể dễ dàng xác minh tác vụ này bằng cách sử dụng 

$size filename.o 

và 

$size filename

. Thông qua các lệnh này, chúng ta biết cách tệp đầu ra tăng từ tệp đối tượng thành tệp thực thi. Điều này là do mã bổ sung mà Trình liên kết thêm vào chương trình của chúng tơi.

gcc {file_name}.o -o {output_file_name}

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>Makefile</b>

<b>06</b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

• Makefile là một cơng cụ xây dựng chương trình chạy trên Unix, Linux và các hương vị của chúng. Nó hỗ trợ đơn giản hóa việc thực thi

chương trình xây dựng có thể cần nhiều mơ-đun khác nhau. Để xác định cách các mô-đun cần được biên dịch hoặc biên dịch lại cùng nhau, hãy tạo sự trợ giúp của các tệp tạo tệp do người dùng xác định. Hướng dẫn này sẽ nâng cao kiến thức của bạn về cấu trúc và tiện ích của

• Makefiles là các tệp định dạng đặc biệt giúp xây dựng và quản lý dự án một cách tự động.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Các biến đại diện cho các hằng số mà người dùng có thể muốn tùy chỉnh trên dịng lệnh hoặc trong mơi trường được viết bằng tất cả chữ hoa, theo

:= | ::=Các biến mở rộng đơn giản.

?=Đặt giá trị biến nếu nó chưa được đặt trước đó.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

*

ký tự đại diện

• Tìm kiếm hệ thống tệp của

• bạn để tìm tên tệp phù hợp.

• Có thể được sử dụng trong mục tiêu, điều kiện tiên quyết hoặc trong chức năng ký tự đại diện.

% ký tự đại diện

• Khi được sử dụng ở chế độ “khớp”, nó khớp với một hoặc nhiều ký tự trong một chuỗi

• Khi được sử dụng trong chế độ

</div>

×