三、file system

时间:

    Linux时间 -- 系统时间;硬件时间

         date:print or set the system date and time 

                [root@www ~]# date

                2011年 07月 15日 星期五 00:01:53 CST

                通用的设置格式:#date 月日时分年.秒

                                     -s  设置指定字符串来分开时间

                  [root@www ~]# date 111111112011.11

                  2011年 11月 11日 星期五 11:11:11 CST

                  [root@www ~]# date -s 11/12/2011

                  2011年 11月 12日 星期六 00:00:00 CST

                  [root@www ~]# date -s 11:12

                  2011年 11月 12日 星期六 11:12:00 CST

         clock(hwclock):query and set the hardware clock

                         通用的设置格式:hwclock/clock --set --date="月/日/年/ 时:分:秒"

                      clock  -w (set the hardware clock to the current system time)

                      clock  -s (set the system time from the hardware clock)

              NTP(network time protocol)   RTC(real-time clock)

         cal :displays a calendar(显示日历)

              cal [-smjy13] [[[day] month] year]

              [root@www ~]# cal 5 10 2011(指定显示2011/10/5)

              


FHS:filesystem hierarchy standard (文件系统目录标准),多数Linux版本采用这种文件组织形式,类似于windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。

FHS定义了两层规范:第一层是根目录(/)下面的各个目录应该要放什么文件数据,例如/etc应该要放配置文件等,第二层则是针对/usr和/var这两个目录的子目录的定义,例如/var/log放置系统登录文件、/usr/share放置共享数据等。

Linux的文件与目录是树形,这种目录被称为目录树,它的特征为:1)目录树的起始点为根目录(/,root)  2)每个文件在此目录树中的文件名(包含完整路径)是独一无二的  3)每个文件或目录的最大长度为255个字符,完整路径名称及目录的最大长度为4096个字符  4)严格区分大小写  5)不能使用/ 当文件名

绝对路径:是从 / 开始的路径

相对路径:是从当前路径开始的路径


/boot:存放系统启动的相关文件,如内核、initrd以及grub(bootloader)

/dev:存放的是设备与设备接口的文件,即设备文件,设备文件是Linux中特有的文件类型,在Linux系统中,以文件的方式访问设备,即通过读写某个设备文件操作某个具体硬件。设备可分为块设备(可以随机访问设备,如硬盘)和字符设备(线性访问设备,如键盘)

/etc:存放配置文件。一般来说,此目录的各文件属性是可以让普通用户查阅的,但是只有root有权限修改

/home:用户的家目录,每一个用户的家目录通常默认为/home/username

/root:root的家目录

/lib:存放库文件和内核模块文件。动态库的文件格式为.so(shared object),静态库的文件格式为.a

/media:挂载点目录,用来临时挂载光盘等移动设备

/mnt:挂载点目录,额外的临时文件

/opt:可选目录,早期是第三方程序的安装目录

/proc:伪文件系统,内核映射文件,用来表示系统的运行状态,也可以操作其中的文件控制系统

/sys:伪文件系统,跟硬件设备相关的属性映射文件

/tmp:用来存放临时文件

/var:存放的是可变的数据

/bin:binary-二进制,存放可执行的文件,用户命令。该目录下的命令可以被root与一般帐号使用,由于这些命令在挂接其它文件系统之前就可以使用,所以/bin目录必须和根文件系统在同一个分区中

/sbin:该目录下存放系统命令,即只有系统管理员(root)能够使用的命令,系统命令还可以存放在/user/sbin/local/sbin(本地用户自己安装的系统命令放在这)目录下,/sbin目录存放的是最基本的系统命令,它们用于启动系统和恢复系统等,与/bin目录相似,在挂接其它文件系统之前就可以使用,所以/sbin目录必须和根文件系统在同一个分区中

/usr:全局共享只读文件,此目录的内容可以存放在另一个分区中,里面存放的是共享、只读的程序和数据,目录下的内容可以在多个主机共享


目录管理:ls,cd,pwd,mkdir,rmdir,tree


ls:list directory contents

ls [option]...[file]...

-a  显示目录下的全部目录和文件 包括隐藏文件,以"."开头的文件表示隐藏文件,输出颜色是蓝色表示目录, “.”表示当前目录,“. ."表示父目录

-A  显示目录下的全部目录和文件 但不包含“.”“..”

-d  显示目录自身属性

-i  显示index number

-r  逆序显示文件

-R  递归显示

-h  做单位转换

-l  长格式显示

    文件类型:

            -  : 普通文件

            d  : 目录文件

            b  : 块设备文件(block)

            c  : 字符设备文件(character)

            l  : 符号链接文件(symbolic link file)

            p  : 命令管道文件(pipe)

            s  : 套接字文件(socket)

     文件权限(9位):每三位一组,每一组:rwx(读写执行)

     文件硬链接次数

     文件属主(owner)

     文件属组(group)

     文件大小(size),默认单位是字节(B)

     时间戳(timestamp,最近一次被修改的时间,也就是修改时间戳):每个文件有三个时间戳,分别为访问时间戳(access),修改时间戳(modify,默认,文件内容发生改变),改变时间戳(change,元数据,属性数据的改变)

     文件名


cd : change the shell working directory

cd ―― 直接切换到当前用户的家目录(home directory)

cd ~username ――切换到指定用户的家目录

cd -  ――在当前目录和前一次所在目录之间来回切换

当前目录和前一个目录的变量保存查看

#echo $PWD

#echo $OLDPWD

"." 代表当前目录

".." 代表父目录


pwd: print name of current/working directory

pwd [option]...


mkdir: make directories

mkdir [option] ....directory

-v  (verbose) print a message for each directory

-p  (parents) no error if existing ,make parent directories as needed

-m  (mode=MODE) set file mode (as in chmod),not a=rwx - umask ---------设置目录权限


rmdir: remove empty directories(删除空目录)

rmdir [option]....directory...

-p (--parents)  删除指定目录及其上级空目录

-v (--verbose)  output a diagnostic for every directory processed(输出处理的目录详情)

[root@www tmp]# rmdir test1/test2/test3/test4/ -pv

rmdir: 正在删除目录 "test1/test2/test3/test4/"

rmdir: 正在删除目录 "test1/test2/test3"

rmdir: 正在删除目录 "test1/test2"

rmdir: 正在删除目录 "test1


tree:显示目录结构


文件管理:touch,stat,file,rm,cp,mv


touch : change file timestamps(会建立一个空的目录)

touch [option]....file....

-a  change only the access time (仅修改access time)

-c  (--no-create) do not create any files (仅修改文本的时间,若该文本不存在则部建立新文本)

-d  (--date=string)parse string and use it instead of current time(可以跟欲修订的日期而不用目前的日期,也可以使用 --date=“日期或时间” 

-m  change only the modification time 

-t  use[[CC]YY]MMDDhhmm[.ss] instead of current time(可以跟欲修订的时间而不用目前的时间,格式为[[CC]YY]MMDDhhmm[.ss] )

文本下有三个主要的时间参数,分别为mtime,ctime,atime

modification time(mtime):当该文本的【内容数据】变更时,就会更新这个时间。内容数据指的是文本的内容,而不是文本的属性或者权限。

change time(ctime):当该文本的【状态(status)】改变时,就会更新这个时间,像是权限与属性被更改了,都会更新这个时间。

access time (atime):当该文本被读取时,就会更改这个访问时间(access)。


stat : display file or file system status 

stat [option]....file...


file : determine file type

可以查看文本的基本数据,比如是属于ASCⅡ或者data文本,或者是binary,且其中有没有使用动态函数库(share library)等信息。


rm : remove files or directories 

rm [option]....file

-f  (--force) ignore nonexistent ,never prompt(强行删除,忽略不存在的文本,不会出现告警提示)

-i  prompt before every removal(交互,在删除前会进行询问是否删除)

-r  (-R ,--recursive)remove directories and their contents recursively (递归删除)

root下 rm is aliased to 'rm -i '

/rm 忽略掉 alias的指定选项,代表本身


cp : copy files and directories

cp[option]...source...directory

-a  (--archive) same as -dr --preserve=all(相当于 -pdr)

-d  若来源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身

-f (--force) if an existing destination file cannot opened,remove it and try again

-i (interactive) prompt before overwrite 

-l (--link) link files instead of copying 进行硬式链接(hard link)的建立,而非复制文本本身

-p  连同文本的属性一起复制过去,而非使用默认属性(备份常用)

-r  copy directories recursively 递归复制,用于目录的复制行为

-s  (--symbolic-link) make symbolic links instead of copying (复制成为符号链接文件,就是快捷方式文本)

-u  若destination比source旧才更新destination

如果source有两个以上,则最后一个目的文件一定要【目录】。


mv : move (rename) files 

mv [option]...source....directory

-f  do not prompt before overwriting

-i  prompt before overwrite

-u  若目标文本已存在,且source比较新,才会更新


练习:使用date单独获取系统当前的年份、月份、日、小时、分钟、秒

      年份:[root@www ~]# date +%Y

      月份:[root@www ~]# date +%m

      日  :[root@www ~]# date +%d

      小时:[root@www ~]# date +%H

      分钟:[root@www ~]# date +%M

      秒  :[root@www ~]# date +%S

创建 名为/tmp/test1/test2/test3的目录

      # mkdir /tmp/test1/test2/test3 -p

      [root@www /]# mkdir /tmp/test1/test2/test3 -pv

     mkdir: 已创建目录 "/tmp/test1"

     mkdir: 已创建目录 "/tmp/test1/test2"

     mkdir: 已创建目录 "/tmp/test1/test2/test3"

创建 名为/tmp/test2 的目录 并权限设为rwx--x--x

     [root@www /]# mkdir /tmp/test2/ -vm 711

     mkdir: 已创建目录 "/tmp/test2/"

     

      


你可能感兴趣的:(File,System)