1.1目录与路径
1.1.1 相对路径与绝对路径
- 绝对路径:路径的写法“一定由根目录 / 写起”,例如:/usr/share/doc 这个目录。
- 相对路径:路径的写法“不是由 / 写起”,例如由/usr/share/doc要到/usr/share/man下面时,可以写成:cd …/man ,相对路径意指相对于当前工作目录的路径。一般写程序脚本文件时来管理系统的条件下,使用绝对路径。
1.2.2 目录的相关操作
1. 比较特殊的目录
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作的目录
~ 代表目前使用者身份所在的家目录
~account 代表account这个使用者的家目录(account是个账号名称)
2. 常用处理目录的命令
cd 切换目录
pwd 显示当前目录
mkdir 建立一个新目录
rmdir 删除一个空目录
1.1.3 关于执行文件路径的变量:$PATH
- 查看文件属性的命令ls完整文件名为:/bin/ls(这个时绝对路径),之所以在任何地方输入ls会显示完整的信息,是因为环境变量所导致。
- 在root身份和用户身份下输入 echo $PATH 都有 /bin或/usr/bin 这个目录在PATH变量内。
- 例:若想要让root在任何目录均可执行/root下面的ls,那么就将/root加入PATH中即可,方法如下。 PATH="${PATH}:/root"
- 例:若将/bin/ls移动到/root/ls中,可以如下执行ls命令。 /root/ls 或 ./ls
- 注意:
(1)不同用户默认的PATH不同,默认能够随意执行的命令也不同;
(2)PATH是可以修改的;
(3)使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查找PATH来的正确。
(4)命令应该要放置在正确的目录下,执行才会比较方便。
(5)本目录(.)最好不要放在PATH中。
1.2 文件与目录管理
1.2.1 文件与目录的查看 ls
选项与参数:
-a : 全部的文件,连同隐藏文件(开头为 . 的文件)一起列出来(常用);
-A : 全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录;
-d : 仅列出目录本身,而不是列出目录内的文件数据(常用);
-f : 直接列出结果,而不进行排序(ls 默认会以文件名排序);
-F : 根据文件、目录等信息,给予附加 数据结构,例如: *:代表可执行的文件; /:代表目录; =:代表socket文件; | :代表FIFO文件;
-h : 将文件容量以人类较易读的方式(例如 GB、KB等)列出来;
-i : 列出 inode号码;
-l : 详细信息显示,包含文件的属性与权限等设置;
-n : 列出UID与GID而非使用者与用户组的名称;
-r :将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小;
-R : 连同子目录内容一起列出来,等于该目录下所有文件都会显示出来;
-S : 以文件容量大小排序,而不是用文件名顺序;
-t : 依时间排序,而不是文件命。
--color=never : 不要依据文件特给予颜色显示;
--color=always : 显示颜色;
--color=auto : 让系统自行依据设置来判断是否给予颜色;
--full-time : 以完整时间模式(包含年、月、日、时、分)输出;
--time={atime,ctime : 输出access时间或改变权限属性时间(ctime),而非内容修改时间(modification time);
1.2.2 复制、删除与移动:cp、rm、mv
1. cp(复制文件或目录)
(1)可以建立链接文件(就是快捷方式)。
(2)对比两文件的新旧而予以更新。
(3)以及复制整个目录等功能。
选项与参数及用法:
cp 【源文件】 【目标文件】
cp [options] sources1 sources2 sources3 ..... directory
-a : 相当于 -dr --preserve=all 的意思;
-d :若源文件为链接文件的属性(link file),则复制链接文件属性而非文件本身;
-f : 为强制(force)的意思,若目标文件已经存在且无法开启,则删除后在尝试一次;
-i : 若目标文件(destination)已经存在时,在覆盖时会先询问操作的进行(常用);
-l : 进行硬链接(hard link)的链接文件建立,而非复制文件本身;
-p : 连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用);
-r : 递归复制,用于目录的复制操作(常用);
-s : 复制成为符号链接文件(symbolic link),亦即”快捷方式“文件;
-u : destination比source旧才更新destination,或destination不存在的情况下才复制;
--preserve=all : 除了-p的权限相关参数外,还加入SELinux的属性,links、xattr等也复制;
最后需要注意的是,如果源文件有两个以上,则最后一个目标文件一定要是“目录”才行。