iOS开发日记9-终端命令

今天博主有一些终端使用的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.

OSX 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念.

注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的System中,而cd System 表示转到当前目录下的 System中.

获得权限

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

以下是一些常用命令

换行命令 ----- 空格+\                     清除命令 ----- clear

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

显示隐藏文件
在“终端”中输入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool true
恢复隐藏文件

在“终端”中输入下面的命令:
defaults write com.apple.finder AppleShowAllFiles -bool false

列出文件   ----    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

时间: 2024-10-07 22:08:37

iOS开发日记9-终端命令的相关文章

iOS 开发常用的调试命令

XCode4.0以后,编译器是LLVM,控制台调试命令前缀是lldb 第一.LLVM简介 LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time).链接时间(link-time).运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本. 第二. 对关注编译技术的开发人员,LLVM提供了很多优点: 现代化的设计 LLVM的设计是高度模块化的,使得其代码更为清晰和便于排查问题

ios 开发日记 13-剖析网易新闻标签栏视图切换(addChildViewController属性介绍)

iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍) 时间 2014-06-25 21:45:21  CSDN博客 原文  http://blog.csdn.net/hmt20130412/article/details/34523235 主题 网易iOS开发 本来只是打算介绍一下addChildViewController这个方法的,正好今天朋友去换工作面试问到网易新闻标签栏效果的实现,就结合它,用个小Demo实例介绍一下:(具体解释都写在了Demo里

iOS开发日记31-Block终极篇

今天博主有一个Block的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. 1.什么是Block      Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,但是其运行需要编译器和运行时支持,从ios4.0开始就很好的支持Block. 2.在iOS开发中,什么情况下使用Block      Block除了能够定义参数列表.返回类型外,还能够获取被定义时的词法范围内的状态(比如局部变量),并且在一定条件下(比如使用__block变量)能够修改这些状态.此

iOS开发日记26-详解时间戳

今天博主有一个时间戳的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. iOS开发中,我们在很多情况下都会遇到使用当下时间作为参数的情况,这称之为时间戳.在iOSSDK中,与时间戳相关的API主要有三个,NSDate,NSCalendar和NSDate?Components. NSDate 就是一个绝对的时间,可以换算成相对1970s的时差. NSCalendar 顾名思义就是日历,封装了系统如何按照年月日的方式来组织时间,组织时间的方式和地区,时区有很大关系. NSDate?Comp

iOS开发日记16-动画Animation

今天博主有一个动画Animation的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. iOS开发中的动画分为两种:一种为UIView动画,又称隐式动画,动画后frame的数值发生了变化.另一种是CALayer动画,又称显示动画,动画后模型层的数据不会发生变化,图形回到原来的位置.但是在实际开发中,因为UIView可以相应用户交互,所以UIView动画用的多. 一.UIview的动画 1.实现方式:动画块,block begin //设置动画效果  修改属性值,动画时长等等 conmm

iOS开发日记22-CocoaPods

今天博主有一个CocoaPods的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. CocoaPods是一个第三方库的管理工具,在团队开发时,不建议大家使用CocoaPods,但是在独立开发时,十分推荐. 安装CocoaPods,我们首先需要FQ. 在终端敲入 $ gem sources --remove https://rubygems.org/ 等有反应后再敲入 $ gem sources -a http://ruby.taobao.org/ 然后测试下是真的可以了么,敲入 $ g

ios开发日记11 对tableView三种计算动态行高方法的分析

tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,还是有一些玄机的. AD: tableView是一个神奇的东西,可以这么说,就算是一个初学者如果能把tableView玩的很6,那编一般的iOS的需求都问题不大了.tableView是日常开发中用烂了的控件,但是关于tableView中的自定义cell的动态行高,

iOS开发日记30-Autolayout

今天博主有一个Autolayout的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. 1 .概述 在以前的 iOS 程序中,是如何设置布局 UI 界面的? (1)经常编写大量的坐标计算代码 (2)为了保证在3.5 inch和4.0 inch屏幕上都能有完美的UI界面效果,有时还需要分别为2种屏幕编写不同的坐标计算代码(即传说中的“屏幕适配”) 什么是 Autolayout ? (1)Autolayout是一种“自动布局”技术,专门用来布局UI界面的 (2)Autolayout自iOS

ios 开发日记 23 - Reveal使用步骤

一.Reveal使用步骤 1.启动Reveal --> Help --> Show Reveal Library in Finder,拖动添加Reveal.framework到工程中.选中 Copy items into destination group's folder (if needed)以及当前的targets.展开查看Reveal.framework中所有h文件都正确加入工程中: 确保Summary--> Linked Frameworks and Libraries目录下,