MacOS常用终端指令【转载整理】
原文地址:https://baijiahao.baidu.com/s?id=1607834244588924669&wfr=spider&for=pc
1.终端简介:
终端基本格式:“电脑用户名:当前路径 账户名$ 一条命令 ”;
命令的构成:Command Name、Options、Arguments、Extras 四个部分,很多情况下后面三部分都是可省略的;
1)Options 部分用-作为前导符。其中许多命令的 Options 部分只包含单个字母,这时可以合并。例如:ls -lA和ls -l -A是等效的。
2)Arguments 部分用来细化这个命令或指定这个命令具体的实施对象;
3)Extras 部分则用来进一步实现其他功能。
举例:删除 QQ 这个程序的终端指令为:
some-pc:~ mac$ rm -R /Applications/QQ.app
2.为什么要使用命令行:
1)许多功能在图形界面不提供,只有通过命令行来实现;
2)Finder会隐藏许多你不太会需要的文件,然而命令行会允许访问所有文件;
3)通过命令行可以利用 SSH远程访问Mac();
4)管理员用户可以通过 sudo命令获得 root 用户权限;
5)通过命令行可以使工作更高效。
3.man命令:
MacOS中包含上千条命令,每条命令还有许多可选参数和具体的使用方式,man命令可以查看具体的命令说明,想要退出直接键入q。
大多数命令都会包含一个使用指南,包含关于这个命令的所有细节,在命令行中输入 man command-name即可获取。例如需要知道ls命令如何使用,输入man ls即可进入使用指南页面。
输入man -k和关键字可以对整个使用指南数据库进行搜索。
4.MacOS常用指令:
1)目录操作:
命令 | 功能描述 | 示例 |
mkdir | 创建一个目录 | mkdir dirname |
rmdir | 删除一个目录 | rmdir dirname |
mvdir | 移动或重命名一个目录 | mvdir dir1 dir2 |
cd | 改变当前目录 | cd dirname |
pwd | 显示当前目录的路径名 | pwd |
ls | 显示当前目录的内容 | ls -la |
dircmp | 比较两个目录的内容 | dircmp dir1 dir2 |
2)文件操作:
命令 | 功能描述 | 示例 |
cat | 显示或连接文件 | cat filename |
pg | 分页格式化显示文件内容 | pg filename |
more | 分屏显示文件内容 | more filename |
od | 显示非文本文件的内容 | od -c filename |
cp | 复制文件或目录 | cp file1 file2 |
rm | 删除文件或目录 | rm filename |
mv | 改变文件名或所在目录 | mv file1 file2 |
ln | 联接文件 | ln -s file1 file2 |
find | 使用匹配表达式查找文件 | find . -name “*.c” -print |
file | 显示文件类型 | file filename |
open | 使用默认的程序打开文件 | open filename(open . 打开当前目录) |
3)选择操作:
命令 | 功能描述 | 示例 |
head | 显示文件的最初几行 | head -20 filename |
tail | 显示文件的最后几行 | tail -15 filename |
cut | 显示文件每行中的某些域 | cut -f1,7 -d: /etc/passwd |
colrm | 从标准输入中删除若干列 | colrm 8 20 file2 |
paste | 横向连接文件 | paste file1 file2 |
diff | 比较并显示两个文件的差异 | diff file1 file2 |
sed | 非交互方式流编辑器 | sed “s/red/green/g” filename |
grep | 在文件中按模式查找 | grep “^[a-zA-Z]” filename |
awk | 在文件中查找并处理模式 | awk ‘{print 111}’ filename |
sort | 排序或归并文件 | sort -d -f -u file1 |
uniq | 去掉文件中的重复行 | uniq file1 file2 |
comm | 显示两有序文件的公共和非公共行 | comm file1 file2 |
wc | 统计文件的字符数、词数和行数 | wc filename |
nl | 给文件加上行号 | nl file1 >file2 |
4)安全操作:
命令 | 功能描述 | 示例 |
passwd | 修改用户密码 | passwd |
chmod | 改变文件或目录的权限 | chmod ug+x filename |
umask | 定义创建文件的权限掩码 | umask 027 |
chown | 改变文件或目录的属主 | chown newowner filename |
chgrp | 改变文件或目录的所属组 | chgrp staff filename |
xlock | 给终端上锁 | xlock -remote |
5)编程操作:
命令 | 功能描述 | 示例 |
make | 维护可执行程序的最新版本 | make |
touch | 更新文件的访问和修改时间 | touch -m 05202400 filename |
dbx | 命令行界面调试工具 | dbx a.out |
xde | 图形用户界面调试工具 | xde a.out |
6)进程操作:
命令 | 功能描述 | 示例 |
ps | 显示进程当前状态 | ps u |
kill | 终止进程 | kill -9 30142 |
nice | 改变待执行命令的优先级 | nice cc -c *.c |
renice | 改变已运行进程的优先级 | renice +20 32768 |
7)时间操作:
命令 | 功能描述 | 示例 |
date | 显示系统的当前日期和时间 | date |
cal | 显示日历 | cal 8 1996 |
time | 统计程序的执行时间 | time a.out |
8)网络与通信操作:
命令 | 功能描述 | 示例 |
telnet | 远程登录 | telnet hpc.sp.net.edu.cn |
rlogin | 远程登录 | rlogin hostname -l username |
rsh | 在远程主机执行指定命令 | rsh f01n03 date |
ftp | 在本地主机与远程主机之间传输文件 | tp ftp.sp.net.edu.cn |
rcp | 在本地主机与远程主机 之间复制文件 | rcp file1 host1:file2 |
ping | 给一个网络主机发送回应请求 | ping hpc.sp.net.edu.cn |
阅读和发送电子邮件 | ||
write | 给另一用户发送报文 | write username pts/1 |
mesg | 允许或拒绝接收报文 | mesg n |
9)Korn Shell 命令:
命令 | 功能描述 | 示例 |
history | 列出最近执行过的 几条命令及编号 | history |
r | 重复执行最近执行过的 某条命令 | r -2 |
alias | 给某个命令定义别名 | alias del=rm -i |
unalias | 取消对某个别名的定义 | unalias del |
10)其它命令:
命令 | 功能描述 | 示例 |
uname | 显示操作系统的有关信息 | uname -a |
clear | 清除屏幕或窗口内容 | clear |
env | 显示当前所有设置过的环境变量 | env |
who | 列出当前登录的所有用户 | who |
whoami | 显示当前正进行操作的用户名 | whoami |
tty | 显示终端或伪终端的名称 | tty |
stty | 显示或重置控制键定义 | stty -a |
du | 查询磁盘使用情况 | du -k subdir |
df | 显示文件系统的总空间和可用空间 | df /tmp |
w | 显示当前系统活动的总信 | w |
5.常用技巧:
1)可以使用▲(上箭头)或▼(下箭头)来上下移动;
2)使用空格键来翻页;
3)输入/和关键字来按照关键字搜索;
4)键入Q来退出使用指南页面;
5)tab按键自动补全唯一路径中止一个错误的命令;
6)没有输入任何命令时可以用▲(上箭头)或▼(下箭头)来浏览历史命令,同样可以编辑和再次执行;
7)可以使用history命令查看历史记录;
8)可以使用组合键control + L清屏。