美文网首页
MAC常用终端命令

MAC常用终端命令

作者: c5550ea746f8 | 来源:发表于2018-05-08 11:32 被阅读69次

    1.了解什么是绝对路径和相对路径

       来自百度经验中的一段解释:

    1> 什么是绝对路径:

    大家都知道,在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径,例如只要看到这个路径:c:/website/img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。这样完整的描述文件位置的路径就是绝对路径。我们不需要知道其他任何信息就可以根据绝对路径判断出文件的位置。(也可以认为以"/"开头的都为绝对路径)

    2> 什么是相对路径:

      所谓相对路径,顾名思义就是自己相对与目标位置。不论将这些文件放到哪里,只要他们的相对关系没有变,就不会出错。 

     另外我们使用“../”来表示上一级目录,“../../”表示上上级的目录,以此类推。(也可认为不是以"/"开头的都是相对路径)

    3> 举例说明

    (1) 示例一            比如说你的C盘ABC文件夹下有两个文件1和2(它们都在ABC文件下),如果要文件1说出文件2的位置(也就是路径),那么它有两种表示方法:           * 绝对路径:  C:\ABC\2                  因为它指明2文件在C盘ABC文件下,从最大的目录C盘开始表示出来.           * 相对路径:  2                因为1文件和2文件都在C:\ABC下,所以它们的路径前面"C:\ABC"都是一样,就不用表示出来了. (2)示例二           比方C盘ABC文件夹有个1文件,还有一个DEF文件夹,而DEF文件下有个2文件.           那1和2的文件路径分别为:(都是绝对路径)           C:\ABC\1           C:\ABC\DEF\2           如果让1文件来表示2文件的路径              * 绝对路径: C:\ABC\DEF\2              * 相对路径: DEF\2 (因为1和2文件前面的C:\ABC这段路径相同就不用写出来了)。     

    2.常用mac终端操作命令符

    1)显示当前目录的路径(让你实时查看当前所处的路径)

    pwd

    2)查看当前目录下的内容(让你实时查看当前路径下的内容) 

    ls 参数 目录名        参数: -w 显示中文,-l详细信息,-a包括隐藏文件,每一行开头是 “d” 则为文件夹,开头是 “-” 则为文件。         ls                 显示在当前目录下的所有文件或文件夹         ls + 目录          显示在该目录下的所有文件或文件夹         ls + 空格 +   -a   显示当前目录下隐藏文件         ls + 空格 +   -l   显示当前目录下详细信息         ls + 空格 +   -R   显示当前目录下子目录文件               ls + 空格 +  -w    显示当前目录下中文文件        ls + 空格 +  -la  显示所有文件        ls + 空格 +  -G    带颜色显示        例: 看看驱动目录下有什么:ls /System/Library/Extensions

    3) 切换路径(也可称为转化目录) 就是将从一个路径中,进入到另外一个路径

        cd目录名cd .                      表示当前目录cd ..                    表示返回上一级目录

            cd../..表示返回上两级        cd../.. /..              表示返回上三级目录        cd  + 空格 + 下一目录  表示将从当前路径进入到下一目录       cd  + 空格 + 〜             表示从当前目录进入到用户根目录cd  + 空格  + /               表示从当前目录进入根目录cd  + 空格 + ./               表示从当前目录进入到当前目录(一个点"." 表示当前)        例:想到驱动目录下溜达一圈:cd /System/Library/Extensions

    4)建立新目录(也可理解为创建文件夹)

    mkdir 目录名        mkdir + 空格 +文件夹名             表示创建一个文件夹        mkdir + 空格 + 绝对路径            表示创建一个文件夹和上面的功能相同,只不过上面是通过相对路径创建, 下面是通过绝对路径创建.        例:在驱动目录下建一个备份目录backup:mkdir /System/Library/Extensions/backup

    5) 删除目录(也可理解为删除文件夹) 

     rmdir 目录名

       rmdir + 空格 + 文件夹名            表示删除一个文件夹

       rmdir + 空格 + 绝对路径            表示删除一个文件夹和上面的功能相同,只不过上面是通过相对路径删除,下面是通过绝对路径删除

        例:在桌面删除一个叫new的文件  MacBook-Air:Desktop admin$ rmdir  new

    6)建立新文件

     touch 文件名        

        例:在当前目录下建一个备份文件 backup:touch backup.txt

    7)删除文件

     rm  参数  文件     参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了 

        rm   + 空格  + 文件名和格式     表示删除一个文件

        rm   + -r   + 文件夹          表示强制删除文件夹中包含文件的文件夹(当文件夹中包含有文件, 通过"rmdir + 空格+ 文件夹名"的方式                                  是删不掉文件夹的,只有通过"rm + -f + 文件夹名",进行强制删除)

        rm     + -rf    + 文件夹      表示强制删除文件夹中包含文件的文件夹(和"rm + -r + 文件夹名" 功能相同)

        注意: rm 可以删除多个文件而不止一个文件 ,但是两个文件的路径必须用空格隔开.

        例:想删除驱动的缓存:rm -rf /System/Library/Extensions.kextcache                                                    rm -rf /System/Library/Extensions.mkext   

    8)拷贝

    cp 参数 源文件 目标文件       

        例:想把桌面的 Natit.kext 拷贝到驱动目录中  cp -R /User/用户名/Desktop/Natit.kext  /System/Library/Extensions 

          参数 R 表示对目录进行递归操作,kext 在图形界面下看起来是个文件,实际上是个文件夹。           

          把驱动目录下的所有文件备份到桌面 backup:cp -R /System/Library/Extensions/ /User/用户名/Desktop/backup

    9)移动文件和重命名文件

    mv 源文件 目标文件      mv + 需要移动的文件或文件夹 + 空格 + 移动到的路径  (这里路径可以是相对路径,也可以是绝对路径);      mv  + a.c + 空格 +b.c    表示将a.c 重命名为b.c      例:想把 AppleHDA.Kext 移到桌面:mv/System/Library/Extensions/AppleHDA.kext/User/用户名/Desktop

    10)文本编辑

    nano 文件名        nano + 文件名 表示编辑文件内容        例:              nano /System/Library/Extensions/Natit.kext/Info.plist         编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出     注意:      * 在默认的"指令模式"下按 i 进入编辑模式       * 在非指令模式下按 ESC 返回指令模式       * 在"指令模式"下输入:         :w  保存当前文件         :q 退出编辑,如果文件为保存需要用强制模式         :q! 强制退出不保存修改         :wq 组合指令, 保存并退出       * 在"指令模式"下移动:         h 左         j 下         k 上         l 右

    11)清屏

        clear

    12)打开某个文件,文件夹或应用

        open

          * 如果是open .则是打开当前命令里的目录,如果要打开指定的文件夹或者文件则格式为open 要打开的路径即可。(这里绝对路径或相对路径都可以)

          * open命令可以在终端中开启应用,使用-n可以开启多个相同应用。比如你可以使用下面的命令开启新Safari窗口

            open -n /Applications/Safari.app/

    12)编译(比如.c文件 a.c

    cc -c +a.c(需要编译的文件)   它的作用是编译将要编译的文件, 其中-c的意思就是Compile(编译的意思),它生成的结果是a.o的一个编译之后的目标文件.

    cc  a.o它的作用是生成可执行文件a.out

      . /a.out 它的作用就是运行一个可执行a.out文件.打印出想要的结果.(注意"./a.out"前面没有 cc);

    13) 更改文件权限

      chmod

                     例:把驱动目录下所有文件设定到root读写,其他用户只读

                     chmod -R 755 /System/Library/Extensions  参数R 表示递归,755表示各用户的权限

    14)脚本文件名

      sh

                     例:把驱动目录下所有文件设定到root读写,其他用户只读

                     chmod -R 755 /System/Library/Extensions  参数R 表示递归,755表示各用户的权限

    15)权限管理

      sudo                              为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得root权限:“sudo -s”

                    然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。

                  以下是一些常用命令~清理系统-----使用以下命令:

                  sudo periodic daily      然后回车,输入管理员密码即可。

                  suod periodic weekly  然后回车,运行的是每周清理。

                  suod periodic monthly 然后回车,运行的是每月清理

                  sudo periodic daily weekly monthly 然后回车,表示三个清楚一起做了

    注意: sudo命令:任何命令前都可以加上sudo,sudo表示是管理员权限,可直接管理系统中较重要的文件,一般使用需要询问密码。输入管理员密码后,才能完成操作。

    16)brew

      brew 

      解释:

            这个严格上说不是一个本地命令。但是没有一个OS X高级用户会离得开Homebrew。它的官网将它定义为“OS X上丢失的包管理工具”,它说的很正确。如    果你在Linux系统上使用过apt-get命令,你会在Homebrew中有找到组织的感觉。

             brew 让你轻松的从开源社区获取成千上万的开放的实用工具和软件库。

            例如,brew install imagemagick 命令会为你安装ImageMagick工具,它使一个功能强大的工具包,它可以从事任何从GIF动画到几十种不同类型的图片转            换任务。brew install node 命令会为你安装NodeJS,它是一个最新的热门的在服务器端开发和运行JavaScript程序的工具。

            你同样也可以用Homebrew来获得乐趣:brew install archey 命令会为你安装  Archey,它是一个很酷的脚本,用来在一个多彩的Apple Logo显示你的Mac的配置。Homebrew的可选内容很广泛,同时它很容易创建新规则,一直都会有新的包被添加进来。             

    17)合并静态库

      lipo                        lipo –create Release-iphoneos/libiphone.a Debig-iphonesimulator/libiphone.a –output libiphone.a

        * 解释:

              很简单,我将模拟器和设备的静态库文件合并成一个文件输出了,以后在发布可以库的时候不用发一个模拟器版的和一个真机版的了,这样子的一个库              可以在编译的时候自动识别需要连接的库。

      * 那lipo到底是什么呢?

              lipo源于mac系统要制作兼容powerpc平台和intel平台的程序。

              lipo 是一个在 Mac OS X 中处理通用程序(Universal Binaries)的工具。现在发售或者提供下载的许多(几乎所有)程序都打上了“Universal”标志,意

              味着它们同时具有 PowerPC 和 Intel 芯片能够处理的代码。不过既然你可能不在意其中的一个,你就能够使用 lipo 来给你的程序“瘦身”。比如你想

              让“便笺”应用程序只包含 Intel(i386)的代码:

              cd /Applications

              lipo Stickies.app/Contents/MacOS/Stickies -thin i386 -output Stickies.app/Contents/MacOS/Stickies.i386

              cd Stickies.app/Contents/MacOS/

              rm Stickies

              mv Stickies.i386 Stickies 

    18)目录操作:

    命令名功能描述使用举例

    mkdir创建一个目录mkdir dirname

    rmdir删除一个目录rmdir dirname

    mvdir移动或重命名一个目录mvdir dir1 dir2

    cd改变当前目录cd dirname

    pwd显示当前目录的路径名pwd

    ls显示当前目录的内容ls -la

    19)文件操作:

    命令名功能描述使用举例

    cat显示或连接文件cat filename

    od显示非文本文件的内容od -c filename

    cp复制文件或目录cp file1 file2

    rm删除文件或目录rm filename

    mv改变文件名或所在目录mv file1 file2

    find使用匹配表达式查找文件find . -name "*.c" -print

    file显示文件类型file filename

    20)选择操作:

    命令名功能描述使用举例

    head显示文件的最初几行head -20 filename

    tail显示文件的最后几行tail -15 filename

    cut显示文件每行中的某些域cut -f1,7 -d: /etc/passwd

    colrm从标准输入中删除若干列colrm 8 20 file2

    diff比较并显示两个文件的差异diff file1 file2

    sort排序或归并文件sort -d -f -u file1

    uniq去掉文件中的重复行uniq file1 file2

    comm显示两有序文件的公共和非公共行comm file1 file2

    wc统计文件的字符数、词数和行数wc filename

    nl给文件加上行号nl file1 >file2

    21)进程操作:

    命令名功能描述使用举例

    ps显示进程当前状态其选项说明如下:

    -a   列出包括其他 users 的 process 状况。

    -u   显示 user - oriented 的 process 状况 。

    -x   显示包括没有 terminal 控制的 process 状况 。

    -w  使用较宽的显示模式来显示 process 状况 。

    kill终止进程kill -9 30142

    22)编程操作

    命令名功能描述使用举例

    make维护可执行程序的最新版本make

    touch更新文件的访问和修改时间touch -m 05202400 filename

    dbx    命令行界面调试工具           dbx  a.out                             

    xde图形用户界面调试工具xde   a.out

    23)时间操作:

    命令名功能描述使用举例

    date显示系统的当前日期和时间date

    cal显示日历cal 8 1996

    time统计程序的执行时间time a.out

    24)网络与通信操作:

    命令名功能描述使用举例

    telnet远程登录telnet hpc.sp.net.edu.cn

    rlogin远程登录rlogin hostname -l username

    rsh在远程主机执行指定命令rsh f01n03 date

    ftp在本地主机与远程主机之间传输文件ftpftp.sp.net.edu.cn

    rcp在本地主机与远程主机 之间复制文件rcp file1 host1:file2

    ping给一个网络主机发送 回应请求ping hpc.sp.net.edu.cn

    mail阅读和发送电子邮件mail

    write给另一用户发送报文write username pts/1

    mesg允许或拒绝接收报文mesg n

    25)安全操作:

    命令名功能描述使用举例

    passwd修改用户密码passwd

    chmod改变文件或目录的权限chmod ug+x filename

    umask定义创建文件的权限掩码umask 027

    chown改变文件或目录的属主chown newowner filename

    chgrp改变文件或目录的所属组chgrp staff filename

    xlock给终端上锁xlock -remote

    26)Korn Shell 命令:

    命令名功能描述使用举例

    history列出最近执行过的 几条命令及编号history

    r重复执行最近执行过的 某条命令r -2

    alias给某个命令定义别名alias del=rm -i

    unalias取消对某个别名的定义unalias del

    27)其它命令:

    命令名功能描述使用举例

    uname显示操作系统的有关信息uname -a

    clear清除屏幕或窗口内容clear

    env显示当前所有设置过的环境变量env

    who列出当前登录的所有用户who

    whoami显示当前正进行操作的用户名whoami

    tty显示终端或伪终端的名称tty

    stty显示或重置控制键定义stty -a

    du查询磁盘使用情况du -k subdir

    df显示文件系统的总空间和可用空间df

    w显示当前系统活动的总信息w

    man     查看帮助相关命令符的用法           man ls        

    purge   释放内存(purge命令可以清除内存和硬盘的缓存,与重启Mac的效果差不多。purge命令可以让不活跃的系统内存转变为可以使用的内存。

    你只需在终端中输入下面的命令即可)

    purge

    caffeinate     阻止Mac运行屏幕保护和睡眠         caffeinate -t 3600     

    chflags 隐藏文件或文件夹                         chflags hidden ~/Desktop/macx       隐藏

    chflags nohidden ~/Desktop/macx   显示

    zip        创建有密码保护的压缩文件          zip -e protected.zip ~/Desktop/macx.txt   

    参考

    相关文章

      网友评论

          本文标题:MAC常用终端命令

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