linux-part1

一、Linux简介

1.Linux操作系统是UNIX操作系统的一种克隆程序,它其实就是操作系统底层的核心及其提供的工具。它对于计算机和用户的意义,与MAC OS X和windows对于计算机和用户的意义相同,都是搭建计算机与用户交互的桥梁,帮助用户更加高效的处理日常工作。

2.Linux操作系统的主要用途:用于服务器,特别是网络服务器。(除了开发等专业人员外,普通用户较少使用Linux)

3.Linux的优缺点

  优点:

  (1)自由与开放的使用与学习环境

  (2)配备需求低廉

  (3)核心功能强大而稳定

  (4)独立作业

  (5)稳定的系统

  (6)安全性、漏洞的快速修补

  (7)多任务、多使用者

  (8)使用者与群组的规划

  (9)相对不耗资源的系统

  (10)适合需要小核心程序的嵌入式系统

  (11)整合度佳且多样的图形用户接口(GUI)

  ........

  缺点:

  (1)没有特定的支持厂商

  (2)游戏的支持度不足

  (3)专业软件的支持度不足

  (4)教育训练做的还不够好

  ...额,比优点少很多啦(其实主要是政策和商业上的一些影响因素)

4.LINUX主要发行版:CENTOS、RHEL、FEDORA、UBUNTU、SUSE,所有的distribution组成含有:[Linux kernel+free software+Documentations(tools)+可完全安装的程序]。

5.两种常见的图形界面环境:KDE和GNOME。

 


 

二、Linux常用概念及命令介绍

1.图形界面模式(X Window)与终端模式(terminal或console)

  (1)两种定义概念:

    1)图形界面模式:用鼠标对程序图形点击进行操作的一种人机交互途径。

    2)终端模式:用类似代码的命令指令来进行人机交互的途径。

  (2)两种端口的切换:

    在Linux默认的登入模式中,主要分为两种,一种是仅有纯文本接口(执行等级run level 的登入环境,在此环境下有tty1~tty6的终端界面,但是并没有图形窗口环境。另一种则是图形接口的登入环境(执行等级run level 5),在这个环境中有tty1~tty7个窗口,其中tty7就是开机完成后等待登入的图形环境。

    各个窗口切换指令:

      · [Ctrl]+[Alt]+[F1]~[F6]:终端模式

      · [Ctrl]+[Alt]+[F7]:图形界面膜式。

    如果你以纯文本模式启动Linux,预设的tty7是没有窗口的。如果要启动图形窗口怎么办呢,可以在任一终端输入startx(可能会出现意外,那怎么办--->baidu)。

    纯文本登陆界面后显示如下:

 

 

 

 

    这些代表什么意思呢?    

    1). CentOS release 6.8(Final):

      显示Linux distribution的名称(CentOS)的版本(6.8); 
    2). Kernel 2.6.32-642.el6.x86_64 on an x86_64

      显示核心的版本为2.6.32-642.el6.x86_64
    3). vision9527 login::

      vision9527是主机名。
    4). Password::

      输入密码
    5). [root@vision9527 ~]#

      正确登入后才显示的讯息(注意:#为有root权限的用户提示符,$为普通用户提示符)

2.Linux命令格式

    格式:命令名  [ 选项]  [参数 1]  [参数 2]……  如:ls -a /etc/passwd(除命令以外,其它项不是必须包含项,例如:ls  是查看当前目录下的文件)

    ls是命令,-a是选项,/etc/passwd是参数,详细介绍请猛戳这里

3.常用操作命令

    常用系统级别操作例举:

      1)init:一个由内核启动的用户级进程。init 0关机、init 1进单用户模式、init 6重启、init 3命令行模式、init 5图形界面。

      2)su:su -用户名,切换到另一个用户。

      3)useradd:useradd 用户名,新增一个用户

      4)passwd:passwd 用户名,为此用户修改或增加密码。

      5)date:查看当前系统日期。

      6)clear:清屏。

      7)history:记录使用过的命令。普通的history命令只会根据顺序显示命令。介绍一种更友好的配置,出错后配合last或者日志能清楚的找到谁的问题。 

      8)id:显示当前用户和组id等。 id 用户名。

      9) who:返回当前处于运行状态用户。

      10)whoami:返回当前窗口运行用户。

      11)man:man 命令,查看帮助文档。

      12)help: 命令 --help,查看帮助文档。

      13)shutdown:冻结login指令,发送信号给init进程要求切换运行界别,并通知所有已登陆用户即将关闭系统。常用参数:-t 延迟时间,-r重启参数,-c 取消正在执行的关机,-h关机后关闭电源。

      其它常用命令:chkconfig、init、shutdown、halt、reboot、set、env、export、crontab、uptime、last、history、id、finger、who、w、whoami、useradd、passwd、usermod、userdel、date、cal、wget、yum、curl、lsmod、dmesg。具体选项及参数请猛戳这里 

    常用快捷键:

      ctrl+space:中文与英文输入法切换

      ctrl+shift:输入法切换

      alt+Space:Activate window menu,激活窗口调整状态

      alt+F1:show the panel menu,即最左下角的运行程序

      alt+F2:Show the panel run application dialog,,打开运行命令窗口

      alt+F4:Close,关闭当前活动窗口

      alt+F5:Unmaximize,在最在窗口情况下还原

      alt+F6:聚焦桌面上当前窗口

      其它常用快捷键请猛戳这里。


 三、Linux目录结构介绍

  因为利用Linux来开发产品或distributions的社群/公司/个人实在太多, 如果每个人都用自己的想 法来配置档案放置的目彔,那举将可能造成徆多管理上的困扰。 你能想象,进入一个企业后,如果Linux的配置方法和自己当初学习的不太一样,那怎么办?很难想象吧~所以,就有所谓的 Filesystem Hierarchy Standard (FHS)标准。然后大家都按照这个标准来配置文件,那么在管理的时候就非常的方便了。

1.亊实上,FHS目录树架构仅规定了三层目录下应该放置什么文件,分别是以下三个:

  (1)/根目录:放置与系统启动相关的文件,如/etc下是存放与系统。

  (2)/usr(user software resource):放置与安装和执行应用软件相关的文件。

  (3)/var(variable):放置运行系统有关的文件。 
2.目录树:

    

                      目录树架构示意图

3.各目录介绍

目录

描述

/

第一层次结构的根、整个文件系统层次结构的根目录。

/bin/

需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如:cat、ls、cp,和/usr/bin类似。

/boot/

引导程序文件,例如:kernel、initrd;时常是一个单独的分区[6]

/dev/

必要设备, 例如:, /dev/null.

/etc/

特定主机,系统范围内的配置文件。

关于这个名称目前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为/etcetra 目录,[7]这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc存放静态配置文件,不能包含二进制文件)。[8]自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括反向缩略语如:"可编辑的文本配置"(英文 "Editable Text Configuration")或"扩展工具箱"(英文 "Extended Tool Chest")。[9]

/etc/opt/

/opt/的配置文件

/etc/X11/

X_Window系统(版本11)的配置文件

/etc/sgml/

SGML的配置文件

/etc/xml/

XML的配置文件

/home/

用户的家目录,包含保存的文件、个人设置等,一般为单独的分区。

/lib/

/bin/ and /sbin/中二进制文件必要的库文件。

/media/

可移除媒体(如CD-ROM)的挂载点 (在FHS-2.3中出现)。

/lost+found

在ext3文件系统中,当系统意外崩溃或机器意外关机,会产生一些文件碎片在这里。当系统在开机启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。当系统发生问题。可能会有文件被移动到这个目录中,可能需要用手工的方式来修复,或移到文件到原来的位置上。

/mnt/

临时挂载的文件系统。比如cdrom,u盘等,直接插入光驱无法使用,要先挂载后使用

/opt/

可选应用软件包。

/proc/

虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)。例如:uptime、 network。在Linux中,对应Procfs格式挂载。该目录下文件只能看不能改(包括root)

/root/

超级用户的家目录

/sbin/

必要的系统二进制文件,例如: init、 ip、 mount。sbin目录下的命令,普通用户都执行不了。

/srv/

站点的具体数据,由系统提供。

/tmp/

临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留。

/usr/

默认软件都会存于该目录下。用于存储只读用户数据的第二层次;包含绝大多数的(多)用户工具和应用程序。

/var/

变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。如果不单独分区,有可能会把整个分区充满。如果单独分区,给大给小都不合适。

4.绝对路径与相对路径

  (1)绝对路径:由根目录(/)开始写起的文件名或目录, 例如 /home/dmtsai/.bashrc;

  (2)相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 ../home/dmtsai/ 等等。 反正开头不是 / 就属于相对路径的写法 。

5.对目录和文件的常用操作

    在了解了Linux的命令格式和目录的结构后,现在我们可以来学习常用的对文件、目录的命令操作,即在工作过程中用到非常普遍的命令。

    (1)pwd命令的功能:确定现在所在的工作目录。
        cd命令的功能:切换当前目录,例:切换到/home/dog目录的命令为,cd /home/dog

        ”cd ..”命令:进入上一级目录
        ”cd ~”命令:切换到用户的家目录
        ”cd 命令:同cd ~,也可切换到用户的家目录
        ”cd –”命令:切换到用户之前的工作目录
        ”cd 目录名”命令:切换到指定的目录。

    (2)ls命令列出当前目录中的内容
        “ls -a” 命令:列出目录下的所有文件,包括以“.”开头的隐含文件

          例:列出/home/dog目录中的所有文件,包括隐藏文件的命令,ls -a /home/dog
        “ls –l”命令:列出某个目录中每一个文件的详细资料

          例:列出/home/dog目录中所有非隐藏文件的细节(包含权限)的命令,ls –l /home/dog

    (3)cp命令复制文件和目录(文件和目录的使用方法略有不同)
        “cp 源文件 目标文件”命令的常用选项:
        –r(recursive,递归的):递归地复制目录。当复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容。
          例:将/home/dog目录中的内容全部复制到目录/home/cat中的命令为:cp –r /home/dog /home/cat

          例:将/home/dog/test.txt文件复制到/home/cat中命令为cp /home/dog/test.txt /home/cat

    (4)mv命令移动及修改文件和目录名(有时可以充当备份操作,如:mv test.txt /tmp/)
        “mv 文件 目录”命令:当前目录中的文件移动到其子目录中
          例:mv lists babydog,将当前目录中lists文件移动到babydog目录中。
        “mv 旧目录名 新目录名”命令:重命名文件和目录
          例:mv bigdog babydog,将旧目录名bigdog修改为新目录名babydog

    (5)mkdir命令创建目录
        “mkdir 目录名”命令:当前目录中创建一个新目录

          参数:-m,配置文件的权限,-p,递归的创建目录
          例:mkdir -m 741 dadgog,在当前目录中创建新目录权限为741的dadgog目录

            mkdir -p test/test2/test 

    (6)touch命令创建文件:可以创建一个空文件,也可以同时创建多个文件(详见linux系统管理P56)
        “touch 文件名”命令:在当前目录中创建一个新文件
          例:touch babydog1 ,在当前目录中创建一个名为babydog1的文件

          例:touch /dir1/dir2/dir3/test.txt,递归的创建文件

    (7)rm命令删除文件:永久地在文件系统中删除文件或目录(详见linux系统管理P57)

        “rm 文件名”命令:删除当前目录下的文件
        rm命令的常用选项:
          –r(recursive,递归的):递归地删除目录。当删除一个目录时,删除该目录中所有的内容,其中包括子目录中的全部内容。
          –f(force,强制):系统并不询问而是强制删除,即直接删除原有的文件。
          例:rm babydog1,删除当前目录中的babydog1文件的命令

          例:rm -rf /dir1/dir2/dir3/test.txt,强制删除文档或文件(非常危险)

    (8)rmdir或rm –r命令删除目录(详见linux系统管理P59)

        rmdir命令的功能:删除空目录
          例:rmdir mumdog/girldog/babydog,删除空目录 mumdog/girldog/babydog
        rm –r命令的功能:删除包含文件和子目录的目录。
          例:rm –r mumdog,删除非空目录mumdog

    (9)cat命令浏览正文文件的内容(详见linux系统管理P73)
        cat命令的功能:将一个或多个文件的内容显示在屏幕上,该命令会不停的以只读的方式显示整个文件的内容。
          例:cat game.txt,浏览game.txt文件中的全部内容
    (10)head命令浏览文件中的内容(详见linux系统管理P75)
        head命令的功能:默认将显示一个文件的前10行。
        head命令的常用选项:
          -n 改变显示的行数(默认10行)
          例:head /etc/passwd,查看/etc/passwd文件中前10行的详细信息

          例:head –5 /etc/passwd,查看/etc/passwd文件中前5行的详细信息

    (11)tail命令浏览文件中的内容(详见linux系统管理P76)
        tail命令的功能:默认显示文件最后10行的内容。
        tail命令的常用选项:
          -n 显示从文件末尾算起的n行(默认10行)

          -f 动态显示文件内容(常用来查看日志)
          例:tail /etc/passwd,查看/etc/passwd文件中最后10行的详细信息

          例:tail –5 /etc/passwd,查看/etc/passwd文件中最后5行的详细信息
    (12)more命令浏览文件(详见linux系统管理P78)
        more命令的功能:使用more命令之后,每次在屏幕上显示一屏(一页)的文件内容,并且在屏幕的尾部将会出现“—More--(n%)”的信息,其中,n%是已经显示文件内容的百分比。
          例:more learning.txt, 分页浏览learning.txt文件内容

    (13)file命令查看文件类型

 


四、Linux权限与用户、群组

1.用户与群组概念    

    用户:为每一个访问系统的个人创建的一个账户。

    群组:将多个用户组成的一个集合。

2.Linux用户身份与群组记录的档案

    在Linux系统当中,默认的情况下,所有的系统上的账号与一般身份使用者,还有root的相关信息, 都是记录在/etc/passwd这个档案内的。二个人的密码则是记录在/etc/shadow这个档案下。 此外,Linux所有的组名都纪录在/etc/group内!这三个档案可以说是Linux系统里面账号、密码、群组信息的集中地,所以这三个文件非常重要,当然,还有其它相关文件。

    (1)passwd文件

      1)/etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。

      2)/etc/passwd文件每个字段的具体含义:
          第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)。
          第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码
          第3个字段(列)记录的是这个用户的uid(0为root用户,将普通创建的用户uid改为0则此普通用户等于root用户)。
          第4个字段(列)记录的是这个用户所属群组的gid。
          第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)。
          第6个字段(列)记录的是这个用户的家目录的路径。
          第7个字段(列)记录的是这个用户登录后,第一个要执行的进程。

    (2)shadow文件(详见linux系统管理P133)
      1) /etc/shadow文件的功能:存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库(Database)。
      2)/etc/shadow文件每个字段的具体含义:
          第1个字段(列)是用户名。
          第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码。

    (3)group文件(详见linux系统管理P135)
      1) /etc/group文件的功能:存放了Linux系统中所有群组的信息,它实际上就是一个存放群组信息的数据库(Database)。
      2) /etc/group文件每个字段的具体含义:
          第1个字段是这个群组的名字。
          第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。
          第3个字段记录的是这个群组的gid。
          第4个字段记录的是这个群组里还有哪些群组成员。

    (4)gshadow文件,/etc/gshadow

    (5)home目录,/home/用户

    (6)mail文件,/var/spool/mail

    (7)用户创建、修改信息、删除用户命令:

      1)useradd命令新增一个用户。
        useradd命令的常用选项:
          –u:指定用户的UID
          –g:指定用户所属的群组
          –d:指定用户的家目录
          –c:指定用户的备注信息
          –s:指定用户所用的shell
        例:useradd –u 600 –g police -d /home/sb -c big -s /bin/bash user01,在系统中新增一个用户user01,属组为police,uid为600,家目录为/home/sb,备注信息为big,用户shell为/bin/bash
      2)usermod命令修改用户账户信息(详见linux系统管理P458)
        usermod命令的常用选项:
          –u:修改用户的UID
          –g:修改用户的GID
          –G:将一个用户加入到指定的群组中

           –aG : 追加组(使一个用户使用多个组)
          –d:修改用户的家目录(只是修改家目录位置,里面的配置文件并未拷贝过去)
          –c:修改用户的备注信息
          –s:修改用户所用的shell
        例:usermod –d /home/babies babydog4,修改babydog4用户的家目录为/home/babies
        例:usermod –G babydog6 babydog4,将babydog4这个用户添加到babydog6这个群组中
        例:usermod –g dog babydog4,将babydog4这个用户的的gid变更为dog群组

        usermod命令锁住用户及将用户解锁(详见linux系统管理P461)
          usermod –L命户令的功能:将用户的账号锁住

          usermod –U命户令的功能:将用户的账号解锁
        例:将babydog6用户的账号锁住的命令:usermod –L babydog6

        例:将babydog6用户的账号解锁的命令:usermod –U babydog6

      3) userdel命令删除用户账号(详见linux系统管理P462)
        userdel命令的常用选项:
          –r:在删除用户的同时删除这个用户的家目录及其邮箱。
        例:删除babydog5用户不删除其家目录的命令:userdel babydog5
        例:删除babydog5用户,同时删除其家目录的命令:userdel –r babydog5
    (8)组创建、修改信息、删除命令

      1)groupadd命令的功能:创建一个新的群组账号

        groupadd命令的常用选项:
          –g:指定群组的GID
        例:在系统中新增加一个名为boydogs的群组的命令:groupadd boydogs
      2)groupmod命令的功能:修改一个群组账号的信息

        groupmod命令的常用选项:
          –g:修改群组的GID
          –n:修改群组的名称
        例:修改police群组的gid为521的命令:groupmod –g 521 police

        例:将群组boydogs改名为daddogs的命令:groupmod –n daddogs boydogs
      3)groupdel命令的功能:删除一个群组账号
        例:删除daddogs群组的命令:groupdel daddogs

3.Linux档案权限的概念

     权限顾名思义就是一种对文件是否允许操作的描述,而操作可以分为对普通文件和对目录文件的操作,它们代表的意义大不相同,后面会有介绍。

    在Linux中对文件进行操作的有三类用户,1是使用者,2是群组里的用户,3是其他用户。

    但实际是上最终对文件进行操作的只有两类用户,一是有root权限的用户,二是无root权限的用户,只不过在考虑权限问题时软件设计者聪明的划分为前三类(即后两类可以以任意方式存在与前三类),也许是方便root用户管理系统(我瞎猜的),用久了Linux对比windows可能就会发现吧。

4.文件权限介绍(ls -l,查看当前文件权限信息)

    1)例:-rwxr-xr--  1 test1    testgroup    5238 Jun 19 10:25 ping_tsai 

    2)解释:

       r:表示read权限,也就是可以阅读文件或者ls命令列出目录内容的权限。
      w:表示write权限,也就是可以编辑文件或者在一个目录中创建和删除文件的权限。
      x:表示execute权限,也就是可以执行程序或者使用cd命令切换到这个目录以及使用带有-l选项的ls命令列出这个目录中详细内容的权限等。
      -:表示没有相应的权限(与所在位置的r、w或x相对应)。

       -rwxr-xr--分为:第一组-,第二组rwx,第三组r-x,第四组r--来看。test1代表属主(一般为创建用户,但可以修改),testgroup为属组(可以修改)。

    3)四组分别代表的意义:

        -  :普通文件(d代表目录文件,l代表软连接文件,b代表设备文件,p代表管道文件)

      rwx:test1(属主)用户对ping_tsai只有读、写、执行的权限

      r-x :testgroup(属组)组里的用户对ping_tsai只有读、执行的权限

      r-- :其他用户对ping_tsai只有读权限

5.修改属主、属组的方法

    chown :改变档案拥有者 (属主),chgrp :改变档案所属群组(属组)

    格式:chown [参数] u1.u2 文件名

    参数:-R,递归的修改目标目录下的文件的权限

    例:chown -R user1.user2 file1,将文件file1及包含的文件的属主修改为user1,属组修改为user2

      chgrp grp1 file1,将文件file1的属组修改为grp

6.修改权限的方法(chmod)

    (1)符号表示法

      

 

      解释:chmod代表修改权限指令,u/g/o/a代表权限作用于谁,+-=代表怎样作用,rwx代表作用什么权限,档案或目录代表作用对象。

      注意:-R选项,不但设置(或更改)该目录权限,而且还要递归地设置(或)更改该目录中所有文件或子目录的权限。

      例:chmod u+r file2 在file2上对属主加上读权限。

    (2)数字表示法

      4:表示具有读(read)权限。
      2:表示具有写(write)权限。
      1:表示具有执行(execute)权限。
      0:表示没有相应的权限。

      解释:0代表没有任何权限,1代表只有执行权限,2代表只有写权限,3代表只有写和执行权限,4代表只有读权限,5代表只有读和执行权限,6代表只有读和写权限,7代表有读写执行权限。

      例:chmod -R 754 /home/dog/babydog 使用数字表示法对owner开放/home/dog/babydog目录和其中所有文件的一切权限,但是对同组用户开放读和执行权限,而对其他用户只开放读权限的命令

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值