Linux指令大全
下面是一些常见的 Linux 指令及其简要说明,分为不同类别,方便查阅:
文件和目录操作
- ls:列出当前目录的内容
-
ls -l:详细显示文件信息ls -a:显示隐藏文件
- cd:切换目录
-
cd ..:返回上一级目录cd ~:进入用户的主目录
- pwd:显示当前工作目录
- mkdir:创建新目录
-
mkdir dirname:创建名为 dirname 的目录
- rm:删除文件或目录
-
rm file:删除文件rm -r dir:递归删除目录rm -rf dir: 无需用户确认直接强行删除rm -f:强制删除文件 加上这个就不用
- cp:复制文件或目录
-
cp file1 file2:将文件 file1 复制到 file2cp -r dir1 dir2:递归复制目录
- mv:移动文件或重命名
-
mv file1 file2:将文件 file1 移动或重命名为 file2
- touch:创建新文件
-
touch filename:创建空文件
文件内容查看
- cat:查看文件内容
-
cat file:显示文件内容
- less:分页查看文件内容
-
less file:逐页查看文件内容- 在使用
less分页查看文件内容时,你可以按以下键退出查看模式:
css
退出 less 的方法:
● 按 q 键:这是退出 less 查看器的快捷键,按下 q 后会立即退出 less,返回命令行。
常见的其他 less 操作:
● 向下翻页:按 Space 键或 f 键。
● 向上翻页:按 b 键。
● 向下滚动一行:按 Enter 键或 j 键。
● 向上滚动一行:按 k 键。
● 搜索文本:按 / 键,然后输入搜索的关键字,按 Enter 进行搜索。
要退出 less 查看器,只需按下 q 键即可
- more :类似于 less,但功能稍弱 4. head:显示文件前几行
-
head -n 10 file:显示文件的前 10 行
- tail:显示文件后几行
-
tail -n 10 file:显示文件的最后 10 行tail -f file:实时查看文件末尾的变化(例如日志文件)
文件权限
- chmod:更改文件权限
-
chmod 755 file:设置文件权限为 755chmod u+x file:为文件的拥有者添加执行权限
- chown:更改文件所有者
-
chown user:group file:将文件的所有者和所属组更改为指定的 user 和 group
- umask:设置默认文件权限
系统管理
- sudo:以超级用户身份执行命令
-
sudo command:以管理员身份执行 command
- df:查看磁盘空间使用情况
-
df -h:以可读的方式显示
- du:查看目录和文件的大小
-
du -h:以可读的方式显示du -sh dir:显示目录 dir 的总大小
- top:实时查看系统进程和资源使用情况
- ps:查看当前运行的进程
-
ps aux:显示所有进程的详细信息- ps -ef
- kill:终止进程
-
kill PID:终止指定 PID 的进程kill -9 PID:强制终止进程
- reboot:重启系统
- shutdown:关闭系统
-
shutdown -h now:立即关机shutdown -r now:立即重启
压缩与解压
- tar:打包和解包文件
-
tar -cvf archive.tar dir/:将 dir 目录打包为 archive.tartar -xvf archive.tar:解包 archive.tartar -czvf archive.tar.gz dir/:打包并压缩为 gzip 格式tar -xzvf archive.tar.gz:解压 gzip 格式的压缩包
- gzip:压缩文件
-
gzip file:压缩文件gzip -d file.gz:解压缩文件
- zip:压缩文件或目录
-
zip archive.zip file1 file2:压缩文件unzip archive.zip:解压缩文件
- 下载rar解析工具
sudo dnf install epel - release
sudo dnf install unrar
unrar x example.rar
网络相关
- ping:测试网络连通性
-
ping www.example.com:测试与域名的连接
- ifconfig:查看或配置网络接口(较旧)
- ip:显示或修改网络配置(替代 ifconfig)
-
ip addr:查看网络地址
- netstat:查看网络连接状态
-
netstat -tuln:查看当前监听的端口
- ssh:远程登录
-
ssh user@host:登录到指定的远程主机
- scp:通过 SSH 复制文件
-
scp file user@host:/path/:将文件复制到远程主机scp user@host:/path/file ./:从远程主机复制文件到本地
搜索与查找
- find:在文件系统中查找文件
-
find /path -name filename:在 /path 目录下查找名为 filename 的文件
- grep:在文件中搜索文本
-
grep 'pattern' file:在文件中搜索匹配 pattern 的行grep -r 'pattern' dir/:递归搜索目录
- locate:快速查找文件
-
locate filename:查找文件位置(需要事先更新数据库)
磁盘和文件系统
- mount:挂载文件系统
-
mount /dev/sdX /mnt:挂载设备到 /mnt 目录
- umount:卸载文件系统
-
umount /mnt:卸载挂载在 /mnt 的文件系统
- fdisk:磁盘分区工具
- mkfs:格式化文件系统
-
mkfs.ext4 /dev/sdX:将设备格式化为 ext4 文件系统
用户和组管理
- useradd:添加新用户
-
useradd username:添加新用户
- passwd:设置用户密码
-
passwd username:为用户设置密码
- groupadd:添加新组
- usermod:修改用户属性
-
usermod -aG group username:将用户添加到组中
- userdel:删除用户
-
userdel username:删除用户
- who:查看当前登录的用户
- su:切换用户身份
-
su - username:切换到指定用户
其他常用命令
- echo:输出文本
-
echo "Hello World":打印文本
- history:查看命令历史
- alias:为命令创建别名
-
alias ll='ls -l':将ll作为ls -l的别名
- date:显示当前日期和时间
- uptime:查看系统运行时间
- clear:清屏
| 命令 | 说明 | 文档地址 |
|---|---|---|
| docker pull | 拉取镜像 | docker pull |
| docker push | 推送镜像到DockerRegistry | docker push |
| docker images | 查看本地镜像 | docker images |
| docker rmi | 删除本地镜像 | docker rmi |
| docker run | 创建并运行容器(不能重复创建) | docker run |
| docker stop | 停止指定容器 | docker stop |
| docker start | 启动指定容器 | docker start |
| docker restart | 重新启动容器 | docker restart |
| docker rm | 删除指定容器 | docs.docker.com |
| docker ps | 查看容器 | docker ps |
| docker logs | 查看容器运行日志 | docker logs |
| docker exec | 进入容器 | docker exec |
| docker save | 保存镜像到本地压缩文件 | docker save |
| docker load | 加载本地压缩文件到镜像 | docker load |
| docker inspect | 查看容器详细信息 | docker inspect |
Docker 是一个用于容器化应用程序的开源平台,以下是一些常见的 Docker 命令,涵盖了镜像、容器、网络、数据卷等操作。
镜像操作
- 搜索镜像
-
docker search image_name:在 Docker Hub 上搜索镜像。
- 下载镜像
-
docker pull image_name:从 Docker Hub 下载镜像。docker pull image_name:tag:下载指定标签(版本)的镜像。
- 列出本地镜像
-
docker images:列出本地的所有镜像。
- 删除镜像
-
docker rmi image_name:删除本地的指定镜像。docker rmi image_id:根据镜像 ID 删除镜像。
- 构建镜像
-
docker build -t image_name:tag .:基于 Dockerfile 构建镜像并指定名称和标签。
容器操作
- 运行容器
-
docker run image_name:从镜像启动一个容器。docker run -d image_name:后台运行容器(守护模式)。docker run -it image_name /bin/bash:启动交互式容器并进入 Bash。
- 列出容器
-
docker ps:列出正在运行的容器。docker ps -a:列出所有容器(包括停止的)。
- 停止容器
-
docker stop container_id:停止指定容器。docker stop $(docker ps -q):停止所有运行中的容器。
- 启动容器
-
docker start container_id:启动已停止的容器。
- 删除容器
-
docker rm container_id:删除指定容器。docker rm $(docker ps -a -q):删除所有已停止的容器。
- 查看容器日志
-
docker logs container_id:查看指定容器的日志。docker logs -f container_id:实时查看容器日志。
- 进入容器
-
docker exec -it container_id /bin/bash:进入正在运行的容器并启动一个交互式终端。
- 重启容器
-
docker restart container_id:重启容器。
网络操作
- 列出网络
-
docker network ls:列出所有 Docker 网络。
- 创建网络
-
docker network create network_name:创建自定义网络。
- 删除网络
-
docker network rm network_name:删除指定网络。
- 连接容器到网络
-
docker network connect network_name container_id:将容器连接到指定网络。
- 断开容器与网络的连接
-
docker network disconnect network_name container_id:断开容器与网络的连接。
数据卷(Volume)操作
- 创建数据卷
-
docker volume create volume_name:创建数据卷。
- 列出数据卷
-
docker volume ls:列出所有数据卷。
- 挂载数据卷
-
docker run -v volume_name:/path/in/container image_name:将数据卷挂载到容器中指定的路径。
- 删除数据卷
-
docker volume rm volume_name:删除指定的数据卷。
- 清理未使用的数据卷
-
docker volume prune:删除所有未使用的数据卷。
镜像和容器清理
- 删除未使用的镜像
-
docker image prune:删除所有未被容器使用的镜像。
- 删除所有未使用的资源
-
docker system prune:清理所有未使用的容器、镜像、网络等资源。
Docker Compose
- 启动容器
-
docker-compose up:根据docker-compose.yml启动服务。docker-compose up -d:后台运行所有服务。
- 停止容器
-
docker-compose down:停止并删除所有由docker-compose启动的容器和网络。
- 查看容器日志
-
docker-compose logs:查看由docker-compose启动的服务的日志。
- 构建镜像
-
docker-compose build:根据docker-compose.yml文件构建镜像。
其他常用命令
- 查看容器信息
-
docker inspect container_id:查看容器详细信息。docker stats:实时查看容器的资源使用情况。
- 复制文件
-
docker cp container_id:/path/in/container /host/path:从容器内复制文件到宿主机。docker cp /host/path container_id:/path/in/container:从宿主机复制文件到容器内。
- 重命名容器
-
docker rename old_name new_name:为容器重新命名。
- 导出容器
-
docker export container_id > file.tar:将容器导出为 tar 文件。
- 导入容器
-
docker import file.tar:将导出的 tar 文件导入为镜像。
管理 Docker 服务
- 启动 Docker 服务
-
sudo systemctl start docker:启动 Docker 服务。
- 停止 Docker 服务
-
sudo systemctl stop docker:停止 Docker 服务。
- 检查 Docker 服务状态
-
sudo systemctl status docker:检查 Docker 服务是否正在运行。
- 启用 Docker 开机启动
-
sudo systemctl enable docker:设置 Docker 开机自动启动。
总结
以上是常见的 Docker 命令,涵盖了容器的启动、停止、删除、网络管理、数据卷管理等操作。通过熟悉这些命令,可以有效地使用 Docker 来管理和部署容器化应用。
在 Linux 系统中,sudo 命令的作用是以超级用户(root)的权限执行命令。普通用户在执行一些涉及系统级别的操作时,往往需要通过 sudo 来临时获取 root 权限。sudo 和不加 sudo 的区别主要体现在权限控制上。
总结
- 加
sudo:你可以提升到 root 权限执行命令,通常是管理系统服务所必需的。 - 不加
sudo:以普通用户权限执行命令,通常无法成功启动或管理系统级服务,除非当前用户就是 root。
一般情况下,管理 Docker 服务(如启动、停止等)都需要 sudo 权限,因此你需要在命令前加上 sudo 来提升权限。
systemctl 是 Linux 系统中用于管理 systemd 系统和服务管理器的命令行工具。systemd 是许多现代 Linux 发行版中默认的系统初始化程序(init 系统),负责启动、停止和管理系统的服务和进程。
systemctl 主要用于启动、停止、重启服务,查看服务状态,以及管理系统服务的启动行为(例如开机自动启动等)。
systemctl 的常用功能和命令
- 启动服务
-
systemctl start service_name:启动指定的服务。- 示例:
systemctl start docker启动 Docker 服务。
- 停止服务
-
systemctl stop service_name:停止指定的服务。- 示例:
systemctl stop nginx停止 Nginx 服务。
- 重启服务
-
systemctl restart service_name:重启指定的服务。- 示例:
systemctl restart apache2重启 Apache 服务。
- 查看服务状态
-
systemctl status service_name:查看服务的当前状态(运行中、停止或失败等)。- 示例:
systemctl status ssh查看 SSH 服务状态。
- 启用服务(开机自启)
-
systemctl enable service_name:设置指定服务为开机自动启动。- 示例:
systemctl enable docker设置 Docker 服务为开机启动。
- 禁用服务(取消开机自启)
-
systemctl disable service_name:取消指定服务的开机启动。- 示例:
systemctl disable docker禁止 Docker 开机自动启动。
- 查看服务是否开机自启
-
systemctl is-enabled service_name:查看某个服务是否设置为开机自启。
- 重新加载配置
-
systemctl reload service_name:在不终止服务的情况下重新加载其配置文件(如果服务支持)。- 示例:
systemctl reload nginx重新加载 Nginx 的配置文件。
- 列出所有服务
-
systemctl list-units --type=service:列出系统中所有的服务及其状态。
- 列出失败的服务
-
systemctl --failed:显示所有失败的服务。
- 查看系统状态
-
systemctl或systemctl status:查看系统整体的状态,包括系统启动时间、加载的服务、状态等。
systemd 和 systemctl 的关系
systemd是一个系统和服务管理器,负责启动系统时初始化服务、挂载文件系统、管理服务的依赖关系、处理进程等。它取代了传统的init系统。systemctl是与systemd交互的命令行工具,允许管理员通过命令管理服务和系统状态。
常见的 systemctl 使用示例
- 启动 Docker 服务:
sql
sudo systemctl start docker
- 查看 Apache 服务的状态:
lua
sudo systemctl status apache2
- 设置 Nginx 服务为开机自启:
bash
sudo systemctl enable nginx
-
重启 MySQL 服务:
sudo systemctl restart mysql
-
查看系统的整体状态:
lua
systemctl status
总结
systemctl 是一个非常强大的命令行工具,用于控制 systemd 管理的服务和系统状态。通过 systemctl,可以方便地启动、停止、管理和监控系统服务,提升了 Linux 系统管理的效率和灵活性。