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

相关推荐

  • Linux 网络属性管理

    在介绍Linux网路属性管理之前,我还要介绍下以太网(Enternet) 以太网的工作原理 以太网才用带冲突检测的载波侦听多路访问(CSMA/CD)机制。以太网中节点都可以看到在网络中发送的所有信息,因此,我们说以太网是一种广播网络。 以太网的工作过程如下: 当以太网中的一台主机要传输数据时,它将按如下步骤进行: 1.监听信道上是否有信号在传输。如果有的话,…

    Linux干货 2016-03-20
  • LB Cluster:lvs

    Linux Cluster: Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统; Linux Cluster类型: LB:Load Balancing,负载均衡; HA:High Availiablity,高可用; A=MTBF/(MTBF+MTTR) (0,1):90%, 95%, 99%, 99.5%, 99.9%, 99.99%, …

    Linux干货 2017-06-24
  • 图解Man

    个人浅见 欢迎指正

    Linux干货 2016-10-18
  • N25-第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # 统计登录用户和非登陆用户的个数 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干货 2017-02-24
  • 21期第一周网络练习作业

    计算机的组成部分及功能 由运算器、控制器、存储器、输入设备和输出设备组成 其中运算器负责数据的算术运算和逻辑运算,即数据的加工处理;   控制器负责对控制信息进行分析,控制并协调输入、输出操作或内存、外存访问;   存储器用来存放计算程序及参与运算的各种数据,实现类似人脑记忆功能的部件,分为内存和外存;  &…

    Linux干货 2016-07-12
  • Linux源码包安装详解

    安装源码包 安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。 源码包的编译用到了linux系统里的编译器,常见的源码包一般都是用C语言开发的,这也…

    Linux干货 2016-09-06

评论列表(2条)

  • stanley
    stanley 2016-02-28 12:06

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

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

      @stanleythanks~