Command
常用操作
磁盘操作
format 参数
| 参数 | action |
|---|---|
/q | 快速格式化 |
/u | 不可恢复 |
/autotest | 不提示 |
/s | 创建 MS-DOS 引导盘 |
format 示例
format c: /q /u /autotest
目录操作(一)
dir 参数
| 参数 | action |
|---|---|
/s | 查找子目录 |
/w | 只显示文件名 |
/p | 分页 |
/a | 显示隐藏文件 |
dir 示例
dir format.exe /s
查找该盘的 format.exe 文件并报告位置
目录操作(二)
cd 参数
可以使用相对目录或绝对目录
| 参数 | action |
|---|---|
cd … | 进入上一个文件夹 |
cd \ | 返回根目录 |
cd c:\windows | 进入 c:\windows 文件夹 |
md(MKDIR) 参数
| 参数 | action |
|---|---|
md HELLOWORLD | 创建 HELLOWORLD 目录 |
rd (RMDIR) 参数
| 参数 | action |
|---|---|
rd HELLOWORLD | 删除 HELLOWORLD 目录 |
文件操作
rmdir 参数
| 参数 | action |
|---|---|
rmdir c:\qqdownload/s | 删除 C 盘的 qqdownload 目录 |
del 参数
| 参数 | action |
|---|---|
/f | 删除只读文件 |
/s | 删除该目录及其下的所有内容 |
/q | 删除前不确认 |
del 示例
| 参数 | action |
|---|---|
del c:\del /s /q | 自动删除 c 盘的 del 目录 |
copy 参数
| 参数 | action |
|---|---|
copy d:\pwin98*.* c:\presetup | 将d盘的pwin98的所有文件复制到 c 盘的 presetup 下 |
attrib 参数
attrib命令可以列出或修改磁盘上文件的属性, 文件属性包括文档(A)、只读、隐藏(H)、系统(S)
attrib 示例
| 参数 | action |
|---|---|
attrib -h -r -s io.sys | io.sys文件的只读、隐藏、系统属性去掉 |
attrib +h +r +s autoexec.bat | 为自动批处理文件增加以上属性 |
net 命令(一)
| 参数 | action |
|---|---|
net use ipipc$ " " /user:" " | 建立IPC空链接 |
net use ipipc$ " " /user:" " | 建立IPC空链接 |
net use ipipc$ “密码” /user:" | 用户名” 建立IPC非空链接 |
net use h: ipc$ “密码” /user:“用户名” | 直接登陆后映射对方C:到本地为H: |
net use h: ipc$ | 登陆后映射对方C:到本地为H: |
net use ipipc$ /del | 删除IPC链接 |
net use h: /del | 删除映射对方到本地的为H:的映射 |
net user 用户名 密码 /add | 建立用户 |
net user guest /active:yes | 激活guest用户 |
net user | 查看有哪些用户 |
net user 帐户名 | 查看帐户的属性 |
net localgroup administrators 用户名 /add | 把“用户”添加到管理员中使其具有管理员权限 |
net 命令(二)
| 参数 | action |
|---|---|
net start | 查看开启了哪些服务 |
net start 服务名 | 开启服务;(如:net start telnet, net start schedule) |
net stop 服务名 | 停止某服务 |
net time 目标ip | 查看对方时间 |
net view | 查看本地局域网内开启了哪些共享 |
net view ip | 查看对方局域网内开启了哪些共享 |
net config | 显示系统网络设置 |
net pause 服务名 | 暂停某服务 |
net send ip “文本信息” | 向对方发信息 |
net ver | 局域网内正在使用的网络连接类型和信息 |
net share | 查看本地开启的共享 |
net share ipc$ /del | 删除ipc$共享 |
net share c$ /del | 删除C:共享 |
net user guest 12345 | 用guest用户登陆后用将密码改为12345 |
net password 密码 | 更改系统登陆密码 |
ping 命令
| 参数 | action |
|---|---|
-d | 使用 Socket 的 SO_DEBUG 功能 |
-c<完成次数> | 设置完成要求回应的次数 |
-f | 极限检测 |
-i<间隔秒数> | 指定收发信息的间隔时间 |
-I<网络界面> | 使用指定的网络界面送出数据包 |
-l<前置载入> | 设置在送出要求信息之前,先行发出的数据包 |
-n | 只输出数值 |
-p<范本样式> | 设置填满数据包的范本样式 |
-q | 不显示指令执行过程,开头和结尾的相关信息除外 |
-r | 忽略普通的Routing Table,直接将数据包送到远端主机上 |
-R | 记录路由过程 |
-s<数据包大小> | 设置数据包的大小 |
-t<存活数值> | 设置存活数值TTL的大小 |
-v | 详细显示指令的执行过程 |
tracert 命令
| 参数 | action |
|---|---|
-d | 不将地址解析成主机名 |
-h maximum_hops | 搜索目标的最大跃点数,默认30 |
-w timeout | 等待每个回复的超时时间(以毫秒为单位) |
-R | 跟踪往返行程路径(仅适用于 IPv6) |
-S srcaddr | 要使用的源地址(仅适用于 IPv6) |
-4 | 强制使用 IPv4 |
-6 | 强制使用 IPv6 |
netstat 命令
| 参数 | action |
|---|---|
netstat -a | 查看开启了哪些端口,常用netstat -an |
netstat -n | 查看端口的网络连接情况,常用netstat -an |
netstat -v | 查看正在进行的工作 |
netstat -p 协议名 | 例:netstat -p tcq/ip 查看某协议使用情况 |
netstat -s | 查看正在使用的所有协议使用情况 |
nbtstat -A ip | 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名 |
taskkill 命令
| 参数 | action |
|---|---|
| `taskkill /f | 强制终止进程(最常用,防止进程无响应) |
taskkill /im 映像名 | 通过进程名称结束,例如:taskkill /im notepad.exe |
taskkill /pid 进程号 | 通过 PID 结束,通常配合 netstat -ano 查询到的 PID 使用 |
taskkill /t | 终止指定的进程及其子进程 |
taskkill /s 远程IP | 结束远程指定机器上的任务 |
启动程序
启动程序(一)
| 参数 | action |
|---|---|
appwiz.cpl | 程序和功能 |
calc | 启动计算器 |
certmgr.msc | 证书管理实用程序 |
charmap | 启动字符映射表 |
chkdsk.exe | Chkdsk磁盘检查(管理员身份运行命令提示符) |
cleanmgr | 打开磁盘清理工具 |
cliconfg | SQL SERVER 客户端网络实用工具 |
cmstp | 连接管理器配置文件安装程序 |
compmgmt.msc | 计算机管理 |
comexp.msc | 打开系统组件服务 |
control | 控制面版 |
启动程序(二)
| 参数 | action |
|---|---|
dcomcnfg | 打开系统组件服务 |
devmgmt.msc | 设备管理器 |
diskmgmt.msc | 磁盘管理 |
eventvwr | 事件查看器 |
explorer | 打开资源管理器 |
Firewall.cpl | Windows防火墙 |
fsmgmt.msc | 共享文件夹管理器 |
hdwwiz.cpl | 设备管理器 |
lusrmgr.msc | 本地用户和组 |
Msra | 远程协助 |
mstsc | 远程桌面连接 |
notepad | 打开记事本 |
shrpubw | 创建共享文件夹 |
自动关机
| 参数 | action |
|---|---|
shutdown -s -t 600 | 表示600秒后自动关机 |
shutdown -a | 可取消定时关机 |
shutdown -r -t 600 | 表示600秒后自动重启 |
rundll32 user32.dll, LockWorkStation | 表示锁定计算机 |
其他
(一)
| 参数 | action |
|---|---|
ipconfig (winipcfg) | 查看本地ip,可加/all |
kill -F 进程名 | 加-F参数后强制结束某进程 |
del -F 文件名 | 加-F参数可删除只读文件 |
move 源路径文件 目的路径 | 移动文件,可修改文件名 |
fc one.txt two.txt > 3st.txt | 对比文件并输出到3st.txt |
finger username @host | 查看最近用户登陆 |
telnet | 进入本机的telnet |
telnet ip 端口 | 远程登陆服务器,默认端口为23 |
(二)
| 参数 | action |
|---|---|
copy c:srv.exe ipadmin$ | 复制本地c:srv.exe到对方的admin下 |
set | 显示当前所有的环境变量 |
set 环境变量名称=变量的字符 | 添加环境变量 |
set p(或其它字符) | 显示出当前以字符p(或其它字符)开头的所有环境变量 |
pause | 暂停批处理程序,并显示出:请按任意键继续… |
echo on/off | 打开或关闭echo,仅用echo不加参数则显示当前echo设置 |
echo 信息 | 在屏幕上显示出信息 |
(三)
| 参数 | action |
|---|---|
echo 信息 >> pass.txt | 将”信息”保存到pass.txt文件中 |
findstr “Hello” aa.txt | 在aa.txt文件中寻找字符串hello |
find 文件名 | 查找某文件 |
regedit /s | 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示 |
regedit /e | 注册表文件名 导出注册表 |
cacls 文件名 | 查看文件的访问用户权限列表 |
REM 文本内容 | 在批处理文件中添加注解 |
netsh | 查看或更改本地网络配置情况 |
命令速查表
系统
uname | 显示 linux 系统信息 |
uname -r | 显示内核版本信息 |
cat /etc/os-release | 显示 linux 系统详细信息 |
uptime | 显示系统运行的时间(包括平均负载) |
hostname | 显示系统主机名 |
hostname -i | 显示系统的IP地址 |
last reboot | 显示系统重新启动历史记录 |
date | 显示当前系统日期和时间 |
timedatectl | 查询和更改系统时钟 |
cal | 显示当前日历的月份和日期 |
w | 显示系统中当前登录的用户 |
whoami | 显示您的登录身份 |
finger username | 显示有关用户的信息 |
sed -ri 's/.*swap.*/#&/' /etc/fstab && swapoff -a | 关闭swap |
硬件
dmesg | 显示启动消息 |
cat /proc/cpuinfo | |
cat /proc/meminfo | |
df -h | G) |
hdparm -i /dev/xda | |
lshw | 显示有关系统硬件配置的信息 |
lsblk | 显示块设备相关信息 |
free -m | 显示系统中空闲和使用的内存,-m(MB),-g(GB) |
lspci -tv | 在树状图中显示 PCI 设备 |
lsusb -tv | 以树状图的形式显示 USB 设备 |
dmidecode | 显示BIOS中的硬件信息 |
hdparm -tT /dev/xda <:code> | 在设备xda上进行读速度测试 |
badblocks -s /dev/xda | 测试磁盘上不可读的块 |
用户
id | 显示活动用户的详细信息,如uid、gid和组 |
last | 显示系统中的最后一次登录 |
who | 显示谁已登录到系统 |
groupadd "admin" | 添加组”admin” |
adduser "Sam" | 添加用户 Sam |
userdel "Sam" | 删除用户 Sam |
usermod | 用于更改/修改用户信息 |
登陆
ssh user@host | 使用指定用户安全连接到主机 |
ssh -p port_number user@host | 使用指定端口安全地连接到主机 |
ssh host | 通过SSH默认端口22安全连接到系统 |
telnet host | 通过telnet默认端口23连接到主机 |
文件
ls -al | 列出文件-包括常规文件和隐藏文件以及它们的权限 |
tree | 以树形结构列出文件,常用参数有:-d查看目录,-L num查看num层文件,-a查看隐藏文件 |
pwd | 显示当前目录文件路径 |
mkdir 'directory_name' | 创建一个新目录 |
rm file_name | 删除一个文件 |
rm -f filename | 强制删除文件 |
rm -r directory_name | 递归地删除一个目录 |
rm -rf directory_name | 强制并递归地删除一个目录 |
cp file1 file2 | 将file1的内容复制到file2 |
cp -r dir1 dir2 | 递归地将dir1复制到dir2。如果dir2不存在,则创建它 |
mv file1 file2 | 将file1重命名为file2 |
ln -s /path/to/file_name link_name | 创建到file_name的软链接 |
touch file_name | 创建一个新文件 |
cat > file_name | 从键盘创建一个文件 |
more file_name | 输出文件的内容 |
head file_name | 显示文件的前10行 |
tail file_name | 显示文件的最后10行 |
gpg -c file_name | 加密一个文件 |
gpg file_name.gpg | 解密文件 |
wc | 打印文件中的字节、单词和行数 |
xargs | 从标准输入执行命令 |
进程
ps | 显示当前活动的进程 |
ps aux | grep 'telnet' | 搜索进程’telnet’的id |
pmap | 显示进程的内存映射 |
top | 显示所有正在运行的进程 |
kill pid | 使用给定的pid终止进程 |
killall proc | 杀死/终止所有名为proc的进程 |
pkill process-name | 向具有其名称的进程发送信号 |
lsof | 列出进程打开的文件 # |
renice 19 PID | 使进程以非常低的优先级运行 |
pgrep firefox | 查找Firefox进程ID |
pstree | 在树模型中可视化过程 |
安装包
rpm -i pkg_name.rpm | 安装 rpm 包 |
rpm -e pkg_name | 删除 rpm 包 |
dnf install pkg_name | 使用 dnf 工具安装软件包 |
文件权限
chmod octal filename | 将文件权限更改为八进制 |
chmod 777 /data/test.c | 将rwx权限设置为owner、group和everyone(其他可以访问服务器的人) |
chmod 755 /data/test.c | 将rwx设置为所有者,将r_x设置为组和所有人 |
chmod 766 /data/test.c | 为所有者设置rwx,为组和每个人设置rw |
chown owner user-file | 更改文件的所有权 |
chown owner-user:owner-group file_name | 更改文件的所有者和组所有者 |
chown owner-user:owner-group directory | 更改目录的所有者和组所有者 |
安装源(编译)
./configure | 检查系统,以获得构建程序所需的软件。它将构建包含有效构建项目所需的指令的Makefile |
make | |
make install | 编译后,该命令将二进制文件安装在默认/修改的路径中 |
压缩/打包
tar -cf home.tar home<:code> | 创建名为”home”的存档文件。tar文件’home’ |
tar -xf files.tar | 解压档案文件”files.tar” |
tar -zcvf home.tar.gz source-folder | 从源文件夹创建压缩的tar存档文件 |
gzip file | 压缩扩展名为.gz的文件 |
zip -r compressed.zip folder/ | 递归压缩目录folder为压缩文件compressed.zip |
unzip compressed.zip -d folder/ | 在目录folder下解压文件 |
unzip -v compressed.zip | 查看但不解压文件 |
搜索
grep ‘pattern’ files | 在文件中搜索给定的模式 |
grep -r pattern dir | Search recursively for a pattern in a given directory |
locate file | 查找文件的所有实例 |
find /home/ -name "index" | 在/home文件夹中查找以’index’开头的文件名 |
find /home -size +10000k | 在主文件夹中查找大于10000k的文件 |
网络
ip addr show | 显示IP地址和所有网络接口 |
ip address add 192.168.0.1/24 dev eth0 | 将IP地址192.168.0.1分配给接口eth0 |
ifconfig | 显示所有网络接口的IP地址 |
ping host | ping命令发送ICMP回送请求以建立到服务器/PC的连接 |
whois domain | 检索有关域名的更多信息 |
dig domain | 检索关于域的DNS信息 |
dig -x host | 对域执行反向查找 |
host google.com | 执行域名的IP查找 |
hostname -i | 显示本地IP地址 |
wget file_name | 从在线资源下载文件 |
netstat -pnltu | 显示所有活动监听端口 |
文件传输
scp file1.txt server2/tmp | 安全地将file1.txt复制到/tmp目录中的server2 |
rsync -a /home/apps /backup/ | 将/home/apps目录中的内容与/backup目录进行同步 |
磁盘使用情况
df -h | 显示安装系统上的空闲空间 |
df -i | 显示文件系统上的空闲inode |
fdisk -l | 显示磁盘分区、大小和类型 |
du -sh | 以人类可读的格式显示当前目录中的磁盘使用情况 |
findmnt | 显示所有文件系统的目标挂载点 |
mount device-path mount-point | 挂载设备 |
目录遍历
cd .. | 在目录树结构中向上移动一层 |
cd | 将目录更改为$HOME目录 |
cd /test | 将目录更改为/test目录 |
文件描述符
0 | 标准输入 |
1 | 标准输出 |
2 | 错误输出 |
/dev/null | Linux的空设备文件,俗称“黑洞” |
输出重定向
> | 覆盖运算符 |
>> | 追加运算符 |
>& | 重定向合并运算符 |
command > filename | 标准输出覆盖写入新文件 |
command 1> filename | 标准输出覆盖写入新文件(同上) |
command 2> filename | 标准错误覆盖写入新文件 |
command >> filename | 标准输出追加到新文件 |
command 1>> filename | 标准输出追加到新文件(同上) |
command 2>> filename | 标准错误追加到新文件 |
2>&1 | 标准错误重定向到标准输出 |
1>&2 | 标准输出重定向到标准错误 |
前后台
&(终端关闭,程序也关闭)
command & | 使用后台进程模式执行 command |
Ctrl+Z | 将当前进程放到后台(但程序是Stopped状态) |
jobs | 查看任务(状态、ID等) |
fg n | 将jobID为n的任务切到前台运行 |
bg n | 将jobID为n的任务切到后台运行 |
nohup(终端关闭,程序继续运行)
nohup command & | 后台执行 command,标准输出到 nohup.out |
nohup command > log_file & | 后台执行 command,标准输出到 log_file |
nohup command > log_file 2>&1 & | 后台执行 command,标准输出和错误输出到 log_file |
nohup command > log_file 2>err_log & | 后台执行 command,标准输出到 log_file,错误输出到 err_log |
ps/kill | 查看进程/结束进程 |
screen(创建独立会话)
screen -S my_session | 创建一个名为 my_session 的会话 |
screen -ls | 列出当前所有的 session |
screen -r my_session | 重新连接 my_session 这个会话 |
screen -d my_session | 脱离 my_session 这个会话 |
Ctrl+a+d | 在 screen 中,脱离当前会话 |
exit | 在 screen 中,退出并删除当前 screen |
-X -S my_session quit | 删除 my_session 这个会话 |
screen -wipe | 删除所有已经失效的会话 |
快捷键
命令行编辑
Tab | 自动补全 |
Ctrl+A | 移动光标到命令行首 |
Ctrl+E | 移动光标到命令行尾 |
Ctrl+Left | 光标左移一个单词 |
Ctrl+Right | 光标右移一个单词 |
Ctrl+K | 删除光标之后所有字符 |
Ctrl+U | 清空当前键入的命令 |
Ctrl+W | 删除光标前的单词 |
Ctrl+Y | 粘贴 Ctrl + W 或 Ctrl + K 删除的内容 |
Ctrl+D | 删除当前光标所在字符 (在没有字符时会关闭终端) |
Ctrl+B (Left) | 光标左移(后退) |
Ctrl+F (Right) | 光标右移(前进) |
Ctrl+H (Backspace) | 删除光标的前一个字符 |
其他
Ctrl+L | 清屏 |
Ctrl+C | 中断正在执行的程序 |
Ctrl+R | 按字符串寻找历史命令 |
Ctrl+Z | 将当前进程放到后台(但程序是Stopped状态) |
Shift+Insert | 粘贴 |
Ctrl+PageUp | 屏幕输出向上翻页 |
Ctrl+PageDown | 屏幕输出向下翻页 |
Ctrl+P (Up) | 上一条命令 |
Ctrl+N (Down) | 下一条命令 |
技巧
linux技巧
du -h / | sort -rh | head -20 | 最大20个文件 |
grep -Ev '^\s*($|#|;)' example.conf | 查看去掉注释和空行 |
echo <passwd> | passwd root --stdin | 单行改密码 |
find /data/app/tmp -mtime +30 -name "*.flv" -exec rm -Rf {} \; | 删除30天前文件 |
for file in $(ls); do sed -i 's/nmg/sz/g' "$file"; done | 当前目录修改字符串 |
ssh -NfR remote_port:localhost:local_port user@remote_server | ssh代理 |
find . -wholename "*.sh" -exec dos2unix {} \; | 修复脚本格式错误 |
rsync -avz /source/ user@remote:/destination/ | 同步文件和目录到远程服务器,支持压缩和增量传输 |
另见
- Linux命令大全搜索工具 (jaywcjlove.github.io)
- Linux命令大全(手册) (linuxcool.com)
- MAN手册 - 中文 (debian.org)
- Linux 命令行速查表 (cheat-sheet.cn)