UNIX常用系统函数
UNIX常用系统函数getopt(分析命令行参数)相关函数表头文件 #include<unistd.h>定义函数 int getopt(int argc,char * const argv[ ],const char * optstring);函数说明 getopt()用来分析命令行参数。
参数argc和argv是由main()传递的参数个数和内容。
参数optstring 则代表欲处理的选项字符串。
此函数会返回在argv 中下一个的选项字母,此字母会对应参数optstring 中的字母。
如果选项字符串里的字母后接着冒号":",则表示还有相关的参数,全域变量optarg 即会指向此额外参数。
如果getopt()找不到符合的参数则会印出错信息,并将全域变量optopt设为""字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可。
返回值如果找到符合的参数则返回此参数字母,如果参数不包含在参数optstring 的选项字母则返回""字符,分析结束则返回-1。
范例 #include<stdio.h>#include<unistd.h>int main(int argc,char **argv){int ch;opterr = 0;while((ch = getopt(argc,argv,"a:bcde"))!= -1)switch(ch){case 'a':printf("option a:'%s'\n",optarg);break;case 'b':printf("option b :b\n");break;default:printf("other option :%c\n",ch);}printf("optopt +%c\n",optopt);}执行 $./getopt –boption b:b$./getopt –cother option:c$./getopt –aother option :$./getopt –a12345 option a:'12345'isatty(判断文件描述词是否是为终端机)相关函数 ttyname表头文件 #include<unistd.h>定义函数 int isatty(int desc);函数说明如果参数desc所代表的文件描述词为一终端机则返回1,否则返回0。
返回值如果文件为终端机则返回1,否则返回0。
范例参考ttyname()。
select(I/O多工机制)表头文件 #include<sys/time.h>#include<sys/types.h>#include<unistd.h>定义函数 int select(int n,fd_set * readfds,fd_set * writefds,fd_set * exceptfds,struct timeval * timeout);函数说明 select()用来等待文件描述词状态的改变。
参数n代表最大的文件描述词加1,参数readfds、writefds 和exceptfds 称为描述词组,是用来回传该描述词的读,写或例外的状况。
底下的宏提供了处理这三种描述词组的方式:FD_CLR(inr fd,fd_set* set);用来清除描述词组set中相关fd 的位FD_ISSET(int fd,fd_set *set);用来测试描述词组set中相关fd 的位是否为真FD_SET(int fd,fd_set*set);用来设置描述词组set中相关fd的位FD_ZERO(fd_set *set);用来清除描述词组set的全部位参数 timeout为结构timeval,用来设置select()的等待时间,其结构定义如下struct timeval{time_t tv_sec;time_t tv_usec;};返回值如果参数timeout设为NULL则表示select()没有timeout。
错误代码执行成功则返回文件描述词状态已改变的个数,如果返回0代表在描述词状态改变前已超过timeout时间,当有错误发生时则返回-1,错误原因存于errno,此时参数readfds,writefds,exceptfds 和timeout的值变成不可预测。
EBADF 文件描述词为无效的或该文件已关闭EINTR 此调用被信号所中断EINVAL 参数n 为负值。
ENOMEM 核心内存不足范例常见的程序片段:fs_set readset;FD_ZERO(&readset);FD_SET(fd,&readset);select(fd+1,&readset,NULL,NULL,NULL);if(FD_ISSET(fd,readset){……}ttyname(返回一终端机名称)相关函数 Isatty表头文件 #include<unistd.h>定义函数 char * ttyname(int desc);函数说明如果参数desc所代表的文件描述词为一终端机,则会将此终端机名称由一字符串指针返回,否则返回NULL。
返回值如果成功则返回指向终端机名称的字符串指针,有错误情况发生时则返回NULL。
范例 #include<unistd.h>#include<sys/types.h>#include <sys/stat.h>#include<fcntl.h>main(){int fd;char * file = "/dev/tty";fd = open (fiel,O_RDONLY);printf("%s",file);if(isatty(fd)){printf("is a tty.\n");printf("ttyname = %s \n",ttyname(fd)); }else printf(" is not a tty\n");close(fd);}执行 /dev/tty is a ttyttyname = /dev/tty添加评论 | 阅读评论 (1)3:45 | 固定链接 | 引用通告 (0) | 记录它固定链接关闭/~yhf/linux_c/function/15.htmlgetenv(取得环境变量内容)相关函数 putenv,setenv,unsetenv表头文件 #include<stdlib.h>定义函数 char * getenv(const char *name);函数说明 getenv()用来取得参数name环境变量的内容。
参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。
环境变量的格式为name=value。
返回值执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。
范例 #include<stdlib.h>mian(){char *p;if((p = getenv("USER")))printf("USER=%s\n",p);}执行 USER = rootputenv(改变或增加环境变量)相关函数 getenv,setenv,unsetenv表头文件 #include4<stdlib.h>定义函数 int putenv(const char * string);函数说明 putenv()用来改变或增加环境变量的内容。
参数string的格式为name=value,如果该环境变量原先存在,则变量内容会依参数string改变,否则此参数内容会成为新的环境变量。
返回值执行成功则返回0,有错误发生则返回-1。
错误代码 ENOMEM 内存不足,无法配置新的环境变量空间。
范例 #include<stdlib.h>main(){char *p;if((p = getenv("USER")))printf("USER =%s\n",p);putenv("USER=test");printf("USER+5s\n",getenv("USER"));}执行 USER=rootUSER=rootsetenv(改变或增加环境变量)相关函数 getenv,putenv,unsetenv表头文件 #include<stdlib.h>定义函数 int setenv(const char *name,const char * value,int overwrite);函数说明 setenv()用来改变或增加环境变量的内容。
参数name为环境变量名称字符串。
参数 value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。
如果overwrite不为0,而该环境变量原已有内容,则原内容会被改为参数value所指的变量内容。
如果overwrite为0,且该环境变量已有内容,则参数value会被忽略。
返回值执行成功则返回0,有错误发生时返回-1。
错误代码 ENOMEM 内存不足,无法配置新的环境变量空间范例 #include<stdlib.h>main(){char * p;if((p=getenv("USER")))printf("USER =%s\n",p);setenv("USER","test",1);printf("USER=%s\n",getenv("USEr"));unsetenv("USER");printf("USER=%s\n",getenv("USER"));}执行 USER = rootUSER = testUSER = (null)添加评论3:44 | 固定链接 | 引用通告 (0) | 记录它固定链接关闭/~yhf/linux_c/function/14.htmlaccept(接受socket连线)相关函数 socket,bind,listen,connect表头文件 #include<sys/types.h>#include<sys/socket.h>定义函数 int accept(int s,struct sockaddr * addr,int * addrlen);函数说明 accept()用来接受参数s的socket连线。
UNIX系统常用命令
UNIX系统常用命令UNIX系统常用命令格式:command [flags] [argument1] [argument2] ...其中flags以-开始,多个flags可用一个-连起来,如ls -l -a 与ls -la相同。
根据命令的不同,参数分为可选的或必须的;所有的命令从标准输入接受输入,输出结果显示在标准输出,而错误信息则显示在标准错误输出设备。
可使用重定向功能对这些设备进行重定向。
命令在正常执行结果后返回一个0值,如果命令出错可未完全完成,则返回一个非零值(在shell中可用变量$?查看). 在shell script中可用此返回值作为控制逻辑的一部分。
注:不同的UNIX版本的flags可能有所不同。
1、与用户相关的命令1.1 login(在LINUX Redhat下此命令功能与Solaris/BSD不同,执行login会退出当前任务).login:Password:相关文件:在下面的这些文件中设定shell运行时必要的路径,终端类型,其他变量或特殊程序.$HOME/.profile (Bourne shell, sh, bash)$HOME/.cshrc (csh, tcsh)$HOME/.tcshrc (tcsh)/etc/passwd文件中列出每个用户的shell/etc/csh.cshrc/etc/csh.login/etc/profile (Bourne shell, bash)/etc/login (Bourne shell, bash)csh: /etc/csh.cshrc和$HOME/.cshrc每次执行都会读取,而/etc/csh.login和$HOME/.login只有注册shell才执行修改相应文件后使用 source .cshrc使能相关修改,如果修改了path则还需使用rehash刷新可执行文件hash表。
tcsh: $HOME/.tcshrc, 没有些文件读取.cshrcsh: /etc/profile和$HOME/.profile注册shellbash: /etc/profile和$HOME/.bash_profile注册shell读取.bashrc交互式非注册shell才读取。
unx常用命令介绍
1.1帮助命令man (2)1.1.1按章节寻找帮助 (2)1.1.2按照关键字寻找帮助 (2)1.2环境变量 (2)1.3目录操作命令 (3)1.4文件操作命令 (3)1.4.1链接命令ln (3)1.4.2显示文件 (3)1.4.3拷贝文件和文件改名、文件移动 (4)1.4.4删除文件 (4)1.4.5改变文件和目录的属主和访问权限 (5)1.4.6查找文件命令find (5)1.4.7文件压缩工具tar (6)1.5文件内容查询命令grep (6)1.6文件内容查看和编辑 (6)1.7重定向和管道 (7)1.8网络命令 (8)1.9其它常用命令 (8)1.10编译程序cc (8)UNIX常用命令介绍1.1帮助命令manunix的帮助手册分为多个章节,常用的有第1、2、3节,分别包括用户命令、系统调用、和C 库函数。
在一些版本的unix中,又分了一些小的章节,比如:1B、3C这样的标题,把帮助的分类进一步的细化,在unix中,帮助文件存放在/usr/share/man下,按章节存放。
下面介绍命令man通常的用法:1.1.1按章节寻找帮助寻找用户命令time的帮助和寻找系统调用time的帮助分别为(在不同的unix版本,命令的用法不一样,下面是在Solaris上的用法):$ man –s 1 time$ man –s 2 time如果不带章节参数的话,系统会显示找到的第一个命令的帮助(按章节的先后)。
有的系统支持-a参数,显示所有章节的帮助,比如显示time在所有章节中的帮助:$ man –a time1.1.2按照关键字寻找帮助下面的命令列出所有跟time相关的帮助信息:$man –k time1.2环境变量在unix中,shell可以维护一些变量,在变量中存放一些数据供以后使用。
显示当前的环境变量:$ env给变量赋值:$ MYHOME=/export/home/xubr; export MYHOME$ MYPATH=$PATH:/export/home/xubr; export MYPA TH查看变量的值:$ echo $MYPATH1.3目录操作命令类似windows,在unix中,某目录中的一个点表示当前目录、两个点表示上级目录,同样支持绝对路径和相对路径。
UNIX基础
rwxr-x--x 方
111101001
法 一
75 1
方 法 二
作用 用于非正常中断程序的运行 用于系统通信的中断 用来告诉终端,停止接受输入 告诉终端重新接受输入
# stty -a 显示所有的终端选项
UNIX的基本操作
清除屏幕命令
$ clear
UNIX的基本操作
系统帮助
$ man find
UNIX的基本操作
UNIX系统的关闭
# shutdown –hy 0
UNIX的基本操作 目录操作类命令 文件浏览类命令 文件管理类命令
滤通类命令 系统资源类命令 网络操作类命令
vi的常用命令 系统维护类命令
UNIX的基本操作
内容
UNIX的登录与退出 UNIX用户的切换 UNIX命令行的使用 UNIX控主制机键的的开使机用与关机
清除屏幕 UNIX系统的在线帮助 UNIX系统的重启与关闭
UNIX操作-目录
目录操作命令
ls:显示目录内容 格式:ls [option] [path]
[path]:绝对路径、相对路径
[optin]: -l:显示文件所有属性 -a:显示所有文件含隐含文件 如.profile -s:显示文件占用的block数
UNIX操作-文件的类型与权限
$ ls -l sort -rwxr-x--x 1 myname mygroup 120 Jul 26 10:20 sort
UNIX基础
集成产品部
内容
UNIX操作系统概述 UNIX常用操作命令使用
UNIX简介
内容
UNIX流派与标准 UNIX的特点 UNIX系统组成
UNIX的shell程序 UNIX的用户
UNIX操作系统常用功能操作系统常用命令
UNIX操作系统常用功能ls功能:显示指定工作目录下之内容语法:ls [参数选项][目录名]说明:显示指定工作目录下的内容参数选项:如下图选项选项说明-a 显示所有文档及目录,包括隐藏文件-l 将文档名、文档类型、权限、拥有者、大小等信息详细列出-r 将文档以相反次序显示(原定按英文字母次序)-t 将文档依修改时间之先后次序列出-A 同 -a ,但不列出“.” (当前目录) 及 ".." (父目录)-F 在列出的文档名称后加一符号;例如可执行文档则加“*”,目录则加“/”,符号链接文件加“@”-R 递归地显示子目录中的内容Dir功能:同 lscd功能:变换工作目录语法:cd [目录名]说明:用于更换工作目录例题:如下1、cd .. 更换目录回到上一级目录2、cd . 更换到当前目录3、cd ~ 更换目录到当前用户的个人宿主目录4、cd /etc/vsftpd/ 更换到/etc/vsftpd目录5、cd / 更换目录到根目录pwd功能:显示用户当前的工作路径,显示出完整的当前活动目录名称。
语法:pwd说明:显示当前工作目录的绝对路径clear功能:在允许的情况下清除屏幕语法:clear说明:清楚屏幕上的信息man功能:查看指令用法的help语法:man [参数选项] 帮助主题。
说明:man实际上就是查看命令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助功能。
man是manual(手册)的缩写字,它的说明非常的详细,建议记得一些基本用法就可以了。
mkdir功能:用来建立新的目录语法:mkdir [参数选项] 目录名说明:创建一个空目录,要求此用户在当前目录上具有写权限参数选项:如下图选项选项说明-m mode 为新目录设置访问模式。
-p 如果父目录不存在,创建所有的父目录。
rmdir功能:用来删除已建立的目录语法:rmdir [参数选项]目录名说明:删除一个或多个空目录或空子目录,要求此用户在当前目录上具有写权限rm功能:删除文档及目录。
sys_fork函数讲解
sys_fork函数讲解【原创实用版】目录1.sys_fork 函数的概念和作用2.sys_fork 函数的调用方式和参数3.sys_fork 函数的返回值4.sys_fork 函数的实际应用正文sys_fork 函数是 Unix 系统中的一个重要函数,主要用于创建一个与原来进程几乎完全相同的进程。
该函数可以用于实现多进程程序设计,是操作系统中进程管理的基础。
一、sys_fork 函数的概念和作用sys_fork 函数是 Unix 系统中的一个系统调用函数,其主要作用是创建一个新的进程。
这个新进程与原进程在代码和数据上是完全相同的,不同的只是进程 ID。
sys_fork 函数在进程创建的过程中,将原进程的代码、数据和打开的文件描述符等资源进行复制,从而创建一个新的进程。
二、sys_fork 函数的调用方式和参数sys_fork 函数的调用方式与其他系统调用函数类似,都是通过调用 int sys_fork(void) 函数来实现。
该函数没有参数,调用后返回两个值:若成功调用,则返回 0,表示新进程已经创建成功,原进程的进程 ID 为 0;若失败,则返回 -1,表示调用失败。
三、sys_fork 函数的返回值sys_fork 函数的返回值具有一定的特殊性。
当函数调用成功时,返回的值是两个,分别是 0 和子进程的进程 ID。
0 表示新进程已经创建成功,而子进程的进程 ID 则表示新进程的具体 ID。
当函数调用失败时,返回的值为 -1,表示调用失败。
四、sys_fork 函数的实际应用sys_fork 函数在实际应用中主要用于创建多进程程序。
通过不断地调用sys_fork 函数,可以创建大量的进程。
这些进程可以用于执行不同的任务,从而实现程序的并发和并行。
sys_fork 函数还可以用于创建一个子进程,然后对子进程进行操作,如设置进程优先级、修改进程的文件描述符等。
综上所述,sys_fork 函数是 Unix 系统中进程管理的基础,它可以用于创建一个与原来进程几乎完全相同的进程。
UNIX常用命令介绍
2.4 UNIX常用命令介绍用户对某一操作系统的认识,往往是从使用和接触操作系统开始的,而接触操作系统最常用的方法就是使用操作系统的命令。
尽管现代操作系统都对用户提供交互式的图形界面,但在使用操作系统时仍不可避免地要用到命令操作方式,这是因为图形界面的处理也是建立在命令处理的基础之上的。
有经验的人都知道,使用命令处理的效率往往会比使用图形界面处理高出很多,而可视化的图形界面主要解决的问题是提供友好交互和摆脱枯燥的命令记忆方式。
2.4.1 UNIX命令使用方法当某个用户正确地通过了系统的注册和登录后,就进入到UNIX的命令管理程序shell的第一个进程中。
shell可以完成UNIX命令的解释执行过程,它大体上可以分成两类:一类是s hell的内部命令,另一类是shell的外部命令。
对用户来讲,内、外部命令在使用方法上没有太多的差异,只是在响应时间上略有不同。
当用户发出内部命令时,系统可直接从内存中选择调用与执行。
而shell的外部命令是那些功能较强、占用空间较大的扩展命令,它们一般不包含在shell中,因此在系统启动时并不被装入内存,只是在使用时才从系统的指定存储介质中调入内存,用完后就释放所占用的内存空间。
外部命令往往功能强大,因此所占用的磁盘空间和内存空间都比较大,甚至有些外部命令实际上就是一个实用程序,它所占用的空间和处理过程的复杂度可以与一个小型系统规模相比,因此对外部命令的管理通常包含着对内、外存空间的控制和管理。
1. UNIX的命令格式使用UNIX命令的方法可以有多种,例如,可以在命令行上输入命令,或是将命令编写在批处理文件中。
无论怎样,命令的使用格式是统一的,UNIX的一般命令格式为:Command[-options][arguments]其中:Command表示UNIX命令名。
[options]表示命令的执行选项,可以取默认值。
[arg uments]表示命令的执行参数,可以默认。
常用系统函数介绍
常用系统函数介绍系统函数是很多编程语言中的关键部分,它们提供了一系列强大的功能来处理各种任务。
在本文中,我将介绍一些常用的系统函数,以及它们的功能和用法。
1. print函数print函数是一种常见的用于输出信息的系统函数。
它可以接受一个或多个参数,并将其打印到标准输出。
例如,我们可以使用print函数来输出一条消息:```print("Hello World!")```2. input函数input函数用于接受用户输入的数据。
它可以显示一个提示消息,并等待用户输入信息,然后将输入信息作为返回值返回。
例如,我们可以使用input函数来获取用户的姓名:```name = input("Please enter your name: ")```3. len函数len函数用于获取指定对象的长度或大小。
它可以用于字符串、列表、元组等各种数据结构。
例如,我们可以使用len函数来获取一个字符串的长度:```str = "Hello World!"length = len(str)print(length) # 输出:12```4. range函数range函数用于生成一个指定范围内的整数序列。
它可以接受一个或多个参数,并根据参数的不同生成不同类型的序列。
例如,我们可以使用range函数生成一个从0到9的整数序列:```for i in range(10):print(i) # 输出:0, 1, 2, 3, 4, 5, 6, 7, 8, 9```5. type函数type函数用于获取指定对象的类型。
它可以返回一个字符串,表示对象所属的类型。
例如,我们可以使用type函数来判断一个变量的类型:```print(type(x)) # 输出:<class 'int'>```6. str函数str函数用于将指定对象转换为字符串类型。
signal函数的使用
signal函数的使用signal系统函数调用提供了一种最简单的范例。
然而,由于C原形声明的缘故使它看起来比实际复杂。
signal函数将一个给定的函数和一个特定的信号联系。
这里是FreeBSD中的定义(和一个typedef一起):引用:typedef void (*sig_t) (int);sig_t signal(int sig, sig_t func);第一个参数是目标信号。
func参数是一个指针,指向某个处理该信号的函数。
这个处理信号函数带有一个int型参数,并应返回void。
signal函数中的func参数也可以设定为下面的一些值:引用:SIG_IGN: 如果func参数被设置为SIG_IGN,该信号将被忽略。
SIG_DFL: 如果func参数被设置为SIG_DFL,该信号会按照确定行为处理。
PS:sig信号的可能类型:#define SIGHUP 1 /* hangup */SIGHUP是Unix系统管理员很常用的一个信号。
许多后台服务进程在接受到该信号后将会重新读取它们的配置文件。
然而,该信号的实际功能是通知进程它的控制终端被断开。
缺省行为是终止进程。
#define SIGINT 2 /* interrupt */对于Unix使用者来说,SIGINT是另外一个常用的信号。
许多shell的CTRL-C组合使得这个信号被大家所熟知。
该信号的正式名字是中断信号。
缺省行为是终止进程。
#define SIGQUIT 3 /* quit */SIGQUIT信号被用于接收shell的CTRL-/组合。
另外,它还用于告知进程退出。
这是一个常用信号,用来通知应用程序从容的(译注:即在结束前执行一些退出动作)关闭。
缺省行为是终止进程,并且创建一个核心转储。
#define SIGILL 4 /* illegal instr. (not reset when caught) */如果正在执行的进程中包含非法指令,操作系统将向该进程发送SIGILL信号。
fork函数 用法
fork函数用法**标题:fork函数用法详解****一、概述**fork函数是Unix/Linux操作系统中常用的系统调用之一,它用于创建一个新的进程,并返回新进程的进程ID。
这个函数是在调用进程中创建新进程的基础,可以在当前进程的基础上,生成一个新的子进程,父进程和子进程之间可以共享一些数据,但是也必须考虑并发环境中的安全问题。
**二、函数原型**在Unix/Linux系统中,fork函数的基本原型为:intfork(void)。
这个函数会在调用它的进程中创建一个新的进程,并返回两个值:新创建的子进程的进程ID和父进程的进程ID。
如果返回值为-1,则表示fork函数调用失败。
**三、使用场景**fork函数主要用于创建一个新的进程,该进程继承了父进程的环境和状态。
在多线程或多进程编程中,fork函数可以帮助我们更好地管理并发环境中的资源。
例如,在父进程中创建一个新的子进程来执行一些特定的任务,子进程可以继承父进程的一些资源(如打开的文件描述符),而父进程则可以继续执行其他任务。
**四、注意事项**在使用fork函数时,需要注意以下几点:1. fork函数会创建一个新的进程,并返回两个值。
因此,需要确保在调用fork函数之前已经正确地分配了足够的内存空间来保存返回的两个值。
2. fork函数创建的新进程与原进程共享一些资源(如打开的文件描述符),但也需要注意并发环境中的安全问题。
例如,需要确保在子进程中关闭父进程打开的文件描述符,以避免资源泄漏。
3. 在子进程中执行一些操作时,需要考虑到父进程的状态和环境。
例如,如果父进程正在等待某个条件成立(如某个文件被修改),则需要考虑到子进程是否会改变这个条件。
4. fork函数在创建新进程时,会复制一部分父进程的内存空间到新的子进程中。
因此,如果父进程的内存空间非常大,则创建子进程所消耗的时间和内存也会相应增加。
**五、示例代码**下面是一个简单的示例代码,展示了fork函数的使用方法:```c#include <stdio.h>#include <unistd.h>#include <sys/types.h>int main() {pid_t pid; // 用于保存新创建的子进程的进程ID// 调用fork函数创建新进程pid = fork();// 判断fork函数是否成功if (pid < 0) {printf("Fork failed!\n");return 1;} else if (pid == 0) { // 子进程结束循环执行完毕后返回0,否则返回-1结束程序运行// 子进程代码段...while(1) { // 循环执行一些任务...} } else { // 父进程代码段...} // 父进程继续执行其他任务...}```六、总结**fork函数是Unix/Linux系统中的一个重要系统调用,用于在调用进程中创建一个新的子进程。
uinux常用命令
UNIX常用命令以下只说明各常用指令的基本用法, 若需详细说明, 请用 man 去读详细的 manual.1.关於档案/目录处理的命令ls——列目录这是最基本的档案指令。
ls 的意义为 "list",也就是将某一个目录或是某一个档案的内容显示出来。
格式:ls -1ACFLRabcdfgilmnopqrstux -W[sv] [files]例:#ls (不跟任何参数以简单格式列出当前目录中所有档案)#ls bin (简单格式列出名为bin的文件或目录下的所有档案)#ls /u/ilasII_GB/lib (全路径,列出lib目录下的所有档案)ls 的常用参数如下:-a : 在 UNIX 中若一个目录或档案名字的第一个字元为 "." , 则使用 ls将不会显示出这个档案的名字,我们称此类档案为隐藏档。
如 .profile、.tcshrc等如果我们要察看这类档案,则必须在其后加上参数 -a 。
-l : 这个参数代表使用 ls 的长( long )格式,可以显示更多的资讯,如档案存取权,档案拥有者( owner ),档案归属组,档案大小,档案最後更新时间,甚而 symbolic link 的档案是 link 那一个档等等。
显示结果如下所示:drwxrwxrwx 30 root bin 1024 May 23 10:38 udrwxrwxrwx 2 root sys 512 Jul 28 1999 uacndrwxrwxrwx 5 root sys 512 Jul 27 1999 udklrwxrwxrwx 1 root sys 11 Jul 27 1999 unix -> /stand/unixdrwxrwxrwx 35 root auth 1024 Apr 3 13:45 usr在开始的10个字符上系统给出文件的用户权限。
该序列分成四个域。
第一个字符为类型域,第2、3、4个字符为用户主域,第5、6、7个字符为同组用户域,第8、9、10个字符为其它用户域,域中字符的含义如下:? 在类型域中:d 表示此文件是一个目录- 表示此文件是一个普通文件b 表示此文件是一个特殊的块设备I/O文件c 表示此文件是一个特殊的字符设备I/O文件l 表示此文件是一个连接文件。
