相对路径和绝对路径
绝对路径:路径的写法一定由根目录 / 写起,例如/usr/share/doc这个目录
相对路径:路径的写法不是由根目录 / 写起,例如由 /usr/share/doc 要到 /usr/share/man下面时,可以写成 “cd ../man”。相对路径意指相对于目前工作目录的路径。
目录的相关操作
. :代表此层目录
.. :代表上一层目录
- :代表前一个工作目录
~ :代表”目前用户身份”所在的主文件夹
~account :代表account这个用户的主文件夹(account是个账号名称)
根目录下存在 “.” 与 “..” 两个目录。这两个目录的属性与权限完全一致,这代表根目录的上一层(..)与根目录自己(.)是同一个目录。
创建目录的命令:
cd:切换目录 (Change Directory)
pwd:显示当前目录 (Print Working Directory)
mkdir:新建一个新的目录 (make directory)
rmdir:删除一个空的目录
pwd -p :显示出当前路径,而非使用连接(link)路径。
mkdir -p 目录名称:直接将所需要的目录(包含上层目录)递归创建起来。
例如你要创建目录/home/bied/testing,那么首先必须得有/home,然后/home/bied都必须要存在,才可以创建/home/bied/testing这个目录。但是加上-p参数后,可以直接执行mkdir -p /home/bied/testing,系统会自动帮你将/home、/home/bied依序创建起来。
mkdir -m 目录名称:配置文件案的权限。直接设置,不需要看默认权限(umask)。
例如新建一个权限为rwx–x–x(111 001 001也就是711)的目录,mkdir -m 711 test
rmdir -p 目录名称: 连同上层”空的”目录也一起删除。
查看文件和目录:ls
ls [-aAdfFhilnrRSt] 目录名称
-a:全部的文件,连同隐藏文件(开头为 . 的文件)一起列出来
-A:列出全部的文件(连同隐藏文件,但不包括 . 与 .. 这两个目录)
-d:仅列出目录本身,而不是列出目录内的文件数据
-f:直接列出结果,而不进行排序(ls会默认以文件名排序)
-F:根据文件、目录等信息给予附加数据结构。例如 * 代表可执行文件, /代表目录,=代表socket文件,|代表FIFO文件
-h:将文件容量以人类较易读的方式(例如GB , KB等)列出来
-i:列出inode号码
-l:列出长数据串,包含文件的属性与权限等数据
-n:列出UID与GID,而非用户与用户组的名称
-r:将排序结果反向输出,例如,原文件由小到大,反向则为由大到小
-R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来
-S:以文件容量大小排序,而不是用文件名排序
-t:依时间排序,而不是文件名排序
ls [–color={never,auto,always]} 目录名称
–color=never:不要依据文件特性给予颜色提示
–color=auto:让系统自行依据设置来判断是否给予颜色
–color=always:显示颜色
ls [–full-time] 目录名称
–full-time:以完整时间模式(包含年、月、日、时、分)输出
–time={atime,ctime}:输出访问时间或改变权限属性时间(ctime),而非内容更改时间(modification time)
复制、删除与移动:cp、rm、mv
cp(复制文件或目录)
cp [-adfilprsu] 源文件(source) 目标文件(destination)
-a:相当于-pdr
-d:若源文件为连接文件的属性(link file),则复制连接文件属性而非文件本身
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则删除后再尝试一次
-i:若目标文件(destination)已经存在时,在覆盖时会先询问操作的进行
-l:进行硬连接(hard link)的连接文件创建,而非覆盖文件本身
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
-r:递归持续复制,用于目录的复制行为
-s:复制成为符号链接文件,即”快捷方式”文件
-u:若destination比source旧才更新destination
cp [options] source1 source2 …. directory
如果源文件有两个以上,则最后一个目标文件一定要是目录才行
rm(移除文件或目录)
rm [-fir] 文件或目录
-f:就是force的意思,忽略不存在的文件,不会出现警告信息
-i:互动模式,在删除前会询问用户是否操作
-r:递归删除。最常用在目录的删除了。
mv(移动文件或目录,或更名)
mv[-fiu] source destination
-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i:若目标文件(destination)已经存在时,就会询问是否覆盖
-u:若目标文件已经存在,且sources比较新,才会更新(update)
mv [options] source1 source2 source3 … directory
如果有多个源文件或目录,则最后一个目标文件一定要是目录