Linux基本命令大全与基础知识

Linux系统除了内核外,通常还包括GNU工具套件等大量自由软件、甚至一些专有软件。这些软件一起,构成一个功能完备的操作系统。对于使用者来讲,它提供了一个类似于Windows、MacOS的图形化界面和一些常用的软件,如办公软件,浏览器,音乐播放器,视频播放器等。

Linux的另一个特点是其高度的可定制性。用户可以根据自己的需求和技能选择或者定制各种各样的Linux发行版,例如:Debian、Ubuntu、Fedora、CentOS、Arch Linux等。

Linux系统以其高度自定义和功能强大的特点,在编程者和IT专业人士中赢得了广泛的赞誉。在底层,Linux操作使用一套被称为“shell”的命令行界面。在这篇文章中,我们将深入学习一些最常见和最有用的Linux命令和基础知识。

Linux基本命令大全与基础知识_第1张图片

Linux基础知识

Linux 是一个开源的 Unix-like 系统,它是由 Linus Torvalds 在 1991 年首次发布的。以下是一些必须了解的基础知识:

  1. 目录结构:Linux 遵循一个标准的文件和目录层次结构,例如 / 是根目录,/home 通常包含用户文件,/etc 包含系统配置文件,等等。
  2. Shell:这是用户与 Linux 系统互动的界面。Bash 是最常见的 shell,但还有其他的选择如 Zsh、Fish 等。
  3. 命令行:大部分 Linux 的操作可以通过命令行来完成。例如,ls 可以列出目录的内容,cd 可以改变当前目录,rm 可以删除文件或目录等。
  4. 文件权限:Linux 中的每个文件或目录都有一组权限,决定了谁可以读取、写入或执行。使用 chmodchown 命令可以改变文件或目录的权限和所有者。
  5. 包管理:大多数 Linux 发行版都有一个包管理器,如 Ubuntu 的 apt,CentOS 的 yumdnf,用于安装、更新或删除软件。
  6. 进程管理:在 Linux 中,你可以使用像 pstophtopkillpkill 等命令来查看和管理系统进程。
  7. 服务管理:一些程序(如 web 服务器或数据库服务器)作为服务在后台运行。你可以使用 systemd(或某些发行版中的 init)来启动、停止或重新启动这些服务。
  8. 文本编辑器:Linux 提供了各种文本编辑器,最常见的是 vi/vimnano,和 emacs
  9. 网络工具:ifconfignetstatsshscp 是一些常用的网络工具。你可以用它们来查看网络配置,检查网络连通性,远程连接到其他系统等。
  10. 脚本编写:bash (或者其他 shell) 提供了方便的脚本编写功能,你可以用它来自动化一些任务。

以上只是 Linux 基础知识的浅尝辄止,实际上,Linux 的知识体系极其庞大和详细,通过不断学习和实践,你会发现 Linux 具有强大的能力和灵活性。

以下使用莱卡云服务器示范(Ubuntu 20.04.6 LTS)

Linux基本命令大全与基础知识_第2张图片

基本操作命令

# 查看IP地址
ip addr show
# ping网络(测试网络连通)
ping 目标机器的ip
# 查看系统时间
date
# 注销
logout
# 关机
shutdown -h now
# 重启
shutdown -r now

Liunx基本系统文件

Linux文件系统实际上是一个目录和文件的树形结构。它采用一种统一的方式来访问所有类型的数据存储设备,包括硬盘、光盘、USB设备等。其中'/(root)'是文件系统的根目录,所有的目录和文件从根开始。

最常见的Linux文件系统类型是Ext4(扩展文件系统4),尽管还有其他的像XFS、Btrfs、ZFS、JFS等。各种文件系统类型具有不同的性能、可靠性和功能特性。

以下是Linux文件系统中一些主要目录的详细说明:

  • /: 这是根目录,在此之下开始所有文件和目录。
  • /bin: 包含基本的可执行程序(二进制文件),这些程序对所有用户都可用。
  • /boot: 包含启动加载程序所需的文件,比如GRUB。
  • /dev: 包括设备文件,每个硬件设备(如硬盘驱动器、串行端口、键盘、声卡等)在/dev目录下都有相应的文件。
  • /etc: 包含所有的系统管理所需要的配置文件和子目录。
  • /home: 用户的主目录,在此目录下,每个用户都有自己的目录。
  • /lib: 保存着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
  • /sbin: 包含一些管理员级别的重要二进制文件。
  • /tmp: 用于存放临时文件。
  • /usr: 包含多用户共享的应用程序和文件。
  • /var: 用于存储运行过程中经常变化的文件,如日志文件。

Linux基本命令大全与基础知识_第3张图片

Linux常用文件管理命令

在Linux中,有许多命令可以帮助你管理文件和目录。下面是一些基本的Linux文件管理命令:

  1. ls:列出目录的内容。
    • ls -l:显示文件和目录的详细信息。
    • ls -a:列出包括隐藏文件在内的所有文件。
  2. cd:更改当前目录。
    • cd ..:移动到上一目录。
    • cd /:移动到根目录。
  3. pwd:显示当前目录的完整路径。
  4. cp:复制文件或目录。
    • cp source destination:将源文件复制到目标位置。
    • cp -r source_directory destination_directory:复制源目录及其所有文件和子目录到目标目录。
  5. mv:移动或重命名文件和目录。
    • mv old_name new_name:将文件或目录重命名为新名称。
    • mv source destination:将源文件或目录移动到目标位置。
  6. rm:删除文件和目录。
    • rm file:删除指定的文件。
    • rm -r directory:删除指定目录及其所有子目录和文件。
  7. touch:创建一个新的空文件。
  8. mkdir:创建新的目录。
    • mkdir directory:创建新的目录。
  9. cat:显示文件内容。
  10. less & more:以分页方式查看文件内容。
  11. head & tail:查看文件的开始部分或结束部分。
  12. find:在系统中搜索文件和目录。
  13. find / -name "filename":在根目录及其所有子目录中搜索名为"filename"的文件。
  14. ln:创建硬链接或符号链接。
  15. ln -s source link:创建一个指向源文件或目录的符号链接。
  16. chmod:改变文件或目录的权限。
  17. chmod 755 file:设置文件的权限为755(即,所有者拥有读/写/执行权限,而组成员和其他人只有读/执行权限)。
  18. chown:更改文件或目录的所有者。
  19. chown user:group file:将文件的所有者更改为用户'user',并将组更改为'group'。

以上只是基础部分,Linux的文件管理命令远不止这些。具体使用时可以配合各种选项,实现更多的功能。

Linux防火墙网络

在Linux系统中,最常用的防火墙工具是iptables与新一代的firewalld。以下是一些常用的命令:

  1. iptables:早期的Linux系统防火墙,可以控制网络的访问和流量。
    • iptables -L:列出所有的防火墙规则。
    • iptables -F:清空所有的规则。
    • iptables -A INPUT -p tcp --dport 22 -j ACCEPT:允许所有来自22端口的输入(SSH)。
  2. firewalld:现在大部分Linux发行版默认使用的防火墙。
    • systemctl start firewalld:启动firewalld服务。
    • firewall-cmd --state:检查firewalld状态。
    • firewall-cmd --get-active-zones:显示活动的区域和接口。
    • firewall-cmd --zone=public --add-port=80/tcp --permanent:在公共区域打开80端口(HTTP)。
    • firewall-cmd --reload:重新载入防火墙规则。
  3. ufw:Ubuntu Firewall,用于Ubuntu及其衍生版本的非常简单易用的防火墙工具。
    • ufw enable:启用ufw。
    • ufw disable:禁用ufw。
    • ufw status:检查ufw状态。
    • ufw allow 22:允许所有来自22端口的流量。
    • ufw deny 22:阻止所有来自22端口的流量。

这些只是一部分命令,具体的使用方法可以参考相应的手册或者在线资源。记住,修改防火墙设置前,一定要了解你自己在做什么,因为错误的设置可能导致你的服务器无法访问。

Linux查看系统与CPU信息

这里使用的是莱卡云服务器(4C4G为例)

# 查看系统内核信息
uname -a

# 查看系统内核版本
cat /proc/version
​
# 查看当前用户环境变量
env
​
cat /proc/cpuinfo
​
# 查看有几个逻辑cpu, 包括cpu型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
​
# 查看有几颗cpu,每颗分别是几核
cat /proc/cpuinfo | grep physical | uniq -c
​
# 查看当前CPU运行在32bit还是64bit模式下, 如果是运行在32bit下也不代表CPU不支持64bit
getconf LONG_BIT
​
# 结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit
cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l

Linux基本命令大全与基础知识_第4张图片

Linux必要软件安装

在Linux上安装必要的软件,可以让你的系统更加强大。以下是一些常见和重要的软件:

  1. update: 在开始之前,使用该命令更新你的包列表和包本身以获得最新的版本。
    • sudo apt update && sudo apt upgrade
  2. gcc: 这是GNU编译器,用于编译主要的编程语言。
    • sudo apt install gcc
  3. make: 这是一种工具,用于自动化软件编译和测试。
    • sudo apt install make
  4. git: 用于版本控制和协作。
    • sudo apt install git
  5. vim: 这是一种高度可定制的文本编辑器。
    • sudo apt install vim
  6. python: 这是一种流行的编程语言,用于Web开发、数据分析等。
    • sudo apt install python3
  7. pip: Python的包管理器。
    • sudo apt install python3-pip
  8. OpenSSL: 这是一种用于安全通信的工具。
    • sudo apt install openssl
  9. curlwget: 这两个都是用于从终端下载文件的工具。
    • sudo apt install curl wget
  10. net-tools: 这是一组网络工具,包括ifconfig, netstat等。
    • sudo apt install net-tools

以上是为了使您的Linux系统成为一个强大的开发环境,你需要安装的一些主要软件。请注意,我使用的是apt作为包管理器,这在基于Debian的系统(如Ubuntu)中很常见。如果你在使用其他类型的Linux,可能需要使用dnf,yum,pacman等不同的包管理器。

Linux基本命令大全与基础知识_第5张图片

你可能感兴趣的:(linux,运维,服务器)