linux下常用函数及命令
2013-05-08 21:03
204 查看
/dev/tty 键盘和数据的描述文件,在这个文件上写,相当于显示在用户的屏幕上,读相当于从键盘获取用户的输入。
tty*代表终端
打开文件:
open
头文件 <fcntl.h>
int fd=open(char *name,int how);
how O_RDONLY, O_WRONLY,O_RDWR
从文件中读取数据
read
头文件<unistd.h>
ssize_t numread=read(int fd,void*buf,size_t qty);
fd文件描述符,buf用来存放数据的目的缓冲区,qty要读取的字节数。
创建/重写文件:
creat
头文件:<fcntl.h>
int fd=creat(char*filename,moed_t mode);
如果这个文件不存在就创建,若存在就清空。
如: fd=creat(“ad”,0644)
写文件:
write
头文件<unistd.h>
ssize_t result=write(int fd,void *buf,size_t amt);
失败返回-1,成功返回字节数
改变文件的当前位置:
lseek 设置读写指针的位置
头文件<sys/type.h> <unistd.h>
off_t oldpos=lseek(int fd,off_t dist, intbase);
dist 移动距离,baseSEEK_SET=>文件开始位置。(0)
SEEK_CUR 文件当前位置(1) SEEK_END 文件结尾(2)
打开目录
opendir
头文件<dirent.h>
DIR*opendir(const char*name);//man 3opendir
读取目录
readdir
头文件<dirent.h>
struct dirent *readdir(DIR*dirp); //man 3 readdir
ls -a 列出的内容包含以“.”开头的文件,linux中一般以”.”开头的都是隐藏文件
-s 显示以块为单位的文件大小。-I 显示出对应的i节点号。-R 显示根目录下的所有文件。
“.”当前目录,”..”上一级目录
打开文件目录:opendir ,读取目录内容,readdir
struct dirent*readdir(DIR *dirp);//头文件 <dirent.h>
DIR*opendir(const char *name);
du diskusage的缩写,该命令给出指定目录及其子目录下所有文件占用硬盘中数据库的总数。
ls –R 显示出该文件目录下的所有文件和目录,
find 在一个目录及子目录下检索符合要求的文件和目录。可以显示出路径
创建新的目录
mkdir
头文件<sys/stat.h> <sys/types.h>
int result = mkdir (char * pathname,mode_tmode);
rmdir
头文件<unistd.h>
int result=rmdir(const char*path);
rm
头文件<unistd.h>
int result=unlink(const char *path);// 删除一个链接,不能用来删除目录,
ln
头文件<unistd.h>
int result = link(const char *orig,constchar* new); //orig原始链接的名字,new新链接的名字。
mv
头文件<unistd.h>
int result = rename(constchar *from,const char *to);//适应于文件和目录
cd
头文件<unistd.h>
int result = chdir(constchar *path);//改变所调用进程的当前目录
得到文件的属性,
stat man 2 stat有详细说明。
头文件<sys/stat.h>
int result = stat(char * fname, struct stat*bufp);//fname文件名,bufp指向buffer的指针。
ln A B创建硬链接。B是A的硬链接,和A完全一样。
ln –s A C 创建软链接。c是A的软链接,c只是一个指向A的指针和windows下的快捷方式类似。又称为符号链接,符号链接可以跨越文件系统。
diff A V 显示A和V之间的不同,若相同无返回。
symlink 用于创建一个符号链接。
int symlink(const char*oldpath,constchar*newpath);
readlink 用于获取源文件
ssize_t readlink(const char* path,char*buf,size_t bufsiz);//man 2 readlink
/dev 设备挂载点
所有文件相关的系统调用都适应于设备。
命令tty用来告知用户所在终端的文件名。也就是当前有效的终端
修改文件描述符
fcntl
头文件<fcntl.h>
int result = fcntl(int fd,int cmd);
int result = fcntl (int fd,int cmd,long arg);
int result = fcntl(int fd,int cmd, structflock *lockp);
fd 需要控制的文件描述符,cmd需进行的操作,arg操作的参数,lock锁信息。
修改的时候需要进行三步,
1获取设置,2修改设置,3存储设置
使用stty改变驱动程序设置
读取tty驱动程序的属性
tcgetattr
头文件<termios.h> <unistd.h>
int result = tcgetattr(int fd, structtermios *info);
tcsetattr
int result = tcsetattr(int fd, int when,struct termios *info);
when 是改变设置的时间。when允许的参数有TCSANOW立即更新
TCSADRAIN等待直到驱动程序队列中所有输出都被传送到终端。然后进行驱动程序的更新。
TCSAFLUSH等待直到驱动程序队列中的所有输出都被传送出去。然后,释放所有队列中的输入数据,并进行一定的变化。
三个操作:
测试位: if(flagset&MASK)
置位 flagset|=MASK
清除位 flagset &=~MASK
控制一个设备:
ioctl
头文件<sys/ioctl.h>
int result = ioctl(int fd,intoperation[,arg…]);
operation 需进行的操作。arg操作所需参数
替换命令,
tr
tr A B //B替换A
ICANON字符输入模式改成非规范模式,没有缓冲区,输入后立即输出。
VMIN告诉驱动,一次读取多少个元素。
简单的信号处理:
signal
头文件<signal.h>
result = signal(int signum,void(*action)(int));
signum 需相应的信号,action如何响应。
action可以是函数名,或以下两个特殊值之一,SIG_IGN,忽略信号。
SIG_DFL,将信号恢复为默认处理。
tty*代表终端
打开文件:
open
头文件 <fcntl.h>
int fd=open(char *name,int how);
how O_RDONLY, O_WRONLY,O_RDWR
从文件中读取数据
read
头文件<unistd.h>
ssize_t numread=read(int fd,void*buf,size_t qty);
fd文件描述符,buf用来存放数据的目的缓冲区,qty要读取的字节数。
创建/重写文件:
creat
头文件:<fcntl.h>
int fd=creat(char*filename,moed_t mode);
如果这个文件不存在就创建,若存在就清空。
如: fd=creat(“ad”,0644)
写文件:
write
头文件<unistd.h>
ssize_t result=write(int fd,void *buf,size_t amt);
失败返回-1,成功返回字节数
改变文件的当前位置:
lseek 设置读写指针的位置
头文件<sys/type.h> <unistd.h>
off_t oldpos=lseek(int fd,off_t dist, intbase);
dist 移动距离,baseSEEK_SET=>文件开始位置。(0)
SEEK_CUR 文件当前位置(1) SEEK_END 文件结尾(2)
打开目录
opendir
头文件<dirent.h>
DIR*opendir(const char*name);//man 3opendir
读取目录
readdir
头文件<dirent.h>
struct dirent *readdir(DIR*dirp); //man 3 readdir
ls -a 列出的内容包含以“.”开头的文件,linux中一般以”.”开头的都是隐藏文件
-s 显示以块为单位的文件大小。-I 显示出对应的i节点号。-R 显示根目录下的所有文件。
“.”当前目录,”..”上一级目录
打开文件目录:opendir ,读取目录内容,readdir
struct dirent*readdir(DIR *dirp);//头文件 <dirent.h>
DIR*opendir(const char *name);
du diskusage的缩写,该命令给出指定目录及其子目录下所有文件占用硬盘中数据库的总数。
ls –R 显示出该文件目录下的所有文件和目录,
find 在一个目录及子目录下检索符合要求的文件和目录。可以显示出路径
创建新的目录
mkdir
头文件<sys/stat.h> <sys/types.h>
int result = mkdir (char * pathname,mode_tmode);
rmdir
头文件<unistd.h>
int result=rmdir(const char*path);
rm
头文件<unistd.h>
int result=unlink(const char *path);// 删除一个链接,不能用来删除目录,
ln
头文件<unistd.h>
int result = link(const char *orig,constchar* new); //orig原始链接的名字,new新链接的名字。
mv
头文件<unistd.h>
int result = rename(constchar *from,const char *to);//适应于文件和目录
cd
头文件<unistd.h>
int result = chdir(constchar *path);//改变所调用进程的当前目录
得到文件的属性,
stat man 2 stat有详细说明。
头文件<sys/stat.h>
int result = stat(char * fname, struct stat*bufp);//fname文件名,bufp指向buffer的指针。
ln A B创建硬链接。B是A的硬链接,和A完全一样。
ln –s A C 创建软链接。c是A的软链接,c只是一个指向A的指针和windows下的快捷方式类似。又称为符号链接,符号链接可以跨越文件系统。
diff A V 显示A和V之间的不同,若相同无返回。
symlink 用于创建一个符号链接。
int symlink(const char*oldpath,constchar*newpath);
readlink 用于获取源文件
ssize_t readlink(const char* path,char*buf,size_t bufsiz);//man 2 readlink
/dev 设备挂载点
所有文件相关的系统调用都适应于设备。
命令tty用来告知用户所在终端的文件名。也就是当前有效的终端
修改文件描述符
fcntl
头文件<fcntl.h>
int result = fcntl(int fd,int cmd);
int result = fcntl (int fd,int cmd,long arg);
int result = fcntl(int fd,int cmd, structflock *lockp);
fd 需要控制的文件描述符,cmd需进行的操作,arg操作的参数,lock锁信息。
修改的时候需要进行三步,
1获取设置,2修改设置,3存储设置
使用stty改变驱动程序设置
读取tty驱动程序的属性
tcgetattr
头文件<termios.h> <unistd.h>
int result = tcgetattr(int fd, structtermios *info);
tcsetattr
int result = tcsetattr(int fd, int when,struct termios *info);
when 是改变设置的时间。when允许的参数有TCSANOW立即更新
TCSADRAIN等待直到驱动程序队列中所有输出都被传送到终端。然后进行驱动程序的更新。
TCSAFLUSH等待直到驱动程序队列中的所有输出都被传送出去。然后,释放所有队列中的输入数据,并进行一定的变化。
三个操作:
测试位: if(flagset&MASK)
置位 flagset|=MASK
清除位 flagset &=~MASK
控制一个设备:
ioctl
头文件<sys/ioctl.h>
int result = ioctl(int fd,intoperation[,arg…]);
operation 需进行的操作。arg操作所需参数
替换命令,
tr
tr A B //B替换A
ICANON字符输入模式改成非规范模式,没有缓冲区,输入后立即输出。
VMIN告诉驱动,一次读取多少个元素。
简单的信号处理:
signal
头文件<signal.h>
result = signal(int signum,void(*action)(int));
signum 需相应的信号,action如何响应。
action可以是函数名,或以下两个特殊值之一,SIG_IGN,忽略信号。
SIG_DFL,将信号恢复为默认处理。
相关文章推荐
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令
- Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令
- PHP执行Linux命令常用的6个函数
- 【常用命令】linux 下查看 .so 导出函数列表
- PHP执行linux系统命令的常用函数使用说明
- PHP执行linux系统命令的常用函数使用说明
- Linux 文件类型+目录结构+常用命令(二)
- Linux 下常用Vim命令
- linux nand flash常用命令
- linux常用命令-查看文本/cat,tac,more,less,head,tail
- linux常用命令对初学者还是有帮助的
- Linux常用命令
- Linux常用命令(二)
- 常用Linux命令汇总
- Linux常用命令大全
- linux 系统常用命令
- 常用linux命令
- Linux总结(二):文件及文件夹的常用命令
- linux文件系统相关的几个常用命令