Linux初学者的见解

在学习Linux中明白了linux并不是版本系数越高就是好的,而是要看其版本功能是否更加高效,稳定,安全来确定是不是最好的版本。如需更换新版本,一般要在实验环境里进行3-6个月的试验!
  在Linux中root拥有极高的权限甚至可以达到自杀的效果,所以在工作中基本很少直接登录root用户  而是用普通用户登录   在系统出现故障的时候普通用户权限达不到我们才可以通过root用户取得更高的权限,从而清除故障,清楚完成后立即换回普通用户。
  Linux的哲学思想:
 1、一切皆文件
   linux把几乎所有的资源都抽象为文件的形式,甚至连硬件、网络通信使用的套接字以及管道皆如此
   文件:一组有边界的位于存储设备中的流式数据
 2、由众多的功能单一的小程序组成,却可以实现复杂的任务
功能单:每个小程序只做一件事,并且要做好
复杂任务:尽可能完美的组合多个小程序,让其功能发挥到极致
 3、尽量避免与用户进行直接交互,易于以编程的方式实现自动化任务实施
 4、使用纯文本文件保存程序的配置信息

平面结构管理文件,效率及其低
分层结构
文件系统(分层编址)
   /:原初起点
   元数据:描述文件的属性
   数据:文件的内容
在文件系统中,基于文件名引用文件,按名来进行存取,在文件系统中,对于文件名有一系列的规定
1、文件名不能包含“/”字符
        “/”表示根文件系统
         “/”表示路径分隔符
2、文件名的长度不能超过255字符
3、在同一位置中,文件名不能重复
4、文件名要求严格区分大小写
  使用路径的概念来表示文件的具体位置; 
路径:定位一个文件所在的位置时,所必须经过的目录的层次结构;
路径的描述方式:
    结对路径:
        一切从“/”开始查找的路径
    相对路径:
        从“工作目录(当前目录)”开始查找的路径
       .:表示当前目录;
       ..:表示当前目录的父目录;
注意:如果顺路就用相对路径,如果不顺路就用绝对路径;
     在目标文件的绝对路径中,是否包含当前目录。
工作目录:e
到达M文件的绝对路径:/a/e/m,因此用相对路径更容易;
  ./m,通常.可以省略m
到达z文件的绝对路径:/d/k/z/,因此用绝对路径可能更容易:
      ../../d/k/z

同时Linux分为两种操作界面分别是图形界面和命令行界面

家目录:每个用户登录系统时的当前目录,也是每个用户的起始目录:~代指

任何一个路径都可以分为两部分:
    文件基名:basename
    文件目录名:dirname
  例如:/d/k/z
        z为基名,/d/k为目录名

HFS——层级标准
/:(根目录下面有很多字文件)
   bin:普通用户可以执行的普通操作命令
   boot:引导操作系统启动的静态文件,包括:引导程序,内核,initramfs等
   dev:device 设备
      块设备:能够实现数据存放的设备,随机访问
      字符设备:能够实现数据传输和数据处理的设备,顺序访问(显示器属于字符设备)
   etc:存放着主机专用的系统配置文件
   home 普通用户的家目录的根
   lib、lib64:存放共享库文件的目录表,内核的模块
   media:可移动设备的挂载点
   mnt:临时的文件系统的挂载点
   opt:以前是非常流行的第三方应用程序的安装目录(逐渐废弃)
   root:超级用户root的家目录
   sbin:存放那些只有超级用户root能够执行的管理类命令
   srv:存放由系统提供的各种服务数据(逐渐废弃)
   tmp:temperate,临时文件目录,每隔30天自动清除目录中30日之内没有访问的数据
   usr:linux系统的第二根,主要安装第三方应用程序
       /usr/local第三根,主要用于编译安装第三方应用程序
       /usr/src:存放应用程序的源代码  
   ver:可变化的数据
   伪文件系统:
          proc:process,进程
          sys:system

文件类型:
   根据颜色:
       黑色或白色:普通的文本文件
       绿色:可执行文件
       黄色:设备文件
       红色:包文件(压缩包,归档包,软件包)
       深蓝色:目录文件
       天蓝色:符号链接文件,相当于windows快捷方式
       紫色:套接字文件
       棕色:管道文件
根据标记:
      -:文本文件
      b:块设备
      c:字符设备
     d:目录文件
     l:符号链接文件
     p:管道文件
     S:套接字文件

命令提示符:[[email protected]~]#   [用户登录名@非完整格式的主机名 工作目录]#|$
Root(前面):当前登录的用户账户名称
Mylab11(中间):非完整格式的计算机名称
~(后面):在执行命令时的当前目录(currunt directory),也叫工作目录(working directory),~符号代表用户的家目录
#:命令提示符
   #:超级用户root
   $:普通用户
程序一般包含四类文件:
二进制文件:可执行文件
    Windows:EXE(execute)msi
    Linux:ELF
API:Application Programming Interface,应用程序编程接口
     POSIX:软件开发接口国际标准(portable operating system 可移植操作系统)
ABI:Application Binary Interface应用程序二进制接口
头文件/库文件:
    Windows:DLL(dynamic linked library)动态库
    Linux:so(shared object)共享库 
           Ko(kernel object)内核库
               A静态库
    帮助文件:使用说明书
配置文件:配置程序参数
命令的本身其实就是二进制文件!
  命令的格式:
command options arguments[parameters]

Command(命令):想要执行的操作主体,进程
   内部命令:内建于shell中的命令
   外部命令:通过安装应用程序而得到的命令
第一次执行通过path变量中的路径进行查找,以后只要hash缓存中依然有缓存记录,就不会再查找path变量,直接查找缓存。
使用type命令查看一个命令属于内部还是外部。
    Tape(查询命令是内部命令还是外部命令)

Options(选项):此此命令执行过程中所使用的特性
短选项:
    -CHAR
    一次可以写多个,-a,-l,-d ==> -ald
长选项:
    -Word:--help --list --human-readable
    长选项不能合并书写,只能一个一个写
注意:
    1.有些选项需要额外的参数
    2.有些选项可以不用-引导,有些命令的选项一定不能加-
    3.有些命令的长选项使用一个-

Arguments(parameters参数):此次命令执行的操作对象
      有些命令可以同时有多个参数,但是参数之间,必须要用空白字符分隔

注意:
     1.命令在书写的时候,command(命令)、options(选项)、Arguments(parameters参数)之间必须使用空白字符分隔。
     2.有些命令在书写时,options(命令)和Arguments(parameters参数)位置可以调换。
     3.命令中的所有组成部分,严格区分大小写。(文件系统规定严格)

获取命令的使用帮助:
[]:可以省略不写,也可以根据需要填写:
<>:必须书写
…:有更多的
a|b|c:多旋翼
XXXXX.gz(Linux压缩包)
    Tape(查询命令是内部命令还是外部命令)
内部命令:
    Help (command)
1.使用--help选项
2.man(manual)
        Man九章
           1.用户命令(所有用户可以执行的普通命令)
           2.系统调用
           3.C库函数
           4.设备和特殊文件
               5.配置文件格式
           6.游戏相关的帮助信息
           7.杂项
           8.管理类命令(只有root能够执行的管理命令)
           9.内核相关

每个man手册中都偶有很多字段:
      Name:程序的名称及相关的功能简介
      Synopsis:命令使用的语法格式
      Description:程序的详细描述信息
      Options:选项的用法及含义的详细说明
      Author:程序的作者信息
      Reporting bugs:报告程序中所包含的BUG的方式
      Examples:命令的使用范例
      See also:额外的参考内容
      Files:与该程序相关的其他文件,如配置文件等

时间: 2024-10-09 22:28:18

Linux初学者的见解的相关文章

新手必看,给Linux初学者的建议!

给嵌入式linux初学者的建议                                                    目前,Linux作为嵌入式系统的主力军,广泛应用于消费类电子.工业控制.军工电子.电信/网络/通讯.航空航天.汽车电子.医疗设备.仪器仪表等相关行业.随着嵌入式行业的迅猛发展,嵌入式Linux凭借其系统发展的成熟度.市场应用的高份额也受到更多工程师朋友的青睐,越来越多的企业和研发机构都转向嵌入式Linux的开发和研究,这使得嵌入式Linux在新兴的嵌入式操作系统领

Linux初学者进阶学习资源整理

Linux初学者进阶学习资源整理 实验楼分享的Linux学习路径,用图文并茂的形式清晰直观的告诉了Linux初学者该如何从一个新手小白进阶成为Linux高手. 不过这条Linux学习路径到底只是一个学习计划,没能有详细的教程提供给大家学习.回想之前写的(干货)Linux学习资源推荐,也只是比较全面的列举了可以学习Linux的地方. 于是乎便有了这篇Linux初学者进阶学习资源整理,将会按照学习路径的知识点学习为大家提供详细的教程(不限于视频.书籍.网络教程.技术博客等资源). Linux初级入门

linux初学者-系统日志(一)

linux初学者-系统日志(一) 系统日志可以记录系统的运行状态,如果运行故障,会说明错误的位置.所以对系统日志的了解和学习是非常有必要的. 1.系统日志的默认分类 系统日志会默认记录在以下地址中,不同的日志在不同的文件中. /var/log/messages            系统服务及日志,包括服务的信息,报错等等 /var/log/secure                  系统认证信息日志 /var/log/maillog                 系统邮件服务信息 /va

linux初学者-CIFS网络文件系统篇

linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是windows系统. 提供CIFS的服务是SAMBA,下文将介绍SAMBA服务的一些配置以及用法. 1.SAMBA的安装和配置 "yum install samba samba-common samba-client -y".安装SAMBA服务. "systemctl start

linux初学者-系统日志(二)

linux初学者-系统日志(二) 先前在(一)中介绍到在不同主机间日志同步的方法,在一台主机上可以看到另一台主机的日志.这里会介绍系统日志方面的一些其他内容. 1.日志的采集格式 在日志的采集中,由图可以看出,这样的排列或者显示方式会增加分析区分的难度,尤其是在进行日志同步时,所以在日志的采集中有时需要用到一些明显的采集格式. 日志采集格式是在"/etc/chrony.conf"中编辑的,如果是改变日志同步的采集格式,就需要在日志的接收方配置.编辑格式如下图所示,编辑的文本必须在所有采

linux初学者-DNS配置篇

linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的,如果再次询问这个域名,同样需要之前的时间,这无疑延长了解析时间以及增加了服务器的负担,如果DNS服务器能够记住并且分享询问过的域名,那么其他主机在询问这个域名时就会快很多.这就是高速缓存DNS. 配置高速缓存,需要在DNS服务器上做如下配置: a."yum install bind -y"

linux初学者-ftp篇(一)

linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SELINUX,需要将SELINUX下的enforing改为disabled,否则在进行上传或者下载时会有影响. 1.vsftpd服务的安装 在有yum源的前提下,输入"yum install vsftpd.x86_64 lftp.x86_64 -y"安装vsftpd服务,"vsftp

linux初学者-网络桥接篇

linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题. 搭建网络桥可以通过编辑配置文件和命令管理来实现. 1.编辑配置文件 如下图所示,主机的物理网卡为"enp0s25",IP为&q

linux初学者-系统启动故障篇

linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的446个字节指定了系统启动时/boot分区在磁盘中的为至,所以mbr这446个字节如果被删除或者被覆盖,就会导致系统找不到/boot分区而开不了机. 例如下图,用"dd if=/dev/zero of=/dev/vda bs=446 count=1"覆盖掉前446个字节.重启系统发现无法启动