基本命令

最后更新于:2022-04-02 05:44:50

[TOC] # 基本命令 ## 列出文件 ~~~ ls 参数 目录名 ~~~ 例: 想看看根目录下有什么: ~~~ ls / ~~~ 想看看驱动目录下有什么: ~~~ ls /System/Library/Extensions ~~~ 参数 `-w` 显示中文,`-l` 详细信息, `-a` 包括隐藏文件 ## 改变目录 ~~~ cd 目录 ~~~ 例:想到驱动目录下溜达一圈 ~~~ cd /System/Library/ ~~~ ## 建立新目录 mkdir 目录名 例:在驱动目录下建一个备份目录 backup ~~~ mkdir /System/Library/Extensions/backup ~~~ 在桌面上建一个备份目录 backup ~~~ mkdir /User/用户名/Desktop/backup ~~~ ## 创建文件 touch(推荐) 可以使用`touch`命令来轻松创建空文件: ~~~ touch test ~~~ touch命令创建了指定的新文件,并将当前用户名作为文件的属主。 创建的文件大小是零,`touch`命令只会创建一个空文件。 如果再次使用:`touch test`命令,当前已经存在test文件,该命令行会使已有文件的访问时间和修改时间进行改变,而不改变文件的内容。 1. `touch -a` :只修改访问时间; 2. `touch -m` :只改变修改时间; 默认情况下,touch使用当前时间,可以使用: `touch -t` 参数加上特定的时间戳来制定时间 例如: ~~~ touch -t 201612251200 test ~~~ ### 其他相关命令 1. `> ` 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节); 2. `>>` 这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。 直接输出到文件: ~~~ >> i.js 这些内容会输出到该文件。 这些内容会输出到该文件。 ^C #结束 或者 echo xxx >> xxx.txt ~~~ ~~~ mkfile -n size[b|k|m|g] 文件名 ~~~ 比如说,如果你想在桌面上创建文件名为“大容量测试文件”的1GB容量文件时,你只需使用下面的命令 ~~~ mkfile -n 1g ~/Desktop/大容量测试文件 ~~~ 不过mkfile命令只支持Mac OS X。 **dd命令支持所有的unix和linux系统**。使用dd命令,我们需要定义文件名、区块尺寸和区块大小: ~~~ dd if=/dev/zero of=FileName bs=1024 count=1000 ~~~ 如果你想创建一个容量为100MB的文件,那么需要下面的命令。 ~~~ dd if=/dev/zero of=LargeTestFile.img bs=1024 count=0 seek=$[1024*100] ~~~ ## 拷贝文件 ~~~ cp 参数 源文件 目标文件 ~~~ 例:想把桌面的Natit.kext 拷贝到驱动目录中: ~~~ cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions ~~~ 参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。 把驱动目录下的所有文件备份到桌面backup: ~~~ cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup ~~~ ## 删除文件 ~~~ rm 参数 文件 (rm -rf 文件夹) ~~~ 例:想删除驱动的缓存 ~~~ rm -rf /System/Library/Extensions.kextcache rm -rf /System/Library/Extensions.mkext ~~~ 参数 `-rf` 表示递归和强制,千万要小心使用,如果执行了 `rm -rf / ` 你的系统就全没了 ## 移动文件 ~~~ mv 文件 ~~~ 例:想把AppleHDA.Kext 移到桌面 ~~~ mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop ~~~ 想把AppleHDA.Kext 移到备份目录中 ~~~ mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup ~~~ ## 更改文件权限 ~~~ chmod 参数 权限 文件 (#add ch代表change) ~~~ 例:把驱动目录下所有文件设定到root读写,其他用户只读 ~~~ chmod -R 755 /System/Library/Extensions ~~~ 参数R 表示递归,755表示各用户的权限 ## 更改文件所有者 ~~~ chown 参数 用户:组 文件 ~~~ 例:把驱动目录下的所有文件的属权改成根用户 ~~~ chown -R root:wheel /System/Library/Extensions ~~~ 参数R 表示递归操作 ## 修复整个系统中文件的权限 ~~~ diskutil repairpermissions / ~~~ 严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。 ## 文本编辑 ~~~ nano 文件名 ~~~ 例:编辑natit Info.plist ~~~ nano /System/Library/Extensions/Natit.kext/Info.plist ~~~ 编辑完成后 用 `Ctrl +O` 存盘,`Ctrl+X` 退出 另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类Unix系统中都它,走遍天下都不怕了。 ## 运行脚本命令 ~~~ 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`
';