Linux目录操作
**
-
Linux 的目录类似于 Windows 系统中的文件夹。我们看一下刚刚打开的 终端 界面,它的第一行开头是:**
shiyanlou:~/ $
shiyanlou 代表你当前的用户名,如果你的用户名叫 tony,就会显示 tony:~/ $ 。后面的美元符号 $
是「命令提示符」,提示你:请在它后面输入命令。
查看目录中的内容:ls 我们来输入第一个命令:在 $ 后输入 ls ,可查看当前目录下的文件和目录。
进入目录:cdcd Code 即可进入Code目录中
常用快捷键:
1.键盘的上下键可以快速选择前面输过的命令
2.cd …回到上一级的目录 类似于windows的向上
3. cd - 表示回到上一次所在的目录,类似 Windows 的「后退」。
4. cd ~ 表示回到当前用户的主目录,类似 Windows 的「回到桌面」。
5.cd / 表示进入根目录,它是一切目录的父目录 -
Linux 系统的目录结构 tree
使用tree命令,可以列出一个文件夹下所有子文件和文件,输入ctrl +c即可停止
- Linux 进入目录的方式有绝对路径和相对路径两种。
- 之前我们都是用 相对路径 进入目录的,这相当于你在 Windows 系统下,在当前文件夹中点击下一个文件夹进入;而 绝对路径 是一个以根目录 / 为起点的完整路径,如: /home/shiyanlou/Code,可以类比 Windows 上的 C:\Users\电脑用户名\Desktop 。使用 pwd 命令可以获取当前目录的绝对路径:
有了绝对路径后,不管你当前在哪个目录下,都可以通过指令进入指定目录:
- 使用 mkdir 命令可创建目录,mkdir mycode 的意思就是新建一个名为 mycode 的目录。先输入cd ~ 返回用户主目录,然后练习一下:
- 还可以在 mkdir 后加入 -p 参数,一次性创建多级目录,如:
- 下面是 Linux 中对文件的常用操作,包含新建、复制、删除等。💡 新建空白文件使用 touch 命令可以新建文件,比如我想再新建一个名为 “hello” 的文件,可输入:shiyanlou:~/ $ touch hello “hello” 文件就被创建出来了,用 ls 命令查看一下:(该命令不会覆盖已有同名文件)💡 复制使用 cp 命令(Copy)复制文件到指定目录下,比如要把 hello 文件复制到 one/two 这个目录下:
> - shiyanlou:~/ $ cp hello one/two/ shiyanlou:~/ $ tree one one └── two
> ├── hello
> └── three
>
2 directories, 1 file
shiyanlou:~/ $ 如果要复制目录,需要在 cp 后加上 -r ,然后接上 目录名 目标目录名:
shiyanlou:~/ $ mkdir test
shiyanlou:~/ $ cp -r test one/two
shiyanlou:~/ $ tree one
one
└── two
├── hello
├── test
└── three
3 dir
ectories, 1 file上面的操作中,我们先新建了一个 test 目录,然后把它复制进了 one/two 这个目录中,再通过tree one 直接查看 one 的目录结构。💡 删除使用 rm 命令删除文件:
shiyanlou:~/ $ ls
Code Desktop hello one
shiyanlou:~/ $ rm hello
shiyanlou:~/ $ ls
Co
de Desktop one删除目录要加上 -r 选项,类似 cp -r 拷贝目录,会删除目录和目录下的所有内容:
shiyanlou:~/ $ mkdir test
shiyanlou:~/ $ ls
Code Desktop one test
shiyanlou:~/ $ rm -r test
shiyanlou:~/ $ ls
移动文件 / 目录与重命名使用 mv 命令可以移动文件或目录。首先,我们进入到 /home/shiyanlou 目录,使用 touch 创建空文件
test1:shiyanlou:~/ $ cd ~
shiyanlou:~/ $ touch test1然后,我们创建一个新目录 dir1,ls 查看一下shiyanlou:~/ $ mkdir dir1
shiyanlou:~/ $ ls
Code Desktop dir1 one test1使用
mv 命令 将 test1 移动到 dir1 目录,代码如下:
shiyanlou:~/ $ mv test1 dir1然后进入 dir1 目录查看一下shiyanlou:~/ $ cd dir1
shiyanlou:dir1/ $ ls
test1mv 命令还可以用来重命名,如 mv test1 test2, 会把 test1 重命名为 test2:
shiyanlou:dir1/ $ ls
test1
shiyanlou:dir1/ $ mv test1 test2
shiyanlou:dir1/ $ ls
test2