linux基础命令
以下是 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
可以找到新文件。