Các mô-đun phần mềm có thể thực thi được có phần mở rộng. Cách tạo một tệp có thể thực thi được trong Linux. Tên tập tin và thư mục

Nhiều người dùng hệ thống máy tính có lẽ đã gặp khái niệm về tệp chương trình thực thi ở mức độ này hay mức độ khác. Các tệp thực thi không phải lúc nào cũng có nhưng thường có phần mở rộng EXE, phần mở rộng này thường gặp trong các hệ điều hành thuộc họ Windows. Để làm sáng tỏ chủ đề tiện ích mở rộng, chúng ta sẽ xem xét thông tin chung về các đối tượng này và cũng xem xét một số loại tiện ích mở rộng cơ bản.

Các tệp thực thi khác với các đối tượng khác như thế nào

Trước khi khẳng định rằng một tệp thực thi của một chương trình chỉ có thể có một loại phần mở rộng cụ thể, cần phải hiểu cách phân biệt đối tượng đó với các đối tượng khác. Sự khác biệt chính giữa các tệp thực thi và dữ liệu thông tin khác bao gồm các yếu tố sau: phần mở rộng, cho biết nội dung của mã byte máy hoặc máy ảo trong tệp, chữ ký, thuộc tính trong hệ thống tệp. Tuy nhiên, ngay cả khi người dùng biết rằng các tệp thực thi có phần mở rộng tên là loại EXE, thì sẽ không thể xem nội dung bằng các phương tiện thông thường, vì các đối tượng đó đã biên dịch nội dung, được hiển thị khi được xem dưới dạng một tập hợp ký tự vô nghĩa. . Nói chung, người dùng sẽ phải sử dụng công cụ Disassembler hoặc thứ gì đó tương tự để cho phép dịch ngược. Nhưng đó không phải là điều chúng ta đang nói đến.

Các tập tin thực thi: cấu trúc

Đối với việc xây dựng các tệp thực thi, chúng phải chứa các tiêu đề (mục đích thực thi các lệnh, tham số và định dạng mã) và chính các lệnh đó (nguồn, máy hoặc mã byte). Trong một số trường hợp, cấu trúc có thể bao gồm dữ liệu gỡ lỗi, mô tả về môi trường, yêu cầu hệ điều hành, danh sách các thư viện liên quan, âm thanh, đồ họa, hình ảnh, biểu tượng lối tắt và những thứ tương tự. Nhiều người trong số các bạn có thể nhận thấy rằng phần lớn, mỗi tệp như vậy trong hệ điều hành ban đầu đều có một biểu tượng.

Nguyên lý hoạt động

Mặc dù các tệp thực thi có thể có các loại phần mở rộng khác nhau nhưng chúng hoạt động theo cùng một nguyên tắc. Khi khởi chạy, tệp thực thi sẽ được tải vào bộ nhớ của máy tính. Đồng thời, môi trường được cấu hình và khởi tạo, các thư viện bổ sung sẽ được đưa lên nếu chương trình cung cấp việc sử dụng chúng. Cũng ở giai đoạn này, một số thao tác bổ sung được định cấu hình và bản thân các hướng dẫn được thực thi bằng các phương thức được ghi trực tiếp trong tệp.

Các tệp chương trình có thể thực thi: chúng có phần mở rộng nào?

Bây giờ chúng ta hãy chuyển sang xem xét vấn đề liên quan đến tiện ích mở rộng. Tất nhiên, sẽ không thể xem xét tuyệt đối tất cả các loại, sẽ mất rất nhiều thời gian. Chúng tôi sẽ chỉ nêu bật các tùy chọn phổ biến và phổ biến nhất. Vì vậy, tiện ích mở rộng được đặt tùy thuộc vào loại nội dung. Ví dụ: trong hệ điều hành như Windows, các tệp thực thi phổ biến nhất có phần mở rộng EXE. Điều này áp dụng cho tất cả các chương trình được thiết kế để hoạt động trong môi trường của các hệ điều hành này. Những đối tượng như vậy chứa mã máy. Các tệp BIN rất giống nhau. Các tệp hàng loạt như CMD, BAT và COM là một loại tệp thực thi khác. Loại đầu tiên trong trường hợp này là tệp bó Windows. Các tệp thuộc loại thứ hai và thứ ba thuộc về hệ điều hành thuộc họ DOS. Nhiều người trong số các bạn có thể đã từng gặp các tệp MSI và MSU. Đây có thể là trình cài đặt cập nhật hệ thống hoặc trình cài đặt hệ điều hành Windows gốc. Một danh mục tệp riêng biệt bao gồm macro và tập lệnh. Đây là các tệp có phần mở rộng JSE, JS, SCR, VBE, VBS, VB. Thường cũng có các tệp JAD và JAR, dùng để cài đặt ứng dụng trên thiết bị di động hoặc sử dụng chúng trong môi trường JAVA. Trong nội dung của chúng, các đối tượng như vậy không còn chứa mã máy nữa mà chứa mã máy ảo.

Các tệp thực thi có phần mở rộng nào trên các hệ điều hành khác nhau?

Nếu để ý kỹ, bạn sẽ nhận thấy một số hệ điều hành có các thành phần khá cụ thể. Ví dụ: hệ điều hành Windows có một danh mục tệp thực thi đặc biệt. Nói chung, trong bất kỳ hệ điều hành nào, bạn có thể tìm thấy cả thành phần tiêu chuẩn và đặc biệt. Tuy nhiên, có một số định dạng phổ biến, chẳng hạn như HTA, một tài liệu HTML có thể thực thi được. Chúng hoạt động ở hầu hết mọi nơi, bất kể loại hệ điều hành được sử dụng. Đối với các loại hệ thống khác, chẳng hạn như trên máy Mac, các tệp thực thi có phần mở rộng APP dành cho các chương trình và PKG dành cho các bản phân phối. Trong các hệ điều hành thuộc họ Linux, mọi thứ hơi khác một chút. Vấn đề là trong những hệ điều hành như vậy không hề có khái niệm về phần mở rộng. Bạn có thể nhận dạng một tệp thực thi theo các thuộc tính của nó, chẳng hạn như hệ thống, ẩn, chỉ đọc, v.v. Do đó, vấn đề thay đổi tiện ích mở rộng để khởi chạy hoặc đọc tệp được yêu cầu sẽ biến mất. Tuy nhiên, trong bất kỳ hệ điều hành nào, ngay cả trên thiết bị di động, bạn có thể tìm thấy một số lượng lớn các đối tượng thuộc loại này. Bạn không cần phải đi xa. Trong cùng một hệ điều hành thuộc dòng Android, tệp thực thi của trình cài đặt có phần mở rộng APK. Trên thiết bị Apple, các tệp thực thi có phần mở rộng IPA.

Phần kết luận

Hãy tóm tắt đánh giá ngắn gọn của chúng tôi về các phần mở rộng tệp thực thi. Trọng tâm trong trường hợp này chủ yếu là các đối tượng có trong hệ điều hành thuộc họ Windows. Các hệ điều hành còn lại chỉ được đề cập một thời gian ngắn để phát triển chung. Như đã thấy rõ, số lượng tệp thực thi là rất lớn. Không thể cung cấp một số loại bảng tóm tắt chỉ rõ tất cả các loại tiện ích mở rộng. Do đó, trong bài viết này, chúng tôi chỉ giới hạn ở những định dạng phổ biến nhất.

Người dùng Ubuntu mới bắt đầu thường gặp khó khăn trong việc làm quen với một số chi tiết cụ thể về xử lý tệp trên hệ thống này. Tuy nhiên, trên thực tế, mọi thứ đều cực kỳ đơn giản và rất tao nhã, trong bài viết này tôi sẽ cố gắng giải thích tất cả những điều tinh tế, để sau này khi sử dụng hệ thống bạn sẽ không bị bỡ ngỡ vì một số điều thoạt nhìn không thể hiểu được.

Tên tập tin và thư mục

Tôi đã đề cập rằng trong Linux, tất cả các tên tệp đều phân biệt chữ hoa chữ thường, nghĩa là bạn có thể dễ dàng tạo hai tệp trong cùng một thư mục có cùng tên, nhưng được viết trong các trường hợp khác nhau, ví dụ: Ubuntu.txt và ubuntu.txt.

Ngoài ra, tôi cũng đã nói rằng bạn có thể sử dụng trong tên tập tin tuyệt đối Bất kỳ ký tự nào bạn muốn ngoài dấu gạch chéo lên / , tuy nhiên vì một số lý do, tôi không khuyên bạn nên sử dụng các ký tự sau: \< >* , cũng như các ký tự dòng và tab mới. Bạn có thể ký các tập tin của mình bằng ký tự Trung Quốc, rune, chữ cái Hy Lạp và bất cứ thứ gì bạn muốn, miễn là bạn cảm thấy thoải mái khi sử dụng những tên đó.

Và cuối cùng, hãy để tôi nhắc bạn một lần nữa rằng dấu phân cách thư mục trong đường dẫn đến tệp trong Linux luôn là ký tự /, không giống như Windows sử dụng \ .

Truy cập file

Nội dung và phần mở rộng của tệp

Nếu trước đây bạn đã sử dụng hệ điều hành Windows thì rất có thể bạn đã quen với việc loại tệp được xác định bởi phần mở rộng của nó (phần cuối của tên tệp sau dấu chấm). Ví dụ: tệp "Blue Icefall.mp3" là nhạc ở định dạng mp3 và "Urania.txt" là tệp văn bản. Trên thực tế, mọi thứ hơi khác một chút, phần mở rộng chỉ là một phần của tên tệp, không phụ thuộc vào nội dung thực tế theo bất kỳ cách nào và loại tệp thường được xác định khác nhau. Ví dụ: truy cập Ubuntu vào một thư mục nào đó có tệp mp3 và chuyển sang chế độ xem danh sách. Trong cột “Loại” bên cạnh tệp mp3, bạn sẽ thấy “Âm thanh MP3”:

Bây giờ đổi tên bất kỳ tệp nào, đặt phần mở rộng thay vì mp3?? .

Bạn thấy đấy, loại tập tin không hề thay đổi. Nếu bây giờ bạn cố mở một tệp như vậy, nó sẽ dễ dàng mở dưới dạng mp3 trong trình phát.

Tất nhiên, phần mở rộng là cần thiết, hơn nữa, Ubuntu chủ yếu dựa vào nó, tức là nếu bạn đổi tên một tệp mp3 bằng cách thêm phần mở rộng txt vào đó, thì Ubuntu sẽ coi tệp đó là văn bản. Tuy nhiên, việc Ubuntu có thể nhìn xa hơn tên tệp đã giải quyết được rất nhiều vấn đề. Do đó, đừng ngạc nhiên khi bạn gặp các tệp trong Ubuntu mà không có bất kỳ phần mở rộng nào, hệ thống này hoạt động bình tĩnh mà không cần hỏi bất cứ điều gì.

Nhân tiện, Ubuntu có một tiện ích phát hiện loại tệp mạnh mẽ, tiện ích này hoàn toàn không nhìn vào tên và phần mở rộng mà chỉ cố gắng xác định tệp bằng nội dung của nó. Nó có thể hữu ích khi không thể mở tệp vì lý do nào đó, vì nó cho phép bạn đảm bảo rằng nó chứa dữ liệu thuộc loại chính xác mà bạn mong đợi thấy ở đó. Tiện ích này là tiện ích bảng điều khiển và được gọi là file. Đây là những gì cô ấy nói về âm thanh mp3 được đổi tên thành tài liệu văn bản:

Hầu như không thể đánh lừa tiện ích tệp và nó biết về hầu hết các định dạng tệp được sử dụng.

Các tập tin thực thi

Về vấn đề tệp thực thi, tức là nói một cách đơn giản, các chương trình thông thường, Ubuntu hoàn toàn khác với Windows. Trong Windows, các tệp thực thi có phần mở rộng là exe (hầu hết), nhưng bên trong chúng là một tập hợp byte không thể đọc được. Và trong Ubuntu, ngay cả một tệp văn bản cũng có thể được thực thi. Tôi sẽ nói ngay rằng exe là các chương trình dành cho Windows và trong Ubuntu, chúng không hoạt động nếu không có Wine (một ứng dụng để khởi chạy các tệp thực thi Windows trên Linux), nhưng nói chung, chúng không phải lúc nào cũng hoạt động trong Wine.

Vậy file thực thi theo thuật ngữ Ubuntu là gì? Trên thực tế, đây là bất kỳ tệp nào được đánh dấu là có thể thực thi được và Ubuntu có thể chạy. Điều này có nghĩa là: mỗi tệp có một thuộc tính chuyển đổi đặc biệt không phụ thuộc vào tên hoặc nội dung theo bất kỳ cách nào và chịu trách nhiệm về khả năng thực thi. Nếu một tệp được đánh dấu là có thể thực thi được thì nói chung là có thể thực thi được, còn nếu nó không được đánh dấu thì đó là một tệp thông thường có dữ liệu và không thể được thực thi trực tiếp. Một điều nữa là không phải mọi tệp được đánh dấu là có thể thực thi đều có thể được Ubuntu thực thi, mặc dù Ubuntu có rất nhiều phương pháp để khởi chạy các tệp có nội dung hoàn toàn khác nhau.

Một ví dụ điển hình về các tệp thực thi Linux thoạt nhìn có vẻ bất thường là cái gọi là tập lệnh. Tập lệnh là các tệp văn bản thông thường chứa một tập hợp các hướng dẫn cho một chương trình thông dịch thực sự thực thi các tập lệnh. Vì vậy, nếu thuộc tính thực thi được đặt trên tập lệnh, thì đó là một chương trình có thể được khởi chạy theo cách thông thường và nếu nó không được cài đặt thì đó chỉ là một tệp văn bản. Nghĩa là, bạn có thể làm cho một tệp có thể thực thi được hoặc ngược lại, loại bỏ khả năng thực thi của nó bằng cách chỉ thay đổi một trong các thuộc tính của nó.

Hơn nữa, trên thực tế, thuộc tính chuyển đổi khả năng thực thi kỳ diệu này là một trong ba quyền truy cập mà tôi đã đề cập ngắn gọn trong bài viết trước. Tôi đã nói rằng mỗi tệp có ba nhóm quyền truy cập - đối với người dùng chủ sở hữu, đối với nhóm chủ sở hữu và đối với những người khác, mỗi nhóm lần lượt bao gồm ba quyền: đọc, sửa đổi và thực thi. Vì vậy, quyền thực thi là công tắc kỳ diệu của khả năng thực thi.

Một thuộc tính rất buồn cười xuất phát từ điều này: cùng một tệp có thể được thực thi và không thể thực thi cùng một lúc, chẳng hạn, nếu chỉ người dùng chủ sở hữu mới có quyền thực thi nó. Sau đó, người dùng sở hữu tệp này sẽ có thể chạy nó dưới dạng một chương trình và đối với những người khác, nó sẽ là một tệp dữ liệu thông thường.

Đây là cách mọi thứ thực sự đơn giản và đẹp mắt, tôi hy vọng bạn hiểu logic cơ bản và sẽ không bị nhầm lẫn khi làm việc với các tệp thực thi trong Ubuntu.

Tệp văn bản

Các tệp văn bản có ở khắp mọi nơi trong Ubuntu. Tất cả các cài đặt được lưu trữ dưới dạng tệp văn bản, mã nguồn của tất cả các chương trình đều là tệp văn bản, nhiều chương trình trong Ubuntu thực chất là tập lệnh, tức là cũng là tệp văn bản. Và tất nhiên Ubuntu có thể làm việc với các file văn bản theo bất kỳ cách nào bạn muốn. Và chủ đề này thậm chí sẽ không cần phải đề cập đến nếu không có một vấn đề nào đó với hệ điều hành Windows. Thực tế là trong Windows, ở một số nơi, phương pháp lưu văn bản thuần túy đã lỗi thời vào những năm 90 của thế kỷ trước vẫn được sử dụng, đặc biệt là trong các tệp văn bản.

Trên thực tế, hầu hết các tệp sẽ mở trong trình soạn thảo văn bản Ubuntu tiêu chuẩn mà không gặp vấn đề gì, nhưng đôi khi bạn gặp phải các tệp có vẻ “điên rồ”. Trong trường hợp này, bạn cần trợ giúp Gedit một chút và chỉ định mã hóa tệp theo cách thủ công. Để thực hiện việc này, hãy đóng tab có tệp không thể đọc được trong trình chỉnh sửa, sau đó chọn “Mở” trong menu chương trình, tìm tệp của bạn và chú ý đến trường “Mã hóa ký tự” nằm ở cuối hộp thoại mở. Trong trường này, bạn phải chỉ định mã hóa mong muốn, sau đó tệp sẽ mở ở dạng có thể đọc được. Nhân tiện, tôi khuyên bạn nên lưu ngay những tệp như vậy vào utf-8 để không gặp vấn đề gì với chúng trong tương lai.

Có nhiều cách dễ dàng hơn để làm việc với mã hóa, chẳng hạn như plugin dành cho Gedit cho phép bạn thay đổi mã hóa của các tệp đang mở mà không cần phải mở lại chúng. Ngoài ra còn có các tiện ích tự động chuyển mã file sang utf8, ví dụ enca. Bạn cũng có thể kiểm soát cơ chế tự động phát hiện mã hóa trong Gedit; việc này được thực hiện thông qua trình chỉnh sửa cấu hình mà tôi sẽ nói một chút về điều này ở một trong những bài viết cuối cùng.

Cuối cùng, tôi muốn nói rằng bằng cách này hay cách khác, chúng tôi rất khuyến khích chuyển tất cả thông tin văn bản sang sử dụng utf8, vì trên thực tế, chỉ có mã hóa này thường được nhận dạng ở mọi nơi và luôn luôn, và trong tương lai, rất có thể, sẽ chỉ có nó đã sử dụng.

Tập tin âm thanh

Trong trường hợp tệp âm thanh, cũng có vấn đề về mã hóa, nhưng nó chỉ biểu hiện ở thẻ. Thật không may, một số chương trình chỉnh sửa thẻ và trình soạn thảo văn bản phổ biến của Windows vẫn sử dụng mã hóa lỗi thời. Một số trình phát Ubuntu hỗ trợ chỉ định mã hóa các tệp đang được phát, nhưng tốt hơn hết là bạn nên xử lý toàn bộ thư viện phương tiện của mình bằng các chương trình đặc biệt sẽ tự động đưa tất cả các thẻ về dạng bình thường để không gặp vấn đề gì trong tương lai. Chương trình phổ biến nhất thuộc loại này là EasyTag, nó có sẵn trong các kho lưu trữ tiêu chuẩn, vì vậy gần như ngay lập tức sau khi đọc bài viết tiếp theo, bạn sẽ có thể sử dụng nó.

Về định dạng, Ubuntu hỗ trợ tất cả các định dạng âm thanh hiện có, nhưng một số yêu cầu codec bổ sung để phát. Tôi sẽ cho bạn biết cách cài đặt chúng ở một trong những bài viết sau.

Thay đổi liên kết tập tin với các ứng dụng

Khi bạn đã cảm thấy thoải mái hơn một chút với Ubuntu, bạn có thể muốn khám phá vô số chương trình có sẵn trong kho. Và ngay sau khi bạn chọn từ vô số lựa chọn thay thế các ứng dụng phù hợp với mình, rất có thể bạn sẽ phải đối mặt với một câu hỏi hoàn toàn hợp lý: làm thế nào để buộc một số loại tệp nhất định mở trong các chương trình bạn đã cài đặt chứ không phải trong những chương trình có sẵn theo mặc định?

Câu trả lời cho điều này rất đơn giản. Nhấp chuột phải vào bất kỳ tệp nào thuộc loại mong muốn, chọn “Thuộc tính” trong menu xuất hiện và trong cửa sổ mở ra, chuyển đến tab “Mở trong chương trình”:

Danh sách sẽ chứa tất cả các ứng dụng đã thông báo cho Ubuntu rằng chúng hỗ trợ loại tệp đã chọn. Vâng, chương trình được sử dụng theo mặc định sẽ được đánh dấu. Tất cả những gì bạn phải làm là chọn ứng dụng mong muốn và đóng cửa sổ, sau đó các tệp thuộc loại đã chỉ định sẽ bắt đầu mở theo mặc định trong ứng dụng bạn chọn. Tức là, chẳng hạn, nếu bạn muốn mở phim ở định dạng avi trong VLC mà bạn đã cài đặt chứ không phải trong trình phát phương tiện Totem, thì bạn chỉ cần đánh dấu VLC là ứng dụng mặc định trong thuộc tính của bất kỳ tệp avi nào.

Nhân tiện, bạn có thể dễ dàng đưa các ứng dụng của mình vào danh sách bằng cách nhấp vào nút “Thêm” ở cuối cửa sổ và chọn một trong các chương trình được cài đặt trên hệ thống hoặc nhập lệnh khởi chạy của bạn. Bằng cách này, bạn có thể thiết lập liên kết với bất kỳ ứng dụng nào cho tất cả các loại tệp bạn sử dụng.

Tuy nhiên, cơ chế được mô tả có một vấn đề nhỏ: để thay đổi liên kết ứng dụng cho một loại tệp nhất định, bạn cần phải có tệp thuộc loại mong muốn. Bạn không thể đơn giản xem và thay đổi danh sách tất cả các liên kết mặc định được sử dụng trong hệ thống. May mắn thay, chức năng tương tự có sẵn trong tiện ích Ubuntu Tweak đã được đề cập, vì vậy nếu bạn muốn thay đổi liên kết cho một số lượng lớn loại tệp cùng một lúc, tôi khuyên bạn nên sử dụng nó.

Là một kết luận

Trong bài viết này, tôi đã cố gắng nói chi tiết về các tính năng chính khi làm việc với các tệp trong Ubuntu. Tôi hy vọng bạn có thể hiểu được đó là gì và nắm bắt được những điểm chính. Cuối cùng, tôi muốn lưu ý rằng Ubuntu hỗ trợ hầu hết các định dạng tệp phổ biến mà không cần bất kỳ phần mềm bổ sung nào; các tệp cụ thể ít nhất có thể được chuyển đổi sang một trong các định dạng tiêu chuẩn bằng cách sử dụng các chương trình khác nhau có sẵn rất nhiều trong kho Ubuntu.

Một lát sau, tôi sẽ cho bạn biết cách cài đặt gói hỗ trợ đầy đủ cho các định dạng đa phương tiện không có trong Ubuntu theo mặc định do luật pháp không hoàn hảo ở một số quốc gia, thật không may, chúng tôi phải tính đến điều này, nhưng đối với điều này, chúng tôi cần để xem xét chủ đề rất quan trọng sau đây:

Đúng, có ý kiến ​​​​cho rằng bạn không nên đặt tên tệp bằng các ký tự và dấu cách không phải tiếng Latinh, vì những tên như vậy có thể được hệ điều hành Microsoft đón nhận kém. Thật vậy, các phiên bản Windows trước Vista không thể hoạt động chính xác với các tệp được đặt tên bằng ký tự quốc gia; Windows cũng không hỗ trợ hầu hết các ký tự typographic trong tên tệp và không biết rằng hóa ra bạn có thể viết theo kiểu khác. Ubuntu thực sự cố gắng giải quyết vấn đề này, vì vậy, chẳng hạn, khi sao chép tệp vào ổ đĩa flash có thể sử dụng được trong Windows, Ubuntu sẽ tự động thay thế tất cả các ký tự có hại cho Windows bằng dấu gạch dưới. Ngoài ra, tên tệp tiếng Nga vẫn được hiển thị hoàn hảo ngay cả trong các phiên bản Windows cũ hơn bằng tiếng Nga. Nhưng vẫn còn một vấn đề, vì vậy hãy tự quyết định, cá nhân tôi thích sự tiện lợi của việc sắp xếp các tệp trong Ubuntu hơn những trục trặc hiếm gặp khi giao tiếp với Windows.

Tất nhiên, nếu bạn đã cài đặt codec để phát lại mp3. Nếu không, trước tiên hệ thống sẽ nhắc bạn cài đặt chúng, nhưng sau khi cài đặt, nó vẫn phát tệp của bạn.

Vấn đề là thế này: về mặt kỹ thuật, bộ nhớ máy tính lưu trữ các bit được kết hợp thành byte, tức là các tập hợp số 1 và số 0. Những tập hợp như vậy là những số trong hệ thống số nhị phân. Tức là máy tính chỉ có thể lưu trữ những con số thông thường. Để lưu văn bản và có thể đọc sau, bạn cần một bảng chuyển đổi đặc biệt trong đó mỗi ký tự có số riêng. Bảng như vậy được gọi là bảng mã hóa. Về mặt lịch sử, trên những máy tính đầu tiên, do tiết kiệm bộ nhớ, một byte tương ứng với một ký tự nên mã hóa chỉ có thể chứa 256 ký tự (vì các số từ 0 đến 255 có thể được ghi bằng một byte). Đương nhiên, 256 ký tự là không đủ để viết một số bảng chữ cái quốc gia, chưa kể tất cả các bảng chữ cái trên thế giới. Do đó, đối với mỗi bảng chữ cái quốc gia, bảng chữ cái riêng đã được phát triển (và đôi khi nhiều hơn một). Đối với tiếng Nga, ba bảng mã loại này được sử dụng phổ biến nhất là cp1251 tiêu chuẩn cho Windows, KOI8R và cp866 cũ cho DOS. Và mọi thứ sẽ ổn, nhưng từ tập hợp byte đại diện cho văn bản, không thể xác định nó được trình bày theo mã hóa quốc gia nào. Điều này tạo ra những vấn đề lớn khi cố gắng giao tiếp giữa những người thuộc các quốc tịch khác nhau và khiến việc nội hóa các tài liệu văn bản gần như không thể. Do đó, một bảng mã phổ quát đã được phát triển, được gọi là Unicode, chứa tất cả các ký tự được in trên Trái đất. Về mặt kỹ thuật, nó được triển khai trong một số phiên bản, trong đó phổ biến nhất là utf-8. Mã hóa này tương thích ngược với ASCII, tiêu chuẩn quốc tế cũ gồm 128 ký tự chỉ chứa các chữ cái tiếng Anh, chữ số Ả Rập và dấu câu, vì vậy các tài liệu chỉ có ký tự ASCII sẽ mở tốt dưới dạng utf-8. Ubuntu luôn luôn và ở mọi nơi sử dụng utf-8 một cách tự nhiên, đặc biệt, điều này cho phép sử dụng bất kỳ ký tự nào trong tên tệp và nói chung, gọi bất cứ thứ gì bạn muốn. Nhưng thật không may, một số chương trình dành cho Windows vẫn chưa thoát khỏi hoạt ảnh bị treo và thường sử dụng mã hóa quốc gia để lưu văn bản. Trong trường hợp phiên bản Windows tiếng Nga, mã hóa này là cp1251. Sự cố bắt đầu khi phải mở tài liệu từ Windows trong Ubuntu. Như tôi đã nói, không thể xác định từ một tập hợp byte cái nào trong số hàng trăm mã hóa mà nó được biểu diễn. Do đó, theo mặc định, Ubuntu giả định rằng tất cả văn bản được trình bày ở dạng mã hóa quốc tế tiêu chuẩn, nghĩa là utf-8. Và nếu bạn mở một tệp văn bản có các ký tự tiếng Nga được tạo trong Windows trên Ubuntu, bạn có thể thấy các ký tự lạ.

Bởi vì theo mặc định, trong phiên bản Ubuntu tiếng Nga, Gedit được định cấu hình theo cách nó cố gắng tự động chọn một trong các mã hóa tiếng Nga phổ biến cho tệp. Tất nhiên, nếu tệp chứa văn bản không phải tiếng Nga và tệp được lưu ở một trong các bảng mã lỗi thời thì Ubuntu sẽ không thể tự động mở tệp đó.

Tệp thực thi là tệp chứa các chương trình máy tính sẵn sàng chạy.

Tệp thực thi là cụm từ xuất hiện khá thường xuyên, chủ yếu trong tài liệu. Trong giao tiếp trực tiếp (bao gồm cả giao tiếp ảo), người dùng sử dụng các thuật ngữ ít rườm rà hơn để chỉ loại tệp này, phản ánh chính xác hơn ý nghĩa của chúng.

Vậy ẩn sau cụm từ này là gì? Tệp thực thi là tệp chứa các chương trình máy tính sẵn sàng chạy. Tùy thuộc vào hình thức chương trình được viết trong tệp thi hành, có hai nhóm tệp lớn thuộc lớp này. Nhóm con đầu tiên là các tệp nhị phân; chúng chứa một bản ghi chương trình dưới dạng mã máy đặc biệt, thường được truyền trực tiếp đến bộ xử lý. Những tập tin như vậy còn được gọi tắt là nhị phân. Ngược lại, có những tệp thực thi trong đó chương trình được viết ở dạng văn bản - nghĩa là ở dạng mà lập trình viên đã tạo ra nó làm việc với nó. Các tập tin thực thi như vậy được gọi là tập lệnh. Thuật ngữ này cũng thường được sử dụng liên quan đến chính các chương trình được lưu trữ trong các tệp đó.

Để chạy các chương trình từ hầu hết các tệp thực thi nhị phân, bạn chỉ cần một hệ điều hành hỗ trợ chúng. Để thực thi các tập lệnh, bạn cần một trình thông dịch sẽ dịch văn bản chương trình một cách tuần tự thành các lệnh của bộ xử lý. Một số tệp thực thi nhị phân cũng yêu cầu trình thông dịch chạy.

Trên Windows, các tệp thực thi nhị phân phổ biến nhất. Loại phổ biến nhất trong số đó là ứng dụng. Các ứng dụng có phần mở rộng EXE và có thể chạy độc lập. Ngoài chúng, còn có các thư viện động (phần mở rộng của chúng là DLL), chứa các chức năng chung cho các ứng dụng khác nhau. Ngoài ra còn có trình điều khiển (DRV hoặc VXD) - các chương trình đặc biệt cần thiết để hệ thống có thể tương tác với các kiểu máy cụ thể của một số thiết bị nhất định. Các tệp thực thi (đặc biệt là trong Windows) có thể phụ thuộc vào nhau: ví dụ: để chạy bất kỳ ứng dụng nào, cần có một số thư viện động hệ thống nhất định và đến lượt chúng, chúng cần có trình điều khiển.

Cần lưu ý rằng các tệp thực thi không chỉ chứa bản thân các chương trình mà còn chứa nhiều dữ liệu bổ sung khác nhau. Đây có thể là các tài nguyên đồ họa khác nhau được chương trình hiển thị, văn bản khắc, mô tả hộp thoại, v.v. Một ví dụ nổi bật về điều này có thể là các kho lưu trữ tự giải nén, chứa khối lượng lớn thông tin được đóng gói nhằm giảm dung lượng của nó trong quá trình truyền hoặc lưu trữ.

Vadim STANKEVICH

VKontakte chắc chắn là một mạng xã hội rất rộng rãi, nơi mọi người không chỉ trao đổi thư từ với nhau mà còn trao đổi nhiều tệp khác nhau. Về vấn đề này, nhiều người dùng mạng xã hội này thường gặp phải sự cố khi cố gắng đính kèm tệp vào tin nhắn thì xuất hiện lỗi với dòng chữ “Không thể tải tệp lên. Tệp không được thực thi và kích thước của nó không được vượt quá 200 MB."

Nếu mọi thứ đều rõ ràng về kích thước tệp thì không phải ai cũng biết “Tệp không được thực thi” nghĩa là gì.

Trong bài viết này, chúng tôi sẽ cho bạn biết tệp thực thi là gì và phải làm gì để bỏ qua cảnh báo này.

Tệp thực thi - nó là gì?

Tệp thực thi là tệp chứa tập lệnh được tạo sẵn cho máy tính mà bạn có thể tải ngay vào bộ nhớ và bắt đầu thực thi.

Theo quy định, đây là những tệp có phần mở rộng .exe, .bat, .com.

Ngoài ra, đôi khi VKontakte không muốn tải xuống các kho lưu trữ chứa các tệp .exe, do lỗi tương tự.

Điều này là do vấn đề bảo mật, vì tệp .exe là tệp phổ biến đầu tiên trong bảng xếp hạng về khả năng bị nhiễm vi-rút. Và để bằng cách nào đó giảm thiểu nguy cơ lây lan vi-rút máy tính thông qua VKontakte, các nhà phát triển đã quyết định cấm chuyển lẫn nhau loại tệp dễ bị ảnh hưởng nhất - tệp thực thi.

Làm thế nào để khắc phục lỗi?

Khá dễ dàng để vượt qua giới hạn này. Bạn chỉ cần gửi nó đến một trong những cái được phép, chẳng hạn như .doc, cho người nhận và yêu cầu anh ta, sau khi tải xuống tệp, thay đổi phần mở rộng trở lại phần mở rộng mà tệp có ban đầu.

Thay đổi phần mở rộng tập tin

Các phương pháp thay thế bao gồm tải tệp mà VKontakte từ chối tải lên bất kỳ bộ lưu trữ đám mây nào như Yandex Disk hoặc Google Drive, sau đó gửi liên kết tới tệp đó cho người nhận VKontakte.


Cách tốt nhất để cảm ơn tác giả bài viết là đăng lại bài viết lên trang của bạn

Hệ điều hành Linux, không giống như Windows, xác định tệp nào là chương trình không phải bằng phần mở rộng mà bằng cờ thực thi đặc biệt. Mỗi tệp có ba cờ chính, đọc, viết và thực thi. Họ xác định những gì hệ thống có thể làm với tập tin này.

Khi bạn tải xuống nhiều trình cài đặt phần mềm khác nhau từ Internet hoặc tạo tập lệnh trong trình soạn thảo văn bản, cờ mặc định của chúng được đặt thành chỉ đọc và ghi. Bạn sẽ không thể chạy một tệp như vậy dưới dạng chương trình; bạn cần phải làm gì đó khác với nó. Trong bài viết này, chúng ta sẽ xem xét cách tạo một tệp có thể thực thi được trong Linux.

Phần lớn đã được viết về cách đặt cờ thực thi. Nhưng điều gì sẽ xảy ra với tệp trong quá trình này, khả năng thực thi là gì và nó hoạt động như thế nào?

Chương trình là một tập hợp các hướng dẫn mà bộ xử lý thực hiện lần lượt trên dữ liệu để tạo ra một kết quả cụ thể. Nhưng có lẽ bạn đã biết điều này.

Trên thực tế, đối với bộ xử lý không có sự khác biệt giữa dữ liệu và hướng dẫn. Cả hai đều bao gồm byte, nói cách khác là số. Ngày xửa ngày xưa, người ta đồng ý rằng một số kết hợp số nhất định sẽ có nghĩa là một hoặc một hành động khác của bộ xử lý, nhưng ở tất cả các khía cạnh khác thì đó là cùng một dữ liệu. Do đó, không có gì khác biệt đối với bộ xử lý những gì sẽ thực thi - tệp thực thi Linux hoặc tệp văn bản thông thường. Cả hai đều có thể được hoàn thành thành công, nhưng trong tùy chọn thứ hai, các hướng dẫn không có ý nghĩa gì.

Để hệ thống có thể xác định tệp nào cần được thực thi và tệp nào không nên thực thi, cờ thực thi đã được phát minh. Về cơ bản, cờ thực thi là một vài byte trong hệ thống tệp cho biết tệp có nên được thực thi hay không; nội dung của tệp không thay đổi theo bất kỳ cách nào. Với tập lệnh, mọi thứ đều hoạt động giống hệt nhau, chỉ có các lệnh từ tệp được thực thi không phải bởi bộ xử lý mà bởi trình thông dịch, chẳng hạn như trong tập lệnh bash, chính bash shell. Và các chương trình thông thường cũng có bộ nạp khởi động riêng - đây là ld-linux.so.2.

Làm cách nào để tạo một tệp có thể thực thi được trong Linux?

Trong hệ điều hành Linux, tiện ích chmod được sử dụng để kiểm soát cờ tệp. Cú pháp gọi tiện ích:

  • Loại- cờ có thể được đặt cho ba loại: chủ sở hữu tệp, nhóm tệp và tất cả người dùng khác. Trong lệnh, chúng được biểu thị bằng các ký hiệu u (người dùng) g (nhóm) o (khác), tương ứng.
  • Hoạt động- Có lẽ + (cộng), việc đặt cờ hoặc - (dấu trừ) bỏ cờ.
  • Lá cờ- một trong các cờ có sẵn là r (đọc), w (ghi), x (thực thi).

Ví dụ: để tạo một tập lệnh thực thi trong Linux cho chủ sở hữu tệp, chỉ cần chạy:

chmod u+x file_address

Điều này là đủ trong hầu hết các trường hợp, nhưng nếu chúng tôi muốn người dùng khác có thể truy cập được tệp, chúng tôi cũng cần chỉ định các danh mục khác: g:

chmod ugo+x file_address

Bạn có thể xem các cờ trong terminal bằng tiện ích ls:

ls -l thư mục_with_files

Điều này có nghĩa là tất cả các cờ đều được bật cho tất cả các danh mục. rwx đầu tiên là cờ chủ sở hữu, rwx thứ hai là cờ nhóm và thứ ba dành cho những người khác. Nếu cờ không được đặt, sẽ có dấu gạch ngang ở vị trí của nó.

Việc gỡ bỏ cờ file thực thi rất đơn giản. Lệnh tương tự chỉ được sử dụng với dấu trừ:

chmod u-x file_address

Cách đặt cờ thực thi trong GUI

Bạn có thể tạo một tệp có thể thực thi được trong Linux không chỉ thông qua thiết bị đầu cuối. Chức năng này có sẵn trong tất cả các trình quản lý tập tin. Điều này có thể dễ dàng hơn cho bạn lúc đầu. Hãy xem ví dụ về trình quản lý tệp Gnome, Nautilus. Nhấp chuột phải vào tệp chương trình hoặc tập lệnh của chúng tôi để mở menu ngữ cảnh, sau đó chọn thuộc tính:

Tiếp theo, chuyển đến tab quyền và chọn hộp Cho phép tập tin được thực thi như một chương trình:

Xong, hệ thống có thể khởi chạy tệp thực thi Linux, trực tiếp từ trình quản lý tệp.

kết luận

Vậy là xong, bây giờ bạn đã biết cách tạo một tệp có thể thực thi được trong Linux. Và nếu bạn cần chạy tập lệnh hoặc trình cài đặt từ Internet, bạn sẽ không gặp vấn đề gì. Nếu bạn có bất kỳ câu hỏi nào, hãy hỏi trong phần bình luận!