命令 |
功能说明 |
线上查询及帮助命令 |
|
man |
查看命令帮助,命令的词典,更复杂的还有info,但不常用。 |
help |
查看Linux内置命令的帮助,比如cd命令。 |
文件和目录操作命令 |
|
ls |
全拼list,功能是列出目录的内容及其内容属性信息。 示例: ls -F 查看目录中的文件 ls -lSr |more 以尺寸大小排列文件和目录 ls -lh 显示权限 |
cd |
全拼change directory,功能是从当前工作目录切换到指定的工作目录。 示例: cd /home 进入 '/ home' 目录' |
cp |
全拼copy,其功能为复制文件或目录。 示例: cp file1 file2 复制一个文件 |
find |
查找的意思,用于查找目录及目录下的文件。 示例: find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 |
mkdir |
全拼make directories,其功能是创建目录。 示例: mkdir dir1 创建一个叫做 'dir1' 的目录' |
mv |
全拼move,其功能是移动或重命名文件。 示例: mv dir1 new_dir 重命名/移动 一个目录 |
pwd |
全拼print working directory,其功能是显示当前工作目录的绝对路径。 |
rename |
用于重命名文件。 |
rm |
全拼remove,其功能是删除一个或多个文件或目录。 |
rmdir |
全拼remove empty directories,功能是删除空目录。 示例: rm -f file1 删除一个叫做 'file1' 的文件' |
touch |
创建新的空文件,改变已有文件的时间戳属性。 示例: touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) |
tree |
功能是以树形结构显示目录下的内容。 |
basename |
显示文件名或目录名。 |
dirname |
显示文件或目录路径。 |
chattr |
全拼change attribution,改变文件的扩展属性。 示例: chattr +a file1 只允许以追加方式读写文件 |
lsattr |
全拼list attribution,查看文件扩展属性。 类似示例: lspci -tv 罗列 PCI 设备 |
file |
显示文件的类型。 |
md5sum |
计算和校验文件的MD5值。 |
查看文件及内容处理命令 |
|
cat |
全拼concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。 示例: cat /proc/cpuinfo 显示CPU info的信息 |
tac |
tac是cat的反向拼写,因此命令的功能为反向显示文件内容。 |
more |
分页显示文件内容。 |
less |
分页显示文件内容,more命令的相反用法。 |
head |
显示文件内容的头部。 |
tail |
显示文件内容的尾部。 |
cut |
将文件的每一行按指定分隔符分割并输出。 |
split |
分割文件为不同的小片段。 |
paste |
按行合并文件内容。 |
sort |
对文件的文本内容排序。 |
uniq |
去除重复行。 |
wc |
统计文件的行数、单词数或字节数。 |
iconv |
转换文件的编码格式。 示例: iconv -l 列出已知的编码 |
dos2unix |
将DOS格式文件转换成UNIX格式。 示例: dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX |
diff |
全拼difference,比较文件的差异,常用于文本文件。 |
vimdiff |
命令行可视化文件比较工具,常用于文本文件。 |
rev |
反向输出文件内容。 |
grep/egrep |
过滤字符串,三剑客老三。 |
join |
按两个文件的相同字段合并。 |
tr |
替换或删除字符。 |
vi/vim |
命令行文本编辑器。 |
示例 | cat file1 从第一个字节开始正向查看文件的内容
文本处理大类: cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT |
文件压缩及解压缩命令 |
|
tar |
打包压缩。 |
unzip |
解压文件。 |
gzip |
gzip压缩工具。 |
zip |
压缩工具。 |
示例 | bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件 bzip2 file1 压缩一个叫做 'file1' 的文件 gunzip file1.gz 解压一个叫做 'file1.gz'的文件 gzip file1 压缩一个叫做 'file1'的文件 gzip -9 file1 最大程度压缩 rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包 rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1' rar x file1.rar 解压rar包 unrar x file1.rar 解压rar包 tar -cvf archive.tar file1 创建一个非压缩的 tarball tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 tar -tf archive.tar 显示一个包中的内容 tar -xvf archive.tar 释放一个包 tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包 tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 zip file1.zip file1 创建一个zip格式的压缩包 zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 unzip file1.zip 解压一个zip格式压缩包 |
信息显示命令 |
|
uname |
显示操作系统相关信息的命令。 示例: uname -m 显示机器的处理器架构 与“arch 显示机器的处理器架构 ”一致 |
hostname |
显示或者设置当前系统的主机名。 |
dmesg |
显示开机信息,用于诊断系统故障。 |
uptime |
显示系统运行时间及负载。 |
stat |
显示文件或文件系统的状态。 |
du |
计算磁盘空间使用情况。 示例: du -sh dir1 估算目录 'dir1' 已经使用的磁盘空间' |
df |
报告文件系统磁盘空间的使用情况。 示例: df -h 显示已经挂载的分区列表 |
top |
实时显示系统资源使用情况。 |
free |
查看系统内存。 |
date |
显示与设置系统时间。 示例: date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS |
cal |
查看日历等时间信息。 示例: cal 2007 显示2007年的日历表 |
搜索文件命令 |
|
which |
查找二进制命令,按环境变量PATH路径查找。 which halt 显示一个二进制文件或可执行文件的完整路径 |
find |
从磁盘遍历查找文件或目录。 |
whereis |
查找二进制命令,按环境变量PATH路径查找。 whereis halt 显示一个二进制文件、源码或man的位置 |
locate |
从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新库。 locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 |
用户管理命令 |
|
useradd |
添加用户。 示例: useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户 |
usermod |
修改系统已经存在的用户属性。 |
userdel |
删除用户。 |
groupadd |
添加用户组。 示例: groupadd group_name 创建一个新用户组
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户 |
passwd |
修改用户密码。 示例: passwd user1 修改一个用户的口令 (只允许root执行) |
chage |
修改用户密码有效期限。 示例: chage -E 2005-12-31 user1 设置用户口令的失效期限 |
id |
查看用户的uid,gid及归属的用户组。 |
su |
切换用户身份。 |
visudo |
编辑/etc/sudoers文件的专属命令。 |
sudo |
以另外一个用户身份(默认root用户)执行事先在sudoers文件允许的命令。 |
基础网络操作命令 |
|
telnet |
使用TELNET协议远程登录。 |
ssh |
使用SSH加密协议远程登录。 |
scp |
全拼secure copy,用于不同主机之间复制文件。 |
wget |
命令行下载文件。 |
ping |
测试主机之间网络的连通性。 |
route |
显示和设置linux系统的路由表。 示例: dhclient eth0 以dhcp模式启用 'eth0' |
ifconfig |
查看、配置、启用或禁用网络接口的命令。 示例: ifconfig eth0 显示一个以太网卡的配置 ifconfig eth0 192.168.1.1 netmask 255.255.255.0 控制IP地址 |
ifup |
启动网卡。 示例:ifup eth0 启用一个 'eth0' 网络设备 |
ifdown |
关闭网卡。 示例:ifdown eth0 禁用一个 'eth0' 网络设备 |
netstat |
查看网络状态。 示例: netstat -tup show all active network connections and their PID |
ss |
查看网络状态。 |
深入网络操作命令 |
|
nmap |
网络扫描命令。 |
lsof |
全名list open files,也就是列举系统中已经被打开的文件。 |
|
发送和接收邮件。 |
mutt |
邮件管理命令。 |
nslookup |
交互式查询互联网DNS服务器的命令。 |
dig |
查找DNS解析过程。 |
host |
查询DNS的命令。 示例:
|
traceroute |
追踪数据传输路由状况。 |
tcpdump |
命令行的抓包工具。 示例: tcpdump tcp port 80 show all HTTP traffic |
有关磁盘与文件系统的命令 |
|
mount |
挂载文件系统。 |
umount |
卸载文件系统。 |
fsck |
检查并修复Linux文件系统。 示例: badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 |
dd |
转换或复制文件。 |
dumpe2fs |
导出ext2/ext3/ext4文件系统信息。 |
dump |
ext2/3/4文件系统备份工具。 |
fdisk |
磁盘分区命令,适用于2TB以下磁盘分区。 |
parted |
磁盘分区命令,没有磁盘大小限制,常用于2TB以下磁盘分区。 |
mkfs |
格式化创建Linux文件系统。 示例: mkfs /dev/hda1 在hda1分区创建一个文件系统 mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 |
partprobe |
更新内核的硬盘分区表信息。 |
e2fsck |
检查ext2/ext3/ext4类型文件系统。 示例: e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 |
mkswap |
创建Linux交换分区。 示例: mkswap /dev/hda3 创建一个swap文件系统 fdformat -n /dev/fd0 格式化一个软盘 |
swapon |
启用交换分区。 示例: swapon /dev/hda3 启用一个新的swap文件系统 |
swapoff |
关闭交换分区。 |
sync |
将内存缓冲区内的数据写入磁盘。 |
resize2fs |
调整ext2/ext3/ext4文件系统大小。 |
示例 | 备份: dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份
光盘: cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容 |
系统权限及用户授权相关命令 |
|
chmod |
改变文件或目录权限。 示例: chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 |
chown |
改变文件或目录的属主和属组。 |
chgrp |
更改文件用户组。 |
umask |
显示或设置权限掩码。 |
查看系统用户登陆信息的命令 |
|
whoami |
显示当前有效的用户名称,相当于执行id -un命令。 |
who |
显示目前登录系统的用户信息。 |
w |
显示已经登陆系统的用户列表,并显示用户正在执行的指令。 |
last |
显示登入系统的用户。 |
lastlog |
显示系统中所有用户最近一次登录信息。 |
users |
显示当前登录系统的所有用户的用户列表。 |
finger |
查找并显示用户信息。 |
内置命令及其它 |
|
apt | APT 软件工具 (Debian, Ubuntu 以及类似系统) 示例: apt-get install package_name 安装/更新一个 deb 包 |
echo |
打印变量,或直接输出指定的字符串 |
printf |
将结果格式化输出到标准输出。 |
rpm |
管理rpm包的命令。 示例:(Fedora, Redhat及类似系统) rpm -ivh package.rpm 安装一个rpm包 |
yum |
自动化简单化地管理rpm包的命令。 示例:YUM 软件包升级器 - (Fedora, RedHat及类似系统) yum install package_name 下载并安装一个rpm包 |
watch |
周期性的执行给定的命令,并将命令的输出以全屏方式显示。 |
alias |
设置系统别名。 |
unalias |
取消系统别名。 |
date |
查看或设置系统时间。 |
clear |
清除屏幕,简称清屏。 |
history |
查看命令执行的历史纪录。 |
eject |
弹出光驱。 |
time |
计算命令执行时间。 |
nc |
功能强大的网络工具。 |
xargs |
将标准输入转换成命令行参数。 |
exec |
调用并执行指令的命令。 |
export |
设置或者显示环境变量。 |
unset |
删除变量或函数。 |
type |
用于判断另外一个命令是否是内置命令。 |
bc |
命令行科学计算器 |
系统管理与性能监视命令 |
|
chkconfig |
管理Linux系统开机启动项。 |
vmstat |
虚拟内存统计。 |
mpstat |
显示各个可用CPU的状态统计。 |
iostat |
统计系统IO。 |
sar |
全面地获取系统的CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU中断和网络等性能数据。 |
ipcs |
用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。 |
ipcrm |
用来删除一个或更多的消息队列、信号量集或者共享内存标识。 |
strace |
用于诊断、调试Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。 |
ltrace |
命令会跟踪进程的库函数调用,它会显现出哪个库函数被调用。 |
关机/重启/注销和查看系统信息的命令 |
|
shutdown |
关机。 示例: shutdown -h now 关闭系统(1) |
halt |
关机。 |
reboot | 重启。 |
poweroff |
关闭电源。 |
logout |
注销,退出当前登录的Shell。 |
exit |
退出当前登录的Shell。 |
Ctrl+d |
退出当前登录的Shell的快捷键。 |
进程管理相关命令 |
|
bg |
将一个在后台暂停的命令,变成继续执行 (在后台执行)。 |
fg |
将后台中的命令调至前台继续运行。 |
jobs |
查看当前有多少在后台运行的命令。 |
kill |
终止进程。 |
killall |
通过进程名终止进程。 |
pkill |
通过进程名终止进程。 |
crontab |
定时任务命令。 |
ps |
显示进程的快照。 |
pstree |
树形显示进程。 |
nice/renice |
调整程序运行的优先级。 |
nohup |
忽略挂起信号运行指定的命令。 |
pgrep |
查找匹配条件的进程。 |
runlevel |
查看系统当前运行级别。 |
init |
切换运行级别。 |
service |
启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。 |