命令 | 功能说明 |
线上查询及帮助命令 (2 个) | |
man Ctrl Z: 若程序已经执行,这个命令可以让命令 后台运行 ,不是退出,可使用 。但程序会“暂停” & 可让命令从执行时开始就在后台运行 | 查看命令帮助,命令的词典,更复杂的还有 info, 不常用。 |
help | 查看 Linux 内置命令的帮助,比如 cd 命令。 |
文件和目录操作命令 (18 个) | |
ls ls -lh来显示,以 兆 K的形式来显示出来文件大小 | 全拼 list,功能是列出目录的内容及 其内容属性信息。 |
cd | 全拼 change directory,功能是从当前工作目录 切换到指定的工作目录。 |
cp cp -a ,相当于 -pdr,即将整个目录连着文件及属性都拷贝过去 cp -r 将整个文件(目录)拷贝 -d 若源文件为链接文件(link file),则复制 链接 ,而非档案本身; -p 连同档案属性一起复制,而非使用默认属性 | 全拼 copy,其功能为复制文件或目录。 |
find find ./a.txt 从当前目录开始找 find / a.txt 从根目录开始找 -name 按照文件名查找文件 -type 按照文件类型来查找 -type b block (buffered) special c character (unbuffered) special d directory p named pipe (FIFO) f regular file s socket | 查找的意思,用于查找目录及目录下的文件。 e.g. find / -name "redis" |
mkdir | 全拼 make directories,其功能是创建目录。 |
mv -i mv a.txt b.txt 事实上的重命名文件 | 全拼 move,其功能是移动或重命名文件。 |
pwd | 全拼 print working directory,其功能 是显示当前工作目录的绝对路径。 |
rename | 用于重命名文件。 |
rm - f 强制删除忽略没有的 -r 递归删除 - i 交互式的删除 危险操作: rm -rf * 强制删除当前目录下的所有文件和目录 批量删除: rm -f 2010-10-*.log 注意 后面的文件名没有 引号 | 全拼 remove,其功能是删除一个或 多个文件或目录。 |
rmdir | 全拼 remove empty directories, 功能是删除空目录。 |
touch e.g. touch {1..10}.txt 创建10个文本文件,名字是1.txt ,直到10.txt | 创建新的空文件,改变已有文件的时间戳属性。 |
tree tree . : 展示当前目录树形结构 tree .. : 展示上一级目录树形结构 | 功能是以树形结构显示目录下的内容。 |
basename | 显示文件名或目录名。 |
dirname | 显示文件或目录路径。 |
chattr | 改变文件的扩展属性。 |
lsattr | 查看文件扩展属性。 |
file | 显示文件的类型。 |
md5sum | 计算和校验文件的 MD5 值。 |
查看文件及内容处理命令(21 个) | |
cat * cat a.txt b.txt > c.txt 合并两个文件到另一个新文件 * cat >>huting.txt 12 123 EOF 实现多行文本追加写 | 全拼 concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。 |
tac | tac 是 cat 的反向拼写,因此命令的功能为反向显示文件内容。 |
more | 分页显示文件内容。 |
less | 分页显示文件内容,more 命令的相反用法。 |
head head -2 huting.txt 显示前2行 或: head -n 2 huting.txt | 显示文件内容的头部。 |
tail | 显示文件内容的尾部。 |
cut | 将文件的每一行按指定分隔符分割并输出。 |
split | 分割文件为不同的小片段。 |
paste | 按行合并文件内容。 |
sort | 对文件的文本内容排序。 |
uniq | 去除重复行。 |
wc -c 统计字节数 -l 统计行数 -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。 | 统计文件的行数、单词数或字节数。 |
iconv | 转换文件的编码格式。 |
dos2unix | 将 DOS 格式文件转换成 UNIX 格式。 |
diff | 全拼 difference,比较文件的差异,常用于文本文件。 |
vimdiff | 命令行可视化文件比较工具,常用于文本文件。 |
rev | 反向输出文件内容。 |
grep/egrep -v invert :显示不匹配的行 -i :忽略大小写 -n : 添加行号 ls -l | grep "^d" : 正则表达式 ^表示匹配的字符串的开始 $ 表示匹配的字符串的结束 | 过滤字符串,三剑客老三。 |
join | 按两个文件的相同字段合并。 |
tr e.g. tr " " "\n" < huting.txt 读取huting.txt的内容,并用tr 将空格换成 换行符,显示出来 | 替换或删除字符。 |
vi/vim | 命令行文本编辑器。 |
文件压缩及解压缩命令(4 个) | |
tar (只打包,不压缩) tar -cvf abc.tar a.txt b.txt c.txt 打包 tar -x abc.tar 解包 tar -t abc.tar 展示这个tar中的文件 | 打包压缩。 |
unzip | 解压文件。 |
gzip | gzip 压缩工具。 |
zip | 压缩工具。 |
信息显示命令(11 个) | |
uname - a 展示所有信息 | 显示操作系统相关信息的命令。 |
hostname | 显示或者设置当前系统的主机名。(临时生效) |
dmesg dmesg| more dmesg | grep -i hd 内核中硬盘的信息 dmesg | grep -i eth 内核中网卡的信息 | 显示开机信息,用于诊断系统故障。 |
uptime 看系统启动时间与工作负载 | 显示系统运行时间及负载。 |
stat stat [OPTION]... FILE.. | 显示文件或文件系统的状态。 |
du disk usage du -h --max-depth=1 寻找当前目录,哪个文件夹占用空间最大 | 计算磁盘空间使用情况。 |
df df -h | 报告文件系统磁盘空间的使用情况。 |
top 按 h 可以查看 “帮助” | 实时显示系统资源使用情况。 |
free | 查看系统内存。 |
date e.g. date -s "2018-11-22 20:44:56" 系统时间设为引号里的时间 | 显示与设置系统时间。 |
cal | 查看日历等时间信息。 |
搜索文件命令(4 个) | |
which | 查找二进制命令,按环境变量 PATH 路径查找。 |
find | 从磁盘遍历查找文件或目录。 |
whereis | 查找二进制命令,按环境变量 PATH 路径查找。 |
locate | 从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新库。 |
用户管理命令(10 个) | |
useradd useradd -d /home/test_user test_user -m | 添加用户。 |
usermod | 修改系统已经存在的用户属性。 |
userdel | 删除用户。 |
groupadd groupdel 删除一个用户组 | 添加用户组。 |
passwd | 修改用户密码。 |
chage | 修改用户密码有效期限。 |
id | 查看用户的 uid,gid 及归属的用户组。 |
su | 切换用户身份。 |
visudo | 编辑 / etc/sudoers 文件的专属命令。 |
sudo | 以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。 |
基础网络操作命令(11 个) | |
telnet 如何退出 telnet ? 输入quit 即可 | 使用 TELNET 协议远程登录。 |
ssh | 使用 SSH 加密协议远程登录。 |
scp | 全拼 secure copy,用于不同主机之间复制文件。 |
wget | 命令行下载文件。 |
ping | 测试主机之间网络的连通性。 |
route route -n 查看网关地址 | 显示和设置 linux 系统的路由表。 |
ifconfig -a 显示全部的网络信息 假如修改了配置,操作系统重启后配置又消失了;所以一般不很推荐 | 查看、配置、启用或禁用网络接口的命令。 |
ifup e.g. ifup eth0 启动eth0 这个网卡 通常使用 /etc/sysconfig/network and /etc/sysconfig/network- scripts/ifcfg- 来配置 | 启动网卡。 |
ifdown | 关闭网卡。 |
netstat | 查看网络状态。 |
ss | 查看网络状态。 |
深入网络操作命令(9 个) | |
nmap | 网络扫描命令。 |
lsof | 全名 list open files,也就是列举系统中已经被打开的文件。 |
| 发送和接收邮件。 |
mutt | 邮件管理命令。 |
nslookup | 交互式查询互联网 DNS 服务器的命令。 |
dig | 查找 DNS 解析过程。 |
host | 查询 DNS 的命令。 |
traceroute | 追踪数据传输路由状况。 |
tcpdump | 命令行的抓包工具。 |
有关磁盘与文件系统的命令(16 个) | |
mount | 挂载文件系统。 |
umount | 卸载文件系统。 |
fsck | 检查并修复 Linux 文件系统。 |
dd | 转换或复制文件。 |
dumpe2fs | 导出 ext2/ext3/ext4 文件系统信息。 |
dump | ext2/3/4 文件系统备份工具。 |
fdisk | 磁盘分区命令,适用于 2TB 以下磁盘分区。 |
parted | 磁盘分区命令,没有磁盘大小限制,常用于 2TB 以下磁盘分区。 |
mkfs | 格式化创建 Linux 文件系统。 |
partprobe | 更新内核的硬盘分区表信息。 |
e2fsck | 检查 ext2/ext3/ext4 类型文件系统。 |
mkswap | 创建 Linux 交换分区。 |
swapon | 启用交换分区。 |
swapoff | 关闭交换分区。 |
sync | 将内存缓冲区内的数据写入磁盘。 |
resize2fs | 调整 ext2/ext3/ext4 文件系统大小。 |
系统权限及用户授权相关命令(4 个) | |
chmod | 改变文件或目录权限。 |
chown | 改变文件或目录的属主和属组。 |
chgrp | 更改文件用户组。 |
umask | 显示或设置权限掩码。 |
查看系统用户登陆信息的命令(7 个) | |
whoami | 显示当前有效的用户名称,相当于执行 id -un 命令。 |
who | 显示目前登录系统的用户信息。 |
w 还可以查看用户登录的IP | 显示已经登陆系统的用户列表, 并显示用户正在执行的指令。 |
last 查看最后登录的用户, | 显示登入系统的用户。 |
lastlog | 显示系统中所有用户最近一次登录信息。 |
users | 显示当前登录系统的所有用户的用户列表。 |
finger | 查找并显示用户信息。 |
内置命令及其它(19 个) | |
echo echo $LANG | 打印变量,或直接输出指定的字符串 |
printf | 将结果格式化输出到标准输出。 |
rpm | 管理 rpm 包的命令。 |
yum yum -y install XXX | 自动化简单化地管理 rpm 包的命令。 |
watch | 周期性的执行给定的命令,并将命令的输出以全屏方式显示。 |
alias | 设置系统别名。 |
unalias | 取消系统别名。 |
date | 查看或设置系统时间。 |
clear | 清除屏幕,简称清屏。 |
history 结合 ! 来再次执行历史命令 history -c 清空历史命令 history -d 5 清空第5个命令 | 查看命令执行的历史纪录。 |
eject | 弹出光驱。 |
time | 计算命令执行时间。 |
nc abbr for netcat 主要用来监测 TCP UDP nc -nvv 192.168.0.1 80 //扫描 80端口 ● -n 直接使用IP地址,而不通过域名服务器。 ● -v 显示指令执行过程。 | 功能强大的网络工具。 |
xargs xargs -n 2 < huting.txt 将huting.txt中内容分两组展示,理解为:将huting.txt的内容 输入 到xargs 的参数; 输入、输出总是相对于命令而言的! 箭头的指向就是数据的流向! | 将标准输入转换成命令行参数。 xargs - build and execute command lines from standard input |
exec | 调用并执行指令的命令。 |
export * export HISTSIZE=5 设置命令的历史记录行数=5,可 防止黑客获取命令。简单说就是向上翻数量只能有5个;但实际在 用户home目录下还是可以找到的,cat ~/.bash_history * export HISTFILESIZE=100 设置上述的 ~/.bash_history 文件记录的命令历史数量 * export TIMEOUT=600 设置断连时间,单位为秒 但以上命令都只是临时生效,若需要持续生效,需要写入到 ~/.bash_profile 中 | 设置或者显示环境变量。 |
unset | 删除变量或函数。 |
type | 用于判断另外一个命令是否是内置命令。 |
bc | 命令行科学计算器 |
系统管理与性能监视命令 (9 个) | |
chkconfig | 管理 Linux 系统开机启动项。 |
vmstat | 虚拟内存统计。甚至可以测量上下文切换的次数。 |
mpstat | 显示各个可用 CPU 的状态统计。 |
iostat | 统计系统 IO。 |
sar | 全面地获取系统的 CPU、运行队列、磁盘 I/O、 分页(交换区)、内存、 CPU 中断和网络等 性能数据。 |
ipcs | 用于报告 Linux 中进程间通信设施的状态, 显示的信息包括消息列表、共享内存和信号量 的信息。 |
ipcrm | 用来删除一个或更多的消息队列、 信号量集或者共享内存标识。 |
strace | 用于诊断、调试 Linux 用户空间跟踪器。 我们用它来监控用户空间进程和内核的交互, 比如系统调用、信号传递、进程状态变更等。 |
ltrace | 命令会跟踪进程的库函数调用, 它会显现出哪 个库函数被调用。 |
关机 / 重启 / 注销和查看系统信息的命令(6 个) | |
shutdown | 关机。 |
halt | 关机。 |
poweroff | 关闭电源。 |
logout | 退出当前登录的 Shell。 |
exit | 退出当前登录的 Shell。 |
Ctrl+d | 退出当前登录的 Shell 的快捷键。 |
进程管理相关命令(15 个) | |
bg | 将一个在后台暂停的命令,变成继续执行 (在后台执行)。 |
fg | 将后台中的命令调至前台继续运行。 |
jobs | 查看当前有多少在后台运行的命令。 |
kill kill -9 强杀 kill -15 , 即 kill ,表示 直接杀掉PID的进程 | 终止进程。 |
killall | 通过进程名终止进程。 |
pkill | 通过进程名终止进程。 |
crontab | 定时任务命令。 |
ps -ef | 显示进程的快照。 |
pstree | 树形显示进程。 |
nice/renice | 调整程序运行的优先级。 |
nohup | 忽略挂起信号运行指定的命令。 |
pgrep | 查找匹配条件的进程。 |
runlevel | 查看系统当前运行级别。 |
init | 切换运行级别。 |
service service iptables status\start\restart\stop,etc | 启动、停止、重新启动和关闭系统服务, 可以显示所有系统服务的当前状态。 |
seq seq 20 > huting.txt 生成行号(序列) seq 1 10 seq 1 2 10 (等差数列) seq -s "," 10 -s: separator ,default "\n" | 生成序列 |
LANG=en | 指定命令行 的语言;注意: LANG本身不是 一个命令 |
alias | 显示系统命令的别名 可以通过设置别名保护危险命令 |
unalias | 取消别名 |
rz -y, --overwrite Yes, clobber any existing files with the same name. | 上传文件 |
sz | 下载文件 |
setup 进入Linux的设置页 | |
blkid to locate/print block device attributes | 查看 块设备的特性。 可借此看设备的唯一标识UUID [root@huting ~]# blkid /dev/sda1: UUID="d6235eee-d496-4d30-aec6-962519f270fb" TYPE="ext4" |