为什么要学习命令行操作?
虽然Linux也有图形化界面,但是命令行依然有其特定的用途。尤其是在服务端环境,以及运行脚本的时候,以下是命令行的几个优势:
与图形化界面相比,命令行提供了很多强大的功能,例如管道等。
在图形化界面上,执行某些配置时,你可能要打开很多个窗口,而命令行中你可能只需输入一条简单的命令即可。
在图形化界面,如果你要移动或重命名1000个文件的话,将会是非常耗时的事情(哪怕有Control和Shift键的帮助)。但在命令行中,使用正则表达式,你可以通过一个命令完成相同的任务。
和图形界面相比,命令行执行速度快,比图形界面占用的内存也小很多,在对时效性要求高或者没有足够内存的情况下,命令行能发挥很大的作用。
当然,图形化界面也有自己的优势,图形化界面易于操作,操作结果也比命令行更直观。因此,两者各有其长处,用户应该根据自己的情况选择使用。
图形化界面没有太多好说的,操作方式和其他图形化操作系统(如Windows等)类似,本章主要以介绍命令行操作为主,这里会介绍几个比较常用的命令。
在Ubuntu上启动命令行
在Ubuntu上有两种方式来启动命令行终端。
1) 通过Ubuntu的Dash中输入Terminal,查找命令行终端:
2) 你也可以直接通过按下 CTRL + Alt + T 快捷键来启动终端。
一旦你启动了命令行终端,上面会给出类似 guru99@VirtualBox 的提示符:
1. 上图中的第一部分表示当前登录用户的用户名,如:guru99
2. @符号后面的部分是计算机名或主机名,主机名主要用于标识网络中的计算机,尤其是在服务器环境,如果你在网络中管理了多台服务器的话,主机名将便于你识别你当前登录的是哪台服务器。
3. ':' 冒号是一个分隔符,将主机名与后面的当前工作路径分隔开。
4. 波浪号 "~" 表示当前用户的工作目录就是用户的主目录,当你改变工作目录,让工作目录不是主目录时,波浪号就会消失。
上图中,我们通过cd命令,将当前工作目录从主目录切换到了/bin目录,"~"符号就消失了,直接显示的是工作目录的路径,当切换回主目录时,"~"符号又会再次出现。
5. 命令提示符末尾的'$'符号,表示当前用户是常规用户,如果当前用户是root超级管理员用户的话,'$'符号就会变为'#'符号:
当前工作目录
你当前正在浏览的目录被称为当前工作目录,当你登录系统时,你的工作目录会是你的用户主目录。你可以使用pwd命令来查看当前工作目录的完整路径:
上图显示/home/guru99是我们目前正在工作的目录。
改变工作目录
如果你想改变你的当前工作目录,可以使用cd命令:
cd path
cd命令后面直接跟随要切换的目录路径即可,如下所示:
上例中,我们将工作目录先切换到/tmp,再由/tmp切换到/bin,再由/bin切换到/usr,最后从/usr切换回/tmp 。
切换回用户主目录
如果你想快速的切回用户主目录,直接输入cd(后面不带任何参数)即可:
cd
也可以在cd后面跟随一个"~"符号作为参数:
cd ~
切换到根目录
上一节我们提到过,Linux系统的根目录是用斜杠'/'来表示的,是Linux文件系统的起点,要切换到根目录,直接输入'cd /'命令即可:
cd /
cd命令和后面的参数之间要有空格隔开,否则会报错。
穿过多级目录
如果你想使用cd命令穿过多级目录的话,只需将完整的路径指出来即可。
例如,假设你想进入到/dev目录下的cpu子目录的话,直接在cd命令后输入/dev/cpu即可:
cd /dev/cpu
切换到上级目录
在cd命令后面输入'..'可以切换到上级目录:
cd ..
上图中,我们使用'cd ..'命令,从/dev/cpu移动到了/dev目录,接着使用相同的'cd ..'命令从/dev移动到了'/'根目录。
相对和绝对路径
路径就是文件或目录的地址,有两种类型的路径:绝对路径和相对路径。
1. 绝对路径:
绝对路径就是文件在系统中的完整路径,由于Linux系统的文件系统是从'/'根目录开始的,因此,绝对路径是以'/'开头的,例如:
cd /home/guru99/Pictures
上面通过'/'开头的绝对路径切换到了主目录中的Pictures目录。
2. 相对路径:
相对路径就是文件相对于当前工作目录的路径,相对路径不用从'/'根目录开始,系统会自动根据你提供的相对路径和当前工作目录,找到文件的实际位置。
假设你的当前工作目录位于/home/guru99目录,那么要进入该目录下的Downloads子目录的话,直接输入'cd Downloads'命令即可:
cd Downloads
可以看到,使用相对路径,将方便你进行目录切换操作。
总结
熟练的掌握命令行相关的操作,将有助于你的日常工作,掌握好cd命令,是使用Linux命令行进行文件操作的基础。