这些命令在类Unix系统上都是通用的,并不局限与 Mac 下。作为一个接触了 Linux 有一段时间的人,趁这个时间整理一下。
指令集
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 |
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 $1 $1}’ 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 | 在本地主机与远程主机之间传输文件 | ftp 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 |
常用命令详解
1 在目录间游走
命令1:pwd
作用:获取当前所在路径
命令2:ls (list)
作用:列出当前目录下的所有文件
其他用法:ls -l (long)
作用:用长格式列出来
其他用法:ls -a
作用:列出文件(包括隐藏的文件)
其他用法:ls -al
作用:以长格式列出文件(包括隐藏的文件)
命令3:cd
作用:进行目录之间的相互跳转
Tips1:可以利用Tab键将目录名补全
Tips2:可以输入cd后,将文件拖入终端,这样可以显示该文件的目录
其他用法:cd (不带任何参数)
作用:返回家目录
其他用法:cd ~
作用:返回家目录
Tips:可以利用cd ~/Music快速到达该目录
Tips:利用cd ~Guest/进入Guest用户的家目录
由于本机没有其他用户登录,所以无法演示该效果
其他用法:cd –
作用:返回上一个目录,你总是可以在两个目录之间进行切换
其他用法:cd(空格)..
作用:返回上一层目录
Tips:..表示上一层目录,而.表示当前目录
Tips:如果想要执行当前目录可执行文件a,需要输入./a,表示当前目录下的那个a
说明:这样做可以提高安全性,不会与命令的英文发生歧义
2 目录文件操作
命令1:mkdir [文件名] (make dir)
作用:新建文件夹
命令2:rmdir [文件名] (remove dir)
作用:删除文件夹
命令3:mv [原文件名] [新文件名] (move)
作用:把文件从一个地方移到另一个地方,但是当没有给出另外一个目录时,移动的现象就是为其更改了名字
命令4:rm [文件名] (remove)
作用:删除文件
注意:用rm删除掉的文件是无法从回收站中找回的!!
命令1:man [命令]
例如:man cp
作用:查看该命令的使用手册
Tips:输入q来直接退出
3 环境变量相关
命令1:set | grep PATH
作用:查看环境变量
命令2:PATH=$PATH:~/bin
作用:将其他文件夹路径(本机用户下面的bin目录)添加到PATH
Tips:
这样做只是一次性的,也就是说在当前终端,是可以直接生效的,但是当你关闭后,重新打开终端,这个操作是不被保存的。
在/etc/profile这个文件是任何人打开终端都会执行的,是系统级的profile。
如果我们想自定义自己的profile,可以在自己的家目录下新建文件命名为:.profile,这个文件会在你打开终端时自动执行
我们将刚刚的命令2输入其中,然后保存退出(vim下使用:wq)
这样的话,在我们刚刚已经登录的终端里面它还是不起作用的,假如你希望它可以立刻生效,你可以使用source命令。
命令3:source
作用:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
例如:source .profile
至此,每次当你打开终端的时候,将会默认执行一遍.profile中的命令。
4 进程管理
命令1:ps
作用:查看当前终端运行的程序
其他用法:ps ax
作用:列出这台电脑上正在运行的所有程序
命令2:top
作用:显示这台计算机上有哪些进程,它们占据了多少内存、CPU、负载等
Tips:按q退出
命令3:kill [PID]
作用:结束指定进程ID的进程
具体做法:先使用top命令查看想要结束进程的PID,然后使用命令kill [PID]
Tips:如果遇到无法杀掉的进程,输入命令sudo kill -9 [PID] (伪装超级管理员,强迫杀掉该进程),接着输入自己用户的密码(前提是自己这个用户具有sudo的资格)
5 网络配置
命令1:ifconfig
作用:列出本机所有的网络设备以及其上面的配置,主要指的是ip地址和mac地址
其他用法:ifconfig en4 down/up
作用:关闭(或打开)某个网络接口,比如en4
Tips:一般需要管理员权限,所以需要在前面加sudo命令
其他用法:sudo ifconfig en4 add 10.10.10.12 netmask 255.255.255.0
作用:给en4加入别的网段
其他用法:sudo ifconfig en4 delete 10.10.10.12
作用:给en4删除指定网段
其他用法:
ifconfig en0 down // 关闭网卡设备(这里假设是en0)
ifconfig en0 hw ether [MAC地址] // 修改MAC地址
ifconfig en0 up // 重启网卡
作用:临时修改MAC地址
其他用法:
ifconfig en0 down
ifconfig en0 192.168.169.245 netmask 255.255.255.0
作用:临时修改内网ip地址
命令2:ping
作用:检测网络是否是连通状态