目录

Linux


Linux是一种自由和开放源码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的X Window之类的程序。除了一部分专家之外,大多数人都是直接使用Linux 发行版(比如国产Linux发行版Deepin,国外的Debian,Unbuntu等等),而不是自己选择每一样组件或自行设置。

Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改以Linux内核称之。

Linux是一种开源的操作系统,它可以在各种不同的硬件平台上运行,包括使用RISC-V指令集的处理器。

历史


Linux的版本号


文件目录结构


在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。

文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。

在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。

  . :代表当前的目录,也可以使用 ./ 来表示;
  .. :代表上一层目录,也可以 ../ 来代表。

如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方式查找时,不显示该目录或文件。

系统启动必须:

  /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
  /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
  /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

  /bin:存放着最常用的程序和指令
  /sbin:只有系统管理员能使用的程序和指令。

外部文件管理:

  /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
  /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。
  /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

  /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。
  /tmp:这个目录是用来存放一些临时文件的。

账户:

  /root:系统管理员的用户主目录。
  /home:用户的主目录,以用户的账号命名的。
  /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  /usr/bin:系统用户使用的应用程序与指令。
  /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  /usr/src:内核源代码默认的放置目录。

运行过程中要用:

  /var:存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。
  /proc:管理内存空间!虚拟的目录,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

  /opt:默认是空的,我们安装额外软件可以放在这个里面。
  /srv:存放服务启动后需要提取的数据(不用服务器就是空)

常用命令


Linux中的命令格式一般为:

命令名 选项 参数

例如:ls -l /home

如果有多个选项,既可以连在一起写,如ls -al,也可以分开写,如ls -a -l

1 文件管理

  ls命令 – 显示指定工作目录下的内容及属性信息
  cp命令 – 复制文件或目录
  mkdir命令 – 创建目录
  mv命令 – 移动或改名文件
  pwd命令 – 显示当前路径

2 文档编辑

  cat命令 – 在终端设备上显示文件内容
  echo命令 – 输出字符串或提取Shell变量的值
  rm命令 – 移除文件或目录
  tail命令 – 查看文件尾部内容
  grep命令 – 强大的文本搜索工具
  

3 系统管理

  rpm命令 – RPM软件包管理器
  find命令 – 查找和搜索文件
  startx命令 – 初始化X-windows
  uname命令 – 显示系统信息
  resize2fs命令 – 调整文件系统大小

4 磁盘管理

  df命令 – 显示磁盘空间使用情况
  fdisk命令 – 磁盘分区
  lsblk命令 – 查看系统的磁盘
  hdparm命令 – 显示与设定硬盘参数
  vgextend命令 – 扩展卷组
  

5 文件传输

  tftp命令 – 上传及下载文件
  curl命令 – 文件传输工具
  fsck命令 – 检查并修复Linux文件系统
  ftpwho命令 – 显示ftp会话信息
  lprm命令 – 删除打印队列中的打印任务
 

6 网络通讯

  ssh命令 – 安全连接客户端
  netstat命令 – 显示网络状态
  dhclient命令 – 动态获取或释放IP地址
  ping命令 – 测试主机间网络连通性
  ifconfig命令 – 显示或设置网络设备
  

7 设备管理

  mount命令 – 文件系统挂载
  MAKEDEV命令 – 建立设备
  lspci命令 – 显示当前设备所有PCI总线信息
  sensors命令 – 检测服务器内部温度及电压
  setleds命令 – 设定键盘上方三个 LED 的状态
  

8 备份压缩

  zip命令 – 压缩文件
  unzip命令 – 解压缩zip文件
  gzip命令 – 压缩和解压文件
  zipinfo命令 – 查看压缩文件信息
  gunzip命令 – 解压文件
  

9 更多命令

更多命令

官网


Linux内核源代码

Linux内核官网