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 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:打开文件进行编辑。

vimvi

功能强大的文本编辑器。

vim file_namevi 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 地址。

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. 用户和组管理命令

adduseruseradd

添加新用户。

adduser usernameuseradd username:添加一个新用户。

adduser username --home /path/to/home:指定用户的主目录。

passwd

更改用户密码。

passwd username:更改指定用户的密码。

passwd:更改当前用户的密码。

usermod

修改用户账户。

usermod -aG group_name username:将用户添加到指定组。

deluseruserdel

删除用户。

deluser usernameuserdel 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 可以找到新文件。

相关推荐
汪先声2 分钟前
详解TCP的三次握手
网络·网络协议·tcp/ip
椰椰椰耶3 分钟前
【IP协议】解决 IP 地址不够用的问题(IP地址管理:动态分配、NAT、Ipv6)
网络·网络协议·tcp/ip
htt7893 分钟前
ARP:IP到MAC地址转换
服务器·tcp/ip·macos
laizhenghua4 分钟前
Linux定时启动jar应用shell脚本分享
linux
Flying_Fish_roe5 分钟前
linux-安全管理-SSH 安全管理
linux·安全·ssh
KookeeyLena512 分钟前
动态IP的最大更新频率
网络·网络协议·tcp/ip
没有名字的小羊26 分钟前
fastjson漏洞
运维·网络·web安全·中间件
api7737 分钟前
1688商品详情API返回值中的售后保障与服务信息
java·服务器·前端·javascript·python·spring·pygame
ZH_qaq1 小时前
Linux 常用指令
linux·运维·服务器
Gauss松鼠会1 小时前
GaussDB关键技术原理:高弹性(四)
java·大数据·网络·数据库·分布式·gaussdb