美文网首页
2-1 Linux 概念和基本操作

2-1 Linux 概念和基本操作

作者: 陈小陌丿 | 来源:发表于2016-09-07 09:51 被阅读0次

    Linux 概念知识

    1. 自由软件与 FSF

    自由软件

    简单的理解,自由软件的核心就是没有商业化软件版权的制约,源代码开放,可无约束自由传播。

    • 但是 自由 != 免费
    • 例如:
      • Red Hat Linux 自由但是不免费
      • Centos Linux 自由且免费

    FSF

    自由软件基金会(Free Software Foundation,FSF), 主要研发方向GNU

    1. GNU计划,又称革奴计划

    GNU是“GNU is Not Unix”的递归缩写。即: GNU 不是 UNIX。
    是FSF的主要项目,这个项目的目标是建立一套完全自由的 和 可移植的 类UNIX系统

    1. GPL(GNU通用公共许可证)

    是一个最著名的开源许可协议,Linux的内核就是在GPL许可下发布的,GPL许可是自由软件基金会创建的。

    GPL的核心就是保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布的自由软件的源代码权利,但必须同时给出具体更改的源代码。


    系统分区的基本要求

    根分区 /

    至少要有一个根(/)分区,用来存放系统文件及程序。
    其大小至少在5GB以上。

    交换分区(swap)分区,

    它的作用相当于Windows里的虚拟内存,

    IF(物理内存 <= 8 ){
        swap 大小 = 物理内存*1.5
    }ELSE{
        根据情况配置  8GB ~ 16GB  即可
    }
    swap分区不是必须的,但是大多数情况下应该配置,个别企业的数据库应用场景不分swap。
    
    

    系统引导分区 /boot

    这是Linux系统的引导分区,用于存放系统引导文件,如内核等。
    <br />所有文件的总大小一般只有十几MB,并且以后也不会增加太多。
    <br />因此,该分区可以设置为100 ~ 200MB,这个分区也不是必须的。


    目录介绍

    /:
      根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
    
    /bin:  /usr/bin:
      可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
    
    /boot:
      放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
    
    /dev:
      存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
    
    /etc:
      系统配置文件存放的目录,不建议在此目录下存放可执行文件。
      重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d
      PS: 修改配置文件之前记得备份。
    注:/etc/X11存放与x windows有关的设置。
    
    
    /home:
      系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下。
      ~表示当前用户的家目录,~test表示用户test的家目录。
      建议单独分区,并设置较大的磁盘空间,方便用户存放数据。
    
    /lib:  /usr/lib:   /usr/local/lib:
      系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。
      比较重要的目录为**/lib/modules**。
    
    /lost+fount:
      系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。
      如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found
    
    /mnt: /media:
      光盘默认挂载点,通常光盘挂载于 **/mnt/cdrom** 下,也不一定,可以选择任意位置进行挂载。
    
    /opt:
      给主机额外安装软件所摆放的目录。
      如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。
      以前的 Linux 系统中,习惯放置在 /usr/local 目录下
    
    /proc:
      此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间。
      比较重要的目录有:
        /proc/cpuinfo、
        /proc/interrupts、
        /proc/dma、
        /proc/ioports、
        /proc/net/*
    
    /root:
      系统管理员root的家目录。
      系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
    
    /sbin: /usr/sbin:  /usr/local/sbin:
      放置系统管理员使用的可执行命令,
      如fdisk、shutdown、mount等。
      与 /bin 不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
    
    /tmp:
      一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下,重启后会清空。
    
    /srv:
      服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内
    
    /usr:
      应用程序存放目录
      /usr/bin存放应用程序
      /usr/share存放共享数据
      /usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。
      /usr/local:存放软件升级包。
      /usr/share/doc:系统说明文件存放目录。
      /usr/share/man: 程序说明文件存放目录,使用 man ls时会查询 /usr/share/man/man1/ls.1.gz的内容。建议单独分区,设置较大的磁盘空间
    
    /var:
      放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log
      /var/log/message:所有的登录文件存放目录
      /var/spool/mail:邮件存放的目录
      /var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间
    

    bash 命令提示符的构成

    例子:[root@chen ~]#

    root 当前登录的用户名

    chen 当前Linux系统的主机名

    ~ 当前路径

    # 用户标识 可以修改成个性化标识, 默认情况下root是#,其他的是$


    用户组

    在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念

    • 所有者

    • 所在组

    • 其它组

    • 改变用户所在的组

    所有者

    一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者

    用ls ‐ahl命令可以看到文件的所有者

    也可以使用chown 用户名 文件名来修改文件的所有者

    文件所在组

    当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

    用ls ‐ahl命令可以看到文件的所有组

    也可以使用chgrp 组名 文件名来修改文件所在的组

    其它组

    除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组


    文件权限

    ls -l 中显示的内容如下:

    -rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

    • 10个字符确定不同用户能对文件干什么

    • 第一个字符代表文件(-)、目录(d),链接(l)

    • 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

    • 第一组rwx:文件所有者的权限是读、写和执行

    • 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

    • 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

    也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

    • 1 表示连接的文件数

    • root 表示用户

    • root表示用户所在的组

    • 1213 表示文件大小(字节)

    • Feb 2 09:39 表示最后修改日期

    • abc 表示文件名

    改变权限的命令

    chmod 改变文件或目录的权限

    chmod 755 abc:赋予abc权限rwxr-xr-x

    chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

    chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

    chmod a+r abc:给所有用户添加读的权限

    改变所有者(chown)和用户组(chgrp)命令

    chown xiaoming abc:改变abc的所有者为xiaoming

    chgrp root abc:改变abc所属的组为root

    chown root ./abc:改变abc这个目录的所有者是root

    chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

    改变用户所在组

    在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

    • usermod ‐g 组名 用户名

    改变该用户登录的初始目录

    • usermod ‐d 目录名 用户名

    小结

    • groupadd 组名,在linux中添加组

    • vi /etc/group,查看linux中所有组信息,可以看可以编辑

    • cat /etc/group,查看linux中所有组信息,只可以看不可以编辑

    • useradd ‐g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下

    • vi /etc/passwd,查看linux中所有用户信息,可以看可以编辑

    • cat /etc/passwd,查看linux中所有用户信息,只可以看不可以编辑


    如何安装VMtools

    1. 在VMware虚拟机的菜单中点击:VM->install vmtools
    2. Ubuntu自动挂载VMware Tools的虚拟光驱,并显示在桌面。
    3. 进入Ubuntu菜单:应用——附件——终端。
    4. 以下是在终端中安装vmware tools的步骤及命令:
      # 给root 设置密码
      sudo passwd root
    
      # 切换到 root  
      su
    
      # 切换到光驱目录
      cd /media/chen
    
      ls
    
      # 创建目录并拷贝
      mkdir /test
      cp VMwareTools-6.5.0-118166.tar.gz /test
    
      # 切换目录并解压
      cd /test
      tar vzxf VMwareTools-6.5.0-118166.tar.gz
    
      # 切换目录 并执行安装操作
      cd vmware-tools-distrib/
      ./vmware-install.pl
    
      # 接下来一路回车:enter
      # 安装完毕,输入reboot命令,重起
    
      # 重启完后 删除刚才的目录
      rm -rf /test
    
    

    更新软件源地址

    1. 备份当前配置文件

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.old

    2. 编辑文件

    可以追加也可以覆盖 我是直接覆盖了

    1. 使用vim 编辑 或者自带的 gedit

    sudo gedit sources.list

    2. 将新的地址复制进文件 然后保存

    # 163
    deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/precise-backports main restricted universe multiverse
    
    #sohu
    deb http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse
    deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ precisec-security main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse
    deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse
    
    #ustc
    deb http://mirrors.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ precise-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-security main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
    

    3. 更新

    sudo apt-get update


    安装SSH服务

    1. 安装命令

    sudo apt-get install openssh-server

    2. 查看进程

    ps -e | grep sshd

    3. 启动

    sudo /etc/init.d/ssh start
    service ssh restart # 一样的效果 下同

    4. 停止

    sudo /etc/init.d/ssh stop

    5. 重启

    sudo /etc/init.d/ssh restop

    6. 卸载

    sudo service ssh stop #先停止

    sudo apt-get --purge remove openssh-server #卸载命令

    7. 修改配置

    配置地址

    /etc/ssh/sshd_config
    例如修改端口, 打开文件后 修改 Port 配置


    设置密码

    sudo passwd [用户名]

    设置root 密码

    sudo passwd root


    切换帐号

    su [用户名]

    切换到root

    su 或者 su root

    切换到普通帐号

    su chen


    常见的命令还有

    • cp
    • mv
    • rm
    • tar
    • ls
    • mkdir
    • touch
    • cat

    相关文章

      网友评论

          本文标题:2-1 Linux 概念和基本操作

          本文链接:https://www.haomeiwen.com/subject/uzrjettx.html