一、目录与路径
1.相对路径与绝对路径
相对路径:意指相对于目前工作目录的路径,即路径的不是由“/”开头的。
绝对路径:由根目录(/)开始写起的文件名或者目录名称。
比较特殊的目录:
[. ] :表示当前目录
[..] :表示当前目录的上一层目录
[- ] :表示前一个工作目录
[~ ] :表示目录用户的主文件夹
二、目录的相关操作
1.切换目录(cd:change directory):
语法:cd [相对路径或者绝对路径]
进入files目录:
[root@hs-uf21 ~]# cd files
[root@hs-uf21 files]#
进入root用户的主文件夹:
[root@hs-uf21 files]# cd ~
[root@hs-uf21 ~]#
或者如下:
[root@hs-uf21 files]# cd
[root@hs-uf21 ~]#
进入前一个工作目录:
[root@hs-uf21 ~]# cd -
/root/files
[root@hs-uf21 files]#
2.显示目前所在目录(pwd:pringworking directory)
语法:pwd[-P]
参数:
[-P]:显示当前路径,而非使用连接(link)路径
显示出当前路径:
[root@hs-uf21 files]# pwd
/root/files
3.创建新目录(mkdir)
语法:mkdir[-mp] dirname
参数:
[-m]:创建目录时配置dirname的权限,而不使用默认权限
[-p]:递归创建目录,可以连同子目录一起创建
在当前目录下创建目录test,并赋予全部用户读定执行的权限:
[root@hs-uf21 ~]# mkdir -m 777 test
[root@hs-uf21 ~]# ll
drwxrwxrwx 2root root 4096 Apr 21 12:50 test
在当前目录下创建目录test1/test2/test3,使用-p参数递归创建:
[root@hs-uf21 ~]# mkdir test1/test2/test3
mkdir: cannot create directory `test1/test2/test3': Nosuch file or directory
必需使用-p参数才可以:
[root@hs-uf21 ~]# mkdir -p test1/test2/test3
[root@hs-uf21 ~]#
4.删除“空”目录(rmdir)
语法:rmdir [-p] dirmane
参数:
[-p]:连同上一层的“空”目录也删除
在目录test下面创建文件test.txt,然后删除test目录,会提示test不为空,所以rmdir只能删除“空”目录:
[root@hs-uf21 test]# touch test.txt
[root@hs-uf21 test]# cd
[root@hs-uf21 ~]# rmdir test
rmdir: `test': Directory not empty
删除目录test1/test2/test3,使用-p参数可以一次性删除:
[root@hs-uf21 ~]# rmdir -p test1/test2/test3
[root@hs-uf21 ~]# ll
三、文件与目录管理
1.查看文件与目录(ls:list):
语法:ls [-aAdhlrRSt] dirname
ls [--color={never,auto,always}] dirname
ls [--time={atime,ctime}] filename ordirname
参数:
[-a]:全部文件、包括隐藏文件一起列出来
[-A]:全部文件、包括隐藏文件一起列出来,但不包括.和 ..这两众目录
[-d]:仅列出目录本身,而不是列出目录内的文件数据
[-h]:将文件容量以人类易读的方式(GB、MB、KB等)列出来
[-l]:列出长数据串,包含文件的属性与权限等数据
[-r]:将排序结果反向输出
[-R]:连同子目录内容一起列出来,等于将该目录下所有文件都显示出来
[-S]:以文件容量大小排序
[-t]:以时间排序
[--color=never]:不依据文件特性给予颜色显示
[--color=auto]:让系统自行依据设置来判断是否给予颜色
[--color=always]:显示颜色
[--time=atime]:statustime文件状态改变时会更新的时间,如果权限、属性变更等
[--time=ctime]:accesstime文件内容被取用时倒更新的时间,如使用cat、more等命令读取文件
注意:ls默认显示modification time文件内容数据更改时会更新的时间
查看文件install.log的三类时间:
[root@hs-uf21 ~]# ll install.log
-rw-r--r-- 1root root 59020 Apr 10 20:32 install.log
[root@hs-uf21 ~]# ll --time=ctime install.log
-rw-r--r-- 1root root 59020 Apr 20 19:08 install.log
[root@hs-uf21 ~]# ll --time=atime install.log
-rw-r--r-- 1root root 59020 Apr 19 21:15 install.log
2.复制(cp:copy):
语法:cp[fipru] srcfile destfile
cp [fipru] src1 src2 src3 ... directory
参数:
[-f]:为强制(force)的意思
[-i]:若目标文件已经存在,在覆盖时会先询问操作的进行
[-p]:连同文件的属性一起复制,而非使用默认属性;
[-r]:递归持续复制,用于目录的复制行为
[-u]:源文件srcfile比目录文件destfile新时才更新destfile。
将文件etc.tar和etc.tar.gz复制到files目录下:
[root@hs-uf21 ~]# cp etc.tar etc.tar.gz ./files
[root@hs-uf21 ~]# ls ./files
etc.tar etc.tar.gz
3.移除文件或者目录(rm):
语法:rm [-fir] file or directory
参数:
[-f]:为强制(force)的意思,忽略不存在的文件,不会出现警告信息
[-i]:互动模式,在删除前会询问用户是否操作
[-r]:递归删除,常用于目录的删除。
使互动模式删除files目录及其下面的文件:
[root@hs-uf21 ~]# rm -ir files
rm: descend into directory `files'?
删除test目录,需要使用-r参数才可以:
[root@hs-uf21 ~]# rm test
rm: cannot remove directory `test': Is a directory
[root@hs-uf21 ~]# rm -r test
rm: descend into directory `test'? y
rm: remove regular empty file `test/test.txt'? y
rm: remove directory `test'? y
[root@hs-uf21 ~]# ll
4.移动文件与目录,或者更名(mv):
语法:mv [-fiu] source destination
mv [-fiu] source1 source2 .... directory
参数:
[-f]:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
[-i]:若目标文件已经存在时,会询问用户是否覆盖
[-u]:右目标文件已经存在,且source比较新时才会更新(update)
将文件etc.tar etc.tar.gz移动到files目录:
[root@hs-uf21 ~]# mv etc.tar etc.tar.gz ./files
将目录files更名为file:
[root@hs-uf21 ~]# mv files file
注意:如果要移到多个资源文件,最后一个参数一定是目录。
5.创建新文件或者修改文件时间(touch):
语法:touch [-acdmt] filename
参数:
[-a ]:仅修改访问时间
[-c ]:修改文件状态变更的时间,如果文件不存在,不创建新的文件
[-d ]:后面接欲修改的日期,而不用系统当前日期
[-m ]:修改文件内容修改的时间
[-t ]:后面接欲修改的时间,而不用系统当前时间,格式为[YYMMDDhhmm]
四、文件内容查阅
1.cat(concatenate)/tac(cat的反向列示)
语法:cat [-AbenTv] filename
参数:
[-A]:相当于vET的整合参数
[-b]:列出行号,仅针对非空白行做行号显示,空白行不标行号
[-E]:将结尾的断行符$显示出来
[-n]:打印出行号,连同空白行也打印出来
[-T]:将[tab]按键^I显示出来
[-v]:列出一些看不出来的特殊字符
2.more(一页一页翻动)
语法:more filename
说明:more运行过程的按键
[空格键 ]:表示向下翻动一页
[回车键 ]:表示向下滚动一行
[/字符串]:表示向下查询“字符串”这个关键字
[:f ]:立刻显示出文件名以及目前显示的行数
[q ]:表示立刻离开More,不再显示该文件的内容
3.less(一页一页翻动)
语法:less filename
说明:less运行过程的按键
[空格键 ]:表示向下翻动一页
[PageDn ]:表示向下翻动一页
[PageUp ]:表示向上翻动一页
[/字符串]:表示向下查询“字符串”这个关键字
[?字符串]:表示向上查询“字符串”这个关键字
[n ]:重复前一个查询
[N ]:反向重复前一个查询
[q ]:表示立刻离开less,不再显示该文件的内容
4.head(取出前面几行)
语法:head [-n number] filename
参数:
[-n ]:后面接数字,表示显示几行的意思,默认为10
查看install.log文件的前2行数据:
[root@hs-uf21 ~]# head -n 2 install.log
Installing 1481 packages
5.tail(取出后面几行)
语法:tail[-fn number] filename
参数:
[-f ]:表示持续检测filename,要等到按下[Ctrl]-c才会结束tail的检测
[-n ]:后面接数字,表示显示几行的意思,默认为10
查看install.log文件的最后3行数据:
[root@hs-uf21 ~]# tail -n 3 install.log
kernel-hugemem-2.6.9-42.EL.i686.rpm
nptl-devel-2.3.4-2.25.i386.rpm
openssl-0.9.7a-43.10.i386.rpm