时间:
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/"