この記事の例では、Python ファイルの読み書き操作と Linux シェル変数コマンドを対話的に実行する方法を説明します。皆さんの参考に共有してください。詳細は次のとおりです。
ファイル操作に関連するシステム コール
Create
int creat(const char *filename, mode_t mode);
Parameter mode は new ファイルのアクセス権限を指定します。umask と合わせてファイルの最終的な権限 (mode&umask) を決定します。umask は、ファイルの作成時に削除する必要があるアクセス権限を表します。これは、読み取り、書き込み、および実行にのみ影響します。呼び出し関数は int umask (int newmask) です。
Open
int open(const char *pathname, int flags);
pathname は、開きたいファイル名です (パス名、デフォルトは現在のパスです)
flags フラグを開きます
O_RDONLY ファイルを読み取り専用モードで開きます
-
#O_WRONLY 書き込み専用ファイルを開きます
O_RDWR ファイルを開きます読み取りおよび書き込み用のファイル
#O_APPEND としてファイルを開く append
## としてファイルを開く- #O_CREAT ファイルの作成
-
##O_NOBLOCK ノンブロッキングな方法でファイルを開きます -
O_TRUNC ファイルが既に存在する場合は、ファイルの内容を削除します - int open(const char *pathname, int flag, mode_t mode)
##S_IWUSR ユーザーは書き込み可能-
S_IXUSR ユーザーは実行可能 -
#S_IRWXU ユーザーは読み取り、書き込み、実行が可能 ##S_IRGRP グループは
- ## を読み取ることができます
- #S_IWGRP グループは書き込み可能
- S_IXGRP グループは実行可能
- # S_IRWXG グループは読み取り、書き込み、実行が可能です
- S_IROTH 他の人は
- ## を読み取ることができます S_IWOTH 他の人は
# を書くことができます#S_IXOTH 他の人は実行可能
S_IRWXO 他の人は読み取り可能、書き込み、実行
S_ISUID ユーザーの実行IDを設定します
- ##S_ISGID グループの実行 ID を設定します
- #モード フラグでは、ファイルのアクセス許可を表す数値を使用することもできます。
各数値は、1 (実行権限)、2 (書き込み権限)、4 (読み取り権限)、0 (なし)、またはこれらの値の合計の値を取ることができます。 - #1 桁目はユーザー ID の設定を示します
- 2 桁目はユーザー ID の設定を示しますグループ ID の設定を示します
-
# 5 桁目は他のユーザーの権限を表します - open("test", O_CREAT, 10705); 上記のステートメントは次と同等です:
- open("test ", O_CREAT , S_IRWXU | S_IROTH | S_IXOTH | S_ISUID );
読み取りと書き込み -
int read(int fd, const void *buf, size_t length);
int write (int fd, const void *buf, size_t length);
- 位置決め
- ランダムなファイルの場合、読み書きする場所をランダムに指定できます:
int lseek(int fd, offset_t offset, int whence);
lseek() は、ファイル読み取り/書き込みポインタを wherece に相対的にオフセット (負の値も可) バイト移動します。操作が成功すると、ファイル ヘッダーを基準としたファイル ポインターの位置が返されます。 - 次の値を使用できるパラメータ:
SEEK_SET: ファイルの先頭を基準とした相対値。
SEEK_CUR: 相対ファイル読み取りおよび書き込みポインターの現在位置。 SEEK_END: ファイルの最後からの相対位置。
特定のオペレーティング システム プラットフォームに依存しない C ライブラリ関数のファイル操作
Create and open
FILE *fopen(const char *path, const char *mode);
fopen() は、指定されたファイル filename を開くことを実現します。mode はオープン モードです。 Linux システムはバイナリ ファイルとテキスト ファイルを区別しません。
a、ab は追加モードで開かれます。ファイルが存在しない場合は、ファイルを作成します
int fputc(int c, FILE *stream);
char *fgets(char *s, int n, FILE *stream);
int fputs(const char *s, FILE *stream);
int fprintf (FILE *stream, const char *format, ...);
int fscanf (FILE *stream, const char *format, ...);
size_t fread(void *ptr, size_t size, size_t n , FILE * stream);
size_t fwrite (const void *ptr, size_t size, size_t n, FILE *stream);
int fsetpos(FILE *stream, fpos_t *pos);
nt fsetpos(FILE *stream, const fpos_t *pos);
int fseek(FILE *stream, long offset, int whence);
- fread() は、ストリームからの n 個のフィールドの読み取りを実装します。 field は size バイトで、読み取られたフィールドは ptr が指す文字配列に入れられ、実際に読み取られたフィールド数が返されます。
- write() は、バッファ ptr が指す配列から n 個のフィールドを毎回ストリームに書き込むことを実装します。各フィールドは size バイトであり、実際に書き込まれたフィールドの数が返されます。
#Close
int fclose (FILE *stream);
Linux ファイル システムのディレクトリ構造
- /bin----最もよく使用される基本的なコマンド (ls など) が格納されます。 、cp、mkdir など、このディレクトリ内のファイルはすべて実行可能です。
-
#/opt----追加のインストール ソフトウェアがホスト上に保存されるディレクトリ -
/proc----オペレーティング システムの実行中に、プロセスとカーネル情報 (CPU、ハードディスク パーティション、メモリ情報、など)がここに保存されます。これはシステムメモリのマッピングであり、このディレクトリに直接アクセスすることでシステム情報を取得できます。 -
/root----特権ユーザーのホームディレクトリ -
/sbin----特権ユーザー用の実行コマンドが格納されているディレクトリ。一般ユーザーにはこのディレクトリ内のコマンドを実行する権限がありません。
#/tmp-----一時ファイルを保存します。
/usr-----システム アプリケーションとファイル (コマンドやヘルプ ファイルなど) がプログラムを保存するディレクトリ、Windows のプログラム ファイル ディレクトリに似ています。#/var-----ログ ファイルなど、頻繁に変更されるディレクトリはこのディレクトリに配置されます
/sys----
カーネル デバイス ツリーの直感的な反映。カーネル オブジェクトが作成されると、対応するファイルとディレクトリもカーネル オブジェクト サブシステム内に作成されます。/initrd---起動時に initrd イメージが一時ルート ファイル システムとして使用される場合/linuxrc を実行して実際のルート ファイル システムをマウントした後、元の初期 RAM ファイル システムが /initrd ディレクトリにマップされます。
- Linux ファイル システムとデバイス ドライバー
linux 親ディレクトリのアクセス許可がサブディレクトリ ファイルに影響する 操作
Linux シェル変数コマンドを使用して Python ファイルの読み取りおよび書き込み操作を対話的に実行する方法
以上がLinuxのファイル操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

linux中,lsb是linux标准基础的意思,是“Linux Standards Base”的缩写,是linux标准化领域中的标准;lsb制定了应用程序与运行环境之间的二进制接口,保证了linux发行版与linux应用程序之间的良好结合。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

ホットトピック



