基础的命令行

说在前面

命令行界面(Command Line Interface,简写:CLI)命令行是用户通过键盘输入指令,电脑收到指令并予以执行的一种人机交互方式。
在熟记命令的前提下,使用命令行往往要较使用图形用户界面的操作速度要快,并且更容易执行批量操作。

一些缩写

全写 缩写
make directory mkdir
remove rm
move mv
copy cp
list ls
change directory cd

有用的网站

https://explainshell.com/explain?cmd=ls+-lrt (解释命令行的释义)

正文

1. 查看当前的完整路径

1
pwd #Print Working Directory

2. 查看当前目录下的文件

1
2
3
ls #不包含隐藏文件
ls -a #查看当前目录下所有的文件(包括隐藏文件)
ls -al #查看当前目录下所有文件(包括隐藏文件)的详细信息

3. 切换目录

1
2
3
4
5
6
7
8
9
cd [DIR]

根目录 cd /
家目录 cd ~
上级目录 cd ..
几个特殊目录的表示:
. 当前目录
.. 父目录(上一层)
- 前一次目录(返回)

4. 创建目录

1
2
3
4
5
6
7
8
9
10
11
12
13
mkdir  [OPTION] DIRECTORY

例如: 创建demo1目录
$ mkdir demo1

选项-p可以递归地创建子目录,如进入demo1并创建目录dir1和dir2,dir1的子目录test1:
$ cd demo1
$ mkdir -p dir1/test1 dir2
$ ls
dir1 dir2
$ cd dir1
$ ls
test1

5. 创建文件

1
2
3
4
5
6
7
8
touch [OPTION] FILE
例如:在demo1目录下创建文件file1 在demo1的子目录dir1下创建文件file2:
$ touch file1 dir1/file2
$ ls
dir1 dir2 file1
$ cd dir1
$ ls
file2 test1

6. 查看文件内容

1
cat [OPTION] [FILE]

7.移动文件或目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mv [OPTION] SOURCE DIRECTORY

mv命令的作用是把文件或目录从源移动到目标目录,路径可以是绝对的也可以是相对的
如将文件file2从当前目录移动到demo1/dir2中:
$ ls
dir1 dir2 file1 file2
$ mv file2 /demo1/dir2
$ ls
dir1 dir2 file1
$ ls dir1/
file2

命令mv还可以对文件进行改名,如将目录dir2移动到dir1内并改名为dir3:
$ ls
dir1 dir2 file1
$ mv dir2 ./dir1/fir3
$ ls
dir1 file1
$ ls dir1/
dir3 file2 test1

8. 复制文件或目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cp [OPTION] SOURCE DIRECTORY

如复制文件file1为file3:
$ ls
dir1 file1
$ cp file1 file3
$ ls

dir1 file1 file3复制目录dir1内目录dir3及其包含内容到当前目录下,起名为dir2:
$ cp -r dir1/dir3/ ./dir2
$ ls
dir1 dir2 file1 file3

复制目录的时候需要使用选项-r,当目标已存在时,会需要用户确认是否覆盖,输入y或yes表示确认覆盖,输入n或no表示取消覆盖;
可以使用选项-f(force)来强制复制,不需要确认

9. 删除文件

1
2
3
rm [OPTION] FILE

选项-r作用是递归地删除目录,-f的作用是强制删除