下面是我自己整理的,后来发现大神整理的更全面,这里贴个链接,供参考
帮助
命令 | 意义 |
---|
command --help | –help参数一般都有…查看这个命令的帮助 |
man | 在线参考手册 |
whatis | 查询命令执行的功能,相当于man -f |
info | 超链接式帮助文档 |
/usr/share/doc | 说明文件存放 |
文件权限
命令 | 意义 |
---|
chgrp | 改群组 |
chow | 改文件所有者和组 |
chmod | 改权限 |
umask | 默认权限 |
chattr | 改变隐藏文件属性 |
lsattr | 显示文件隐藏属性 |
文件与目录操作
命令 | 意义 |
---|
ls | 列出目录内容 |
mv | 移动 |
cp | 复制 |
rm | 删除 |
touch | 建立一个空文件 |
basename | 取得文件名 |
dirname | 取得目录名 |
cd | 变换目录 |
pwd | 显示当前目录 |
mkdir | 建立一个新的目录 |
rmdir | 删除一个空的目录 参数:-p :连同上层空的目录也一起删除 |
file | 查看文件类型 |
文件内容 | |
命令 | 意义 |
---|
cat | 正着输出文件内容 |
tac | 倒着输出文件内容 |
nl | 加行号显示 |
more | 分页显示,不可前翻 |
less | 分页显示,可前翻 |
head | 只显示头几行(默认10) |
tail | 只显示尾几行(默认10) |
od | 二进制方式读取文件内容 |
管道常用的字符串处理命令
命令 | 意义 |
---|
cut | 使用某种格式从文件中截取每一行中的某一字段 |
grep | 利用正则表达式分析一行数据,使用alias grepall="egrep -IHrns --exclude-dir='.svn'" 来查找字符串 |
sort | 根据制定格式对行排序 |
uniq | 去重 |
wc | 统计相关字、行、字符数 |
tee | 双向重导向,可以重定向输出到文件的同时依旧输出到屏幕 |
tr | 文字替换 |
col | tab替换为空格 |
jion | 归并两个文件中相同的部分 |
paste | 将两个文件贴在一起,以tab分隔 |
expand | tab转空格 |
split | 分隔文件 |
xargs | 参数代换 |
sed | 流编辑,可直接编辑文件;添加多行时要以\分隔;替换: sed 's/要被取代的字符串/新的字符串/g’多用于以行为单位的处理 |
printf | 格式化打印 |
awk | 字段处理 |
diff | 比较文件差异 |
cmp | 对比文件(以字节为单位) |
patch | 根据diff修订文件 |
pr | 显示时加入标题页码 |
磁盘、文件系统管理
命令 | 意义 |
---|
ln | 建立链接 参数:-s 建立软连接 被链接目录/文件的路径必须为绝对路径 |
chroot | 改变根目录 |
df | 列出文件系统的整体磁盘使用量 |
dd | 备份与刻录文件 iso镜像文件制作与刻录! |
mount | 挂载文件系统 参数:恢复模式时可用mount -o remount,rw,auto / |
umount | 取消挂载 |
mkfs.ext4 | 格式化为ext4文件系统 |
fdisk | mbr分区表分区 |
gdisk | gpt分区表分区 |
parted | 列出磁盘的分区表类型与分区信息,mbr表分区和gpt分区表的分区 |
网络相关
命令 | 意义 |
---|
arp | 查看,增删arp表项 |
tcpdump | 抓取网络流量 |
ifconfig | 设置、查看网络接口 |
write | 传讯息给其他使用者 |
wall | 给所有用户发消息 |
mesg | 是否显示别人发你的信息,比如write |
文件与命令查找
命令 | 意义 |
---|
which | 命令脚本文件等查找,从$PATH查找 |
whereis | 查找文件,从特定目录 |
locate | 从数据库查找 updatedb可更新数据库 |
find | 从硬盘查找文件 |
type | shell内建指令,查看命令路径 |
设定
命令 | 意义 |
---|
stty | 查看或设定终端按键意义 |
set | 设定终端输入输出环境 跟上面的set是同一个 |
任务控制
命令 | 意义 |
---|
command & | 将命令放到后台执行 |
ctrl+z | 将运行的任务挂起到后台 |
bg %jobnum | 将指定jobnum的挂起任务在后台继续执行 |
fg %jobnum | 将挂起的jobnum任务恢复到前台 |
jobs | 查询后台的任务 |
kill [-kill] %jobnum | 杀死jobnum任务,不加%会直接杀死pid为jobnum的进程! |
定时任务
命令 | 意义 |
---|
at | 一次性定时任务 |
batch | 系统空闲时执行,一次性 |
crontab | 周期性定时任务 |
nohup | 脱机执行任务 |
进程管理
命令 | 意义 |
---|
ps | 获取进程快照 参数:-l 仅列出与当前bash相关进程 aux 列出系统所有进程 |
pstree | 进程树 |
top | 动态进程信息 |
kill | 发送信号给线程,不止杀线程而已。。 |
killall | 通过下达指令名称来发信号 |
taskset | 查看或设置进程的cpu亲和性 |
cpuset | 将进程限制在处理器和内存节点子集中 |
一些的信息获取
命令 | 意义 |
---|
free | 查看内存使用 |
uname | 查看系统与内核信息 |
uptime | 观察系统启动时间与工作负载 |
netstat | 查看各种网络状态 |
dmesg | 内核产生的信息 |
vmstat | 查看虚拟存储各种信息,cpu、硬盘、、、 |
fuser | 查询占用文件文件夹文件系统的进程 umount不掉的时候可用 |
lsof | 列出被进程开启的文件 |
pidof | 找出某个正在执行的程序的PID |
dmidecode | 查看CPU 型号、主板型号与内存相关的型号等等 |
lspci | 列出整个PC系统的 PCI 接口装置 |
lsusb | 列出目前系统上面各个 USB 端口口的状态,与连接的 USB 装置 |
w | 查看登录的用户以及他们正在干什么,唯一一个单字母命令,可以说很特殊了 |
who | 查看登录的用户 |
lsb_release | 查看linux发行版 |
nproc | 查看cpu核数 |
目标文件相关
命令 | 意义 |
---|
strings | 列出一个目标文件中所有可打印的字符串 |
strip | 从目标文件中删除符号表信息 |
nm | 列出一个目标文件中的符号表中定义的符号 |
size | 显示目标文件中节的名字和大小 |
readelf | 显示一个目标文件的完整结构,包括elf头中编码的所有信息,包含size和nm的功能 |
objcopy | 复制和转换目标文件 |
objdump | 能够显示一个目标文件中的所有信息,它最大的作用时反汇编.text段中的二进制指令 |
内核相关
命令 | 意义 |
---|
depmod | 产生/更新模块以来文件 |
lsmod | 显示内核所加载模块的状态 |
modinfo | 查看模块信息 |
insmod | 直接加载模块 |
rmmod | 直接移除模块 |
modprobe | 查询/加载/移除模块(可解决依赖性问题) |
网络相关
命令 | 意义 |
---|
wget | 下载文件的工具 |
curl | 利用URL规则在命令行下工作的文件传输工具 |
wget是个专职的下载利器,简单,专一,极致;而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。在下载上,也各有所长,wget可以递归,支持断点;而curl支持URL中加入变量,因此可以批量下载。个人用途上,我经常用wget来下载文件,加 -c选项不怕断网;使用curl 来跟网站的API 交互,简便清晰。
链接:https://www.zhihu.com/question/19598302/answer/12474711
其他
命令 | 意义 |
---|
bc | 计算器 |
date | 显示日期与时间 |
cal | 日历 |