Linux档案与目录管理
本文内容来自《鸟哥linux私房菜》读后个人做的笔记,该书实为学习linux的很好入门教材
一、相对路径与绝对路径
绝对路径:一定是由根目录/写起
相对路径:不是由/写起,相对于当前路径的
二、目录的相关操作
. 代表此层目录
.. 代表上一层目录
- 代表前一个工作目录
~ 代表目前用户身份所在的家目录
~account 代表account这个用户的家目录
常用命令:
cd 相对路径或绝对路径 cd -- Change Directory
特殊意义的写法,下面的命令式顺序执行的
cd ~account 表示去到某个用户的家目录
cd ~ 表示去自己的家目录
cd 没加任何路径,表示回到自己家
cd .. 空格后..表示到上一层目录
cd - 表示回到刚才的目录
cd /var/spool/mail 绝对路径,直接指定要去的地方
cd ../mqueue 去到/var/spool/mqueue目录
pwd 显示目前所在的目录
pwd [-p] pwd = Print Working Directory
-P : 显示出确实的路径,而非使用链接路径,注意是大写P
mkdir 建立新目录
mkdir [-mp] 目录名称
-m : 配置文件的权限 (不配置就会用默认属性)
-p : 直接将所需要的目录(包含上层目录)递归建立 (就是多层目录)
例:
建多层目录
mkdir -p test1/test2/test3/test4
建立权限为rwx--x--x的目录
mkdir -m 711 test2
rmdir 删除空目录
rmdir [-p] 目录名称
-p : 连同上层空的目录也一起删除
例:删除上层空目录
rmdir -p test1/test2/test3/test4
rm 删除文件
rm [-r] 文件名
- r 目录名 : 删除目录下所有文件
echo $PATH
echo 显示印出
$表示后面跟的是变量
PATH路径变量(大写)
将/root加入PATH的方法
PATH="$PATH":/root
关于PATH的注意事项:
不同身份使用者预设的PATH不同,默认能执行的指令也不同
PATH是可以修改的,一般使用者可以透过修改PATH来执行位于/sbin或/usr/sbin下的 指令
使用绝对路径或相对路径直接指定文件名比搜寻PATH更准确
指令应放到正确目录下,执行才方便
本目录(.)最好不要放到PATH中
ls 档案与目录的检视
ls 默认显示非隐藏档
-a :全部的档案,连同隐藏档(开头为.的档案)一起列出来
-A:全部的档案,连同隐藏档,但不包括.与..这两个目录
-d:仅列出目录本身,不列出目录内的档案
-f:直接列出结果,而不进行排序
-F:根据档案、目录等信息,给予附加数据结构
-h:将档案容量以人类易读的方式kb gb列出来
-i:列出inode号码
-l:长数据串行出,包含档案的属性与权限
-n:列出UID与GID而非使用者与群组的名称
-r:将排序结果反响输出
-R:连同子目录内容一起列出来,等于该目录所有档案都会显示
-S:以档案容量大小排序,不用档案名
-t:依时间排序
--color=never:不要依据档案特性给予颜色显示
--color=always:显示颜色
--color=auto:让系统自行依据设定来判断是否给予颜色
--full-time:以完整时间模式输出
--time={atime,ctime}:输出access时间或改变权限属性时间而非内容变更时间
cp复制档案或目录
cp [-adfilprsu] 来源文件(source) 目标文件()
cp [options] source1 source2 source3 directory
-a : 相当于-pdr 保持属性不变
-d : 若来源文件为链接文件属性,则复制链接文件属性而非档案本身
-f : 为强制force的意思,若目标档案已存在则无法开启,
-i : 若目标文件已经存在时,在覆盖时会先询问动作的进行
-l : 进行硬式连结的连结档建立,而非复制档案本身
-p: 连同档案的属性一起复制过去,而非使用默认属性
-r : 递归持续复制,用于目录的复制行为
-s : 复制成为符号链接文件symbolic link,快捷方式档
-u : 若destination比source旧才更新destination
例:
复制家目录下文件到其他位置,家~
cp ~/xxx /yy/yy
复制有文档存在时提示,-i
cp -i ~/xxx /yy/yy
复制文档保留原始属性 -a
cp -a /xx/xx/xxx
连同目录一同复制,但权限会改变 -r
cp -r /xxx/ /yyy
rm 移除档案或目录
rm [-fir]档案或目录 rm = remove
-f : 忽略不存在的档案,不会出现警告讯息
-i : 互动模式,会询问操作
-r : 递归删除,可以删除目录
例:
通配符*删除,删除所有含有xtyz的文件
rm -i xtyz*
\rm -r /xx/yy 指令前加反斜杠可以忽略掉alias的指定选项
mv 移动档案与目录,或更名
mv mytest mytest1 mv = move
rename 转换多个文件名用
有多个来源档或目录,以最后一个作为目录