Linux基础入门

Linux基础入门

1Linux发行版及哲学思想

1.1 Linux发行版

         Linux发行版(Linux Distribution,也被叫做GUN/Linux发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GUN计划的大量的函数库,和基于X Window的图形界面。有些发行版考虑到容量大小而没有预装X Window,而使用更加轻量级的软件。

       目前有超过300Linux发行版,大部分正处于活跃的开发中,不断的改进。

                                              基于打包方式.jpg

    1.2 linux哲学思想

      1.2.1 一切皆文件

               把几乎所有资源,包括硬件设备都组织为文件格式;

      1.2.2 由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好

               组合小程序完成复杂任务;

      1.2.3 尽量避免跟用户交互

               目标:实现脚本编程,以自动完成某些功能;

      1.2.4 使用纯文本文件保存配置信息

               目标:一款使用的文本编辑器即能完成系统配置工作;

2Linux获取命令帮助详解

2.1 Linux命令的分类(Shell的内部命令和外部命令)

     Linux命令的执行必须依赖于Shell命令解释器。Shell实际上是在Linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接受用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,Shell在用户和内核之间充当了一个“翻译官”的角色。当用户登陆到Linux系统时,会自动加载一个Shell程序,以便给用户提供可以输入命令的操作环境。

Bash是Linux系统中默认使用的Shell程序,文件位于/bin/bash。根据Linux命令与Shell程序的关系,一般分为以下两种类型:

内部命令:指的是集成于Shell解释器程序(如Bash)内部的一些特殊指令,也成为内建(Built-IN)指令。内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无需从硬盘中重新读取文件,因此执行效率更高。

外部命令:指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令。Linux系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。

 

 

区别外部命令内部命令的方法:

1、使用 type 命令

$ type cd

cd is a shell builtin

$ type cat

cat is /bin/cat

2、使用whereis或者which

    2.2 内部命令获取帮助

     # help  COMMAND

    2.3 外部命令获取帮助

2.3.1 # COMMAND –help

2.3.2 使用手册(manual)

                      # man COMMAND

2.3.3 信息页

                      #info COMMAND

2.3.4 程序自身的帮助文档

                      程序自身的帮助文档一般位于/usr/share/doc/COMMAND-VERSION

2.3.5 程序官方文档

2.3.6 发行版的官方文档

                      以redhat为例,其发行版的官方文档:http://www.redhat.com/docs

2.3.7 Google

3Linux常用的系统基础命令

3.1目录相关的命令

             cd: 切换目录

~:用户的主目录

                     cd cd ~: 回当前用户的主目录

                     cd ~USERNAME: 切换至指定用户的主目录

                     cd -: 在上一个目录和当前目录之间来回切换

                     .

                     ..

                     相关的环境变量:

                            PWD:保存了当前目录路径;

                            OLDPWD:上一次所在目录路径;

             pwd: 显示当前目录

             ls: list显示指定路径下的文件列表;

                            ls [OPTION]… [DIR]…

                            -a, –all: 显示所有文件,包括隐藏文件;

                            -l: 长格式

                                   -rw-r–r– 1 root root 44800 Aug 14 14:32 install.log

                                          -rw-r–r–:

                                                 最左侧的第一位:文件类型

                                                        -, d, l, b, c, p, s

                                                 后面的9位:访问权限,perm

                                          1:文件被硬链接的次数;

                                          root: 文件的owner

                                          root: 文件的group

                                          44800:文件的size

                                          Aug 14 14:32 : 文件的最近一次被修改的时间

                                          install.log 文件名

                            -h, –human-readable:单位换算

                            -d: 显示目录自身的相关属性;通常要与-l一起使用;

                            -r, –reverse: 逆序显示

                            -R, –recursive: 递归

              stat /PATH/TO/SOMEFILE:获取指定文件的元数据

3.2文件查看命令:cat, tac

                            cat [OPTION]… [FILE]…

                            -E: 显示行结束符$

                            -n: 对显示出的每一行进行编号

3.3文件内容类型查看命令:file

                            file  /PATH/TO/SOMEWHERE

3.4系统管理类命令:

                   关机:

                     halt, poweroff, shutdown, init 0

              重启:

                     reboot, shutdown, init 6

              跟用户登录相关:

                     who, whoami, w

3.5回显命令:echo

                            -n: 禁止自动添加换行符号;

                     -e: 允许使用转义符;

                            \n: 换行

                            \t: 制表符

                     echo "$VAR_NAME": 变量会替换,双引号表弱引用

                     echo '$VAR_NAME': 变量不会替换,强引用

3.6 which:显示命令对应的程序文件路径

                            which [OPTION] COMMAND

                            –skip-alias:禁止显示别名

                     whatis: whatis数据库中搜索单词

4Linux 文件系统基础

4.1 首相来了解下什么是文件系统

          计算机的文件系统是一种存储和组织计算机数据的方法。从系统角度来啦吗,文件系统对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。

        文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。

        不同Linux发行版之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录的基本结构都是一样的。

 

文件系统有多种类型:

Ÿ   ext2 : 早期Linux中常用的文件系统。

Ÿ   ext3 : ext2的升级版,带日志功能。

Ÿ   RAMFS : 内存文件系统,速度很快。

Ÿ   Iso9660 : 光盘或光盘镜像。

Ÿ   NFS : 网络文件系统,由SUN发明,主要用于远程文件共享。

Ÿ   MS-DOS : MS-DOS文件系统。

Ÿ   FAT : Windows XP操作系统采用的文件系统。

Ÿ   NTFS : Windows NT/XP操作系统采用的文件系统。

4.2 Linux发行版的常见目录

目录

功能

/

根目录,只能包含目录,不能包含具体文件。

/bin

供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序

/sbin

管理类的基本命令,不能关联之独立分区,OS启动即会用到的程序

/lib

基本共享库文件,以及内核模块文件(/lib/modules)

/lib64

专用于x86_64系统上的辅助共享文件存放位置

/etc

配置文件目录(纯文本文件)

/home/username

普通用户家目录

/root

管理员的家目录

/media

便携式移动设备挂载点(cdrom|usb)

/mnt

临时文件系统挂载点

/dev

设备文件及特殊文件存储位置(b: block device随机访问)(c:character   device线性访问)

/opt

第三方应用程序的安装位置

/srv

系统上运行的服务用到的数据

/tmp

临时文件存储位置

/usr

Universal shared, read-only data

/usr/bin

保证系统拥有完整功能而提供的应用程序

/usr/sbin

非必要的二进制标准系统文件

/usr/lib

用于编程和包的库

/usr/lib64

/usr/include

C程序的头文件(header files)

/usr/share

结构化独立的数据,例如docman

/user/local

第三方应用程序的安装位置

/var

Variable data files

/var/cache

应用程序缓存数据目录

/var/lib

应用程序状态信息数据

/var/local

专用于为/usr/local下的应用程序存储可变数据

/var/lock

锁文件

/var/log

日志目录及文件

/var/opt

专用于为/opt下的应用程序存储可变数据

/var/run

运行中的进程相关的数据;通常用于存储进程的pid文件

/var/tmp

保存系统两次重启之间产生的临时数据

/proc

用于输出内核与进程信息相关的虚拟文件系统

/sys

用于输出当前系统上硬件设备相关信息的虚拟文件系统

/selinux

Security enhanced linuxselinux相关的安全策列等信息存储位置0

 

4.3 Linux应用程序的常见组成部分

Ÿ   二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

Ÿ   库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

Ÿ   配置文件:/etc, /etc/DIRECTORY, /usr/local/etc

Ÿ   帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

4.4 Linux下的文件类型

Ÿ   – (f):普通文件;

Ÿ   d: 目录文件;

Ÿ   b: 块设备;

Ÿ   c: 字符设备;

Ÿ   l: 符号链接文件;

Ÿ   p: 管道文件;

Ÿ   s: 套接字文件;socket;

原创文章,作者:Daniel-W,如若转载,请注明出处:http://www.178linux.com/11695

(1)
Daniel-WDaniel-W
上一篇 2016-02-28
下一篇 2016-02-28

相关推荐

  • DNS资源记录类型

      资源记录   资源记录(Resource Records),简称RRs。是指每个域所包含的与之相关的资源。例如,每个RR都包括这个域的所属(RR是从哪个域名中得到的),类型(什么样的资源存在于这个RR中),TTL(time to live,存活时间)等等。 DNS包括七大资源记录 A记录:也称为主机记录,是DNS名称到IP地址的映射,用于正向解…

    Linux干货 2017-02-08
  • 第二周-博客

    本文大纲 文件系统层级结构标准 Linux上常见的文件类型 bash的基础特性 用户、组和普通权限 一些零散命令的使用 文件系统层级结构标准 FHS是Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定…

    Linux干货 2016-12-07
  • mount挂载

    mount 1 挂载mount                                               &nb…

    Linux干货 2017-04-24
  • 互联网的实现

    互联网的实现 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡就收到了,两者实际上根本就不知道对方的物理位置,这难道不是一件很神奇的事情吗? 互联网的**核心**是一些列协议,总称为“互联网协议”(Internet Protocol Suite)。它们对电脑如何连接和组网做出了详细的规定。 互联网协议入门 概述 五层模型…

    Linux干货 2017-05-05
  • 端口转发实例

    什么是端口转发?      端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。 为什么需要端口转发? …

    2017-04-13
  • IP SAN实验

    实验环境 centos7 serverx2 IP:192.168.0.206    192.168.0.207 iscsi-server端的配置 准备磁盘设备 安装程序包 创建target 创建lun 授权   首先添加两块硬盘 sdb sdc 然后安装软件包 yum -y install epel-release yum -y install s…

    2017-12-16

评论列表(2条)

  • stanley
    stanley 2016-02-28 12:06

    文章写的不错。仍有提升空间,可参考置顶推荐的文章

    • Daniel-W
      Daniel-W 2016-02-28 15:52

      @stanleythanks~