50个必须了解的Linux命令:从新手到系统管理员高手

50个必须了解的Linux命令:从新手到系统管理员高手

对于刚接触 Linux 的用户来说,尽管像 Ubuntu 和 Mint 这样的发行版非常友好,使用起来仍然可能会感到有些挑战。

虽然这些发行版简化了许多任务,但在某些情况下,仍然需要进行手动配置。要充分发挥 Linux 的强大功能,理解并掌握基本命令是非常重要的。

在 Linux 中,命令是与系统交互的主要方式,用户通过命令来执行任务、配置设置和高效管理系统。

本文将介绍 50 个必备的Linux命令,为初学者打下基础,同时为成为一名熟练的系统管理员提供指导。这些命令涵盖了从目录浏览、文件管理到执行高级系统操作的广泛功能。

无论你是刚刚入门,还是希望深入掌握,掌握这些命令都能帮助你释放 Linux 的全部潜力。

新手必备的基础 Linux

无论你是 Linux 新手还是高级用户,掌握基础命令对于浏览系统和控制操作系统至关重要。

下面是一些常用的 Linux 命令,包括它们的说明和使用示例:

1. 查看目录内容

– `ls` 命令用于查看指定目录中的文件和子目录。它可以显示可见和隐藏文件(以 `.` 开头的文件默认是隐藏的)。

ls -la

2. 查看硬盘分区和外部硬盘

– `lsblk` 命令以树状结构显示有关硬盘、分区和外部驱动器的信息。

lsblk

3. 检查已下载或传输包的完整性

– `sha256sum` 或 `md5sum` 命令用于生成和验证文件的加密哈希值,确保文件在下载或传输后的完整性。

sha256sum file.tar.gz

4. 转换并复制文件

– `dd` 命令用于低级别的文件复制和转换,常用于创建启动盘或克隆磁盘映像。

dd if=input.img of=output.img bs=4M status=progress

5. 查看机器名、操作系统和内核信息

– `uname` 命令提供系统信息,包括内核版本、系统架构和主机名。

uname -a

6. 查看命令历史

– `history` 命令列出以前执行过的命令,方便回顾或重复使用。

history

7. 以 root 用户身份执行命令

– `sudo` 命令允许用户以管理员权限执行命令。使用 `sudo -i` 切换到 root 用户的 shell。

sudo -i

8. 创建新目录

– `mkdir` 命令在当前路径下创建一个新的目录。

mkdir my_folder

9. 创建或更新时间戳

– `touch` 命令创建空文件或更新时间戳。

touch my_file.txt

10. 更改文件权限

– `chmod` 命令更改文件权限,控制谁可以读取、写入或执行文件。

chmod 644 my_file.txt

11. 更改文件所有者

– `chown` 命令更改文件的所有者和所属组。

sudo chown user:group my_file.txt

12. 安装、更新和维护软件包

– `apt` 命令用于管理 Debian 系统上的软件包。

sudo apt update && sudo apt install package_name

13. 解压缩 Tar 文件

– `tar` 命令用于提取压缩文件。

tar -xvzf file.tar.gz

14. 查看当前日期、时间和日历

– `date` 和 `cal` 命令显示当前日期、时间和日历。

date
cal

15. 打印文件内容

– `cat` 命令将文件内容打印到终端。

cat my_file.txt

16. 复制和移动文件

– `cp` 和 `mv` 命令分别用于复制和移动文件。

cp source.txt destination.txt
mv old_name.txt new_name.txt

17. 查看当前工作目录

– `pwd` 命令打印当前目录的路径。

pwd

18. 切换工作目录

– `cd` 命令在目录之间导航。

cd /path/to/directory

中级 Linux 命令

掌握了基础命令之后,你可以深入学习一些更高级的命令,这将帮助你更高效地管理和优化系统。

19. 在指定目录中查找文件

– `find` 命令用于在指定目录或整个文件系统中查找文件和目录。

find /path/to/directory -name "filename"

20. 查找包含指定关键词的文件

– `grep` 命令用于搜索文件中包含特定模式(关键词)的内容。

grep "keyword" filename

21. 查看命令的在线文档

– `man` 命令用于显示特定命令的帮助文档,提供如何使用该命令、选项和语法的详细信息。

man ls

22. 列出当前正在运行的进程

– `ps` 命令显示当前正在运行的进程的快照,包括进程 ID(PID)、内存使用情况和 CPU 使用情况。

ps aux

23. 结束一个正在运行的进程

– `kill` 命令用于终止正在运行的进程,需要指定进程 ID(PID)。

kill 1234

24. 查看已安装二进制文件的位置

– `which` 命令帮助你找到系统中可执行文件的位置。

which python3

25. 启动、停止、重启服务

– `systemctl` 命令用于管理使用 systemd 的系统服务(守护进程)。

systemctl start service_name
systemctl stop service_name
systemctl restart service_name

26. 创建和删除命令别名

– `alias` 命令用于创建命令的快捷方式,而 `unalias` 命令删除已创建的别名。

alias ll='ls -l'
unalias ll

27. 查看磁盘和空间使用情况

– `df` 命令显示所有挂载文件系统的磁盘空间使用情况。

df -h

28. 删除文件和/或目录

– `rm` 命令用于删除文件和目录。可以使用 `-r` 选项递归删除目录及其内容。

rm filename
rm -r directory_name

29. 打印自定义输出

– `echo` 命令用于将文本或变量值打印到终端。

echo "Custom Message"

30. 更改 Linux 密码

– `passwd` 命令用于更改当前用户或其他用户的密码(如果你是 root 用户)。

passwd username

31. 查看打印队列

– `lpq` 命令显示打印队列的状态,包括待处理和已完成的打印任务。

lpq

32. 比较两个文件

– `diff` 命令逐行比较两个文件并显示它们的不同之处。

diff file1 file2

33. 通过 wget 下载文件

– `wget` 命令用于从互联网上下载文件,支持 HTTP、HTTPS 和 FTP 协议。

wget https://example.com/file.zip

34. 挂载块设备/分区/外部硬盘

– `mount` 命令用于将块设备(例如硬盘或 USB 驱动器)挂载到文件系统中的某个目录。

mount /dev/sdX /mnt

35. 编译和运行 C、C++ 和 Java 代码

– 使用相应的编译器和运行时来编译和运行 C、C++ 和 Java 代码。

C: gcc用于编译C程序。

C++:g++用于编译C++程序。

Java:javac用于编译Java程序,Java用于运行它们。

编译并运行C代码:

gcc -o outputfile sourcefile.c
./outputfile

编译并运行C++代码:

g++ -o outputfile sourcefile.cpp
./outputfile

编译并运行Java代码:

javac filename.java
java filename

高级 Linux 命令

在本系列的最后一节中,我们将介绍管理Linux服务器所需的命令。

36. 查看网络连接和端口

– `netstat` 命令显示有关网络连接、路由表和接口的详细信息。

netstat -tuln

37. 查看网络活动和带宽使用

– `iftop` 命令实时显示网络带宽的使用情况。

sudo iftop

38. 查找系统中占用资源的进程

– `top` 命令显示系统的实时资源使用情况,包含 CPU 和内存的占用。

top

39. 定时任务调度

– `cron` 和 `at` 命令用于安排定期执行的任务(如每天、每周等)。

crontab -e

40. 压缩文件

– `gzip` 命令用于压缩文件。

gzip file.txt

41. 修复磁盘坏道

– `fsck` 命令用于检查并修复磁盘上的文件系统错误。

sudo fsck /dev/sdX

42. 通过 ssh 连接到远程主机

– `ssh` 命令用于通过加密连接远程服务器。

ssh user@remote_host

43. 使用 scp 传输文件

– `scp` 命令用于通过 SSH 协议安全地复制文件。

scp file.txt user@remote_host:/path/to/destination

44. 查看日志文件

– `journalctl` 命令用于查看 systemd 日志,`tail` 命令查看日志的最新条目。

journalctl
tail -f /var/log/syslog

45. 管理 Docker 容器

– `docker` 命令用于管理 Docker 容器和镜像。

docker ps
docker run -d --name my_container my_image

46. 管理 LVM(逻辑卷管理)

– `lvcreate`、`lvextend` 和 `lvremove` 命令用于创建、扩展和删除 LVM 逻辑卷。

lvcreate -L 10G -n my_volume my_volume_group

47. 生成随机密码

– `openssl` 命令用于生成加密密钥和随机密码。

openssl rand -base64 12

48. 查找内存使用情况

– `free` 命令显示系统的内存使用情况。

free -h

49. 查看 TCP 连接

– `ss` 命令提供有关系统网络套接字的详细信息,比 `netstat` 更快速和高效。

ss -tuln

50. 查看文件系统使用情况

– `du` 命令显示文件和目录占用磁盘空间的情况。

du -sh /path/to/directory

这些 Linux 命令是系统管理员和普通用户的必备工具。通过熟悉它们的基本功能和进阶技巧,你将能够更加高效地操作系统,排查问题,并优化你的服务器和工作环境。

未经允许不得转载:A5数据 » 50个必须了解的Linux命令:从新手到系统管理员高手

相关文章

contact