unix系统目录详解

合集下载

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
ISO C标准由ISO/IEC的C程序设计语言国际标准工作组维护和开发。ISO C标准的意图是提供C程序的可移植 性,使其能适合于大量不同的操作系统,而不只是适合UNIX系统。此标准不仅定义了C程序设计语言的语法和语 义,还定义了其标准库。
1999年,ISO C标准被更新,并被批准为ISO/IEC 9899:1999,它显著改善了对进行数值处理的应用软件的 支持。除了对某些函数原型增加了关键字restrict外,这种改变并不影响本书中描述的POSIX接口。restrict关 键字告诉编译器,哪些指针引用是可以优化的,其方法是指出指针引用的对象在函数中只通过该指针进行访 问。
1999年以来,已经公布了3个技术勘误来修正ISO C标准中的错误,分别在2001年、2004年和2007年公布。 如同大多数标准一样,在批准标准和修改软件使其符合标准两者之间有一段时间延迟。随着供应商编译系统的不 断演化,对最新ISO C标准的支持也就越来越多。
POSIX是一个最初由IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师 学会)制订的标准族。POSIX指的是可移植操作系统接口(Portable Operating System Interfacc)。它原来 指的只是IEEE标准1003.1-1988(操作系统接口),后来则扩展成包括很多标记为1003的标准及标准草案。
常用的类Unix系统服务器硬件检测方法包括基于Linux Live技术的检测方法、基于Windows togo技术的检 测方法和基于类Unix系统硬件检测软件的方法。虽使用Linux Live技术能抽取出开源软件的源代码,灵活定制硬 件自动检测软件及生成所需的精简版检测报告。但由于Linux Live系统自带的软件驱动库版本老旧且不完整,在 不同硬件配置机器间的检测中,需耗费大量时间从系统ISO驱动文件库中查找及安装驱动程序(>30min),且常 由于缺乏与最新服务器硬件匹配的驱动文件,造成系统无法启动。基于Windows togo技术的检测方法虽拥有完整 的系统,但相较于基于Linux Live技术的检测方法需要占用的U盘空间大(16GB以上),且对于U盘的读取速度要 求过高。而基于类Unix系统硬件检测软件的方法又存在检测功能单一、兼容性不足和操作难度大的问题。

UNIX、AIX操作系统

UNIX、AIX操作系统

UNIX,AIX操作系统基础教程第一章简述Unix的主要版本商业的非开放系统有AT&T的System V或BSD基于BSD的系统,最有名的是FreeBSDLinuxUnix操作系统结构由内核(Kernel)、Shell、应用程序和各类用户程序组成,如图图1. Unix操作系统结构图内核:是Unix的核心部分,能与硬件直接交互,常驻内存。

驻留模块:完成输入输出、文件和设备的管理、内存和处理器管理,常驻内存。

系统工具:又称Shell,是Unix操作系统的一部分,是用户与Unix的交互接口,常驻磁盘,用户登录时调入内存。

Unix的内核由两部分组成1)进程控制子系统:负责处理器和存储器管理,如进程控制fork()创建进程、exit()结束进程、进程调度(CPU的分配)、进程通信的消息机制、段页式存储器管理。

2)文件子系统:完成所有设备(输入输出设备)和文件管理,为文件分配存储空间,管理空闲磁盘块,控制文件的存取和用户数据的检索,高速缓冲机制(使核心与外设速率相匹配),设备驱动程序(设备分为块设备和字符设备)。

图2. Unix操作系统内核框图Unix的启动流程首先运行boot程序,把/stand目录下的boot文件用/etc/default/boot文件中定义的配置参数装内核程序打开检测能找到硬件、初始化各种核心列表,安装系统的根文件系统rootfs,打开交换设备并打印配置信息形成0号进程由0号进程产生1号进程,0号进程随即转为对换进程,1号进程就是所有进程的祖先 1号进程为每个登录的用户创建终端进程,这些用户再利用进程创建系统调用来创建子进程,形成进程树图3. Unix操作系统启动流程Unix操作系统的1号进程是一个系统服务进程,一旦创建,不会自行结束,只有在系统需要撤销它们提供的系统功能或关机的情况下才会发生1号进程结束。

Unix操作系统用户分类超级用户:又称root用户,是系统管理员,在Unix安装时自动创建,超级用户登录后提示符一般显示为“#”。

UNIX环境高级编程文件和目录

UNIX环境高级编程文件和目录

UNIX环境⾼级编程⽂件和⽬录函数stat , fstat , fstatat , lstatstat函数返回与此⽂件有关的信息结构。

fstat函数使⽤已打开的⽂件描述符(⽽stat则使⽤⽂件名)fstatat函数为⼀个相对于当前打开⽬录的路径名返回⽂件信息。

lstat函数返回该符号链接的有关信息,⽽不是该符号链接引⽤的⽂件的信息。

使⽤stat最多的地⽅可能就是 ls -l 命令。

st_mode 与 S_IFMT 进⾏与运算在与 S_IFXXX常量相⽐较,来判断类型。

⽂件类型1.普通⽂件:⽆论是⽂本⽂件还是⼆进制⽂件对UNIX内核来说没有区别。

2.⽬录⽂件:这种⽂件包含了其他⽂件的名字以及指向与这些⽂件有关信息的指针。

3.块特殊⽂件:提供对设备带缓冲的访问。

4.字符特殊⽂件:提供对设备不带缓冲的访问5.FIFO :⽤于进程通信,称之为管道6.socket:⽤于⽹络通信7.符号链接:这种⽂件指向另⼀个⽂件⽂件类型信息包含在stat结构的 st_mode 成员中。

设置⽤户ID 和设置组ID实际⽤户ID :我们实际上是谁实际组ID :有效⽤户ID:⽤于⽂件访问权限检查有效组ID :保存的设置⽤户ID:由exec函数保存保存的设置组ID :实际⽤户ID和组ID :表⽰我们究竟是谁。

取⾃⼝令⽂件中的登陆项有效⽤户ID,有效组ID ,附属组ID :决定了我们的⽂件访问权限保存的设置⽤户ID和设置组ID :执⾏⼀个程序时,包含了有效⽤户ID和有效组ID的副本。

(8.11节详细说明)通常有效⽤户ID等于实际⽤户ID。

有效组ID等于实际组ID每个⽂件有⼀个所有者和组所有者。

分别由 stat结构中的 st_uid 和 st_gid指定。

执⾏程序时,进程的有效ID 通常就是实际ID。

但是,可以在⽂件模式字(st_mode)中设置⼀个特殊标识,含义是“当执⾏此⽂件时,将进程的有效⽤户ID设置为⽂件所有者的⽤户ID(st_uid),同样可以设置组ID。

Unix基础之第三章 UNIX的文件与目录

Unix基础之第三章 UNIX的文件与目录

当前目 录
(续)
• 注意:1、创建的目录应该不存在; 2、可以在任何一级用mkdir, 而不一定要在当前目录下创建。
5、删除目录(rmdir)
格式:$rmdir dir_name 作用:删除不需要的目录 说明: 1. dir_name参数必须有 2. dir_name参数不能被指定为当前目录(即: 要在父目录中删除子目录) • 3. 被删除的子目录必须为空子目录。 • (即只包含. 和. .) • • • • •
四、与目录相关的命令
• • • • pwd cd mkdir rmdir ls
工作目录
• 在UNIX系统中,用户总处于某个目录中。 正在工作的这个目录叫工作目录或当前 目录。
1、显示工作目录PWD
• 列 出 正 在 工 作 的 目 录 (Print Working Directory)pwd命令,用于显示你当前所 处的目录名 • pwd命令总是返回你当前所处的目录的完 全路径名。 • 登录完成后,显示用户主目录的路径名
五、UNIX 文件系统
文件系统的存储结构 UNIX 系统可以把一个能随机存取的存储介质 (如硬盘、软盘和光盘等)上的存储空间划分成一 如硬盘、 如硬盘 软盘和光盘等) 个至多个区域, 个至多个区域,每个区域都可以像独立的物理设备 一样单独进行管理和数据存取,这样的存储区域, 一样单独进行管理和数据存取,这样的存储区域, 即是逻辑设备。 即是逻辑设备。在逻辑设备上按照一定的格式进行 文件系统。 划分,就构成了逻辑文件系统,简称文件系统 划分,就构成了逻辑文件系统,简称文件系统。 1.
7、显示目录条目的信息
• 使用-i命令选项,inode序号将列在第一列。 • 使用-d命令选项,将只显示目录条目的信息。 • • 可以使用不同的命令选项来显示不同的时间标 记 • ls –lc 显示更新时间 • ls –l 显示更改时间 • ls –lu 显示访问时间

unix下的文件和目录详解以及操作方法

unix下的文件和目录详解以及操作方法

unix下的⽂件和⽬录详解以及操作⽅法前⾔:unix下⼀切东西都是⽂件,⼀共有7种不同的⽂件,前⼀篇博客已经讲解的很清楚了,不懂的可以看看。

当然,博主知道有些朋友⽐忙,没时间看,那我就简单点讲讲这7种⽂件都有哪些吧。

⽂件类型包括在stat结构的st_mode成员中,下⾯是这7种⽂件类型的判断⽅法:宏⽂件类型S_ISREG(m) 普通⽂件(is it a regular file?)S_ISDIR(m) ⽬录⽂件(directory?)S_ISCHR(m) 字符特殊⽂件(character device?)S_ISBLK(m) 块特殊⽂件(block device?)S_ISFIFO(m) 管道或FIFO [FIFO (named pipe)?]S_ISLNK(m) 符号链接 [symbolic link? (Not in POSIX.1-1996.)]S_ISSOCK(m) 套接字 [socket? (Not in POSIX.1-1996.)]当然这些⽂件都是有访问权限的,很巧这些权限也是在⼀个叫struct stat这个结构体中结构体struct stat中的成员st_mode值包含了对⽂件的访问权限位,任何类型的⽂件都有访问权限(access permission)。

每个⽂件有9个访问权限,可以它们分为3类,u表⽰⽤户(所有者)、g表⽰组、o表⽰其他st_mode屏蔽含义S_IRUSR ⽤户读S_IWUSR ⽤户写S_IXUSR ⽤户执⾏S_IRGRP 组读S_IWGRP 组写S_IXGRP 组执⾏S_IROTH 其他读S_IWOTH 其他写S_ICOTH 其他执⾏那么问题来了既然有权限,我们怎么知道这些权限呢?当然这不是难事,⼀个access函数就可以解决问题了函数描述:按实际⽤户ID和实际组ID进⾏访问权限测试(1)头⽂件#include <unistd.h>(2)函数原型int access(const char *path, int amode);(3)参数a、path:⽂件路径b、amode:F_OK:测试⽂件是否存在R_OK:测试⽂件是否可读W_OK:测试⽂件是否可写X_OK:测试⽂件是否可执⾏(4)返回值成功:0失败:-1函数描述:为进程设置⽂件模式创建屏蔽字,并返回之前的值(1)头⽂件: #include <sys/stat.h>(2)函数原型: mode_t umask(mode_t cmask);(3)参数:cmask:(下⾯9个常量中的若⼲个按位或构成),例如:S_IRUSR|S_IRGRP //权限就为⽤户读和组读st_mode 屏蔽 含义 S_IRUSR ⽤户读 S_IWUSR ⽤户写 S_IXUSR ⽤户执⾏这是access 函数的具体⽤法的代码(argv[1]必须是⼀个已经存在的⽂件):#include <stdio.h>#include <unistd.h>#include <stdlib.h>int main(int argc,char **argv){if (argc != 2) {printf("argc must equal to two!\n"); exit(1); }if (access(argv[1],F_OK)) //判断⽂件是否存在 {printf("%s not existence!\n",argv[1]); exit(1); }if (access(argv[1],R_OK)) //判断⽂件是否可读 {printf("%s not read permission\n",argv[1]); } else {printf("%s have read permission\n",argv[1]); }if (access(argv[1],W_OK)) //判断⽂件是否可写 {printf("%s not write permission\n",argv[1]); } else {printf("%s have write permission\n",argv[1]); }if (access(argv[1],X_OK)) //判断⽂件是否可执⾏ {printf("%s not execute permission\n",argv[1]); } else {printf("%s have execute permission\n",argv[1]); } return 0;}View Code 在ubuntu下运⾏:当然了既然有权限,那么我们在创建⽂件的时候⽂件权限也是可以⾃⼰控制的,umask 函数⽤上场了S_IRGRP 组读S_IWGRP 组写S_IXGRP 组执⾏S_IROTH 其他读S_IWOTH 其他写S_ICOTH 其他执⾏(4)返回值:成功:之前的⽂件模式创建屏蔽字代码的具体⽤法如下:#include <sys/stat.h>#include <stdio.h>#include <sys/types.h>#include <fcntl.h>#include <stdlib.h>#define RRR (S_IRUSR|S_IRGRP|S_IROTH) //设置⽂件权限为⽤户读、组读、其他读int main(int argc,char *argv[]){umask(0); //不设置⽂件屏蔽字creat("text",RRR); //以⽤户读、组读、其他读的权限创建⽂件text.txt //这⾥也可以⽤openumask(S_IRUSR|S_IRGRP); //创建⽤户读、组出屏蔽字creat("text1",RRR); //最后创建出来的⽂件只有其他读的权限return0;}View Code既然⽂件可以创建,当然⽬录也是可以创建的,mkdir函数就是为创建⽬录⽽⽣的:函数描述:创建⼀个空⽬录,.和..⾃动创建(1)头⽂件#include <sys/stat.h>(2)函数原型int mkdir(const char *path, mode_t mode);(3)参数:a、path:⽂件名b、mode:是以下15种常量的按位或mode 含义S_ISUID 执⾏时设置⽤户IDS_ISGID 执⾏时设置组IDS_ISVTX 保存正⽂(粘着位)S_IRWXU ⽤户(所有者)、读、写和执⾏S_IRUSR ⽤户(所有者)读S_IWUSR ⽤户(所有者)写S_IXUSR ⽤户(所有者)执⾏S_IRWXG 组读、写和执⾏S_IRGRP 组写S_IWGRP 组读S_IXGRP 组执⾏S_IRWXO 其他读、写和执⾏S_IROTH 其他读S_IWOTH 其他写S_IXOTH 其他执⾏(4)返回值成功:0失败:-1创建⽬录的具体实现:#include <sys/stat.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>int main(int argc,char *argv[]){if(mkdir("test.txt",S_IWOTH|S_IRUSR|S_IRGRP) == -1) /*以其他写、⽤户读、组读权限创建⼀个空⽬录*/{perror("mkdir");exit(1);}return0;}View Codeumask函数是在创建⽂时设置权限,那么在⽂件被创建之后还能修改权限吗?这时候chmod函数就派上⽤处了(1)头⽂件 #include <sys/stat.h>(2)函数原型 int chmod(const char *path, mode_t mode);(3)参数:a、path:⽂件路径b、mode:跟上⾯midir函数中的成员mode⼀样,其中的宏位或就可以了改变⽂件权限的例⼦:chmod("text",S_IRUSR|S_IRGRP|S_IROTH); //把text⽂件的权限改为⽤户读、组读、其他读既然权限可以改变权限,当然改个名字也是没问题的,⽤rename函数轻松解决问题:(1)头⽂件#include <stdio.h>(2)函数原型 int rename(const char *old, const char *new);(3)参数:a、old:⽂件原来的名字b、new:新的名字(4)返回值:成功:0失败:-1改变⽂件名字的例⼦:rename("text","hhtext"); //将名字为text的⽂件改为hhtext其实⽂件中还有个⼩操作就是可以在任何位置截断⽂件中的内容:truncate("test",3); //将⽂件test长度截断为3字节好了讲了那么多关于⽂件的权限的东西,是时候讲讲怎么打开⼀个⽬录和读⽬录中的的东西了:读⽬录中,要经过三步:打开⽬录、读⽬录、关闭⽬录,对应⽤到的函数分别为opendir、readdir、closedir。

unix02上-文件、目录与磁盘格式

unix02上-文件、目录与磁盘格式

计算机科学学院 付蓉
如何改变文件权限
改变文件的拥有者
语法:
chown [-R] 用户帐号 文件或目录 chown [-R] 用户帐号:群组名称 文件或目录
选项:
-R将该目录下的子目录和文件的所有者都改变。
例:
chown root text1.txt 改变文件text1.txt的拥有者为root chown root:root text1.txt 改变文件text1.txt的拥有者为root,群组为root chown -R root:root tmp 改变目录及其下属子目录和文件的拥有者为root,群 组为root 计算机科学学院 付蓉
home
etc
......
furong
tom
tmp
doc
计算机科学学院 付蓉
cd
语法:
cd [相对路径或绝对路径]
例:
cd .. 回到上层目录 cd ../doc 到同层的doc目录下 cd /home/furong/tmp绝对路径的写法 cd 回到用户根目录 cd ~ 回到用户根目录 cd ~student 回到用户student的根目录 cd /home/student回到用户student的根目录
每个组都有: r:可读 w:可写 x:可执行 -:没有相应位置的权限
例: -rwxrw-rw计算机科学学院 付蓉
文件属性
目录 d rwx - - - - - - 2 root root 4096 12-12 12-12 tmp/ root可以进入 d rwx - - - r - - 2 root root 4096 12-12 12-12 tmp/ 问:除了root之外,其他组的用户是否可以进入目录tmp?

Unix操作系统的小知识

Unix操作系统的小知识
文件创建好之后就需要对此文件的内容进行相应的编辑了,在Unix系统中最常使用的编辑工具是vi,在后文中会有专门的章节进行详细介绍,此处先行略过。
在使用Unix系统一段时间之后,大家可能会发现文件数量正在快速增加,而其中的一部分文件可能已经变得过时,或是没有了使用价值,这时就应该及时利用rm命令将此类文件删除了。rm命令的功能是删除文件或目录,它的命令格式如下:
//然后创建其子目录dir7
(2)rmdir命令的功能是删除目录,但其只能删除空目录(即目录中不包含文件),故此命令一般较少使用,在后文中会介绍一个更为常用的删除目录命令。rmdir命令的格式如下:
rmdir directory-name(s)
(2)使用cat命令查看文本文件时会有一个问题,就是它不会分屏显示文件,这样当文件的内容超出一屏时,除了最后一屏的内容之外,上面的内容都将是一闪而过。当然解决的办法Unix也替我们想好了,就是使用more命令来查看此类文件。more命令的格式如下:
more filename
chmod who op permission(s) file(s)
参数who表示用户类型,它的内容为以下一项或多项:
u 文件所有者
g 用户组
o 其他用户
a 所有用户
参数op表ission指定的权限
- 表示要取消permission指定的权限
参数p代表在建立指定目录时,如果其父目录不存在,则一同创建。
[例]
mkdir dir1 dir2 dir3 //在当前目录下建立目录dir1、dir2、dir3
mkdir dir1/dir4 //在当前目录下的dir1子目录中创建目录dir4
mkdir –p dir6/dir7 //在当前目录下,由于不存在dir6目录,则先自动创建目录dir6,

UNIX-Linux目录及解释

UNIX-Linux目录及解释
UNIX/LINUX ALL DIRECTORIES AND INTERPRETATION
挂载点
/
解释
根目录,唯一必须挂载的目录。/是衍生以下挂载点的根源
/bin
主要存放用户经常使用的命令。静态且不可共享。 主要存放着系统的内核以及启动时所需要的文件,比如Linux内核文件vmlinuz和核心解压缩所需的RAM Disk文件initrd都 在这里,如果安装了grub,这里还会有Grub目录。静态且不可共享。 存放设备文件,比如/dev/sda代表第一块IDE硬盘。正常情况下,每种设备有一个独立的子目录,其中存放这些设备的内 容。静态且不可共享。 主要存放系统管理所需的配置文件和子目录。静态且不可共享。
/proc
/root
/sbin
主要存放系统管理员使用的管理程序,其他的还有有/usr/sbin、/nsf/local/sbin。静态且不可共享。
/selinux
使用selinux的Linux,其安全级别可以达到B1级
/srv
存放一些服务启动之后需要服务的文件 系统的核心文件,这个目录是2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个系统文件Sysfs, Sysfs文件系统集成了下面三种文件系统信息:针对进程信息的proc文件系统、针对设备的devfs文件系统、针对伪终端的 derpts文件系统。 存放临时文件,需要经常清理,这是除了/usr/local目录以外一般用户可以使用的—个目录,启动时系统并不自动删除这 里的文件,所以需要经常清理这里的无用文件。变化的且不可共享。 包含系统的主要程序、用户自行安装的程序、图形界面需要的文件、共享的目录与文件、命令程序文件、程序库,手册和 其他文件等,这些文件—般不需要修改。静态且可共享。 含系统执行过程中的经常变化的文件.例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应 用程序的数据文件等。建议单独的放在一个分区。其中的各个子目录可以是可共享的,也可以是不可共享的。 类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况

第9章UNIX操作系统

第9章UNIX操作系统

9.2.2 UNIX Shell
3 基本shell命令 分页查看文件 more [options] [file-list] 切换目录 cd [directory] 显示指定目录中的文件
ls [options] [pathname-list]
创建目录 mkdir [options] dirnames 删除目录 rmdir [options] dirnames 查找文件中指定内容
交换空间随着进程的换入和换出不断分配和释 放,同时映射图也跟着动态的变化。
9.4.1 交换策略
UNIX系统中,由malloc函数完成交换空间 的分配 ,malloc函数工作流程见下页。
返回
顺序查映射图中登记项

找到大于申请

量的空间?
登记项中块数 =申请量?

删除该登记项
否 修改登记项中起始 地址和块数
(1)sh shellfile 其中sh可替换为csh、ksh等,这取决于用户使用的 外壳程序。
(2)chmod +x shellfile
shellfile 该方法中,第一条命令通过‘+ x’为shellfile增加了 可执行权限,从而将shellfile改写成了可执行文件, 因而第二个语句中可直接输入文件名对其进行调 用。
9.3.4 UNIX进程调度
UNIX系统通常采用动态优先级调度算法。系统 中每个进程都有一个优先数,就绪进程能否占用处 理器的优先权取决于进程的优先数,优先数越小则 优先权越高。
确定进程优先数的方法:
(1)设置优先数 进程进入睡眠状态时,系统按其睡眠原因为其设置 优先数,其等待的事件越急迫,被设置的优先数就 越小。
9.2.6 UNIX备份与恢复工具

Unix 目录结构是怎么来的_光环大数据培训

Unix 目录结构是怎么来的_光环大数据培训

Unix 目录结构是怎么来的_光环大数据培训Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。

举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。

但是,/usr 子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序 ...Python Java Hadoop 培训 C++Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。

举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。

但是,/usr 子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。

它们有何区别?长久以来,我也感到很费解,不明白为什么这样设计。

像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。

昨天,我读到了Rob Landley的简短解释,这才恍然大悟,原来Unix目录结构是历史造成的。

话说1969年,Ken Thompson和Dennis Ritchie在小型机PDP-7上发明了Unix。

1971年,他们将主机升级到了PDP-11。

当时,他们使用一种叫做RK05的储存盘,一盘的容量大约是1.5MB。

没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。

于是,他们加上了第二盘RK05,并且规定第一块盘专门放系统程序,第二块盘专门放用户自己的程序,因此挂载的目录点取名为/usr。

也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。

除此之外,两块盘的目录结构完全相同,第一块盘的目录(/bin, /sbin, /lib, /tmp...)都在/usr目录下重新出现一次。

后来,第二块盘也满了,他们只好又加了第三盘RK05,挂载的目录点取名为/home,并且规定/usr用于存放用户的程序,/home用于存放用户的数据。

UNIX基础教程

UNIX基础教程

UNIX基础教程UNIX是一种多用户、多任务操作系统,广泛用于Unix-like的操作系统中。

它提供了一个强大且灵活的环境,适用于各种不同的应用程序和领域。

本教程将介绍UNIX的基础知识,包括文件系统、命令行界面、进程管理和网络通信等。

一、文件系统UNIX的文件系统是以层次化的目录结构来组织文件和目录。

用户可以使用命令对文件进行创建、删除、移动和复制等操作。

1.目录结构:UNIX的目录结构以根目录(/)为起点,所有的文件和目录都从根目录开始。

2. 目录操作:用户可以使用命令如cd、ls、mkdir和rmdir等来操作目录。

cd用于切换目录,ls用于列出目录内容,mkdir用于创建目录,rmdir用于删除空目录。

3. 文件操作:用户可以使用命令如cat、cp、mv和rm等来操作文件。

cat用于查看文件内容,cp用于复制文件,mv用于移动文件,rm用于删除文件。

二、命令行界面UNIX的命令行界面是用户与系统交互的主要方式。

用户可以通过输入命令来执行各种操作。

1.命令格式:UNIX的命令由命令名称和选项参数组成。

选项参数用于修改命令的行为,可以是单个字符或长参数。

2. 常用命令:UNIX提供了许多常用的命令,如基本的文件和目录操作命令,如ls、cd、mkdir和rmdir;文件查找和文本处理命令,如find、grep和sed;系统信息和管理命令,如ps、df和top等。

3.命令提示符:UNIX的命令行界面会显示一个命令提示符,用户可以在提示符后输入命令。

通常,命令提示符由当前用户名和主机名组成。

三、进程管理UNIX支持多任务操作,可以同时执行多个程序。

用户可以使用命令来管理进程和程序。

1. 运行程序:用户可以使用命令如./和exec等来运行程序。

./用于运行当前目录下的可执行文件,exec用于替换当前进程并执行新程序。

2. 后台运行:用户可以使用命令如&和nohup等将程序置于后台运行。

&用于将程序放入后台运行,nohup用于使程序在用户注销后继续运行。

UNIX系统介绍.ppt

UNIX系统介绍.ppt
— 图形管理工具
– Solaris里面的Admintool – Red Hat里面的userconf
13
UNIX用户管理
• /etc/passwd
— hxu:x:500:10:Hazy Xu:/home/hxu:/bin/bash
• /etc/shadow
— hxu:$1$rlGPjdo/$JgAQNiYk4JwQb/DV.jsuS/:11037:0:99999:7:-1:-1:
Step 1:对硬盘分区
• 在RedHat下用fdisk进行硬盘分区
— #fdisk /dev/hda
• 在Solaris下面用 format来对硬盘分区
— #format
8
UNIX文件系统
Step 2:
• 创建文件系统
— RedHat下面使用mkfs命令
– #mkfs –t ext2 /dev/hda1
• 文本处理命令
— grep,egrep,fgrep,diff
• 系统状态命令
— date,du,df,kill,ps,pwd,who
20
Vi文本编辑器
• 两种模式
— 命令模式和输入模式 — 最后行命令方式
• 从命令模式转到输入模式
— a, i , A , I
• 从输入模式转到命令模式
— ESC
• 最后行命令方式
18
UNIX系统备份
• 使用dump(Linux)、ufsdump(Solaris)来备份 • dump出来的东西用restore来恢复 • ufsdump出来的东西用ufsrestore来恢复
19
UNIX系统命令
• 文件和目录管理命令
— cd,rmdir,rm,ls,find,mkdir,mv,cp,more,cat

UNIX目录结构

UNIX目录结构

上述操作是将file1的内容作为grep abc命令的输入,也就是说在文件file1中查找字符串
"abc"
例4:管道操作举例:$ps -ef | grep omc
omc 268 266 0 09:26:35 pts/1 0:00 -ksh
除了文件的重定向符号外,在命令行中还可以使用的其他特殊符号有:
>
>>
|
<
例1:输出重定向举例:$ ls > file1 其作用就是将ls显示的内容存放到file1文件中。
$cat file1 可以查看到文件file1中的详细内容
上述操作是将命令ls的输出——当前目录内容列表,送到文件file1中保存起来,此时不会
在终端窗口(屏幕)上看到命令ls的列表内容,而是在当前目录中,形成了一个新的文件
文件或者目录打包
网络上有一些.tar.gz文件 先用gzip解压缩,然后用tar拆包 tar cvf mytar.tar file.dat tar xvf file.dat
系统备份命令
文件压缩命令
网络上的.gz文件是用gzip命令压缩的。 需要安装自由软件gzip和gunzip gzip [-fv] file 将文件压缩成.gz的文件格式,选项同前 gzip -d file.gz 将.gz文件解压
✓more:分页显示文本文件 格式:more [path]<filen✓head:显示文件头部 格式:head [option] [path]<filename> [path]:绝对路径、相对路径 [option]: -n:n为数字,显示前n行号
✓tail:显示文件尾部 格式:tail [option] [path]<filename> [path]:绝对路径、相对路径 [option]: -n:n为数字,显示后n行
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类似/etc/passwd ,但说明的不是用户而是组。
/etc/inittab
init 的配置文件。
/etc/issue
getty 在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。
/etc/magic
file 的配置文件。包含不同文件格式的说明,file 基于它猜测文件类型。
引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
/sbin
类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。
/etc
特定机器的配置文件。
/root 所需的共享库。
/lib/modules
/var/catman
当要求格式化时的man页的cache。man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中。而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了。 (/var/catman 经常被清除,就象清除临时目录一样。)
/etc/shadow
在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读。这使破译口令更困难。
/etc/login.defs
login 命令的配置文件。
/etc/printcap
/var/lib
系统正常运行时要改变的文件。
/var/local
/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock 。
/var/lock
锁定文件。许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。
Unix文件结构根据目的来分组文件,即所有的命令在一个地方,所有的数据在另一个地方,所有的文档又在一个地方,等等。另一个方法是根据属于的程序分组文件,即所有Emacs文件在一个目录中,所有TeX文件在另一个中,等等。后一种方法的问题是文件难于共享(程序目录经常同时包含静态可共享的和动态不可共享的文件),有时难于查找 (例如man页在极大数量的地方,使man程序查找它们极其困难)。
/proc/cpuinfo
处理器信息,如类型、制造商、型号和性能。
/proc/devices
当前运行的核心配置的设备驱动的列表。
/proc/dma
显示当前使用的DMA通道。
/proc/filesystems
核心配置的文件系统。
/proc/interrupts
/dev目录
/dev 目录包括所有设备的设备文件。设备文件用特定的约定命名。
/usr文件系统
/usr 文件系统经常很大,因为所有程序安装在这里。 /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下。这样可能在升级新版系统或新distribution时无须重新安装全部程序。
/etc目录
/etc 目录包含很多文件。许多网络配置文件也在/etc 中。
/etc/rc or /etc/rc.d or /etc/rc*.d
启动、或改变运行级时运行的scripts或scripts的目录。
/etc/passwd
用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
类似/etc/termcap ,但针对打印机。语法不同。
/etc/profile , /etc/csh.login , /etc/csh.cshrc
登录或启动时Bourne或C shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。
/etc/securetty
确认安全终端,即哪个终端允许root登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权。
/proc文件系统
/proc 文件系统是一个假的文件系统。它不存在在磁盘某个磁盘上。而是由核心在内存中产生。用于提供关于系统的信息(originally about processes, hence the name)。下面说明一些最重要的文件和目录。
/proc/1
关于进程1的信息目录。每个进程在/proc 下有一个名为其进程号的目录。
虽然上面将不同的部分称为文件系统,但它们不必是真的分离的文件系统。如果系统是小的单用户系统,而用户希望简单化,可以很容易地放在一个文件系统中。根据磁盘容量和不同目的所需分配的空间,目录树也可以分到不同的文件系统中。重要的是使用标准的名字,即使/var 和/usr 在同一分区上,名字/usr/lib/libc.a 和/var/adm/messages 必须能工作,例如将/var 下的文件移动到/usr/var ,并将/var 作为/usr/var 的符号连接。
/usr/sbin
根文件系统不必要的系统管理命令,例如多数服务程序。
/usr/man , /usr/info , /usr/doc
手册页、GNU信息文档和各种其他文档文件。
/usr/include
C编程语言的头文件。为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字。
/etc/shells
列出可信任的shell。chsh 命令允许用户在本文件指定范围内改变登录shell。提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录。
/etc/termcap
终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap 中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。
/var/spool
mail, news, 打印队列和其他队列工作的目录。每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中。
/var/tmp
比/tmp 允许的大或需要存在较长时间的临时文件。 (虽然系统管理员可能不允许/var/tmp 有很旧的文件。)
/var 文件系统包含会改变的文件,比如spool目录(mail、news、打印机等用的), log文件、formatted manual pages和暂存文件。传统上/var 的所有东西曾在 /usr 下的某个地方,但这样/usr 就不可能只读安装了。
/home 文件系统包含用户家目录,即系统上的所有实际数据。一个大的/home 可能要分为若干文件系统,需要在/home 下加一级名字,如/home/students 、/home/staff 等。
/usr 文件系统包含所有命令、库、man页和其他一般操作中所需的不改变的文件。 /usr 不应该有一般使用中要修改的文件。这样允许此文件系统中的文件通过网络共享,这样可以更有效,因为这样节省了磁盘空间(/usr 很容易是数百兆),且易于管理(当升级应用时,只有主/usr 需要改变,而无须改变每台机器) 即使此文件系统在本地盘上,也可以只读mount,以减少系统崩溃时文件系统的损坏。
根文件系统
根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏。损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导。
根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz 。所有其他文件在根文件系统的子目录中。
/bin
显示使用的中断,and how many of each there have been.
/proc/ioports
当前使用的I/O端口。
/proc/kcore
系统物理内存映象。与物理内存大小完全一样,但不实际占用这么多内存;it is generated on the fly as programs access it. (记住:除非你把它拷贝到什么地方,/proc 下没有任何东西占用任何磁盘空间。)
核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
/dev
设备文件。
/tmp
临时文件。引导启动后运行的程序应该使用/var/tmp ,而不是/tmp ,因为前者可能在一个拥有更多空间的磁盘上。
/boot
引导加载器(bootstrap loader)使用的文件,如LILO。核心映象也经常在这里,而不是在根目录。如果有许多核心映象,这个目录可能变得很大,这时可能使用单独的文件系统更好。另一个理由是要确保核心映象必须在IDE硬盘的前1024柱面内。
linux unix 系统目录详解2008-04-17 15:08目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上。主要部分是根、/usr 、/var 和 /home 文件系统。每个部分有不同的目的。
每台机器都有根文件系统,它包含系统引导和使其他文件系统得以mount所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。
/usr/lib
程序或子系统的不变的数据文件,包括一些site-wide配置文件。名字lib来源于库(library); 编程的原始库存在/usr/lib 里。
/usr/local
本地安装的软件和其他文件放在这里。
/var文件系统
相关文档
最新文档