Linux系統函式open和close(01)
說明:
open函式:是Linux的系統函式。
close函式:是Linux的系統函式。
檔案有開啟(open)就要有關閉(close),檔案的開啟和關閉時搭配使用的。
環境:Vmware Workstation;CentOS-6.4-x86_64
檔案操作:有開啟,必須有關閉。
圖解說明:
步驟:
1、建立並編輯main.c:
2、建立並編輯makefile檔案:#include <stdio.h> // 包含open所需要的標頭檔案 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> // 包含close所需要的標頭檔案 #include <unistd.h> int main(int argc, char *args[]) { // 以只讀方式開啟一個檔案a.txt int fd = open("a.txt", O_RDONLY); // 判斷檔案是否開啟成功 if (fd == -1) { printf("open file failed.\n"); } // 開啟檔案成功,關閉檔案 close(fd); return 0; }
.SUFFIXES:.c .o
CC=gcc
SRCS=main.c
OBJS=$(SRCS:.c=.o)
EXEC=main
start: $(OBJS)
$(CC) -o $(EXEC) $(OBJS)
@echo "-----------------------------OK-----------------------"
.c.o:
$(CC) -Wall -o [email protected] -c $<
clean:
rm -rf $(EXEC) $(OBJS)
3、建立檔案a.txt,編譯並執行程式:[[email protected] mycode]$ <span style="background-color: rgb(255, 255, 153);">touch a.txt</span>
[[email protected] mycode]$ <span style="background-color: rgb(255, 255, 153);">make</span>
gcc -Wall -o main.o -c main.c
gcc -o main main.o
-----------------------------OK-----------------------
[ [email protected] mycode]$ <span style="background-color: rgb(255, 255, 153);">./main</span>
說明:
操作檔案的時候,一定需要開啟檔案,開啟檔案之後一定要記得關閉。
PS:根據傳智播客視訊學習整理得出。
相關推薦
Linux系統函式open和close(01)
說明: open函式:是Linux的系統函式。 close函式:是Linux的系統函式。 檔案有開啟(open)就要有關閉(close),檔案的開啟和關閉時搭配使用的。 環境:Vmware Workstation;CentOS-6.4-x86_64 檔案操作:有開啟,必須
Linux系統函式open和close(03)---open函式的引數
環境:Vmware Workstation;CentOS-6.4-x86_64 說明: open函式的定義形式:int open(const char *pathname, int flags); 引數說明: 1、pathname指的是檔案的路徑+檔名,路徑可以是相對路
linux 系統呼叫open 七日遊(二)
接著昨日的旅程,我們應該開始處理具體的子路徑了: 【fs/namei.c】 sys_open->do_sys_open->do_filp_open->path_openat->link_path_walk 點選(此處)摺疊或開啟 &n
linux系統呼叫open七日遊(一)
友情提示:您需要一個 kernel 3.15.6,下載地址: https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.15.6.tar.xz 我們將以 Linux 系統呼叫 open 為主線,參
Linux 系統呼叫 open 七日遊(七)
【場景三】open(pathname, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR) 在這個場景中我們希望建立一個新檔案(O_CREAT),並賦予該檔案使用者可讀(S_IRUSR)和使用者可寫(S_IW
Linux學習之三:文件夾系統的結構和相對(絕對)路徑
sharp 二進制 沒有 數據 csharp pan 用戶 ont 臨時 理解每個目錄的作用 bin 二進制文件 boot 系統的啟動文件、內核 dev 設備文件 etc 配置文件 home 用戶的家目錄 lib 鏈接庫文件 l
Linux 檔案系統呼叫open七日遊(三)
接著上回,當對“.”和“..”處理完成後就直接返回進入下一個子路徑迴圈了,但如果當前子路徑不是“.”或“..”呢? 【fs/namei.c】 sys_open > do_sys_open > do_filp_open >&
Linux檔案系統呼叫open 七日遊 (六)
還記得在上一個場景中,build_open_flags裡面有一個對標誌位O_PATH的判斷麼?現在我們就來看看這個標誌位是幹啥的: 【場景二】open(pathname,O_PATH) 這個O_PATH似乎是不常用的,咱們先看看它的使用
linux檔案系統呼叫 open 七日遊(四)
現在,我們的“路徑行走”只剩下最後一個小問題需要處理了——符號連結。 【fs/namei.c】 sys_open > do_sys_open > do_filp_open > path_openat &g
Python 建立、讀取和寫入檔案以及yield關鍵字- 千月的python linux 系統管理指南學習筆記(14)
無論是日誌檔案還是配置檔案都是我們日常運維中常見的型別,學習處理檔案的關鍵是學會如何處理文字資料。Python 包含一個稱為 file 的內建型別,可以用來處理檔案。 建立檔案物件 為了讀取一個現有的檔案,我們需要建立一個新的檔案物件,以用來對檔案進行互動。 open
Linux系統備份還原工具1(DD)(應用實例)
環境 mnt 之前 air 更換 ibm grub resize 方法 DD使用教程:http://www.cnblogs.com/EasonJim/p/7442223.html 以下實例沒經過大量測試,可能在一些機器上不會有效。 一般圍繞以下幾點進行設置: 1、dd
Linux系統管理----存儲管理(二)
運維 系統 創建文件系統----分區格式化 格式化 低級格式化:磁盤初始化,磁道劃分; 高級格式化:創建或重建文件系統;按照某種特定的標準,將整個分區劃分為大小相同的若幹小的邏輯編址單元,每個這樣的單元,稱為塊(Block);window中稱為:簇 劃分
Linux系統管理----存儲管理(三)
網絡 運維 Linux系統中常用的壓縮和解壓縮工具: 壓縮:以時間換空間的一種操作; 壓縮的實現:標記 + 替換 壓縮比:某個文件在壓縮操作之前與壓縮操作之後的文件大小的比值;(比值越大,壓縮結果越小) 通常來說,純文本文件的壓縮比比較大;Linux中常用的壓縮工具: c
linux文件壓縮和打包(上)
fff nag mark com -o mar col color .com 6.1壓縮打包介紹6.2gzip壓縮工具6.3bzip2壓縮工具6.4xz壓縮工具6.1壓縮打包介紹6.2gzip壓縮工具6.3bzip2壓縮工具6.4xz壓縮工具linux文件壓縮和打包(上)
linux基礎篇-加密和安全(一)
證書 rss base64 encrypt 加密和解密 leg 效應 pubkey 鼠標 加密和安全(一) 主要內容 ♣ 安全機制 ♣ 對稱和非對稱加密 ♣ 散列算法 ♣ gpg ♣ PKI和CA &cl
Linux系統程式設計學習常見問題(一):VMware虛擬機器下Ubuntu18.04突然上不了網的問題解決方案
問題描述:VMware虛擬機器下Ubuntu18.04突然上不了網的問題:如下圖所示: 更改這裡的三種連線方式都是這樣 2. 分析:IP衝突或者配置出了問題,需重新更新設定。 3. 解決: (1)將模式調整為
Linux系統SPI驅動學習筆記(一)
SPI是"Serial Peripheral Interface" 的縮寫,是一種四線制的同步序列通訊介面,用來連線微控制器、感測器、儲存裝置,SPI裝置分為主裝置和從裝置兩種,用於通訊和控制的四根線分別是: CS 片選訊號SCK 時鐘訊號MISO 主裝置的
Python 下字串的連線、簡單替換與unicode字串- 千月的python linux 系統管理指南學習筆記(12)
Python 下字串的連線、簡單替換與unicode字串 繼續上一章的內容,看一看字串的連線和替換 字串的連線 join() 將多個字串連線起來的”膠水“ 字元物件.join(字串或者列表) #連線字串,或者與列表裡的字元分別連線。 光是將2個字串相連。其實意義不大,一個
Linux系統的命令別名功能(alias)
Linux系統的命令別名功能 命令別名功能 在管理和維護Linux系統的過程中,將會使用到大量命令,有一些很長的命令或用法經常被用到,重複而頻繁地輸入某個很長命令或用法是不可取的。這時可以使用命令別名功能將這個過程簡單化。 1.系統定義的別名 通常情
在Linux系統配置PHP開發環境(CentOS)
一、使用FileZilla將虛擬機器的伺服器連線起來1、ifconfig獲取虛擬機器的IP地址2、在FileZilla輸入各項資訊進行連線 注:①使用管理員的賬號進行連線 如此才能訪問到根目錄。 ②埠號:大部分都是預設不輸入,我的偏偏要輸入22才