mac 终端常用命令
mac 终端常用命令
文件类型
- 文件夹;
- 普通文件;
- 表示可执行文件;
- 压缩文件;
- 表示链接文件(快捷方式)
常用目录作用
- bin: 存放普通用户可执行的指令,普通用户也可以执行;
- dev : 设备目录,所有的硬件设备及周边均放置在这个设备目录中;
- boot : 开机引导目录,包括 Linux 内核文件与开机所需要的文件;
- home: 这里主要存放你的个人数据,具体每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。每个用户都有自己的用户目录,位置为:/home/用户名。当然,root 用户除外;
- usr: 应用程序放置目录;
- lib: 开机时常用的动态链接库,bin 及 sbin 指令也会调用对应的 lib 库;
- tmp: 临时文件存放目录 ;
- etc: 各种配置文件目录,大部分配置属性均存放在这里;
目录操作
| 命令名 | 功能描述 | eg |
|---|---|---|
| cd | 打开当前目录 | cd dirname |
| pwd | 显示当前目录的路径名 | pwd |
| ls | 显示当前目录的内容 | ls -la |
| mkdir | 创建一个目录 | mkdir dirname |
| rmdir | 删除一个目录 | rmdir dirname |
| mvdir | 移动或重命名一个目录 | mvdir dir1 dir2 |
| dircmp | 比较两个目录的内容 | dircmp dir1 dir2 |
文件操作
| 命令名 | 功能描述 | eg |
|---|---|---|
| cat | 显示或连接文件 | cat filename |
| find | 使用匹配表达式查找文件 | find . -name “*.c” -print |
| touch | 创建文件 | touch a.txt |
| file | 显示文件类型 | file filename |
| more | 分屏显示文件内容 | more filenam |
| open | 使用默认的程序打开文件 | open filename |
| cp | 复制文件或目录 | cp file1 file2 |
| rm | 删除文件或目录 | rm filename |
| mv | 改变文件名或所在目录 | mv file1 file2 |
| ln | 联接文件 | ln -s file1 file2 |
| od | 显示非文本文件的内容 | od -c filename |
| pg | 分页格式化显示文件内容 | pg filename |
“软链接”和“硬链接”
what
链接简单说实际上是一种文件共享的方式,是操作系统中的概念,主流文件系统都支持链接文件。
how
简单来说链接是 Windows 中常见的快捷方式(或是 OS X 中的替身),
Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。
在这些用途上,我们通常会使用到软链接(也称符号链接)。硬链接则是保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。
why
从使用的角度讲,两者没有任何区别,都与正常的文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行。
而区别就在底层原理上
inode 你可以理解成 C 语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。
下面我们进行一次演示ls -li 我们可以查看当前工作环境的文件做左边的数字其实就是原理图中的 inode 属性
我们给 README.md 文件创建一个硬链接 我们记住36143015这个 inode 值
执行ln README.md hard_README.md 创建成功之后
我们再次ls -li
可以看到hard_README.md硬链接已经成功创建并且 inode 是36143015;
执行ln -s README.md soft_README.md得到 README.md 的软链接
这样我们容易发现区别 soft_README.md文件的 inode 是38619526 已经和 README.md 不一致了
并且文件颜色成为了紫色(每个 shell 根据主题变化)并且有了soft_README.md -> README.md箭头符号的指示
没错这也就代表着soft_README.md仅仅只是个软链接
so
硬链接: 与普通文件没什么不同,inode 都指向同一个文件在硬盘中的区块
软链接: 保存了其代表的文件的绝对路径,是另外一种文件形式,在硬盘上有独立的区块,访问时替换自身路径。
选择操作
| 命令名 | 功能描述 | eg |
|---|---|---|
| grep | 在文件中按模式查找 | grep “[1]” filename |
| head | 显示文件的最初几行 | head -20 filename |
| tail | 显示文件的最后几行 | tail -15 filename |
| comm | 显示两有序文件的公共和非公共 | comm file1 file2 |
| wc | 统计文件的字符数、词数和行数 | wc filename |
| nl | 给文件加上行号 | nl file1 >file2 |
| awk | 在文件中查找并处理模式 | awk ‘{print $1 $1}’ filename |
| sort | 排序或归并文件 | sort -d -f -u file1 |
| uniq | 去掉文件中的重复行 | uniq file1 file2 |
| diff | 比较并显示两个文件的差异 | diff file1 file2 |
| sed | 非交互方式流编辑器 | sed “s/red/green/g” filename |
| cut | 显示文件每行中的某些域 | cut -f1,7 -d: /etc/passwd |
| colrm | 从标准输入中删除若干 | colrm 8 20 file2 |
| paste | 横向连接文件 | paste file1 file2 |
安全相关
| 命令名 | 功能描述 | eg |
|---|---|---|
| chown | 改变文件或目录的属主 | chown newowner filename |
| chgrp | 改变文件或目录的所属组 | chgrp staff filename |
编程操作
| 命令名 | 功能描述 | eg |
|---|---|---|
| touch | 更新文件的访问和修改时间 | touch -m 05202400 filename |
进程操作
| 命令名 | 功能描述 | eg |
|---|---|---|
| ps | 显示进程当前状态 | ps u |
| top | 可以查看系统健康状态 | top |
| kill | 终止进程 | kill -9 30142 |
| nice | 改变待执行命令的优先级 | nice cc -c *.c |
| renice | 改变已运行进程的优先级 | renice +20 32768 |
时间操作
| 命令名 | 功能描述 | eg |
|---|---|---|
| date | 显示系统的当前日期和时间 | date |
| cal | 显示日历 | cal 8 1996 |
| time | 统计程序的执行时间 | time a.out |
网络与通信
| 命令名 | 功能描述 | eg |
|---|---|---|
| ping | 给一个网络主机发送 回应请求 | ping hpc.sp.net.edu.cn |
| 阅读和发送电子邮件 | ||
| write | 给另一用户发送报文 | write username pts/1 |
| mesg | 允许或拒绝接收报文 | mesg n |
| ftp | 在本地主机与远程主机之间传输文件 | ftp ftp.sp.net.edu.cn |
| rcp | 在本地主机与远程主机 之间复制文件 | rcp file1 host1:file2 |
| telnet | 远程登录 | telnet hpc.sp.net.edu.cn |
| rsh | 在远程主机执行指定命令 | rsh f01n03 date |
| rlogin | 远程登录 | rlogin hostname -l username |
Korn Shell 命令
| 命令名 | 功能描述 | eg |
|---|---|---|
| alias | 给某个命令定义别名 | alias del=rm -i |
| history | 列出最近执行过的 几条命令及编号 | history |
| r | 重复执行最近执行过的 某条命令 | r -2 |
| unalias | 取消对某个别名的定义 | unalias del |
其它命令
| 命令名 | 功能描述 | eg |
|---|---|---|
| whoami | 显示当前正进行操作的用户名 | whoami |
| env | 显示当前所有设置过的环境变量 | env |
| clear | 清除屏幕或窗口内容 | clear |
| stty | 显示或重置控制键定义 | stty -a |
| du | 查询磁盘使用情况 | du -k subdir |
| df | 显示文件系统的总空间和可用空间 | df /tmp |
| w | 显示当前系统活动的总信息 | w |
| who | 列出当前登录的所有用户 | who |
| tty | 显示终端或伪终端的名称 | tty |
| uname | 显示操作系统的有关信息 | uname -a |
作者:SHERlocked93
链接:https://juejin.cn/post/6844904080972709901
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Cyandev
链接:https://www.jianshu.com/p/dde6a01c4094
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。