Linux --- 文件与目录管理(一)

目录与路径:由路径(PATH)引出相对路径和绝对路径的概念:

相对路径:一定从根目录 / 写起的路径,例如:/usr/share/doc 这个目录

绝对路径:不是从根目录 / 写起的路径,例如:由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法,相对路径意指:相对于目前工作目录的路径!

说明:对于文件的正确性来说,绝对路径的正确度要比较好,虽然绝对路径的写法比较麻烦,但是可以肯定这个写法绝对不会有问题,如果在程序中使用相对路径,则可能由于你执行的工作环境不同导致一些问题的发生。

(1)先认识几个常见的出来目录的命令吧

                                  cd:切换目录                    pwd:显示当前目录

                            mkdir:新建目录                   rmdir:删除空目录

cd 是Change Directory的缩写,这是用来改变工作目录的命令,目录名称与 cd命令之间存在一个空格。

pwd 是Print Working Directory的缩写,显示当前工作目录的命令

pwd 有一个 -P 的参数,它可以让我们取得正确的目录名称,而不是以连结文件的路径来显示的。

mkdir 是 make directory 的缩写,这是用来新建目录的命令

参数:                 - m:设定文件的权限,直接设定,不需要看预设权限

                             - p:帮助你直接将所需要的目录递归建立起来

rmdir 删除空的目录

在 mkdir 里面有 - p 参数表示递归创建目录,在 rmdir 里面也有 -p 参数表示递归删除空目录 。

如果将所有目录下的东西都杀掉呢?! 这个时候就必须使用 rm -rf text 了,不过这条命令比 rmdir 危险很多。

关于执行文件路径的变量:$PATH

在提过相对路径和绝对路径之后,为什么我们可以在任何地方执行 /bin/ls 这条命令呢?为什么我可以直接执行 ls 就一定可以显示出一些讯息而不是找出该 /bin/ls 命令呢? 这是因为环境变量 PATH 的帮助所致! 当我们在执行一个命令的时候,系统会按照 PATH 的设定去每个 PATH 定义的路径下搜寻执行文件,先搜寻找的命令先被执行,输入 echo $PATH 命令,echo 有显示、打印的意思,而 PATH 前面加的 $ 表示后面接的是变量,所以就会显示出目前的 PATH 了!

/bin 在 PATH 的设定之中,所以自然就可以找到 ls 了! PATH 对于执行文件来说是很重要的变量,它主要用来规范命令搜寻的目录,而每个目录是有顺序的,每个目录中间以冒号[:] 来分隔,就如同上面范例中看到的。

文件与目录的检索:ls(list)

我们之前一直用到的 -l 这个长字节显示数据内容,以及将隐藏文件也一起列出来的 -a 参数等等

不显示颜色,但在文件名末尾显示出该文件名代表的类型(type)

完整的呈现文件的修改时间 *(modification time)

复制、移动和删除:cp,rm,mv

复制文件使用 cp(copy),除了复制文件之外还可以复制快捷键,以及复制整个目录等功能。

移动文件或目录使用 mv(move),这个命令也可以直接拿来做更名的操作。

删除文件或目录使用 rm(remove)

重复两次动作,由于 /tmp 文件夹里面以及存在hello_text 了,加上 -i 参数在覆盖前会询问使用者是否确定!可以按下 n 或者 y

如果不想要询问,可以加上 -f 这个参数来强制直接覆盖!

将 /var/log/wtmp 复制到 ~/ 下,在不加任何参数的情况下,文件的所属者会改变,连权限也跟着改变了

如果你想要的将文件的所有特性都一起复制过来,可以加上 -a 参数!

复制 /etc 这个目录下的所有内容到 /tmp 目录下,如果是目录则不能直接复制,要加上 -r 参数!

注意: -r 是可以复制目录的,但是文件与目录的权限会被改变,所以也可以利用 cp -a /etc /tmp 来实现此目的!

那个 wtmp_slink 是由 -s 的参数造成的,建立的是一个快捷方式,至于那个 wtmp_hlink 建立这个文件后,wtmp 与 wtmp_hlink 所有的参数都一样,只是第二栏的 link 数改变成为 2 了 

这个 -u 的特性是在目标文件与源文件有差异时才会复制的,所以比较常用于备份的工作当中。

上面,将 wtmp_slink 复制成为 wtmp_slink_2 ,原本复制的是连结文件,但却将连结文件的实际文件也复制过来了,也就是说,如果没有加上任何参数时,复制的是源文件,而非连结文件的属性!若要复制连结文件的属性,就要使用 -d 或者 -a 参数了。

rm(remove) 删除文件或目录

                       参数

                               -f:就是force的意思,强制移除

                               -i:互动模式,在删除前会询问使用者是否该动作

                               -r:递归删除,最常用在目录的删除

用 touch 命令新建一个文件 texting ,用 rm 命令删除时,如果加上 -i 参数就会主动询问,如果不询问就加 -f 参数! 

删除一个不为空的目录,将 wtmp文件复制到 text目录之后,用 rmdir命令然后提示删除失败,

rm 命令相当于 dos 下的 del 命令,这里注意的是,通常在Linux系统下为了怕误删文件,所以很多distribution 都已经预设有 -i 这个参数,-i 是指每个文件被删除之前都会让使用者确认一次,以预防误删文件!如果你确定该目录不要了,那么使用 rm -rf 来循环删除时不错的方式!可以参考 man rm 查看更多使用方法。

mv 移动文件与目录、或更名

                                       参数

                                              -f:force 强制的意思,强制直接移动而不询问

                                              -i:若目标文件(destination)已经存在时,就会询问是否覆盖

                                             -u:若目标文件已经存在,且source 比较新才会更新(update)

将 hello_text 文件移动到目录 text 中,将目录 texting 更名为 test

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值