linux關於使用者資訊的編程

Linux對每一個使用者都提供了一個uid,我們從uid開始來說說使用者資訊。uid有自己的類型,uid_t,它定義在標頭檔sys/types.h中。它通常是一個小整數。有些UID是系統預定義的,其他的則是系統管理員在添加心使用者時建立的,一般情況下,uid都大於100。#include<sys/types.h>#include<unistd.h>uid_t getuid(void);char

linux環境有關編程(2)

C語言通過putenv和getenv函數來訪問環境變數。#include<stdlib.h>char *getenv(const char *name);int putenv(const char *string);環境是由一組格式為“名字=值”的字串組成。getenv函數以給定的名字搜尋環境中的一個字串,並返回與該名字相關的值。如果請求不存在,就返回NULL。由於getenv返回的字串儲存在靜態空間,所以想進一步利用它,就必須拷貝出來。// 1 The first few

linux termios結構

文章目錄 使用termios結構的密碼程式 termios 結構是在POSIX規範中定義的標準介面,它類似於系統V中的termio介面,通過設定termios類型的資料結構中的值和使用一小組函數調用,你就可以對終端介面進行控制。可以被調整來影響終端的值按照不同的模式被分為如下幾組:1.輸入模式2.輸出模式3.控制模式4.本地模式5.特殊控制模式最小的termios結構的典型定義如下:struct termios{         

linux環境有關編程(1)

getopt(分析命令列參數)   #include<unistd.h>   int getopt(int argc,char * const argv[ ],const char * optstring);  extern char *optarg;  extern int optind, opterr, optopt;  函數說明 getopt()用來分析命令列參數。       參數argc和argv是由main()傳遞的參數個數和內容。       參數

linux 底層檔案訪問(庫函數)

write系統調用#include<unistd.h>#include<stdlib.h>int main(){ if( (write(1,"here\n",6) !=6)) { write(2,"WRONG",5); } exit(0);}read系統調用#include<unistd.h>#include<stdlib.h>int main(){

Linux 系統中如何安裝配置ACE

Linux 系統中如何安裝配置ACE[日期:2009-06-03]來源:blog.sina.com.cn/betasoftking 作者:betasoftking[字型:大 中 小]Linux 系統中如何安裝配置ACEhttp://www.gnu.org可以下載ACE安裝包,這裡以ACE-5.6.tar.gz安裝包作為樣本1.設定$ACE_ROOT環境變數# vim /etc/profile 開啟檔案,在“export PATH

Linux 時間和日期相關編程

所有的unix系統都使用同一個時間和日期的起點:格林尼治時間(GMT)1970年1月1日午夜0點時間通過一個預定義的類型time_t來處理,在linux系統中,它是一個長整型。包含在time.h中。#include<time.h>time_t time(time_t *tloc);通過time函數可以得到底層的時間值,它返回的是從紀元開始至今的秒數。如果tloc不是一個null 指標,time函數還會把傳回值寫入到tloc指標指向的位置。#include <time.h>

Linux 下壓縮與解壓.zip和.rar

對於Window下的常見壓縮檔.zip和.rar,Linux也有相應的方法來解壓它們:1)對於.ziplinux下提供了zip和unzip程式,zip是壓縮程式,unzip是解壓程式。它們的參數選項很多,可用命令zip -help和unzip -help查看,這裡只做簡單介紹,舉例說明一下其用法:# zip yajiu.zip yajiu.jpg yajiu.png這條命令是將yajiu.jpg和yajiu.png壓縮成一個zip包# zip yajiu.zip

linux臨時檔案

很多情況下,程式會利用一些檔案形式的臨時儲存手段。用tmpname函數可以產生一個唯一的檔案名稱。#include<stdio.h>char *tmpname( char

linux dbm資料庫

大多數主流的Linux發行版都會預設安裝gdbm,但在一些發行版中,你可能需要使用軟體包管理器來安裝相應的開發庫。例如,在ubuntu中,你可能需要使用Synaptic軟體包管理器來安裝libgdbm-dev軟體包,因為它一般不會被預設安裝。dbm的資料區塊datum是一個用typedef語句定義的類型。它至少包含下面兩個成員:void *dptr;size_t dsize;dbm訪問函數包括下面四個:#include<ndbm.h>DBM *dbm_open(const char

Linux 進程與訊號

Linux和Unix一樣,有一個虛擬記憶體系統,能夠把程式碼和資料以記憶體頁面的形式放到硬碟的一個地區中,所以Linux可以管理的進程比實體記憶體所能容納的要多得多。進程表查看進程ps -efTTY

LINUX終端編程

如果想知道標準輸出是否被重新導向了,只需要檢查底層的檔案描述符是否關聯到了一個終端即可。系統調用isatty就是用來完成這個任務的。你只需要將有效檔案描述符傳遞給它,它就能判斷是否串連到了一個終端。#include <unistd.h>#include <stdio.h>#include <stdlib.h>char *menu[] = { "a - add new record", "d - delete record", "q -

Ubuntu Linux筆記本螢幕背光亮度調節

網上有很多在Ubuntu Linux下調節筆記本螢幕亮度的方法,有的調的是亮度但不是背光亮度,有的調背光亮度的方法在我的電腦上不好使……找了半天發現這個方法,適用範圍應該比較廣(起碼在我這裡好用)。首先,進入終端,輸入lspci命令,列出各種裝置的地址www.linxidc.com@Ubuntu:~$ lspci00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express

Linux處理序間通訊:管道(把管道用作標準輸入和標準輸出)

#include<unistd.h>int dup(int file_descriptor);int dup2(int file_descriptor_one , int

linux 訊號量、共用記憶體、和訊息佇列

Linux的訊號量機制#include<sys/sem.h>int semctl(int sem_id , int sem_num , int command , ...);int semget(key_t key , int num_set , int sem_flags);int semop(int sem_id struct sembuf *sem_ops , size_t

Linux系統中完美裝載Windows分區

Linux下的mount命令可以裝載FAT32分區格式Windows分區,但是如何才能在系統啟動時自動裝載呢?如何解決煩人的中文問題呢?如何解決普通使用者(非root)也要自由讀寫Windows分區內容的問題呢?系統啟動後執行下面命令可掛載windows分區:mount -t vfat -o iocharset=gb2312 /dev/hda5 /mnt/dmount -t vfat -o iocharset=gb2312 /dev/hda6 /mnt/emount -t vfat -o

linux 訊息佇列

訊息佇列提供了一種在兩個不相關的進程之間傳遞資料的相當簡單且有效方法。與具名管道相比,訊息佇列的優勢在於,它獨立於發送和接收進程而存在,這消除了在同步具名管道的開啟與關閉的可能產生的一些困難。Linux系統有兩個宏定義MSGMAX和MSGMNB,它們以位元組為單位分別定義了一條訊息的最大長度和一個隊列的最大長度。#include<sys/msg.h>int msgctl(int msgid , int cmd, struct msqid_ds *buf);int

linux下伺服器搭建

mysql+php+apache首先安裝mysql,解壓,安裝,安裝的配置命令如下:./configure --prefix=/home/work/luyao/web/mysql --enable-assembler \--with-mysqld-ldflags=-all-static --localstatedir=/home/work/luyao/web/mysql/data \--with-unix-socket-path=/home/work/luyao/web/mysql.sock -

linux 靜態代碼偵查工具valgrind的安裝及使用

文章目錄 安裝:關於使用: 使用valgrind檢查代碼是否有記憶體泄露是比較好的辦法。下面簡單介紹valgrind的安裝及使用。安裝:最新的版本可以在http://www.cnblogs.com/chingliu/archive/2011/12/10/2288633.html上尋找,下面以3.7為例,簡單介紹:wget http://www.valgrind.org/downloads/valgrind-3.7.0.tar.bz2tar

linux網路通訊再學習

http://xmuzyq.iteye.com/blog/783218該文章詳述了reactor模式和proactor模式,並著重闡述了不同的IO操作。http://blog.csdn.net/shallwake/article/details/5265287這篇博文上使用圖例的方式描述了五種IO模式以及處理過程,可以從這裡詳細瞭解底層的原理。http://www.zhihu.com/question/20122137這篇博文對epoll的解釋堪稱經典~快遞員:)http://www.qingr

總頁數: 3662 1 .... 471 472 473 474 475 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.