Linux 常用命令大全与详细讲解

Linux 作为一种流行的操作系统,广泛应用于服务器、开发环境和日常桌面使用中。Linux 的强大之处在于它的命令行工具,用户通过命令行可以执行系统管理、文件处理、网络配置等多种操作。本文将详细介绍一些 Linux 中最常用的命令,从文件操作到系统管理,帮助你全面掌握 Linux 的基础操作。

目录

  1. 文件与目录操作命令
    • ls, cd, pwd, mkdir, rmdir, rm, cp, mv, touch
  2. 文件内容查看与编辑
    • cat, less, more, head, tail, nano, vi
  3. 用户与权限管理
    • useradd, usermod, passwd, chmod, chown, su, sudo
  4. 系统管理命令
    • ps, top, kill, df, du, free
  5. 网络相关命令
    • ping, ifconfig, netstat, ssh, scp
  6. 软件包管理
    • apt, yum, dnf
  7. 归档与压缩
    • tar, gzip, zip, unzip
  8. 进阶:查找、处理与过滤命令
    • find, grep, sed, awk
  9. 小结

1. 文件与目录操作命令

1.1 ls - 列出目录内容

ls 用于列出指定目录的内容,包括文件和子目录。

  • ls:列出当前目录的文件和目录。
  • ls -l:显示详细信息,例如权限、大小、修改日期等。
  • ls -a :显示所有文件,包括隐藏文件(以 . 开头的文件)。
1.2 cd - 切换目录

cd 用于切换工作目录。

  • cd /home/user :切换到 /home/user 目录。
  • cd ..:返回上一级目录。
1.3 pwd - 打印当前工作目录

pwd 显示当前所在的完整路径。

sh 复制代码
pwd
1.4 mkdir 和 rmdir - 创建与删除目录
  • mkdir new_folder :创建名为 new_folder 的新目录。
  • rmdir empty_folder :删除空目录 empty_folder
1.5 rm - 删除文件或目录

rm 用于删除文件或目录。

  • rm file.txt :删除 file.txt
  • rm -r folder :递归删除 folder 及其所有子文件和目录。
1.6 cp 和 mv - 复制与移动文件
  • cp file1 file2 :复制 file1file2
  • mv file1 /new_location/ :移动 file1/new_location 目录。
1.7 touch - 创建空文件

touch 常用于创建新的空文件。

sh 复制代码
touch newfile.txt

2. 文件内容查看与编辑

2.1 cat - 查看文件内容

cat 用于查看文件的内容。

sh 复制代码
cat file.txt
2.2 less 和 more - 分页查看文件内容

lessmore 可用于查看较大的文件,方便逐页翻阅。

  • less file.txt :向下滚动时按空格键,退出时按 q
  • more file.txt :与 less 类似,逐页显示文件内容。
2.3 head 和 tail - 查看文件头部与尾部
  • head -n 10 file.txt :显示 file.txt 的前 10 行。
  • tail -n 10 file.txt :显示 file.txt 的后 10 行。
2.4 nano 和 vi - 文本编辑器
  • nano :简单易用的文本编辑器。使用 Ctrl + X 保存并退出。
  • vi :功能更为丰富的编辑器,按 i 进入插入模式,编辑完成后按 Esc 键,再输入 :wq 保存并退出。

3. 用户与权限管理

3.1 useradd 和 usermod - 用户管理
  • useradd newuser :添加新用户 newuser
  • usermod -aG groupname username :将用户 username 添加到组 groupname
3.2 passwd - 修改用户密码

passwd 用于修改用户密码。

sh 复制代码
passwd username
3.3 chmod 和 chown - 权限和所有者管理
  • chmod 755 file.txt :设置文件的权限为 rwxr-xr-x
  • chown user:group file.txt :将文件的所有者改为 user,组为 group
3.4 su 和 sudo - 切换用户与执行超级用户命令
  • su:切换到超级用户。
  • sudo command:使用超级用户权限执行命令。

4. 系统管理命令

4.1 ps 和 top - 进程管理
  • ps aux:显示系统中所有正在运行的进程。
  • top:实时显示系统中占用 CPU 和内存较多的进程。
4.2 kill - 终止进程

kill 根据进程 ID 终止进程。

sh 复制代码
kill 1234
4.3 df 和 du - 磁盘管理
  • df -h:显示文件系统的磁盘使用情况。
  • du -sh /directory :显示目录 /directory 的总大小。
4.4 free - 查看内存使用

free 显示内存使用情况。

sh 复制代码
free -h

5. 网络相关命令

5.1 ping - 网络测试

ping 用于检查主机是否可达。

sh 复制代码
ping google.com
5.2 ifconfig - 查看网络配置信息

ifconfig 显示或配置网络接口信息。

sh 复制代码
ifconfig
5.3 netstat - 网络状态

netstat 显示网络连接和套接字统计信息。

sh 复制代码
netstat -tuln
5.4 ssh 和 scp - 远程连接与文件传输
  • ssh user@host:连接到远程主机。
  • scp file.txt user@host:/path/ :将 file.txt 复制到远程主机的 /path/ 目录下。

6. 软件包管理

6.1 apt - Debian 系统的软件包管理

apt 是 Ubuntu 等 Debian 系统的包管理工具。

sh 复制代码
sudo apt update
sudo apt install packagename
6.2 yum 和 dnf - Red Hat 系统的软件包管理
  • yum:适用于 RHEL 和 CentOS。
  • dnf:适用于 Fedora 和较新的 CentOS 版本。
sh 复制代码
sudo yum install packagename
sudo dnf install packagename

7. 归档与压缩

7.1 tar - 文件归档

tar 用于创建压缩包和解压缩。

sh 复制代码
tar -cvf archive.tar folder/
tar -xvf archive.tar
7.2 gzip 和 zip
  • gzip file.txt:压缩文件。
  • gunzip file.txt.gz:解压 gzip 文件。
  • zip archive.zip file1 file2:创建 zip 文件。
  • unzip archive.zip:解压 zip 文件。

8. 进阶:查找、处理与过滤命令

8.1 find - 查找文件

find 是一个强大的文件查找工具。

sh 复制代码
find / -name "file.txt"
8.2 grep - 搜索文本

grep 用于在文件中搜索匹配的文本。

sh 复制代码
grep "search_term" file.txt
8.3 sed 和 awk - 文本处理
  • sed :用于替换文件中的字符串。

    sh 复制代码
    sed 's/old/new/g' file.txt
  • awk :用于按列处理文本。

    sh 复制代码
    awk '{print $1, $3}' file.txt

9. 小结

Linux 提供了一系列强大且多样化的命令行工具,这些命令覆盖了系统管理、网络管理、文本处理等各个方面。本文介绍了最常见的 Linux 命令及其用法,帮助你更高效地管理 Linux 系统。掌握这些命令不仅能提高工作效率,更能加深对 Linux 系统原理的理解。

希望这篇文章能为你提供 Linux 操作的一些实用技巧,进而帮助你在日常操作系统管理、开发环境搭建和维护等方面取得更好的成绩。通过不断实践和使用这些命令,你可以逐步精通 Linux 的强大之处。

相关推荐
两个人的幸福online23 分钟前
记录一次 用php 调用ai用stream返回
开发语言·php
ac-er88881 小时前
GD库如何根据颜色生成纯色背景图
开发语言·php
Curtis09801 小时前
RHCE——Ubuntu Linux操作系统
linux·服务器·ubuntu
青瓷看世界2 小时前
华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录
服务器·华为·harmonyos·应用账号能力
YRr YRr5 小时前
在Ubuntu 20.04和ROS中使用RViz进行数据可视化:详解Fixed Frame参数的选择与应用
linux·ubuntu·信息可视化
Hansel_Zhang5 小时前
CentOS 7 docker部署jar包
linux·docker·centos
Ai 编码助手5 小时前
php多进程那点事,用 swoole 如何去解决呢
android·php·swoole
搬砖的果果5 小时前
HTTP代理有那些常见的安全协议?
服务器·python·网络协议·tcp/ip
运维&陈同学6 小时前
【Dubbo03】消息队列与微服务之dubbo-admin 二进制与编译安装
linux·运维·服务器·后端·微服务·云原生·架构·dubbo
不像程序员的程序媛6 小时前
记录下nginx接口代理配置问题
运维·服务器·nginx