前言
本文涵盖了常用的Linux操作指令包含:文件目录操作、用户管理、权限管理、进程管理、网络管理、系统管理、压缩与解压、时间管理、磁盘和文件系统管理、软件包管理以及其他命令。目录在右侧,便于大家查阅。
1. 文件和目录管理
1.1 ls
: 列出目录内容
- 作用: 显示目录中的文件和子目录。
- 命令:
ls -la
- 示例解释:
-l
: 详细信息(权限、所有者、大小等)。-a
: 显示所有文件,包括隐藏文件。
1.2 cd
: 切换目录
- 作用: 更改当前工作目录。
- 命令:
cd /path/to/directory
- 示例解释: 将当前目录切换到指定路径
/path/to/directory
。
1.3 pwd
: 显示当前目录
- 作用: 输出当前工作目录的完整路径。
- 命令:
pwd
- 示例解释: 无需参数,直接显示当前所在目录路径。
1.4 cp
: 复制文件或目录
- 作用: 复制文件或目录到指定位置。
- 命令:
cp -r source_dir/ destination_dir/
- 示例解释:
-r
: 递归复制目录及其内容。
1.5 mv
: 移动或重命名文件或目录
- 作用: 移动文件或目录,或者重命名文件。
- 命令:
mv old_name.txt new_name.txt
- 示例解释: 将文件
old_name.txt
重命名为new_name.txt
。
1.6 rm
: 删除文件或目录
- 作用: 删除文件或目录。
- 命令:
rm -rf directory_to_delete/
- 示例解释:
-r
: 递归删除目录及其内容。-f
: 强制删除,不提示确认。
1.7 mkdir
: 创建目录
- 作用: 创建一个新的目录。
- 命令:
mkdir new_directory
- 示例解释: 在当前目录下创建一个名为
new_directory
的新目录。
1.8 rmdir
: 删除空目录
- 作用: 删除一个空目录。
- 命令:
rmdir empty_directory
- 示例解释: 删除名为
empty_directory
的空目录。
1.9 touch
: 创建空文件或更新文件时间戳
- 作用: 创建一个空文件或更新现有文件的时间戳。
- 命令:
touch newfile.txt
- 示例解释: 创建一个名为
newfile.txt
的空文件,如果文件已存在,则更新其时间戳。
1.10 find
: 查找文件和目录
- 作用: 在指定目录下查找文件或目录。
- 命令:
find /path/to/search -name "filename.txt"
- 示例解释: 在
/path/to/search
目录及其子目录中查找名为filename.txt
的文件。
1.11 du
: 显示磁盘使用情况
- 作用: 显示文件或目录的磁盘使用情况。
- 命令:
du -sh /path/to/dir
- 示例解释:
-s
: 汇总模式,显示指定目录的总大小。-h
: 以人类可读的格式显示(如 KB、MB、GB)。
1.12 df
: 显示文件系统磁盘空间使用情况
- 作用: 显示各个文件系统的磁盘使用情况。
- 命令:
df -h
- 示例解释:
-h
: 以人类可读的格式显示。
1.13 ln
: 创建链接文件
- 作用: 创建硬链接或符号链接。
- 命令:
ln -s /path/to/original /path/to/link
- 示例解释:
-s
: 创建符号链接(软链接)。
2. 文件查看与编辑
2.1 cat
: 连接文件并输出到标准输出
- 作用: 查看文件内容。
- 命令:
cat file.txt
- 示例解释: 显示
file.txt
的内容。
2.2 less
: 分页查看文件内容
- 作用: 分页显示文件内容,支持向上/下滚动。
- 命令:
less file.txt
- 示例解释: 分页显示
file.txt
的内容,使用上下箭头滚动。
2.3 head
: 查看文件的前几行
- 作用: 显示文件的前几行。
- 命令:
head -n 10 file.txt
- 示例解释: 显示
file.txt
的前 10 行。
2.4 tail
: 查看文件的后几行
-
作用: 显示文件的后几行。
-
命令:
tail -n 10 file.txt
-
示例解释: 显示
file.txt
的最后 10 行。 -
tail -f
: 持续跟踪文件的新增内容,常用于查看日志文件。tail -f /var/log/syslog
示例解释: 实时显示
/var/log/syslog
文件的新内容,适合监控日志文件。
2.5 grep
: 搜索文件内容
- 作用: 在文件中搜索符合条件的行。
- 命令:
grep "search_term" file.txt
- 示例解释: 搜索
file.txt
中包含search_term
的行。
2.6 vim
: 文本编辑器
- 作用: 在命令行中编辑文件。
- 命令:
vim file.txt
- 示例解释: 使用 Vim 编辑器打开
file.txt
文件。
2.7 nano
: 简单的文本编辑器
- 作用: 轻量级的命令行文本编辑器。
- 命令:
nano file.txt
- 示例解释: 使用 Nano 编辑器打开
file.txt
文件。
3. 用户管理
3.1 whoami
: 显示当前用户
- 作用: 显示当前登录用户的用户名。
- 命令:
whoami
- 示例解释: 输出当前用户的用户名。
3.2 su
: 切换用户
- 作用: 切换到其他用户的身份。
- 命令:
su - username
- 示例解释: 切换到
username
用户,并加载其环境。
3.3 sudo
: 以超级用户权限执行命令
- 作用: 使用超级用户权限执行命令。
- 命令:
sudo command
- 示例解释: 以超级用户权限执行指定的
command
。
3.4 useradd
: 添加新用户
- 作用: 添加一个新用户到系统。
- 命令:
sudo useradd -m newuser
- 示例解释:
-m
: 为新用户创建一个主目录。
3.5 passwd
: 修改用户密码
- 作用: 设置或修改用户密码。
- 命令:
sudo passwd username
- 示例解释: 设置
username
用户的密码。
3.6 userdel
: 删除用户
- 作用: 从系统中删除一个用户。
- 命令:
sudo userdel -r username
- 示例解释:
-r
: 删除用户的主目录。
3.7 usermod
: 修改用户信息
- 作用: 修改现有用户的信息。
- 命令:
sudo usermod -aG groupname username
- 示例解释:
-aG
: 将username
用户添加到groupname
组。
4. 权限管理
4.1 chmod
: 修改文件权限
- 作用: 改变文件或目录的权限。
- 命令:
chmod 755 script.sh
- 示例解释: 将
script.sh
文件的权限设置为rwxr-xr-x
,即所有者可读写执行,组用户和其他用户可读和执行。
4.2 chown
: 修改文件所有权
- 作用: 改变文件或目录的所有者和/或组。
- 命令:
sudo chown user:group file.txt
- 示例解释: 将
file.txt
的所有者更改为user
,组更改为group
。
4.3 chgrp
: 修改文件所属组
- 作用: 改变文件或目录的所属组。
- 命令:
sudo chgrp groupname file.txt
- 示例解释: 将
file.txt
的组更改为groupname
。
5. 进程管理
5.1 ps
: 查看当前进程
- 作用: 显示当前正在运行的进程。
- 命令:
ps aux
- 示例解释: 显示所有用户的进程信息,包括每个进程的详细信息。
5.2 top
: 实时监控系统性能
- 作用: 实时显示系统中进程的运行情况,包括 CPU 和内存使用情况。
- 命令:
top
- 示例解释: 实时显示系统中进程的状态,可以使用
q
键退出。
5.3 htop
: 更友好的进程监控工具
- 作用: 类似
top
,但提供更好的用户界面和功能。 - 命令:
htop
- 示例解释: 提供图形化的进程监控界面,更易于操作。
5.4 kill
: 终止进程
- 作用: 通过进程 ID(PID)终止指定进程。
- 命令:
kill 1234
- 示例解释: 终止 PID 为
1234
的进程。
5.5 killall
: 终止指定名称的所有进程
- 作用: 终止所有指定名称的进程。
- 命令:
sudo killall firefox
- 示例解释: 终止所有名为
firefox
的进程。
5.6 pkill
: 通过名称终止进程
- 作用: 通过进程名终止进程,支持模式匹配。
- 命令:
pkill -9 firefox
- 示例解释: 强制终止所有名为
firefox
的进程。
6. 网络管理
6.1 ifconfig
: 显示或配置网络接口
- 作用: 显示网络接口的配置信息或进行配置。
- 命令:
ifconfig
- 示例解释: 显示所有网络接口的配置信息,包括 IP 地址、子网掩码等。
6.2 ip
: 管理网络设备、路由和隧道
- 作用: 配置和显示网络设备、路由、策略路由和隧道。
- 命令:
ip addr show
- 示例解释: 显示所有网络接口的 IP 地址信息。
6.3 ping
: 测试网络连通性
- 作用: 向目标主机发送 ICMP 回显请求,以测试连通性。
- 命令:
ping www.google.com
- 示例解释: 向
www.google.com
发送数据包,以测试与 Google 的连通性。
6.4 netstat
: 显示网络连接、路由表等
- 作用: 显示网络连接、接口状态、路由表、伪装连接等。
- 命令:
netstat -tuln
- 示例解释:
-t
: 显示 TCP 连接。-u
: 显示 UDP 连接。-l
: 显示监听的端口。-n
: 使用数字形式显示地址和端口。
6.5 ss
: 显示套接字统计信息
- 作用: 显示网络连接,比
netstat
更快速和强大。 - 命令:
ss -tuln
- 示例解释: 显示监听的 TCP 和 UDP 连接。
6.6 wget
: 从网络下载文件
- 作用: 非交互地下载文件。
- 命令:
wget https://example.com/file.zip
- 示例解释: 从
https://example.com/file.zip
下载文件到当前目录。
6.7 curl
: 传输数据到或从服务器
- 作用: 使用 URL 语法传输数据,支持多种协议。
- 命令:
curl -O https://example.com/file.zip
- 示例解释: 下载文件
file.zip
到当前目录,-O
表示保存文件时使用其原始名称。
6.8 scp
: 通过 SSH 进行安全的文件复制
- 作用: 安全地在主机之间复制文件。
- 命令:
scp file.txt user@remote_host:/path/to/destination
- 示例解释: 将
file.txt
从本地复制到远程主机的/path/to/destination
目录中。
6.9 ssh
: 通过 SSH 登录远程主机
- 作用: 通过安全外壳协议登录到远程主机。
- 命令:
ssh user@remote_host
- 示例解释: 通过 SSH 登录到
remote_host
,以user
的身份进行远程会话。
6.10 rsync
: 远程同步文件和目录
- 作用: 高效地在本地和远程主机之间同步文件和目录。
- 命令:
rsync -avz /path/to/source/ user@remote_host:/path/to/destination/
- 示例解释:
-a
: 归档模式,保留权限、时间等信息。-v
: 显示详细输出。-z
: 压缩数据传输。
7. 系统管理
7.1 df
: 显示磁盘空间使用情况
- 作用: 显示文件系统的磁盘使用情况。
- 命令:
df -h
- 示例解释: 显示磁盘使用情况,
-h
以人类可读的格式显示(KB、MB、GB)。
7.2 du
: 显示目录或文件的磁盘使用情况
- 作用: 显示目录或文件的磁盘空间使用情况。
- 命令:
du -sh /path/to/directory
- 示例解释: 显示
/path/to/directory
目录的总磁盘使用量,-h
以人类可读格式显示。
7.3 free
: 显示内存使用情况
- 作用: 显示系统中物理内存和交换内存的使用情况。
- 命令:
free -h
- 示例解释: 显示内存使用情况,
-h
以人类可读格式显示(MB、GB)。
7.4 uptime
: 显示
系统运行时间及负载
- 作用: 显示系统已运行的时间和当前的系统负载。
- 命令:
uptime
- 示例解释: 输出系统已运行的时间,当前用户数以及系统负载。
7.5 uname
: 显示系统信息
- 作用: 显示系统信息。
- 命令:
uname -a
- 示例解释: 显示包括内核版本、主机名、硬件架构等在内的所有系统信息。
7.6 top
: 实时显示系统中各个进程的状态信息
- 作用: 实时监控系统资源和进程。
- 命令:
top
- 示例解释: 实时显示 CPU 和内存使用情况,以及系统中各个进程的状态。
7.7 htop
: 提供友好的进程监控工具
- 作用: 类似
top
,但界面更友好,操作更方便。 - 命令:
htop
- 示例解释: 提供图形化界面的进程监控工具。
7.8 dmesg
: 显示内核消息
- 作用: 显示系统引导过程中的内核消息,或者查看硬件和驱动程序的相关信息。
- 命令:
dmesg | tail
- 示例解释: 显示最近的内核消息,可以帮助诊断硬件问题。
7.9 history
: 显示历史命令
- 作用: 显示用户输入的命令历史。
- 命令:
history
- 示例解释: 列出所有之前执行的命令,可以通过
!n
重复执行第n
个命令。
8. 压缩与解压
8.1 tar
: 创建、解压缩归档文件
- 作用: 创建或解压
.tar
文件,支持压缩。 - 命令:
tar -czvf archive.tar.gz /path/to/directory
- 示例解释: 将
/path/to/directory
目录压缩为archive.tar.gz
文件。tar -xzvf archive.tar.gz
- 示例解释: 解压
archive.tar.gz
文件。
8.2 zip
: 创建压缩文件
- 作用: 创建
.zip
压缩文件。 - 命令:
zip -r archive.zip /path/to/directory
- 示例解释: 将
/path/to/directory
目录压缩为archive.zip
文件。
8.3 unzip
: 解压缩 .zip
文件
- 作用: 解压
.zip
文件。 - 命令:
unzip archive.zip
- 示例解释: 解压
archive.zip
文件。
9. 时间管理
9.1 date
: 显示或设置系统日期和时间
- 作用: 显示当前系统的日期和时间,或设置日期和时间。
- 命令:
date
- 示例解释: 显示当前系统日期和时间。
9.2 cal
: 显示日历
- 作用: 显示当前月份的日历。
- 命令:
cal
- 示例解释: 显示当前月份的日历。
9.3 timedatectl
: 控制系统时间和日期
- 作用: 查询和更改系统时间和日期设置。
- 命令:
timedatectl
- 示例解释: 显示当前的时间、日期、时区信息,可以用来同步时间和设置时间。
10. 磁盘和文件系统管理
10.1 mount
: 挂载文件系统
- 作用: 将文件系统挂载到系统中的某个挂载点。
- 命令:
sudo mount /dev/sda1 /mnt
- 示例解释: 将
/dev/sda1
分区挂载到/mnt
目录下。
10.2 umount
: 卸载文件系统
- 作用: 卸载已经挂载的文件系统。
- 命令:
sudo umount /mnt
- 示例解释: 卸载挂载在
/mnt
目录下的文件系统。
10.3 fdisk
: 管理磁盘分区
- 作用: 查看和管理磁盘分区。
- 命令:
sudo fdisk /dev/sda
- 示例解释: 对
/dev/sda
进行分区操作。
10.4 mkfs
: 创建文件系统
- 作用: 在分区上创建文件系统。
- 命令:
sudo mkfs.ext4 /dev/sda1
- 示例解释: 在
/dev/sda1
分区上创建 ext4 文件系统。
11. 软件包管理
11.1 apt-get
: 软件包管理器(适用于 Debian/Ubuntu 系列)
- 作用: 管理 Debian 系系统的软件包(安装、更新、删除等)。
- 命令:
sudo apt-get update
- 示例解释: 更新软件包列表。
sudo apt-get install package_name
- 示例解释: 安装名为
package_name
的软件包。
11.2 yum
: 软件包管理器(适用于 RedHat/CentOS 系列)
- 作用: 管理 RedHat 系系统的软件包(安装、更新、删除等)。
- 命令:
sudo yum update
- 示例解释: 更新所有已安装的软件包。
sudo yum install package_name
- 示例解释: 安装名为
package_name
的软件包。
11.3 dnf
: 下一代软件包管理器(适用于 Fedora)
- 作用: 管理 Fedora 系系统的软件包(安装、更新、删除等)。
- 命令:
sudo dnf update
- 示例解释: 更新所有已安装的软件包。
sudo dnf install package_name
- 示例解释: 安装名为
package_name
的软件包。
11.4 dpkg
: Debian 软件包管理工具
- 作用: 直接安装、删除、查询 .deb 包。
- 命令:
sudo dpkg -i package_name.deb
- 示例解释: 安装名为
package_name.deb
的软件包。sudo dpkg -r package_name
- 示例解释: 删除名为
package_name
的软件包。
12. 其他命令
12.1 echo
: 输出文本
- 作用: 在终端中输出文本,或将文本写入文件。
- 命令:
echo "Hello, World!"
- 示例解释: 输出文本 “Hello, World!”。
echo "Hello, World!" > file.txt
- 示例解释: 将文本 “Hello, World!” 写入
file.txt
文件。
12.2 alias
: 为命令创建别名
- 作用: 创建命令的别名,以简化操作。
- 命令:
alias ll="ls -la"
- 示例解释: 创建别名
ll
,相当于执行ls -la
。
12.3 env
: 显示或设置环境变量
- 作用: 显示当前用户的环境变量,或运行时设置临时环境变量。
- 命令:
env
- 示例解释: 显示当前的环境变量。
env VAR_NAME=value command
- 示例解释: 在运行
command
时,临时设置环境变量VAR_NAME
为value
。
12.4 export
: 设置环境变量
- 作用: 设置永久的环境变量。
- 命令:
export VAR_NAME=value
- 示例解释: 设置环境变量
VAR_NAME
为value
,在当前会话和子进程中有效。
12.5 source
: 在当前 shell 会话中执行脚本
- 作用: 在当前 shell 中执行脚本。
- 命令:
source script.sh
- 示例解释: 在当前 shell 会话中执行
script.sh
,而不是启动一个新的子 shell。
12.6 man
: 查看命令的手册页
- 作用: 查看 Linux 命令的手册页,获取详细使用信息。
- 命令:
man ls
- 示例解释: 显示
ls
命令的手册页,了解其用法和选项。