当前位置: 首页 > news >正文

Linux 简单介绍及基础命令

Linux 简单介绍及基础命令

Linux 是一个开源的、强大的、稳定的操作系统内核。基于它构建的众多操作系统发行版,以其自由、安全、可靠和高性能的特性,统治着服务器、云计算和嵌入式世界,同时也是桌面电脑、超级计算机和安卓手机的强大基础。

  1. 核心身份:一个操作系统内核
    • 在最基础层面上,Linux 指的是 Linux 内核。它是操作系统的核心“引擎”,负责管理计算机的硬件资源(CPU、内存、磁盘、网络等),并为软件提供运行的基础服务。
  2. 更常见的含义:基于 Linux 内核的操作系统
    • 通常当我们说“Linux”时,指的是一个完整的操作系统发行版。它包含:
      • Linux 内核: 核心。
      • GNU 工具: 大量的基础软件(命令行工具、编译器、库等),提供了操作系统的基本功能。这也是为什么有些人更准确地称它为 GNU/Linux
      • 软件包管理系统: 方便安装、更新和卸载软件的机制(如 APT, YUM, Pacman 等)。
      • 桌面环境: 图形用户界面(如 GNOME, KDE Plasma, Xfce 等),让用户可以通过窗口、图标、菜单与系统交互。
      • 应用软件: 浏览器、办公套件、媒体播放器等。
  3. 关键特性:
    • 开源: 这是 Linux 最核心的特性。它的源代码是免费公开的,任何人都可以查看、修改和分发。这带来了极大的自由度和强大的社区支持。
    • 自由: 用户拥有使用、研究、修改和重新分发 Linux 的自由(遵循特定的开源许可证,如 GPL)。
    • 稳定可靠: Linux 以其高稳定性安全性闻名,特别适合运行需要长时间不关机的重要服务器。
    • 高性能: 内核设计高效,能充分利用硬件资源。
    • 多用户/多任务: 原生支持多个用户同时使用系统,并能高效地同时运行多个程序。
    • 高度可定制: 用户可以自由选择不同的发行版、桌面环境、软件,甚至自己编译内核,打造完全符合自己需求的系统。
    • 强大的命令行: 提供了功能极其强大和灵活的命令行界面,是系统管理和高级用户的高效工具。
    • 广泛的硬件支持: 支持从超级计算机、服务器到个人电脑、笔记本电脑、手机(Android 基于 Linux 内核)、路由器、物联网设备等各种硬件平台
  4. 主要应用领域:
    • 服务器: 互联网的基石,绝大多数网站、云服务平台、数据库服务器都运行在 Linux 上(如 Ubuntu Server, CentOS/RHEL, Debian)。
    • 超级计算机: 全球排名前列的超级计算机几乎全部使用 Linux。
    • 嵌入式系统: 路由器、智能电视、汽车娱乐系统、物联网设备等。
    • 云计算: 是几乎所有主要云平台(AWS, Azure, Google Cloud 等)的基础。
    • 桌面/笔记本: 有众多用户友好的发行版(如 Ubuntu, Linux Mint, Fedora),提供替代 Windows 或 macOS 的选择。
    • 移动设备: Android 操作系统就是基于 Linux 内核构建的。
    • 开发环境: 程序员非常喜爱的平台,工具链完善。
  5. “发行版”:
    • 由于 Linux 内核和 GNU 工具是开源的,不同的组织或个人将它们打包,加上自己的桌面环境、软件选择和管理工具,就形成了各种各样的 Linux 发行版
    • 常见的发行版有:Ubuntu, Linux Mint, Debian, Fedora, CentOS/RHEL, openSUSE, Arch Linux 等等。每个发行版有不同的侧重点(易用性、稳定性、新特性、轻量级、定制性等)。

linux常见的后缀名(扩展名)
.conf 配置文件
.log 日志文件
.syslog 系统日志文件
.cfg 系统配置文件
.i686 系统文件
.sh 脚本文件

目录
/ 根目录:是linux文件系统的起点
/bin 存放linux系统中最基本的命令,普通用户有权限执行 --binary–二进制
/boot 存放启动linux系统所必需的的文件,包括内核文件、启动的配置文件-----boot引导
/boot目录通常被划分为独立的分区,称为/boot分区
/dev 存放linux系统中的磁盘、光驱等各种设备----device—装置、设备
/etc 存放linux系统及各种配置文件 ------------Editable Text Configuration–可编辑的文本配置
/home 存放所有普通用户的默认工作目录 也叫普通用户的家目录
/lib 库文件存放目录。-----library
/media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。—media 媒体
/mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。—mount 临时文件系统的安装点
/opt:有些软件包会被安装在这里,—optional 可选择的–Optional application software packages–可选的应用软件包
/proc 系统进程目录 比如cpu、内存的信息都存放在该目录中----Processes 进程
/root 管理员的主目录
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/sbin 超级用户可以使用的命令的存放目录-----Superuser Binaries
/srv:存放服务启动后需要提取的数据
/sys: 该目录下的所有子目录代表着系统中当前被发现的所有块设备
/tmp 这个目录是用来存放一些临时文件的。— Temporary
/usr 存放其他用户应用程序,通常被划分成很多子目录,用户存放不同类型的应用程序—Unix Shared Resources-- 用于存放共享的系统资源
这个目录就好比 windows的program files
/var 存放系统中经常需要变化的一些文件,比如系统日志文件、缓冲缓存文件等等----Variable–变量

基础命令

  • 查看内核版本:uname -r

  • 查询cpu信息:cat /proc/cpuinfo

  • 查看内存:cat /proc/meminfo;free -m

  • 查看设置主机名:
    hostname --查看主机名
    hostname kami (临时生效)—临时修改主机名,重启后失效
    hostnamectl set-hostname kami (永久生效)—永久修改主机名

  • 查看IP地址
    ifconfig 查看所有网卡的ip信息 ip addr(简写 ip a)
    ifconfig ens160 查看ens160网卡的ip信息 ip addr show ens160

  • 重启
    shutdown -r now

    reboot

  • 关机
    shutdown -h now

    poweroff

  • 延迟启动
    shutdown -r + 时间

  • cd --change directory —切换工作目录
    绝对路径 以根目录“/”为起点, /etc/sysconfig/
    相对路径 以当前工作目录为起点 etc/sysconfig/
    cd . 表示当前目录
    cd … 表示当前目录的上一级目录
    cd ~ 表示当前用户的宿主目录
    cd - 表示返回原来所在目录

  • ls --list–列表显示目录内容
    -a 显示所有(all)的子目录和文件,包括隐藏文件
    -A 显示除了隐藏文件外的其他子目录和文件
    -l 以长格式(long)显示文件和目录列表的详细信息,包括文件类型、权限、大小等等
    -d 显示目录(directory)本身的属性,而不是显示目录的内容
    -r reverse,倒序列出目录和文件
    -R 以递归(Recursive)的方式显示置顶目录及其子目录中的所有内容
    -h human-readable,为了方便阅读,给列出的文件信息中文件大小加一个单位(K,M,G),一般是和-l一起使用
    -t time 按照时间信息排序,默认是由后往前排序。
    -S --Sort=size 按文件大小排序,由大到小

  • mkdir —make directory–创建新目录 如 mkdir 目录名

    ​ -p 一次性创建嵌套的多层目录。 如 mkdir -p /目录/目录/目录/

  • touch —创建空文件 比如 touch 文件名
    同一目录下,可以同时创建多个文件 比如 touch a b c

  • ln —link 创建链接
    创建硬链接 ln 源文件路径 链接文件路径
    创建软链接 ln -s 源文件路径 链接文件路径
    共同点:无论是访问软连接还是硬链接,与直接访问原始文件的效果是一样的。
    修改链接文件内容,源文件也随之改动。
    区别:硬链接:只能对文件创建链接,源文件删除后,链接的文件仍可用
    软连接:可以对文件也可以对目录创建软连接,源文件删除后,软连接就失效。

  • cp —copy 复制文件或目录
    -i interactive 交互式的 覆盖目标同名目录或者文件是提醒用户确认
    -f force强制 覆盖目标同名目录或文件时不进行提醒,可直接强制复制
    -p 复制时保留原文件的权限、时间标记等属性不变。
    -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
    cp目录的时候一定要加上-r选项

  • rm --remove 移除 删除文件或目录
    -f 删除文件或目录时不进行提醒,可直接强制删除。
    -i 删除文件或目录时提醒用户确认。
    -r 删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)

  • mv —move 移动 移动文件或目录、重命名

  • alias —自定义别名 例:alias myls=‘ls -alh’
    移除别名 unalias myls
    永久修改别名 vi ~/.bashrc
    source ~/.bashrc

  • find --查找文件和目录
    -name 根据文件名进行查找 *代表任意字符 ?代表单个字符—区分大小写
    -iname 不区分大小写
    -size 根据文件大小查询 +代表大于 -代表小于 常用的单位k、M、G
    -user 根据文件是否属于目标用户查询
    -type 根据文件类型查找
    普通文件(f)
    目录文件(d)
    块设备文件(b):指的是成块读取数据的设备(磁盘、内存等)
    字符设备文件(c):指的是按单个字符读取数据的设备(鼠标、键盘等)
    链接文件(l)
    -exec 执行命令

  • mount ----挂载–将分区挂载到目录下,从而将分区和目录联系起来,访问该目录就相当于访问分区了。
    mount 【选项】 【设备/分区】【挂载点】
    选项可有可无
    -t 文件系统类型

  • cat 一次性显示文件的所有内容

    more 分页查看文件内容,显示查看内容所占文档的百分比 无法逐行向上查看
    enter—逐行向下查看
    空格键----向下翻页
    b -----向上翻页
    q–退出,显示已经查看过的文件内容 或者文件内容浏览完后自动退出

    less 分页查看文件内容 能够向上逐行查看
    enter—逐行向下查看
    空格键----向下翻页
    b -----向上翻页
    q ----退出,但是不会显示已经查看过的文件内容

    head 默认查看文件内容的前10行
    tail 默认查看文件内容的后10行
    管道符 “|” :管道符前面命名执行的结果给管道符后面命令当参数使用

  • wc–统计文件中的字节数、单词数、行数
    -c 统计文件中的字节数
    -w 统计文件中的单词数
    -l 统计文件中的行数

  • grep----过滤、筛选

    grep “字符串”
    grep -v “字符串” 不包含过滤的内容
    grep ^“字符串” 以…开头
    grep “字符串”$ 以 … 结尾
    grep ^$ 空行
    grep -i 不区分大小写

    gzip—压缩—.gz结尾

    gzip aa ------aa.gz 压缩
    通过gzip给文件压缩,自动生成一个.gz结尾的压缩文件,且源文件自动删除

    gzip -d aa.gz 解压
    gunzip aa.gz 解压
    通过gunzip解压压缩文件,解压后,压缩文件自动删除。

    bzip2 —压缩—.bz2

    bzip2 aa -----aa.bz2 压缩
    bzip2 -d aa.bz2 解压
    bunzip2 aa.bz2 解压

    gzip和bzip2都不支持对目录进行压缩或者解压

  • tar:

    -c:创建(Create).tar格式的包文件。
    -C:解包时指定释放的目标文件夹。
    -f:表示使用归档文件。
    -j:调用bzip2程序进行压缩或解压。
    -p:打包时保留文件及目录的权限。
    -P:打包时保留文件及目录的绝对路径。
    -t:列表查看包内的文件。
    -v:输出详细信息(Verbose)。
    -x:解开.tar格式的包文件。
    -z:调用gzip程序进行压缩或解压。

    压缩常用: tar -czvf , tar -cjvf 解压常用 : tar -xzvf , tar -xjvf

tar 选项 压缩文件名 源文件名或者目录 ----压缩
tar 选项 压缩文件名 ----解压到当前目录
tar 选项 压缩文件名 -C 目录 —解压到指定目录

  • date ----查看当前系统时间

    date -s 20250724 修改当前系统时间为2025年7月24日0点
    hwclock -w 将系统的时间同步到硬件中去

  • history :列出历史使用命令

    !历史命令的编号
    !以最近使用什么开头的命令
    !996
    !cd

http://www.dtcms.com/a/295398.html

相关文章:

  • 云原生MySQL Operator开发实战(一):Operator基础与CRD设计
  • 基于Odoo的微信小程序全栈开发探索分析
  • 开源中国:以国产开源生态筑基,赋能智能研发全栈升级
  • 【王树森推荐系统】推荐系统涨指标的方法05:特殊用户人群
  • [数据结构]#7 哈希表
  • 国产化PDF处理控件Spire.PDF教程:Python 将 PDF 转换为 Markdown (含批量转换示例)
  • spring boot 整合 Spring Cloud、Kafka 和 MyBatis菜鸟教程
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(9):ようなN
  • C++ 中值传参和引用传参
  • rust-数据结构
  • 聚观早报 | 猿编程推动中美青少年AI实践;华为Pura 80数字版售价公布;iPhone 17 Air电池曝光
  • Redis数据类型与内部编码
  • 国产数据库拐点已至:电科金仓用“融合+AI”重新定义下一代数据底座
  • rustfs/rustfs基于 Rust 的高性能分布式存储系统
  • 进程通信----匿名管道
  • 进阶向:基于Python的本地文件内容搜索工具
  • 加入淘宝联盟内容库,以便在B站等平台被推广
  • 我的新项目又来咯!
  • iOS 抓包工具有哪些?按能力划分的实用推荐与使用心得
  • 开发运维DevOps(附电子书资料)
  • 办公自动化入门:如何高效将图片整合为PDF文档
  • 7月25日 矩阵起源亮相深圳DA数智大会,解读多模态大模型驱动的数据处理新方法
  • 如何保证GPFS文件系统的强一致性
  • PDF转Markdown - Python 实现方案与代码
  • Go进阶高并发(多线程)处理教程
  • 中小企业安全落地:低成本漏洞管理与攻击防御方案
  • 新手操作steam搬砖项目,应该如何快速起步
  • 图机器学习(19)——金融数据分析
  • 深度分析Java类加载机制
  • 医疗AI轻量化部署方案的深度梳理与优化路径判研