以下是 Linux 基础命令的详细介绍,包括各个命令的用法和常见选项:
1. 文件和目录操作命令
ls
列出目录内容。
-
ls:列出当前目录的文件和目录。 -
ls -l:以长格式显示,显示详细信息(权限、所有者、大小等)。 -
ls -a:显示所有文件,包括隐藏文件(以.开头的文件)。 -
ls -lh:以人类可读的格式显示文件大小(例如 KB、MB)。
cd
更改目录。
-
cd /path/to/directory:切换到指定目录。 -
cd ..:返回上一级目录。 -
cd ~:切换到当前用户的主目录。 -
cd -:切换到上一个目录。
pwd
显示当前工作目录的完整路径。
-
pwd:输出当前工作目录的路径。
mkdir
创建新目录。
-
mkdir directory_name:创建一个新目录。 -
mkdir -p /path/to/directory:递归创建多级目录。
rmdir
删除空目录。
-
rmdir directory_name:删除指定的空目录。
rm
删除文件或目录。
-
rm file_name:删除指定的文件。 -
rm -r directory_name:递归删除指定的目录及其内容。 -
rm -f file_name:强制删除指定的文件,不提示确认。
cp
复制文件或目录。
-
cp source_file destination_file:复制文件到指定位置。 -
cp -r source_directory destination_directory:递归复制目录及其内容。
mv
移动或重命名文件或目录。
-
mv source_file destination_file:移动或重命名文件。 -
mv source_directory destination_directory:移动目录及其内容。
2. 文件查看和编辑命令
cat
连接并显示文件内容。
-
cat file_name:显示文件内容。 -
cat file1 file2:将多个文件内容连接在一起显示。
more
分页显示文件内容。
-
more file_name:逐页显示文件内容。
less
分页查看文件内容,比 more 更强大。
-
less file_name:逐页显示文件内容,可以向前向后滚动。
head
查看文件的前几行。
-
head file_name:默认显示前 10 行。 -
head -n 20 file_name:显示前 20 行。
tail
查看文件的最后几行。
-
tail file_name:默认显示最后 10 行。 -
tail -n 20 file_name:显示最后 20 行。 -
tail -f file_name:实时显示文件新增的内容(适用于日志文件)。
nano
简单的文本编辑器。
-
nano file_name:打开文件进行编辑。
vim 或 vi
功能强大的文本编辑器。
-
vim file_name或vi file_name:打开文件进行编辑。
3. 文件权限和所有者命令
chmod
更改文件或目录的权限。
-
chmod 755 file_name:设置文件权限为rwxr-xr-x。 -
chmod u+x file_name:给文件所有者增加执行权限。
chown
更改文件或目录的所有者和所属组。
-
chown user:group file_name:将文件所有者更改为user,所属组更改为group。 -
chown -R user:group directory_name:递归更改目录及其内容的所有者和所属组。
chgrp
更改文件或目录的所属组。
-
chgrp group file_name:将文件的所属组更改为group。
4. 文件查找和搜索命令
find
查找文件或目录。
-
find /path -name file_name:在指定路径下查找文件。 -
find /path -type d -name directory_name:查找目录。 -
find /path -mtime -7:查找最近 7 天内修改过的文件。
locate
快速查找文件。
-
locate file_name:根据系统数据库查找文件,通常更快。
grep
搜索文件中的文本。
-
grep 'pattern' file_name:在文件中查找匹配的文本。 -
grep -r 'pattern' directory_name:递归查找目录中的匹配文本。
5. 系统信息命令
df
显示文件系统的磁盘空间使用情况。
-
df:显示所有挂载文件系统的磁盘空间使用情况。 -
df -h:以人类可读的格式显示(例如 GB)。
du
显示文件和目录的磁盘使用情况。
-
du file_name:显示指定文件或目录的磁盘使用情况。 -
du -sh directory_name:以人类可读的格式显示目录大小。
top
实时显示系统进程和资源使用情况。
-
top:显示当前系统的资源使用情况。
ps
显示当前进程的状态。
-
ps aux:显示所有用户的进程信息。 -
ps -ef:显示所有进程及详细信息。
free
显示系统的内存使用情况。
-
free:显示内存和交换空间的使用情况。 -
free -h:以人类可读的格式显示内存信息。
uptime
显示系统的运行时间和负载信息。
-
uptime:显示系统的运行时间、当前时间、系统负载等信息。
uname
显示系统信息。
-
uname -a:显示系统内核版本、操作系统等信息。
6. 网络命令
ping
测试网络连接。
-
ping host:测试到指定主机的网络连接。
ifconfig
显示或配置网络接口(在较新的系统中被 ip 命令替代)。
-
ifconfig:显示网络接口的状态信息。 -
ifconfig eth0 up:启动指定网络接口。
ip
管理网络接口(新命令,替代 ifconfig)。
-
ip addr:显示网络接口的 IP 地址。 -
ip link set eth0 up:启动指定网络接口。
netstat
显示网络连接、路由表等信息。
-
netstat -tuln:显示所有监听中的网络连接。 -
netstat -a:显示所有网络连接和端口。
ss
显示网络套接字。
-
ss -tuln:显示所有监听中的网络连接,比netstat更加现代和高效。
7. 归档和压缩命令
tar
创建和解压归档文件。
-
tar -cvf archive_name.tar file1 file2:创建一个.tar归档文件。 -
tar -xvf archive_name.tar:解压.tar归档文件。 -
tar -czvf archive_name.tar.gz directory_name:创建一个.tar.gz压缩归档文件。 -
tar -xzvf archive_name.tar.gz:解压.tar.gz文件。
gzip
压缩文件。
-
gzip file_name:压缩文件为.gz格式。 -
gzip -d file_name.gz:解压.gz文件。
bzip2
压缩文件。
-
bzip2 file_name:压缩文件为.bz2格式。 -
bzip2 -d file_name.bz2:解压.bz2文件。
zip
创建和解压 .zip 文件。
-
zip archive_name.zip file1 file2:创建.zip压缩文件。 -
unzip archive_name.zip:解压.zip压缩文件。
unzip
解压 .zip 文件。
-
unzip file_name.zip:解压指定的.zip文件。
8. 用户和组管理命令
adduser 或 useradd
添加新用户。
-
adduser username或useradd username:添加一个新用户。 -
adduser username --home /path/to/home:指定用户的主目录。
passwd
更改用户密码。
-
passwd username:更改指定用户的密码。 -
passwd:更改当前用户的密码。
usermod
修改用户账户。
-
usermod -aG group_name username:将用户添加到指定组。
deluser 或 userdel
删除用户。
-
deluser username或userdel username:删除指定用户。
groupadd
添加新组。
-
groupadd group_name:添加一个新组。
groupdel
删除组。
-
groupdel group_name:删除指定组。
9. 进程管理命令
kill
终止进程。
-
kill PID:终止指定进程。 -
kill -9 PID:强制终止指定进程。
pkill
通过进程名终止进程。
-
pkill process_name:终止所有匹配的进程名。
killall
终止所有匹配的进程名。
-
killall process_name:终止所有匹配的进程名。
bg
将后台进程恢复到前台。
-
bg job_number:将指定作业恢复到后台运行。
fg
将后台进程移到前台。
-
fg job_number:将指定作业恢复到前台。
jobs
列出后台作业。
-
jobs:显示当前用户的后台作业列表。
10. 文件和目录查找命令
locate
快速查找文件。
-
locate file_name:根据系统数据库查找文件。
updatedb
更新 locate 命令使用的数据库。
-
updatedb:更新文件数据库,以便locate可以找到新文件。










