第一章 unix基础知识(part1)
各种shell的比较
/bin/sh
/bin/bash
/bin/csh
/bin/ksh
/bin/tcsh
用stat
命令查看文件属性
$ man stat
STAT(1) User Commands STAT(1)
NAME
stat - display file or file system status
SYNOPSIS
stat [OPTION]... FILE...
文件名: 只有斜线/
和空格 两个字符不能出现在文件名中。
列出一个目录中所有文件名的示例
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
int main(int argc, char * argv[])
{
DIR *dp;
struct dirent *dirp;
/* 参数个数判断,参数个数不是2则退出 */
if (2 != argc)
{
printf("Usage: %s <dirname>\r\n", argv[0]);
return 1;
}
/* 打开文件失败,好像可以使用perror来检查打开失败的类型,目前先用printf,后面学了再使用perror*/
if (NULL == (dp = opendir(argv[1])))
{
printf("can't open dir %s\r\n", argv[1]);
return 2;
}
/* 读取文件条目 */
while(NULL != (dirp = readdir(dp)))
{
printf("%s\r\n", dirp->d_name);
}
return 0;
}
编译和运行
gcc myls.c -o app_ls
./app_ls
在linux下可以通过 man 函数名
来查看函数的使用说明(头文件包含等)。具体linux发行版的配置方法可以通过搜索引擎查找。
在arclinux下面:
sudo pacman -S man-pages
查找opendir 函数的使用如下:
$ man opendir
OPENDIR(3) Linux Programmer's Manual OPENDIR(3)
NAME
opendir, fdopendir - open a directory
SYNOPSIS
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int fd);