目录
一、目录
1、cd切换工作目录
cd /etc #直接切换到/etc目
cd .. #切换到上层目录
cd . #切换到当前目录
cd #回到自己的家目录
cd ~ #回到自己的家目录
cd - #回到上次工作目录
2、pwd打印当前工作目录
可立刻得知目前所在的工作目录的绝对路径名称。
pwd --help #在线帮助
pwd --version #显示版本信息
pwd -L #显示逻辑工作目录
pwd -P #显示物理工作目录
3、mkdir创建目录与rmdir删除目录
mkdir -P #自动创建父目录。确保目录名称存在,不存在的就建一个
mkdir -p runoob2/test
#在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。若 runoob2 目录原本不存在,则建立一个。
#本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。
mkdir -m #设置权限
rmdir -p
删除祖先。当子目录被删除后使它也成为空目录的话,则顺便一并删除。
4、ln为某一个文件在另外一个位置建立一个同步的链接
ln学习
当需要在不同的目录,用到相同的文件时,不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
ln [参数][源文件或目录][目标文件或目录]
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
删除创建的链接,rm命令看下面
软链接与硬链接
软链接:
1.软链接以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以跨文件系统,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
硬链接的语法:In filename linkname
软链接的语法:In -s filename linkname
c和d硬连接,c和e软链接
a.txt和b.txt是硬链接
a.txt和c.txt是软连接
二、文件与目录的管理
1、ls列出目前工作目录所含之文件及子目录
ubuntu@ubuntu:~$ cd qqq #来到qqq文件夹下
ubuntu@ubuntu:~/qqq$ ls #查看里面有什么
a.out lianxi.sh main q sushu.sh sushushai.sh
ubuntu@ubuntu:~/qqq$ ls -al q/ #查看q文件中目录的所有信息
total 24
drwxrwxr-x 2 ubuntu ubuntu 4096 4月 24 19:53 .
drwxrwxr-x 3 ubuntu ubuntu 4096 4月 25 15:47 ..
-rw-rw-r-- 1 ubuntu ubuntu 67 4月 24 18:11 1.sh
-rw-rw-r-- 1 ubuntu ubuntu 1 4月 24 19:49 try
-rw-rw-r-- 1 ubuntu ubuntu 138 4月 24 19:53 try.sh
-rw-rw-r-- 1 ubuntu ubuntu 77 4月 24 19:47 until.sh
ubuntu@ubuntu:~/qqq$ ls -ald q/ #只看目录的信息
drwxrwxr-x 2 ubuntu ubuntu 4096 4月 24 19:53 q/
mkfifo
设置管道,以后介绍
2、cp拷贝,即复制文件或目录。
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。硬连接
-s:软连接
-u:源文件比目的文件新才拷贝
2、rm删除一个文件或者目录
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
3、mv用来为文件或目录改名、或将文件或目录移入其它位置
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
4、basename与dirname
在脚本中可以更快捷的找到文件所处的位置以及真实的文件名
三、拓展
1、快捷选择使用过的命令的方式
例如之前操作了mkdir 1.sh的命令
方法1:使用!mk
命令 ,可以在最近已经使用过的命令中查找mk开头的命令
方法2:先打出mk然后按电脑键盘向上的箭头键可进行选择
方法3:输入history可显示出使用的所有命令记录,有编号,输入!编号
命令即可