菜鸟科技网

Unix基本命令有哪些核心操作?

目录

  1. 基础导航
  2. 文件与目录操作
  3. 查看文件内容
  4. 用户与权限管理
  5. 进程管理
  6. 搜索命令
  7. 压缩与归档
  8. 网络相关
  9. 系统信息
  10. 其他实用命令

基础导航

这些命令用于在文件系统中移动和查看当前位置。

Unix基本命令有哪些核心操作?-图1
(图片来源网络,侵删)
命令 全称 描述 示例
pwd Print Working Directory 打印当前所在的工作目录的完整路径。 pwd
ls List 列出当前目录下的文件和子目录。 ls
ls -l (长格式,显示详细信息)
ls -a (显示所有文件,包括隐藏文件)
ls -h (与 -l 一起用,以人类可读方式显示大小,如 K, M, G)
cd Change Directory 切换工作目录。 cd /home (切换到 /home 目录)
cd .. (切换到上一级目录)
cd ~ (切换到当前用户的家目录)
cd - (切换到上一个所在的目录)

文件与目录操作

这些是您最常使用的命令,用于创建、移动、复制和删除文件。

命令 全称 描述 示例
touch - 创建一个空文件,或更新文件的时间戳。 touch newfile.txt (创建名为 newfile.txt 的空文件)
mkdir Make Directory 创建一个新的目录。 mkdir mydir (创建 mydir 目录)
mkdir -p parent/child (递归创建多级目录,即使父目录不存在)
rm Remove 删除文件或目录。 rm file.txt (删除 file.txt 文件)
rm -r mydir (递归删除 mydir 目录及其内容)
rm -f file.txt (强制删除,不提示确认)
rm -rf mydir (强制递归删除,非常危险,请谨慎使用!)
cp Copy 复制文件或目录。 cp source.txt dest.txt (复制 source.txt 为 dest.txt)
cp -r sourcedir destdir (递归复制整个目录)
mv Move 移动文件/目录,或重命名文件/目录。 mv oldname.txt newname.txt (将 oldname.txt 重命名为 newname.txt)
mv file.txt /path/to/directory/ (将 file.txt 移动到指定目录)

查看文件内容

当您需要查看文件里面有什么时,会用到这些命令。

命令 全称 描述 示例
cat Concatenate 一次性显示整个文件的内容。 适合查看小文件。 cat file.txt
less - 分页显示文件内容。 可以向上/向下翻页,搜索字符串,退出,适合查看大文件。 less largefile.log (按 q 退出)
head - 显示文件的开头部分。 默认显示前 10 行。 head file.txt
head -20 file.txt (显示前 20 行)
tail - 显示文件的结尾部分。 默认显示后 10 行,常用于查看日志文件的最新更新。 tail file.txt
tail -f file.log (实时跟踪文件内容的更新,Ctrl+C 停止)

用户与权限管理

Unix/Linux 是一个多用户系统,权限管理是其核心。

命令 全称 描述 示例
chmod Change Mode 修改文件或目录的权限。 chmod 755 script.sh (设置权限为 rwxr-xr-x)
chmod +x script.sh (为文件所有者添加可执行权限)
chown Change Owner 修改文件或目录的所有者。 通常需要 sudo 权限。 sudo chown user:group file.txt (将 file.txt 的所有者改为 user,组改为 group)
su Substitute User 切换到另一个用户。 默认切换到 root。 su - (切换到 root 用户,并加载其环境变量)
su - username (切换到指定用户)
sudo Superuser Do 以超级用户或其他用户的身份执行命令。 sudo apt update (在 Debian/Ubuntu 上更新软件包列表)
sudo vi /etc/hosts (以 root 权限编辑 hosts 文件)

进程管理

在 Unix/Linux 中,几乎 everything 都是一个进程。

Unix基本命令有哪些核心操作?-图2
(图片来源网络,侵删)
命令 全称 描述 示例
ps Process Status 查看当前运行的进程。 ps aux (显示所有用户的详细信息)
ps -ef (显示所有进程,格式更友好)
top - 动态地实时显示系统中各个进程的资源占用状况。q 退出。 top
kill - 终止一个正在运行的进程。 kill 1234 (终止 PID 为 1234 的进程)
kill -9 1234 (强制终止,-9 是 SIGKILL 信号)
jobs - 查看当前 shell 会话中后台运行的作业。 jobs
bg - 将一个暂停的作业放到后台继续运行。 bg %1 (将作业号为 1 的作业放到后台)
fg - 将一个后台作业调到前台运行。 fg %1 (将作业号为 1 的作业调到前台)

搜索命令

在庞大的系统中快速找到你需要的文件或文本。

命令 全称 描述 示例
find - 在指定目录及其子目录下递归地搜索文件。 非常强大和灵活。 find . -name "*.txt" (在当前目录下查找所有后缀为 .txt 的文件)
find /home -user john (在 /home 目录下查找所有者为 john 的文件)
grep Global Regular Expression Print 在文件中搜索匹配指定字符串的行。 grep "error" /var/log/syslog (在 syslog 文件中搜索包含 "error" 的行)
grep -r "TODO" ./src (在 ./src 目录下递归搜索包含 "TODO" 的行)
which - 查找并显示给定命令的完整路径。 which ls (显示 ls 命令的路径)

压缩与归档

命令 全称 描述 示例
tar Tape Archive 用于打包/解包文件。 常与压缩工具结合使用。 tar -cvf archive.tar file1 file2 (创建一个名为 archive.tar 的归档文件)
tar -xvf archive.tar (解包 archive.tar)
tar -czvf archive.tar.gz files/ (创建一个并使用 gzip 压缩的归档文件)
tar -xzvf archive.tar.gz (解压一个用 gzip 压缩的归档文件)
zip / unzip - 创建和解压 .zip 格式的压缩包。 zip -r archive.zip directory/ (将 directory 目录及其内容压缩成 archive.zip)
unzip archive.zip (解压 archive.zip)

网络相关

命令 全称 描述 示例
ping - 测试与另一台主机的网络连接。 ping google.com
ssh Secure Shell 通过加密的连接安全地登录到远程主机。 ssh user@remote_host
scp Secure Copy 通过 SSH 在本地和远程主机之间安全地复制文件。 scp local_file.txt user@remote:/path/to/remote/ (上传)
scp user@remote:/path/to/remote/file.txt ./ (下载)
curl Client URL 利用 URL 规则在命令行下工作的文件传输工具。 curl https://www.example.com (获取网页内容)
curl -O https://www.example.com/file.zip (下载文件)
wget Get Web 从网络上下载文件。 wget https://www.example.com/file.zip

系统信息

命令 全称 描述 示例
uname Unix Name 显示系统的基本信息。 uname -a (显示所有可用信息,包括内核版本、主机名等)
df Disk Free 显示文件系统的磁盘空间使用情况。 df -h (以人类可读方式显示,如 K, M, G)
du Disk Usage 显示目录或文件的磁盘使用量。 du -sh /home/user (显示 /home/user 目录的总大小,-s: summary, -h: human-readable)
free - 显示系统内存的使用情况。 free -h (以人类可读方式显示)

其他实用命令

命令 全称 描述 示例
man Manual 显示命令的手册页。 这是学习命令最权威的方式。 man ls (查看 ls 命令的手册)
echo - 将文本输出到终端。 常用于脚本中。 echo "Hello, World!"
echo $PATH (打印 PATH 环境变量)
history - 显示用户之前执行过的命令历史。 history
!100 (执行历史记录中第 100 条命令)
clear - 清空终端屏幕。 clear
alias - 为命令创建一个别名或快捷方式。 alias ll='ls -alF' (创建 ll 命令)
unalias ll (取消别名)

学习建议

  1. 动手实践: 不要只看,打开你的终端(macOS/Linux 或 Windows 的 WSL/WSL2),尝试每一个命令。
  2. man 开始: 当你遇到一个不熟悉的命令时,man <command> 是你最好的朋友。
  3. 善用通配符: 学习使用 (任意多个字符) 和 (单个字符) 来批量操作文件,rm *.tmp
  4. 组合使用: Unix 命令的威力在于它们的组合。cat file.txt | grep "error" 会先显示文件内容,然后将内容通过管道 传递给 grep 命令进行过滤。

这份列表涵盖了绝大多数日常使用场景,熟练掌握这些命令,您就已经具备了在 Unix/Linux 环境中高效工作的能力。

Unix基本命令有哪些核心操作?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇