菜鸟科技网

Cygwin命令大全有哪些常用命令?

Cygwin 是一个在 Windows 系统上运行的类 Unix 环境,它提供了大量的 Linux/Unix 命令和工具,使得用户可以在 Windows 中使用熟悉的命令行操作,以下将详细介绍 Cygwin 中常用的命令,涵盖文件管理、文本处理、系统操作、网络工具等多个类别,并辅以表格和示例说明,帮助用户全面掌握 Cygwin 命令的使用方法。

Cygwin命令大全有哪些常用命令?-图1
(图片来源网络,侵删)

文件和目录管理命令

文件和目录操作是命令行最基础的功能,Cygwin 提供了与 Linux 类似的命令来管理文件系统。

  1. ls:列出目录内容

    • 常用选项:
      • -l:以长格式显示(包含权限、所有者、大小、修改时间等)。
      • -a:显示所有文件,包括隐藏文件(以 开头)。
      • -h:以人类可读格式显示文件大小(如 KB、MB)。
      • -t:按修改时间排序,最新的在前。
    • 示例:ls -lah 显示当前目录所有文件的详细信息,并按时间排序。
  2. cd:切换目录

    • 示例:cd /home/user 切换到用户主目录;cd .. 返回上级目录;cd - 在上次目录和当前目录间切换。
  3. pwd:显示当前工作目录的完整路径

    Cygwin命令大全有哪些常用命令?-图2
    (图片来源网络,侵删)
    • 示例:pwd 输出类似 /home/user 的路径。
  4. mkdir:创建目录

    • 选项 -p:递归创建多级目录(如 mkdir -p a/b/c)。
    • 示例:mkdir newdir 创建名为 newdir 的目录。
  5. rmdir:删除空目录

    • 示例:rmdir emptydir 删除空目录 emptydir
  6. rm:删除文件或目录

    • 选项 -r-R:递归删除目录及其内容;-f:强制删除,不提示确认。
    • 示例:rm -rf dir_to_delete 强制删除目录 dir_to_delete 及其所有内容。
  7. cp:复制文件或目录

    Cygwin命令大全有哪些常用命令?-图3
    (图片来源网络,侵删)
    • 选项 -r:复制目录;-p:保留文件属性(如权限、时间戳);-i:覆盖前提示。
    • 示例:cp -r source_dir target_dir 复制整个目录。
  8. mv:移动或重命名文件/目录

    • 示例:mv old_name.txt new_name.txt 重命名文件;mv file.txt /path/to/dir/ 移动文件到指定目录。
  9. touch:创建空文件或更新文件时间戳

    • 示例:touch newfile.txt 创建空文件 newfile.txt
  10. ln:创建链接文件

    • 选项 -s:创建符号链接(软链接)。
    • 示例:ln -s target.txt link.txt 创建指向 target.txt 的符号链接 link.txt

文本处理命令

Cygwin 提供了强大的文本处理工具,适合对文件内容进行搜索、编辑和转换。

  1. cat:连接并显示文件内容

    • 示例:cat file.txt 在终端显示 file.txt 的全部内容;cat file1.txt file2.txt > combined.txt 合并两个文件。
  2. less/more:分页显示文件内容

    • less 支持上下翻页、搜索等功能(按 q 退出);more 仅支持向下翻页。
    • 示例:less largefile.txt 分页查看大文件。
  3. head/tail:显示文件开头或结尾部分内容

    • 选项 -n 指定行数,默认 head 显示前 10 行,tail 显示后 10 行。
    • 示例:tail -n 20 log.txt 查看 log.txt 末尾 20 行;tail -f log.txt 实时跟踪文件更新(常用于日志监控)。
  4. grep:搜索文本内容

    • 选项 -i:忽略大小写;-r:递归搜索目录;-n:显示行号。
    • 示例:grep "error" log.txtlog.txt 中搜索包含 "error" 的行;grep -r "TODO" /home/user 递归搜索用户主目录下包含 "TODO" 的文件。
  5. sed:流编辑器,用于文本替换、删除等

    • 示例:sed 's/old/new/g' file.txtfile.txt 中所有 "old" 替换为 "new"(原文件不变,输出到终端);sed -i 's/old/new/g' file.txt 直接修改原文件。
  6. awk:文本分析工具,按列处理文本

    • 示例:awk '{print $1, $3}' file.txt 打印 file.txt 每行的第 1 列和第 3 列;awk -F: '{print $1}' /etc/passwd 以 为分隔符,打印 /etc/passwd 的用户名列。
  7. sort:对文本行排序

    • 选项 -n:按数字排序;-r:倒序;-k:指定按第几列排序。
    • 示例:sort -n numbers.txtnumbers.txt 中的数字按升序排序。
  8. uniq:去除重复行

    • 选项 -d:仅显示重复行;-c:统计重复次数。
    • 示例:sort file.txt | uniq -c 先排序后去重,并统计每行出现次数。
  9. cut:提取文本列

    • 选项 -d:指定分隔符;-f:指定提取的列。
    • 示例:cut -d: -f1,3 /etc/passwd 以 为分隔符,提取 /etc/passwd 的第 1 列(用户名)和第 3 列(UID)。

系统和管理命令

这些命令用于监控系统状态、管理进程和用户权限。

  1. ps:显示当前进程状态

    • 选项 -ef:显示所有进程的详细信息(类似 Linux 的 ps aux);-u username:显示指定用户的进程。
    • 示例:ps -ef | grep "nginx" 查找包含 "nginx" 的进程。
  2. top/htop:动态显示进程和系统资源占用

    • top 是基础工具,htop(需额外安装)提供更直观的界面(支持颜色、鼠标操作)。
    • 示例:top 启动后按 q 退出,按 P 按 CPU 排序,按 M 按内存排序。
  3. kill/killall:终止进程

    • kill 通过进程 ID(PID)终止进程,killall 通过进程名终止。
    • 示例:kill -9 1234 强制终止 PID 为 1234 的进程;killall nginx 终止所有名为 "nginx" 的进程。
  4. df:显示磁盘空间使用情况

    • 选项 -h:以人类可读格式显示;-T:显示文件系统类型。
    • 示例:df -h 显示各分区的使用量(如 C:D: 盘)。
  5. du:显示目录或文件大小

    • 选项 -sh:显示总大小(s)并以人类可读格式(h)。
    • 示例:du -sh /home/user 显示用户主目录的总大小。
  6. free:显示内存使用情况

    • 选项 -h:以人类可读格式显示。
    • 示例:free -h 显示总内存、已用内存、空闲内存等。
  7. chmod:修改文件权限

    • 权限符号:r(读,4)、w(写,2)、x(执行,1);用户类型:u(所有者)、g(组)、o(其他)、a(所有)。
    • 示例:chmod 755 script.sh 设置所有者可读可写执行,组和其他用户可读执行;chmod u+x script.sh 为所有者添加执行权限。
  8. chown:修改文件所有者和组

    • 示例:chown user:group file.txtfile.txt 的所有者改为 user,组改为 group
  9. sudo:以超级用户权限执行命令

    • 需在 Cygwin 中配置 /etc/sudoers 文件(默认可能不可用,需手动安装配置)。
    • 示例:sudo apt update(需先安装 Cygwin 的 apt 工具)。
  10. passwd:修改用户密码

    • 示例:passwd 修改当前用户密码;sudo passwd username 修改其他用户密码(需 root 权限)。

网络命令

Cygwin 提供了丰富的网络工具,用于网络诊断、数据传输等。

  1. ping:测试网络连通性

    • 示例:ping google.comgoogle.com 发送 ICMP 包,测试延迟和丢包率。
  2. ifconfig/ip:显示或配置网络接口

    • ifconfig 需安装 net-tools 包,ip 是现代 Linux 的默认工具(Cygwin 中需安装 iproute2)。
    • 示例:ifconfig 显示所有网络接口的 IP、MAC 地址等信息;ip addr show 显示相同信息。
  3. netstat:显示网络连接、路由表、接口统计等

    • 选项 -an:显示所有连接(a),并以数字形式显示地址和端口(n);-t:TCP 连接;-u:UDP 连接。
    • 示例:netstat -an | grep :80 查看 80 端口的连接情况。
  4. ssh:安全远程登录

    • 示例:ssh user@remote_host 以用户 user 登录远程主机 remote_host
  5. scp:通过 SSH 安全复制文件

    • 示例:scp local_file.txt user@remote_host:/path/to/remote_dir/ 将本地文件复制到远程主机;scp user@remote_host:remote_file.txt ./ 下载远程文件到本地。
  6. wget/curl:下载网络资源

    • wget 简单直接,curl 支持更多协议和功能(如 HTTP 请求、上传文件)。
    • 示例:wget https://example.com/file.zip 下载文件;curl -O https://example.com/file.zip 同样下载文件(-O 保持原文件名)。
  7. nslookup/dig:DNS 查询

    • 示例:nslookup google.com 查询 google.com 的 IP 地址;dig google.com 显示更详细的 DNS 信息(需安装 dnsutils)。
  8. traceroute:显示数据包到目标主机的路径

    • 示例:traceroute google.com 显示数据包经过的路由节点。

压缩和解压命令

Cygwin 支持多种压缩格式,如 .zip.tar.gz.tar.bz2 等。

  1. zip/unzip:处理 ZIP 格式

    • 示例:zip -r archive.zip dir/ 将目录 dir 压缩为 archive.zipunzip archive.zip 解压 ZIP 文件。
  2. tar:处理 tar 归档文件(常配合 gzip/bzip2 压缩)

    • 常用选项:
      • -c:创建归档;-x:解压;-v:显示过程;-f:指定文件名;-z:gzip 压缩/解压;-j:bzip2 压缩/解压。
    • 示例:
      • tar -czf archive.tar.gz dir/dir 压缩为 gzip 格式的 tar 包;
      • tar -xzf archive.tar.gz 解压 gzip 格式的 tar 包;
      • tar -cjf archive.tar.bz2 dir/ 压缩为 bzip2 格式;
      • tar -xjf archive.tar.bz2 解压 bzip2 格式。
  3. gzip/gunzip:处理 .gz 格式

    • 示例:gzip file.txt 压缩 file.txtfile.txt.gzgunzip file.txt.gz 解压。
  4. bzip2/bunzip2:处理 .bz2 格式

    • 示例:bzip2 file.txt 压缩为 file.txt.bz2bunzip2 file.txt.bz2 解压。

其他常用命令

  1. man:显示命令手册页

    • 示例:man ls 查看 ls 命令的详细用法(按 q 退出)。
  2. which:查找命令的可执行文件路径

    • 示例:which ls 输出 ls 命令的路径(如 /usr/bin/ls)。
  3. alias:设置命令别名

    • 示例:alias ll='ls -lah' 设置 llls -lah 的别名;unalias ll 取消别名。
  4. history:显示命令历史记录

    • 示例:history 显示最近使用的命令;!100 执行历史记录中第 100 条命令。
  5. date:显示或设置系统时间

    • 示例:date 显示当前时间;date +"%Y-%m-%d %H:%M:%S" 格式化输出时间(如 2023-10-01 15:30:00)。

常用命令速查表

类别 命令 功能描述 常用示例
文件列表 ls 列出目录内容 ls -lah
切换目录 cd 切换当前工作目录 cd /home/user
显示当前目录 pwd 显示当前完整路径 pwd
创建目录 mkdir 创建目录 mkdir -p new/dir
删除文件/目录 rm 删除文件或目录 rm -rf dir
复制文件/目录 cp 复制文件或目录 cp -r src dst
移动/重命名 mv 移动或重命名文件/目录 mv old.txt new.txt
查看文件内容 cat 显示文件内容 cat file.txt
分页查看 less 分页显示文件内容 less file.txt
搜索文本 grep 搜索文本内容 grep "error" log.txt
进程管理 ps 显示进程状态 ps -ef
终止进程 kill 终止指定进程 kill -9 1234
磁盘空间 df 显示磁盘使用情况 df -h
目录大小 du 显示目录或文件大小 du -sh /home
网络连通性 ping 测试网络连通性 ping google.com
远程登录 ssh 安全远程登录 ssh user@host
压缩文件 tar 创建或解压 tar 归档文件 tar -czf archive.tar.gz dir/
命令手册 man 显示命令帮助 man ls

相关问答 FAQs

Q1:Cygwin 中如何解决中文显示乱码问题?
A:Cygwin 默认可能使用 UTF-8 编码,而 Windows 控制台可能使用 GBK 编码,导致中文乱码,解决方法:

  1. 在 Cygwin 终端中运行 export LANG=zh_CN.UTF-8 设置环境变量(临时生效);
  2. 永久生效:在 ~/.bashrc~/.bash_profile 文件中添加 export LANG=zh_CN.UTF-8,然后运行 source ~/.bashrc
  3. 确保 Windows 控制台编码设置为 UTF-8:在 Cygwin 终端右键选择“Options”->“Text”,勾选 “UTF-8”。

Q2:Cygwin 中如何安装和管理软件包?
A:Cygwin 使用 setup-x86_64.exe(64 位系统)或 setup-x86.exe(32 位系统)作为软件包管理器,命令行中可通过 apt-cyg 工具(需先安装)管理包:

  1. 安装 apt-cyg:下载 apt-cyg 脚本(如从 GitHub),放入 Cygwin 的 /usr/local/bin 目录,并赋予执行权限(chmod +x /usr/local/bin/apt-cyg);
  2. 更新软件包列表:apt-cyg update
  3. 安装软件包:apt-cyg install package_name(如 apt-cyg install vim);
  4. 卸载软件包:apt-cyg remove package_name
  5. 搜索软件包:apt-cyg search keyword
    注意:apt-cyg 是第三方工具,也可直接通过 setup-x86_64.exe 的图形界面管理软件包。
分享:
扫描分享到社交APP
上一篇
下一篇