zoukankan      html  css  js  c++  java
  • mac 终端命令

    转自:http://bbs.feng.com/read-htm-tid-371739.html

    *以下所涉及到的命令基本限于安装kext,修改plist,更换核心 所碰到的操作*

    先简单的说一下:
    OSX 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念。比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下。
    比如接上个叫做“XX”的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪里呢?
    在终端里执行:“ls /Volumes/XX”, 看看显示出的是不是这个移动硬盘的内容。  
    驱动所在位置:        /Systme/Library/Extensions
    用户文件夹位置:     /User/用户名
    桌面的位置:           /User/用户名/Desktop
    根目录位置是        /  核心 Mach_kernel 文件通配符为星号  * 
    注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的System中,而cd System 表示转到当前目录下的 System中。

    进入命令行操作模式
    再图形界面下,用finder 打开 应用程序 》实用程序》终端
    如果连图形界面都进不去了(比如安错了显示驱动),开机时按 F8,用-s参数启动,然后输入命令 mount  -uw / 


    获得权限
    为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得root权限:“sudo -s”  
    然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。


    以下是一些常用命令~

           
    清理系统 -----使用以下命令:sudo periodic daily然后回车,输入管理员密码即可。如果把daily换成weekly,则运行的是每周的清理。换成monthly,就是做每月的清理。如果直接输入:sudo periodic daily weekly monthly 然后回车。就等于把三个清除一起做了

        列出文件   ----    ls 
                            例: 想看看跟目录下有什么,
                             ls /
                             想看看驱动目录下有什么, 
                             ls /System/Library/Extensions
                             参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件 


       转换目录   ----     cd
                             例:想查看驱动目录下的文件
                             cd /System/Library/Extensions


       建立新目录 ----     mkdir 
                             例:在驱动目录下建一个备份目录 backup
                             mkdir /System/Library/Extensions/backup
                             在桌面上建一个备份目录 backup
                             mkdir /User/用户名/Desktop/backup

            拷贝文件   ----    cp 
                            例:想把桌面的Natit.kext 拷贝到驱动目录中 
                            cp -R /User/用户名/Desktop/Natit.kext  /System/Library/Extensions
                            参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。
                            把驱动目录下的所有文件备份到桌面backup
                            cp -R /System/Library/Extensions/*   /User/用户名/Desktop/backup 

        移动文件  ----     mv  
                            例:想把AppleHDA.Kext 移到桌面
                            mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop
                            想把AppleHDA.Kext 移到备份目录中
                            mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup

      

       删除文件 ----      rm 
                             例:想删除驱动的缓存        
                             rm -rf /System/Library/Extensions.kextcache
                             rm -rf /System/Library/Extensions.mkext
                             参数-rf 表示递归和强制,千万要小心使用,如果执行了 "rm -rf /" 你的系统就全没了

        更改文件权限 ----    chmod
                             例:把驱动目录下所有文件设定到root读写,其他用户只读
                             chmod -R 755 /System/Library/Extensions
                             参数R 表示递归,755表示各用户的权限


       脚本文件名
      ----     sh 
                              例:修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了.
                              1. 终端中运行nano /clean
                              2. 把下列代码粘贴到 nano 中
                              rm -rf /System/Library/Extensions.kextcache
                              rm -rf /System/Library/Extensions.mkext
                              chown -R root:wheel /System/Library/Extensions
                              chmod -R 755 /System/Library/Extensions
                              diskutil repairpermissions /
                              kextcache -k /System/Library/Extensions/
                              3. Ctrl +O 存盘,Ctrl+X 退出
                              4. 以后只要动了驱动,就在终端中运行一次 sh /clean




    看晕了没?这只是列了其中一部分呢,呵呵,举一个具体的常用例子说一下,我会尽可能用上以上的命令~

    (记得每次操作前 sudo -s 获得系统权限)


    例:比如说我们下载了一个显卡驱动 Weiphone.zip,在桌面解压得到了一个Weiphone.kext,该怎么做呢?步骤如下:

    答: 1.先备份所有驱动,这好像是习惯问题,但往往良好的习惯可以解决很多不必要的问题,
              方法:mkdir /User/用户名/Desktop/backup     在桌面上建立备份文件夹
                      cp -R /System/Library/Extensions/*   /User/用户名/Desktop/backup  备份驱动文件

              2.安装
              方法:cp -R /User/用户名/Desktop/Weiphone.kext /System/Library/Extensions   把它 拷贝到系统驱动目录位置
                      sh /clean        执行清理脚本,操作完成

              
               这一步经常会出现问题,原因可能有很多,但我肯定的是你自已的问题,呵呵~补救方法:
           方法:开机按F8,用 -s 参数启动
               执行 mount -uw /
               rm -rf /User/用户名/Desktop/Weiphone.kext    删除这个驱动
              sh /clean        执行清理脚本,操作完成
          
          重启,回到原先状态了,显卡没特效怎么行呢,需要修改 Natit的 Info. plist 文件才行.
              cp -R /User/用户名/Desktop/
    Weiphone.kext /System/Library/Extensions   把它拷贝到系统驱动目录位置
              nano /System/Library/Extensions/
    Weiphone.kext/Info.plist               
           
          编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出
              sh /clean        执行清理脚本,操作完成
        
          重启,这回对了,显卡特效都有了,该弄声卡了,天知道会出什么事,得把现有成果保护好。
              mkdir /User/用户名/Desktop/gooddrivers            专为有效驱动建个目录
              cp -R /System/Library/Extensions/
    Weiphone.kext   /User/用户名/Desktop/gooddrivers   备份
               
         
          编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出
               sh /clean        执行清理脚本,操作完成
        
          成功了,也把修改好的驱动备份一下把。

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    以下这个方法是给哪些经常折腾电脑的同学们的~
                  问: 如果我们将驱动全给弄乱了怎么办?
                  答:没关系,前提我们做好了备份了所有驱动文件
              开机按F8,用 -s 参数启动
              执行 mount -uw /
              rm -rf /System/Library/Extensions/*                    既然乱了,通通干掉
               cp -R /User/用户名/Desktop/backup/* /System/Library/Extensions/              把原始驱动拷贝回来
              cp -R /User/用户名/Desktop/gooddrivers/* /System/Library/Extensions/        把修改好的驱动拷贝回来
              sh /clean        执行清理脚本,操作完成
               搞定!

                  
                  问:Mac OS X 启用超级用户的方法?

                   答:先扫盲,名词解释:Root user,又名超级用户,是一个权力最高的Unix 账户,Root 的账户能在整个系统里任何部份进行任何“操作”,包括:拷贝档案、移动/移除档案、执行程序等。所以,通常 Root 的账户都只会指派给高级专业的用户使用。因此,苹果把Root user 隐藏在Mac OS X 里。 
    但有时候我们不得不启用Root用户以便于实现某些操作,可以通过以下三种方法把启动Root账户。
                还是要啰嗦一下:root user没什么事最好不要乱弄,相当于做内科手术,搞不好就会大事。 
           方法一: 
           把Mac OS X 的安装光盘放入到光驱中,用光盘启动系统,在安装菜单里选择“Password Reset”选项,便能更改你的密码和启动超级用户模式。(把这工具拷贝到硬盘中是不能启动的,一定要从光盘启动才有效。) 建议指数***
           方法二: 
           在Mac OS X里启动Terminal(在“应用程序/实用工具”的文件夹中),输入以下命令: 
            sudo passwd Root 
           系统会实时要求输入 Root user的新密码,然后再输入一次,以确保密码正确。   
    建议指数*****
            方法三: 
           启动NetInfo Manager应用程序(在“应用程序/实用工具”的文件夹中),再依照以 下步骤: 
           1. 从菜单中选择“域”→“用户”→“启动Root用户” 
           2. 点按窗口底部的“锁状”按钮,然后输入在安装过程中提供的用户名称和密码注册。 
           3. 从窗口下半部份的列表中选择 * 号一栏,再输入 Root user 已加密的新密码。 
           可在 Terminal 里输入以下的「htpasswd」命令来产生加密的新密码: 
            [localhost:~] currentuser% htpasswd -nb anylogin yourpassword 
            [return] 
            [localhost:~] currentuser% anylogin : pu9fQgdzVHRB2 
            pu9fQgdzVHRB2 就是已加密的新密码 
            4. 点按窗口底部的“锁状”按钮,然后储存更改和离开 NetInfo Manager。 
            现在可以在 Terminal 里试试 Root user 的新密码                             
    建议指数****

            
                  问:如何通过终端命令删除Finder中无法删除的文件 

            答:这里我先介绍一个经常性的问题。有人常常因为某种原因。比如死机、文件下载一半意外退,这时经常有文件无法删除,系统提示你权限不够。这个时候我们就可以利用一行简单的命令进行删除。
           
            1.打开终端应用程序 
            2.输入命令:sudo rm -r -f “你要删除的文件” 

    还要注意终端命令是区分大小写的,全部小写。 
            3.把你要删的文件或者文件夹用mouse拖进终端窗口,好多个也可以一起拖。 
            4.然后在终端中回车 
            5.输入当前管理员用户密码。如果没有密码就直接回车。注意不是root账号的密码。 
            6.终端中没有任何提示信息表明成功删除


            注意:如果用这个命令还无法删除,有两种可能性:一是你删除的是系统正在使用的临时文件之类的。二是有可能你的硬盘目录出现问题。这时请先用磁盘工具检查一下你的硬盘。 

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

               关机命令     ----     sudo shutdown -h now         
                                 有些时候系统出问题关机不成功可以试试用命令行进行关机,毕竟裸关
    电源不好。最初我的机器有时死机我就是用命令行关机的。诡异的很自从刚买机器的时候死过2次机就再也没有斯过了。终端中还可以使用halt命令配合其他参数实现关机,但推荐shutdown~

           隐藏文件命令   ----  隐藏文件命令:好像Mac下有插件可以显示隐藏文件,至于隐藏文件的插件我没听说过。但我窃以为既然要隐藏文件其目的就是不喜欢别人发现,当然还是复杂点比较好。mv命令是用来移动文件的,但是如果还在同一个路径下则为重命名,通常Mac中以“.”开头的文件为隐藏文件,所以我们可以用mv命令来实现文件的隐藏。比如说有个文件名为Tool,我想隐藏,则应该到Tool的路径下,例如Tool在Program文件夹下,则应到Program文件夹下使用

          mv Tool .Tool

          则实现Tool的隐藏。同理mv .ToolTool就能实现隐藏Tool的显示。这里提到的到Program文件夹下当然就要用cd命令。在Linux/Unix系统中,最上一层的目录为“/"称之为根目录,任何目录总是在根目录之下的,例如Program可能是”/home/Program/Tool",这样我们只需要

          cd /home/Program

          就能对Tool进行隐藏操作了。“cd ."表示本级目录即操作不会发生变化,”cd .."表示回到父目录,比如“cd/home/Program"后"cd .."表示到home文件夹下。显示隐藏文件,则要显示某个文件夹下的隐藏文件,可用"cd"到该文件夹下利用命令

          ls -a

          则可以看到该文件夹下的所有文件即包含隐藏文件。
                   

    以上内容仅供参考,部分内容转自Kiss&Cry的博客,在此感谢~

                到中饭时间了,关掉屏幕,送上一个小技巧:control+shift+Eject,(eject就是我们键盘右上角哪个打开光盘的的哪个键),任意键恢复~

  • 相关阅读:
    微软外服 AlI In One
    js 循环多次和循环一次的时间的性能对比 All In One
    vue inject All In One
    Excel 表格数据倒置 All In One
    SVG tickets All In One
    OH MY ZSH All In One
    js array for loop performance compare All In One
    mac terminal show You have new mail All In one
    新闻视频 26 制作母版页
    转自牛腩 母版页和相对路径
  • 原文地址:https://www.cnblogs.com/AnnieBabygn/p/5714350.html
Copyright © 2011-2022 走看看