美文网首页
命令行操作

命令行操作

作者: 诵成读书 | 来源:发表于2017-05-02 18:55 被阅读0次

    命令行操作:

    命令行工具是做 Web 设计与开发的必备工具。通过输入一些命令,去做你要做的事情。不同的命令可以做不同的事情,比如基本的文件与目录的操作,去安装,更新,删除软件,控制与管理服务器等等。

    很多 Web 项目都自带了命令行工具,会提供一些跟项目相关的命令,可以用到平时的开发流程里面。比如 Drupal 的 drush ,WordPress 的 WP-CLI,Laravel 的 artisan 等等,基本上一个现代的 Web 项目都会附带一个命令行工具。

    准备

    在哪里输入要执行的命令?不同的操作系统提供了不同的软件,Windows 上可以使用 系统自带的 命令提示符(cmd) 或者 Powershell(win7 以上的版本,推荐使用) ,在 Mac 上用的是系统自带的 终端(Terminal)。

    命令提示符

    Windows 7:打开 开始 菜单,在搜索框里输入 cmd,点击结果里的 cmd 。

    Windows 8+:win + Q,搜索 cmd 。

    Powershell

    Windows 7:打开 开始 菜单,在搜索框里输入 powershell,点击结果里的 Windows Powershell。

    Windows 8+:win + Q,搜索 powershell。

    QQ20150117-9

    终端

    打开 Launchpad(F4) ,搜索 Terminal ,点击 终端。或者使用快捷键 ctrl + 空格,在 Spotlight 里面搜索 Terminal 。

    QQ20150117-8

    区别

    命令行工具的用法在不同的操作系统上是有区别的,不过使用的思路是一样的, Mac 与 Linux 的用法基本一样,因为它们有血源关系。Windows 相比来说是比较特别的,它有一些独有的可以执行的命令,不过如果你用的是 Windows 7 以上的版本,可以在 Powershell 这个工具上执行命令,因为它的用法跟 Mac 与 Linux 很像。

    目录与文件的基本操作

    你可以通过一些命令浏览系统里的目录,创建,移动,删除目录还有文件。目录与文件的操作是使用命令行工具的基础。Windows 用户打开 Powershell ,Mac 用户打开 终端。然后试一下接下来的这些命令。

    查看你当前的位置:pwd

    Powershell,还有 终端,在光标的左边默认会显示你当前所在的目录。你也可以使用 pwd ( print working directory )这个命令,查看自己当前所在的位置。

    pwd
    

    Powershell 返回:

    Path
    ____
    C:\Users\wanghao
    

    C:\Users\wanghao ,就是我当前所在的位置,这是默认打开 Powershell 的时候进入到的工作目录,C:\ 是系统的盘符,这是 Windows 特有的,在 Mac 与 Linux 上面没有盘符,Users 是存储系统里的所有用户文档的地方。wanghao 是当前登录到系统上的用户的名字。这个 C:\Users\wanghao,就是 wanghao 这个用户的主目录(Home)。

    终端 返回:

    /Users/xiaoxue
    

    上面这个路径的最前面是一个 / ,表示系统的根目录。整个路径就是当前登录到系统上的用户的主目录。这个目录是在系统根目录下面的 Users 目录里面的 xiaoxue 这个目录。

    显示当前目录下在的东西:ls

    想查看某个目录下面的都有什么东西,用的是 ls 命令,在命令的后面可以指定一个目录的路径 ,这样会显示这个指定路径里的东西,如果直接使用 ls ,会显示当前你所在的位置里面的东西。

    ls
    

    Windows 的 Powershell 会比较详细的显示出目录下面的所有的东西,比如文件与目录的权限,最近更新的时间等等。

    QQ20150117-4

    Mac 上的 终端 只会简单的显示出文件与目录的名称,想得到更详细的信息,可以在 ls 命令的后面加上一个 -l 参数。另外默认 ls 命令不包含目录下面的隐藏的文件或者目录,也就是名字用点(.)开头的文件或目录,你需要加上一个 -a 参数把这些隐藏的文件与目录也显示出来。

    ls -la
    

    QQ20150117-5

    在 ls 命令后面可以加上一个路径 ,这样会显示出这个路径下面的东西,这个路径可以是一个绝对的路径 ,也可以是一个路径的路径。比如要看一下用户主目录下面的所有的东西:

    ls desktop
    

    上面用了一个相对的路径 ,也就是 ls 命令会在当前所在的目录下面去查看 desktop 这个目录下的东西。如果用绝对的路径,是这样的:

    Windows Powershell

    ls C:\Users\wanghao\desktop
    

    Mac 终端

    ls /Users/xiaoxue/desktop
    

    注意 Windows 路径里面用的是反斜线(\),不过在 Powershell 里面,你也可以使用斜线(/)。Mac 上的路径里用的是斜线(/)。上面的 wanghao 与 xiaoxue 是登录到系统上的用户名,你需要换成你自己的用户名。

    清空命令行上面的显示:clear

    在屏幕上显示的东西太多了,清空一下,可以使用 clear 这个命令。Windows 上也可以使用 cls ,Mac 上可以用快捷键 command + K 。

    路径中的符号

    在命令行里浏览或者操作目录的时候,会用到一些符号。

    用户主目录

    ~
    

    操作系统会为每个登录到系统上的用户分配一个特定的目录,这个目录的名字一般跟用户的名称是一样的,在这个目录的下面,会存放属于这个用户的文档。这个目录就是用户的主目录,这个目录在命令行里面,用 ~ 来表示。

    根目录

    /
    

    一个斜线(/),表示系统的根目录,Windows 上表示的是在某个盘符下的根目录,比如 ls / 这条命令会显示出 C 盘根目录下面的所有的东西。Mac 与 Linux 上都表示的是系统的根目录。

    当前目录

    ./
    

    ./ 或者 . ,表示当前目录,比如你要处理当前目录下面的东西,可以在路径的前面加上 ./ ,比如上面介绍的 ls 命令,你想列出当前目录下面的东西,可以用 ls ./ ,不过一般可以省略掉它,直接用 ls 命令就表示要显示当前目录下面的东西。

    上一级目录

    ../
    

    你想处理你所在位置的上一级别的目录里的东西,可以在路径的一开始用一个 ../,比如想要显示当前目录的上一个级别里的东西,可以输入 ls ../ 。一个 ../ 就表示前一个级别的目录,前两个级别就是 ../../ 。

    进入到某个目录下面:cd

    在图形界面上,你想进入到某个目录里面,可以双击打开这个目录,然后在这个目录下面去做一些事情。在命令行下面,你需要使用 cd ( change directory )这个命令,后面加上你想要进入到的地方。

    cd 进入到的路径
    

    比如我打算进入到桌面上,如果我当前的位置是在用户主目录的根目录下面,这样就可以使用相对的路径,像这样:

    cd desktop
    

    如果我是在别的位置上,可以在路径里面用一个 ~ 表示用户的主目录:

    cd ~/desktop
    

    创建目录:mkdir

    在指定的地方创建一个新的目录,可以使用 mkdir (make directory),后面加上要创建的目录的名字。

    mkdir 目录名
    

    我现在的位置是在桌面上,打算在桌面上创建一个叫 projects 的目录:

    mkdir projects
    

    如果需要创建一个目录结构,就是你可能想要在某个目录下面,再创建一个子目录。Windows 上,可以直接在 mkdir 命令的后面加上要创建的目录的路径,这个路径上面的所有的目录,如果还不存在 ,就会去创建一个。但是在 Mac 与 Linux 上面,需要用一个 -p 的参数。比如我还想在 projects 目录下面创建一个叫 ninghao.net 的目录,在这个目录的下面,还需要一个 www 目录:

    mkdir -p projects/ninghao.net/www
    

    Windows Powershell 可以不用 -p 参数:

    mkdir projects/ninghao.net/www
    
    QQ20150117-7

    移动目录与文件:mv

    把目录或者文件移动到一个新的地方,用的是 mv (move)命令,这个命令也可以用来重命名目录或者文件。命令的后面先是要移动的东西,再用一个空格,然后接着是移动到的新的位置。

    mv 源 目标
    

    比如我要把桌面上的 projects 里面的 ninghao.net 这个目录移动到桌面上,先确定你当前的位置是在桌面上,你 pwd 可以查看当前的位置,如果不是,可以用 cd ~/desktop 进入到桌面。

    mv projects/ninghao.net ./
    

    上面的命令里的 ./ 表示的是当前的目录,也就是你所在的位置,这条命令的意思就是把当前目录下面的 projects 里的 ninghao.net 这个目录移动到当前目录的下面。用 ls 可以查看当前目录下面的东西。

    下面,可以再把这个 ninghao.net 重新放到 projects 这个目录的下面。

    mv ninghao.net projects/
    

    如果 projects 这个目录已经存在,表示要把 ninghao.net 这个目录移动到 projects 这个目录里面,如果 projects 这个目录不存在,就会把 ninghao.net 这个目录重命名成 projects 。

    注意在移动文件的时候,文件移动到的位置的结尾一定要加上 / ,不然 mv 命名会把你想要移动的文件重命名成你想移动到的那个位置。

    复制目录与文件:cp

    cp (copy)命名可以复制指定的文件或者目录,先指定一下要复制的东西,空格分隔一下,接着是要复制到的位置。

    cp 源 目标
    

    你可以在桌面上新建一个空白的文件,比如 README.md ,然后再把它复制一份到 projects/ninghao.net/www 这个目录的下面。

    cp README.md projects/ninghao.net/www/
    

    要复制目录,需要加上一个 -R 参数,比如把桌面上的 projects 复制一份,放到桌面上,命名为 projects_bak 。

    cp -R projects projects_bak
    

    删除目录与文件:rm

    要把指定的目录或者文件删除掉,用的是 rm (remove)命令,在它后面加上要删除掉的东西就行了,在删除目录的时候,需要用一个 -r 参数,另外,可以再加上一个 -f 参数,这样在删除目录里的文件的时候不会出现提示。注意在 Windows Powershell 上面用 rm 命令,不需要使用参数。

    比如我的位置是在桌面上,有一个之前创建的文件叫 README.md 这个文件,删除掉这个文件可以这样:

    rm README.md
    

    再把桌面上的 projects_bak 这个目录也删除掉:

    rm -rf projects_bak
    

    Windows Powershell 不需要使用参数:

    rm projects_bak
    

    相关文章

      网友评论

          本文标题:命令行操作

          本文链接:https://www.haomeiwen.com/subject/lckhtxtx.html