unbutu常用命令_unbuntu ssh
zhezhongyun 2025-09-06 16:08 32 浏览
重要提示:
- 打开终端: 在 Ubuntu 上,按 Ctrl + Alt + T 是最快打开终端窗口的方式。你也可以在应用程序菜单里搜索“Terminal”或“终端”。
- 命令结构: 通常命令格式是 命令 [选项] [参数] 。
- 命令: 你要执行的操作(如 ls , cd )。
- 选项 (Options): 通常以 - (短选项,如 -l ) 或 -- (长选项,如 --help ) 开头,用于修改命令的行为(如显示更多信息、按特定方式排序)。
- 参数 (Arguments): 命令作用的对象(如文件名、目录名)。
- 空格: 命令、选项、参数之间 必须 用空格分隔。
- 大小写敏感: Linux 命令和文件名是 区分大小写 的! File.txt 和 file.txt 被认为是两个不同的文件。
- 执行命令: 输入完命令后,按 Enter 键执行它 #技术分享 #掘金。
- 提示符: username@computername:~$ 是常见的提示符。
- ~ 波浪号代表你的 家目录 ( /home/你的用户名 ),是你登录后默认所在的位置,也是你个人文件的存储地。
- $ 表示你当前是普通用户。如果是 # ,则表示你是超级用户 ( root ),拥有最高权限,操作要非常小心!
- 命令历史: 按键盘的 ↑ (上箭头) 和 ↓ (下箭头) 键可以浏览之前输入过的命令,按 Enter 可以再次执行。按 history 命令可以查看所有历史记录。
- 自动补全: 输入命令、文件名或目录名的前几个字母后,按 Tab 键,系统会自动补全。如果按一次没反应,可能是存在多个匹配项,再按一次 Tab 会显示所有匹配项。 强烈建议多用 Tab 键! 它能节省时间并减少拼写错误。
- 中断命令: 如果一个命令运行时间太长或你想停止它,按 Ctrl + C 。
- 清除屏幕: 输入 clear 或按 Ctrl + L 可以清空当前终端屏幕,让界面更清爽。
一、 导航与查看 (Navigation & Looking Around)
- pwd (Print Working Directory) - 显示当前目录
- 功能: 告诉你你现在“站”在文件系统的哪个文件夹里。
- 用法: pwd
- 示例:
text
user@ubuntu:~$ pwd
/home/user
- ls (List) - 列出目录内容
- 功能: 查看当前目录下有哪些文件和子文件夹。
- 常用选项:
- -l : 使用长格式列出详细信息(权限、所有者、大小、修改时间)。
- -a : 显示所有文件,包括隐藏文件(以 . 开头的文件,如 .bashrc )。
- -h : 与 -l 一起用,以人类可读的格式显示文件大小(如 K, M, G)。
- --color : 通常默认开启,用不同颜色区分文件类型(目录、普通文件、可执行文件等)。
- 用法: ls [选项] [目录名] (如果不指定目录名,默认查看当前目录)
- 示例:
text
user@ubuntu:~$ ls
user@ubuntu:~$ ls -l
user@ubuntu:~$ ls -la
user@ubuntu:~$ ls -lh /etc
- cd (Change Directory) - 切换目录
- 功能: 从一个文件夹“走进”另一个文件夹。
- 特殊符号:
- . :代表当前目录(很少单独用 cd . ,但在其他命令中很有用)。
- .. :代表当前目录的 上一级目录 (父目录)。
- ~ :代表你的家目录 ( /home/你的用户名 )。
- - :代表 上一次 你所在的目录(在两个目录间来回切换很方便)。
- 用法: cd [目录路径]
- 示例:
text
user@ubuntu:~$ cd Documents
user@ubuntu:~/Documents$ cd ..
user@ubuntu:~$ cd /usr/bin
user@ubuntu:/usr/bin$ cd ~
user@ubuntu:~$ cd -
- cat (Concatenate) - 查看文件内容
- 功能: 在终端里 一次性显示 整个文件的内容。适合查看 短小的文本文件 (如配置文件、日志片段、脚本代码)。如果文件很长,内容会快速滚过屏幕,你可能只能看到最后一部分。
- 用法: cat [文件名]
- 示例:
text
user@ubuntu:~$ cat hello.txt
- 查看长文件的替代命令: less (推荐) 或 more 。它们允许你分页浏览,按 空格 翻页,按 q 退出。
- less - 分页查看文件内容
- 功能: 逐屏(分页)查看文件内容,非常适合浏览 长文件 。比 more 功能更强(支持向前向后翻)。
- 用法: less [文件名]
- 常用操作 (在 less 查看界面中):
- 空格 / Page Down : 向下翻一页。
- b / Page Up : 向上翻一页。
- ↑ / ↓ : 向上/向下移动一行。
- /关键词 : 在文件中 向下 搜索关键词(如 /error 找 error),按 n 找下一个匹配项,按 N 找上一个。
- ?关键词 : 在文件中 向上 搜索关键词。
- q : 退出 less 。
- 示例:
text
user@ubuntu:~$ less /var/log/syslog
二、 文件与目录操作 (File & Directory Operations)
- mkdir (Make Directory) - 创建新目录
- 功能: 新建一个文件夹(目录)。
- 常用选项:
- -p : 递归创建目录。如果需要创建的目录的父目录不存在,会一并创建。例如要创建 project/code/src ,但 project/code 不存在,用 -p 就能一次性创建整个路径。
- 用法: mkdir [选项] 目录名
- 示例:
text
user@ubuntu:~$ mkdir new_folder
user@ubuntu:~$ mkdir -p project/docs
- touch - 创建空文件或更新文件时间戳
- 功能:
- 如果文件 不存在 ,创建一个新的 空文件 。
- 如果文件 已存在 ,更新该文件的“最后修改时间”为当前时间(文件内容不变)。
- 用法: touch 文件名
- 示例:
text
user@ubuntu:~$ touch new_file.txt
user@ubuntu:~$ touch existing_file
- cp (Copy) - 复制文件或目录
- 功能: 复制文件或目录到另一个位置。
- 常用选项:
- -r 或 -R (Recursive): 必须 在复制 目录 时使用,表示递归复制目录及其所有内容(子目录和文件)。
- -i (Interactive): 如果目标位置存在同名文件,在覆盖前 询问确认 。 强烈建议新手加上 -i 或养成习惯,避免意外覆盖!
- -v (Verbose): 显示复制过程的详细信息(复制了什么文件)。
- 用法: cp [选项] 源文件或目录 目标文件或目录
- 示例:
text
user@ubuntu:~$ cp file1.txt file1_backup.txt
user@ubuntu:~$ cp -i important.doc ~/Documents/
user@ubuntu:~$ cp -rv my_project/ backups/
- mv (Move) - 移动或重命名文件/目录
- 功能:
- 移动: 将文件或目录从一个位置 移动 到另一个位置。
- 重命名: 如果在 同一个目录 下操作,效果就是 重命名 。
- 常用选项:
- -i (Interactive): 如果目标位置存在同名文件,在覆盖前 询问确认 。 同样强烈建议新手使用!
- -v (Verbose): 显示移动过程的详细信息。
- 用法: mv [选项] 源文件或目录 目标文件或目录
- 示例:
text
user@ubuntu:~$ mv oldname.txt newname.txt
user@ubuntu:~$ mv report.pdf ~/Documents/
user@ubuntu:~$ mv -i data/ /media/usbdrive/ # 移动 data 目录到 U 盘挂载点 (覆盖前询问)
- rm (Remove) - 删除文件或目录
- 功能: 永久删除 文件或目录。 Linux 命令行删除的文件通常无法从回收站恢复!请极其谨慎!
- 常用选项:
- -r 或 -R (Recursive): 必须 在删除 目录 时使用,表示递归删除目录及其所有内容(子目录和文件)。 非常危险!
- -f (Force): 强制删除,不提示确认。 极其危险!慎用!
- -i (Interactive): 删除前 询问确认 。 强烈建议新手始终加上 -i 或至少用于 -r 操作!
- 用法: rm [选项] 文件或目录... (可以一次删除多个)
- 示例:
text
user@ubuntu:~$ rm -i unwanted_file.txt
user@ubuntu:~$ rm *.tmp
user@ubuntu:~$ rm -ri old_directory
- 警告: rm -rf / 或 rm -rf * 在错误的位置执行会导致灾难性后果(删除所有文件或系统文件)! 执行 rm -r 前务必用 pwd 确认当前目录是否正确!
- file - 查看文件类型
- 功能: 告诉你一个文件是什么类型的(文本文件?图片?可执行程序?目录?)。
- 用法: file 文件名
- 示例:
text
user@ubuntu:~$ file picture.jpg
picture.jpg: JPEG image data, ...
user@ubuntu:~$ file myscript.sh
myscript.sh: Bourne-Again shell script, ...
user@ubuntu:~$ file somefile
somefile: ASCII text
三、 系统信息与进程管理 (System Info & Processes)
- uname - 显示系统信息
- 功能: 显示关于操作系统和硬件的基本信息。
- 常用选项:
- -a (All): 显示所有信息(最常用)。
- -s (Kernel name): 显示内核名称(如 Linux)。
- -r (Kernel release): 显示内核版本号。
- -m (Machine): 显示硬件架构(如 x86_64)。
- 用法: uname [选项]
- 示例:
text
user@ubuntu:~$ uname -a
Linux ubuntu 5.15.0-86-generic
- df (Disk Free) - 显示磁盘空间使用情况
- 功能: 查看文件系统(硬盘分区)的总空间、已用空间、剩余空间和挂载点。
- 常用选项:
- -h (Human-readable): 以人类可读的单位显示大小(G, M)。
- 用法: df [选项]
- 示例:
text
user@ubuntu:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 10G 9.0G 53% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
... ... ... ... ... ...
- du (Disk Usage) - 估算文件/目录占用的磁盘空间
- 功能: 查看指定文件或目录(及其子目录)占用了多少磁盘空间。
- 常用选项:
- -h (Human-readable): 以人类可读的单位显示大小。
- -s (Summarize): 只显示总计大小,不显示每个子目录的详情。
- --max-depth=N : 显示深入到第 N 级子目录的汇总。
- 用法: du [选项] [文件或目录...] (默认显示当前目录所有内容的大小)
- 示例:
text
user@ubuntu:~$ du -sh Documents/
1.5G Documents/
user@ubuntu:~$ du -h --max-depth=1 /var/log
- top / htop - 动态查看系统进程和资源占用
- 功能: 实时显示系统中运行的进程、CPU 使用率、内存使用情况、负载等系统状态。 htop 是 top 的增强版(颜色更丰富,操作更方便,通常需要额外安装: sudo apt install htop )。
- 用法: 直接输入 top 或 htop
- 常用操作 (在 top / htop 界面中):
- q : 退出。
- k (top) / F9 (htop): 终止选中的进程 (kill)。需要输入进程 ID (PID)。
- M : 按内存使用量排序。
- P : 按 CPU 使用率排序。
- u : 只显示某个用户的进程。
- F (htop): 选择排序字段。
- / (htop): 搜索进程。
- 示例:
text
user@ubuntu:~$ top
user@ubuntu:~$ htop
- ps (Process Status) - 查看当前进程快照
- 功能: 显示当前时刻系统运行的进程信息。默认只显示当前用户在当前终端启动的进程。
- 常用选项:
- aux (组合选项最常用): 显示 所有用户 的所有进程详细信息。
- -ef : 另一种显示所有进程的格式。
- -u username : 显示指定用户的进程。
- 用法: ps [选项]
- 示例:
text
user@ubuntu:~$ ps
user@ubuntu:~$ ps aux
user@ubuntu:~$ ps -u bob
- kill / killall - 终止进程
- 功能: 向运行中的进程发送信号,通常用于终止进程。需要知道进程的 ID (PID) 或名称。
- 常用信号:
- 15 (SIGTERM): 默认信号 ,请求进程正常终止(让它自己清理后退出)。
- 9 (SIGKILL): 强制终止 信号。进程会被立即杀死,没有机会清理。 仅在进程不响应 15 时使用。
- 用法:
- kill [信号] PID (通过进程 ID 杀进程)
- killall [信号] 进程名 (通过进程名称杀所有同名进程) 使用要谨慎!
- 示例:
text
user@ubuntu:~$ kill 1234
user@ubuntu:~$ kill -9 5678
user@ubuntu:~$ killall -9 firefox
- 如何找 PID? 通常先用 ps aux | grep 进程名 或 pgrep 进程名 查找。
四、 网络相关 (Networking)
- ping - 测试网络连通性
- 功能: 向指定的网络主机(如 IP 地址或域名)发送 ICMP 回显请求包,测试你的电脑是否能到达该主机以及网络延迟。按 Ctrl+C 停止。
- 用法: ping [选项] 目标主机
- 示例:
text
user@ubuntu:~$ ping google.com
user@ubuntu:~$ ping 8.8.8.8
- ifconfig (旧) / ip addr (新) - 查看和配置网络接口
- 功能: 显示和配置网络接口(网卡)的信息,如 IP 地址、MAC 地址、状态等。
- 说明: ifconfig 是比较老的命令,在最新的 Ubuntu 中可能默认没有安装(但通常可以安装 net-tools 包获得)。推荐使用更新的 ip 命令。
- 用法:
- 查看所有接口信息: ifconfig 或 ip addr (或 ip a )
- 查看特定接口: ifconfig eth0 或 ip addr show eth0
- 示例:
text
user@ubuntu:~$ ip addr
user@ubuntu:~$ ifconfig
- wget - 从网络下载文件
- 功能: 在命令行中直接从互联网下载文件(支持 HTTP, HTTPS, FTP)。
- 常用选项:
- -O 文件名 : 指定下载后保存的文件名。
- -c : 继续中断的下载(断点续传)。
- 用法: wget [选项] [URL]
- 示例:
text
user@ubuntu:~$ wget https://example.com/largefile.zip
user@ubuntu:~$ wget -O ubuntu.iso https://.../ubuntu-22.04.iso
五、 权限管理 (Permissions - 稍微进阶,但很重要)
- chmod (Change Mode) - 修改文件/目录权限
- 功能: 改变文件或目录的访问权限(读 r、写 w、执行 x)。Linux 权限系统是核心安全机制之一。
- 理解权限: 权限分为三组: 用户 (u) (文件所有者)、 组 (g) 、 其他 (o) (其他人)。每组有 r, w, x 三种权限。
- 数字模式 (常用): 用三位八进制数表示权限 (如 755 , 644 )。
- r (读) = 4
- w (写) = 2
- x (执行) = 1
- 无权限 = 0
- 每组权限是三个值的和:
- 7 (4+2+1) = rwx
- 6 (4+2+0) = rw-
- 5 (4+0+1) = r-x
- 4 (4+0+0) = r--
- 0 (0+0+0) = ---
- 符号模式: 使用 u/g/o/a (用户/组/其他/所有) 和 +/-/= (添加/移除/设置) 以及 r/w/x 。
- 用法:
- 数字模式: chmod [选项] 数字权限 文件或目录
- 符号模式: chmod [选项] [ugoa...][[+-=][rwx...]...] 文件或目录
- 示例:
text
user@ubuntu:~$ chmod 755 my_script.sh
user@ubuntu:~$ chmod 644 config.txt
user@ubuntu:~$ chmod u+x my_script.sh user@ubuntu:~$ chmod go-rw secret.txt
- sudo (SuperUser DO) - 以超级用户权限执行命令
- 功能: 允许被授权的普通用户临时以超级用户 ( root ) 的身份执行命令。 执行需要管理员权限的操作时必须使用 (如安装软件、修改系统文件)。
- 重要: 使用 sudo 时要格外小心,错误的命令可能导致系统损坏!只有在你理解命令含义时才使用。
- 用法: sudo [命令]
- 示例:
text
user@ubuntu:~$ sudo apt update
user@ubuntu:~$ sudo nano /etc/fstab
- 注意: 第一次使用 sudo 或在长时间未使用后使用,系统会要求输入 当前用户的登录密码 (输入时密码不会显示星号,这是正常的)。
- passwd - 修改用户密码
- 功能: 修改当前登录用户的密码。
- 用法: passwd
- 示例:
text
user@ubuntu:~$ passwd
Changing password for user.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
- 修改其他用户密码 (需要sudo): sudo passwd username
六、 软件包管理 (Package Management - Ubuntu 核心)
- apt (Advanced Package Tool) - 软件包管理工具
- 功能: Ubuntu/Debian 系统上 最重要 的命令之一!用于安装、更新、升级、删除软件包。
- 常用子命令:
- sudo apt update : 刷新软件包索引 。从配置的软件源(仓库)下载最新的软件包列表信息。在安装或升级软件包 之前 , 强烈建议 先运行此命令。它不会升级已安装的软件。
- sudo apt upgrade : 升级所有可升级的软件包 。根据 apt update 获取的信息,将系统中已安装的软件包升级到仓库中的最新版本。通常会要求确认。
- sudo apt install 软件包名 : 安装 指定的软件包(以及它依赖的其他包)。
- sudo apt remove 软件包名 : 卸载 指定的软件包,但 保留 其配置文件。
- sudo apt purge 软件包名 : 完全卸载 指定的软件包, 同时删除 其配置文件。
- sudo apt autoremove : 自动删除 不再需要的依赖包。在卸载软件后运行,可以清理掉那些为了满足依赖关系而自动安装、但现在没有任何其他软件依赖的包。
- apt search 关键词 : 搜索 软件包仓库中名称或描述包含关键词的软件包(不需要 sudo )。
- apt show 软件包名 : 显示 指定软件包的详细信息(版本、描述、依赖等,不需要 sudo )。
- apt list --upgradable : 列出所有可升级的软件包(在 apt update 后使用,不需要 sudo )。
- 用法: sudo apt [子命令] [选项] [软件包名]
- 示例:
text
user@ubuntu:~$ sudo apt update
user@ubuntu:~$ sudo apt upgrade
user@ubuntu:~$ sudo apt install htop vlc
user@ubuntu:~$ sudo apt remove --purge oldapp
user@ubuntu:~$ sudo apt autoremove
user@ubuntu:~$ apt search "web browser"
七、 获取帮助 (Getting Help)
- man (Manual) - 查看命令手册
- 功能: 查看 Linux 命令、函数、配置文件等的 官方详细手册 。这是学习命令最权威、最全面的方式!
- 用法: man [手册页名称] (手册页名称通常是命令名)
- 在 man 页面中的操作:
- 空格 / Page Down : 向下翻页。
- b / Page Up : 向上翻页。
- /关键词 : 在手册页中 向下 搜索关键词(如 /option 找 option),按 n 找下一个匹配项,按 N 找上一个。
- q : 退出 man 。
- 示例:
text
user@ubuntu:~$ man ls
user@ubuntu:~$ man apt
user@ubuntu:~$ man chmod
- 命令名 --help 或 命令名 -h - 查看命令简要帮助
- 功能: 快速查看命令支持的选项和基本用法摘要。比 man 更简洁,适合快速查阅。
- 用法: 命令名 --help 或 命令名 -h
- 示例:
text
user@ubuntu:~$ ls --help
user@ubuntu:~$ cp -h
相关推荐
- Python入门学习记录之一:变量_python怎么用变量
-
写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...
- python变量命名规则——来自小白的总结
-
python是一个动态编译类编程语言,所以程序在运行前不需要如C语言的先行编译动作,因此也只有在程序运行过程中才能发现程序的问题。基于此,python的变量就有一定的命名规范。python作为当前热门...
- Python入门学习教程:第 2 章 变量与数据类型
-
2.1什么是变量?在编程中,变量就像一个存放数据的容器,它可以存储各种信息,并且这些信息可以被读取和修改。想象一下,变量就如同我们生活中的盒子,你可以把东西放进去,也可以随时拿出来看看,甚至可以换成...
- 绘制学术论文中的“三线表”具体指导
-
在科研过程中,大家用到最多的可能就是“三线表”。“三线表”,一般主要由三条横线构成,当然在变量名栏里也可以拆分单元格,出现更多的线。更重要的是,“三线表”也是一种数据记录规范,以“三线表”形式记录的数...
- Python基础语法知识--变量和数据类型
-
学习Python中的变量和数据类型至关重要,因为它们构成了Python编程的基石。以下是帮助您了解Python中的变量和数据类型的分步指南:1.变量:变量在Python中用于存储数据值。它们充...
- 一文搞懂 Python 中的所有标点符号
-
反引号`无任何作用。传说Python3中它被移除是因为和单引号字符'太相似。波浪号~(按位取反符号)~被称为取反或补码运算符。它放在我们想要取反的对象前面。如果放在一个整数n...
- Python变量类型和运算符_python中变量的含义
-
别再被小名词坑哭了:Python新手常犯的那些隐蔽错误,我用同事的真实bug拆给你看我记得有一次和同事张姐一起追查一个看似随机崩溃的脚本,最后发现罪魁祸首竟然是她把变量命名成了list。说实话...
- 从零开始:深入剖析 Spring Boot3 中配置文件的加载顺序
-
在当今的互联网软件开发领域,SpringBoot无疑是最为热门和广泛应用的框架之一。它以其强大的功能、便捷的开发体验,极大地提升了开发效率,成为众多开发者构建Web应用程序的首选。而在Spr...
- Python中下划线 ‘_’ 的用法,你知道几种
-
Python中下划线()是一个有特殊含义和用途的符号,它可以用来表示以下几种情况:1在解释器中,下划线(_)表示上一个表达式的值,可以用来进行快速计算或测试。例如:>>>2+...
- 解锁Shell编程:变量_shell $变量
-
引言:开启Shell编程大门Shell作为用户与Linux内核之间的桥梁,为我们提供了强大的命令行交互方式。它不仅能执行简单的文件操作、进程管理,还能通过编写脚本实现复杂的自动化任务。无论是...
- 一文学会Python的变量命名规则!_python的变量命名有哪些要求
-
目录1.变量的命名原则3.内置函数尽量不要做变量4.删除变量和垃圾回收机制5.结语1.变量的命名原则①由英文字母、_(下划线)、或中文开头②变量名称只能由英文字母、数字、下画线或中文字所组成。③英文字...
- 更可靠的Rust-语法篇-区分语句/表达式,略览if/loop/while/for
-
src/main.rs://函数定义fnadd(a:i32,b:i32)->i32{a+b//末尾表达式}fnmain(){leta:i3...
- C++第五课:变量的命名规则_c++中变量的命名规则
-
变量的命名不是想怎么起就怎么起的,而是有一套固定的规则的。具体规则:1.名字要合法:变量名必须是由字母、数字或下划线组成。例如:a,a1,a_1。2.开头不能是数字。例如:可以a1,但不能起1a。3....
- Rust编程-核心篇-不安全编程_rust安全性
-
Unsafe的必要性Rust的所有权系统和类型系统为我们提供了强大的安全保障,但在某些情况下,我们需要突破这些限制来:与C代码交互实现底层系统编程优化性能关键代码实现某些编译器无法验证的安全操作Rus...
- 探秘 Python 内存管理:背后的神奇机制
-
在编程的世界里,内存管理就如同幕后的精密操控者,确保程序的高效运行。Python作为一种广泛使用的编程语言,其内存管理机制既巧妙又复杂,为开发者们提供了便利的同时,也展现了强大的底层控制能力。一、P...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- opacity 属性 (32)
- transition 属性 (33)
- 1-1. 变量声明 (31)
