zoukankan      html  css  js  c++  java
  • Linux入门基础之 中

    五、Linux 下获取帮助

    • 没必要记住所有东西
    • Linux 提供了极为详细的帮助工具及文档,一定要养成查帮助文档的习惯,可以大大减少需要记忆的东西并且提高效率

    5.1、HELP

    • 几乎所有命令都可以使用 -h 或 --help 参数获取使用方法、参数信息等。

    5.2、MAN

    • man 命令是 Linux 中最为常用的帮助命令,将要获取帮助的命令作为参数运行 man 命令就可以获取相应的文档帮助
    • man 文档分为很多类型
    部分 类型
    1 用户命令
    2 内核参数调用
    3 库函数
    4 特殊文件和设备
    5 文件格式和规范
    6 游戏
    7 规范、标准和其他页面
    8 系统管理页面
    9 Linux 内核 API
    • man -k 关键字,可以用来查询包含该关键字的文档

    5.3、INFO

    • info 与 man 类似,但是提供的信息更为详细深入,以类似网页的形式显示
    • info 与 man 一样都可以通过 “/+关键字” 方式进行搜索

    5.4、DOC

    • 很多程序、命令都带有详细的文档,以 TXT、 HTML、 PDF 等方式保存在 /usr/share/doc 目录中,这些文档是相应程序最为详尽的文档

    六、用户及权限基础

    6.1、Linux 用户基础

    6.1.1 用户、组

    • 当我们使用 Linux 时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用、不可以使用哪些资源。
    • 组用来方便组织管理用户
      • 每个用户拥有一个 UserID ,操作系统实际使用的是用户 ID ,而非用户名
      • 每个用户属于一个主组,属于一个或多个附属组
      • 每个组拥有一个 GroupID
      • 每个进程以一个用户身份运行,并受该用户可访问的资源限制
      • 每个可登录用户拥有一个指定的 shell

    6.1.2 用户

    • 用户 ID 为32位,从0开始,但是为了和老式系统兼容,用户 ID 限制在60000以下
    • 用户分为以下三种:
      • -root 用户:ID 为0的用户为 root 用户
      • 系统用户:1~499
      • 普通用户:500以上
    • 系统中的文件都有一个所属用户及所属组
    • 使用 id 命令可以显示当前用户的信息
    • 使用 passwd 命令可以修改当前用户密码

    6.1.3 相关文件

    • /etc/passwd 保存用户信息
    • /etc/shadow 保存用户密码(加密的)
    • /etd/group 保存组信息

    6.1.4 查看登录的用户

    • 命令 whoami 显示当前用户
    • 命令 who 显示有哪些用户已经登录系统
    • 命令 w 显示有哪些用户已经登录并且在干什么

    6.1.5 创建一个用户

    • 命令 useradd 用以创建一个新用户
      • useradd nash_su , 这个命令会执行以下操作:
        • 1 在 /etc/passwd 中添加用户信息
        • 2 如果使用 passwd 命令创建密码,则将密码加密保存在 /etc/shadow 中
        • 3 为用户建立一个新的家目录 /home/nash_su
        • 4 将 /etc/skel 中的文件复制到用户的家目录中
        • 5 建立一个与用户用户名相同的组,新建用户默认属于这个同名组
    • 命令 useradd 支持以下参数:
      • -d 家目录
      • -s 登录shell
      • -u userid
      • -g 主组
      • -G 附属组(最多31个,用 “ , ”分隔)
      • 也可通过直接修改 /etc/passwd 的方式实现,但是不建议

    6.1.6 修改用户信息

    • 命令 usermod 用来修改用户信息
      • usermod 参数 username
    • 命令 usermod 支持以下参数:
      • -l 新用户名
      • -u 新 userid
      • -d 用户家目录位置
      • -g 用户所属主组
      • -G 用户所属附属组
      • -L 锁定用户使其不能登录
      • -U 解除锁定

    6.1.7 删除用户

    • 命令 userdel 用以删除指定用户:
      • userdel nash_su ( 保留用户的家目录 )
      • userdel -r nash_su ( 同时删除用户的家目录 )

    6.2、组

    6.2.1 组

    • 几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类、管理用户。一般来讲,我们使用部门、职能或地理区域的分类方式来创建使用组。
      • 每个组有一个组 ID
      • 组信息保存在 /etc/group 中
      • 每个用户拥有一个主组,同时还可以拥有最多31个附属组

    6.2.2 创建、修改、删除组

    • 命令 groupadd 用以创建组
      • groupadd linuxcast
    • 命令 groupmod 用以修改组信息
      • groupmod -n newname oldname 修改组名
      • groupmod -g newGid oldGid 修改组 ID
    • 命令 groupdel 用以删除组
      • groupdel linuxcast
    • 示例
      • 现在有三个部门,每个部门有两个员工,下面分别创建组和用户
    先创建组:
    groupadd training
    groupadd market
    groupadd manage
    
    再创建用户:
    useradd -G training nash_su
    useradd -G training bob
    useradd -G market alice
    useradd -G market john
    useradd -G manage steve
    useradd -G manage david
    

    6.3、Linux 权限机制

    6.3.1 权限概念

    • 权限是操作系统用来限制对资源访问的机制,权限一般分为 读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作。
    • 每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限大,该进程拥有的权限就大。

    6.3.2 文件权限

    • Linux 中,每个文件拥有以下三种权限:
    权限 对文件的影响 对目录的影响
    r (读取) 可读取文件内容 可列出目录内容
    w (写入) 可以修改文件内容 可在目录中创建删除文件
    x (执行) 可以作为命令执行 可访问目录内容
    • 目录必须拥有 x 权限,否则无法查看其内容

    6.3.3 UGO

    • Linux 权限基于 UGO 模型进行控制
      • U 代表 User ,G 代表 Group , O 代表 Other
      • 每一个文件的权限基于 UGO 进行设置
      • 权限三个一组(rwx),对应 UGO 分别设置
      • 每一个文件拥有一个所属用户和所属组,对应 UG ,不属于该文件所属用户或所属组的使用 O 权限
    • 命令 ls -l 可以查看当前目录下文件的详细信息
      • drwxr-xr-- 2 nash_su training 208 Oct 1 13:50 linuxcast.net
        • d : 文件类型
        • rwxr-xr-- : UGO
          • rwx : U 权限
          • r-x : G 权限
          • r-- : O 权限
        • 2 : 链接数量
        • nash_su : U 所属用户
        • training : G 所属组
        • 208 : 大小
        • Oct 1 13:50 : 时间
        • linuxcast.net : 文件名

    6.3.4 修改文件所属用户、组

    • 命令 chown 用以改变文件的所属用户
      • chown nash_su linuxcast.net
      • -R 参数递归的修改目录下的所有文件的所属用户
    • 命令 chgrp 用以改变文件的所属组
      • chgrp nash_su linuxcast.net
      • -R 参数递归的修改目录下的所有文件的所属组

    6.3.5 修改文件权限

    • 命令 chmod 用以修改文件的权限

      • chmod 模式 文件
    • 模式为如下格式:

      • u、g、o 分别代表用户、组和其他
      • a 可以代指 ugo
      • +、- 代表加入或删除对应权限
      • r、w、x 代表三种权限
    • 模式示例:

      • chmod u+rw linuxcast.net
      • chmod g-x linuxcast.net
      • chmod go+r linuxcast.net
      • chmod a-x linuxcast.net

    • 命令 chmod 也支持以数字方式修改权限,三个权限分别由上数字表示:

      • -r = 4 (2^2)
      • -w = 2 (2^1)
      • -x = 1 (2^0)
    • 使用数字表示权限时,每组权限分别为对应数字之和:

      • rw = 4+2 = 6
      • rwx = 4+2+1=7
      • r-x = 4+1=5
    • 所以,使用数字表示 ugo 权限使用如下方式表示

      • chmod 660 linuxcast.net == rw-rw----
      • chmod 775 linuxcast.net == rwxrwxr-x
    • 实例:

      • 假设 LinuxCast.net 用户、组如下:
      用户
      training nash_su 、 bob
      market alice 、 john
      manage steve 、 david
      • 现要求为各部门、员工建立相应的工作文件夹,要求如下:
        • 所有目录、文件保存在统一的一个文件夹下
        • 每个部门拥有一个独立的文件夹
        • 不同部门之间不可访问各自文件夹
        • 每个员工在所在部门文件夹下拥有一个所属的文件夹
        • 同部门不同员工之间可以查看各自文件夹内容,但不可修改,用户仅能够修改自己的内容
    groupadd training
    groupadd market
    groupadd manage
    
    useradd -G training nash_su
    useradd -G training bob
    useradd -G market alice
    useradd -G market john
    useradd -G manage steve
    useradd -G manage david
    
    根目录下创建文件夹:
    mkdir linuxcast.net
    
    cd linuxcast.net
    
    mkdir training
    mkdir market
    mkdir manage
    
    chgrp manage manage/
    chgrp market market/
    chgrp training training/
    
    chmod o-rx manage/
    chmod o-rx market/
    chmod o-rx training/
    
    cd training/
    mkdir nash_su
    mkdir bob
    chown nash_su nash_su
    chown bob bob
    chgrp training bob
    chgrp training nash_su
    chmod o-rx bob
    chmod o-rx nash_su
    
    cd ..
    cd market/
    mkdir alice
    mkdir john
    chown alice alice
    chown john john
    chgrp market alice
    chgrp market john
    chmod o-rx alice
    chmod o-rx john
    
    cd ..
    cd manage
    mkdir steve
    mkdir david
    chown steve steve
    chown david david
    chgrp manage steve
    chgrp manage david
    chmod o-rx steve
    chmod o-rx david
    

    6.4、Linux 扩展权限

    6.4.1 默认权限

    • 每一个终端都拥有一个 umask 属性,来确定新建文件、文件夹的默认权限
    • umask 使用数字权限方式表示,如:022
    • 目录的默认权限是:777-umask
    • 文件的默认权限是:666-umask
    • 一般,普通用户的默认 umask 是002,root 用户的默认 umask 是022
    • 也就是说,对于普通用户来讲:
      • 新建文件的权限是:666-002=664
      • 新建目录的权限是:777-002=775
    • 命令 umask 用以查看设置 umask 值
      • umask 022

    6.4.2 特殊权限

    • 除了普通权限以外,还有三个特殊权限
    权限 对文件的影响 对目录的影响
    suid 以文件的所属用户身份执行,而非执行文件的用户
    sgid 以文件所属组身份运行 在该目录中创建的任意新文件的所属组与该目录的所属组相同
    sticky 对目录拥有写入权限的用户仅可以删除其拥有的文件,无法删除其他用户所拥有的文件
    • 设置特殊权限

      • 设置 suid : chmod u+s linuxcast.net
      • 设置 sgid : chmod g+s linuxcast.net
      • 设置 sticky : chmod o+t linuxcast.net
    • 与普通权限一样,特殊权限也可以使用数字方式表示

      • -SUID = 4
      • -SGID = 2
      • -Sticky = 1
      • 所以,我们可以通过以下命令设置:
      chmod 4755 linuxcast.net
      

    七、Linux 网络基本配置

    7.1、网络基础

    7.1.1 网络编址

    • 网络编址就相当于身份证上的家庭住址和姓名,功能就是在互联网中唯一的定位一台设备,可以是计算机,可以是服务器,也可以是其他一些网络服务设备等等

    7.1.2 IP 编址

    • IP 编址是一个双层编址方案,一个 IP 地址标识一个主机(或一个网卡接口)
    • 现在应用最为广泛的是IPv4 编址,已经开始逐渐向 IPv6 编址切换
    • IPv4 地址为32位长,IPv6 地址为128位长
    • 一个 IPv4 地址分为两个部分:网络部分 和 主机部分
    • 网络部分用来标识所属区域,相当于身份证的地址;主机部分用来标识该区域中的哪个主机,相当于身份证的姓名。

    7.1.3 IP 地址

    • IPv4 地址共32位,通常使用点分十进制方式表示
    • 整个 IP 地址分为4个部分,每个部分8位
    • 例如:
      • ​ 192 . 168 . 1 . 1
      • 11000000.10101000.00000001.00000001

    7.1.4 子网掩码

    • IPv4 地址的 32bit 分为网络部分和主机部分

    • 我们通过子网掩码来确定网络部分的位数

    • 子网掩码与 IP 地址一样,拥有 32bit ,每一位与 IP 地址中的每一位一一对应

    • IP 地址中相对应子网掩码中为1的部分为网络部分

    • 例如:

      IP: 192 . 168 . 1 . 1

    ​ 11000000.10101000.00000001.00000001

    子网掩码: 255 . 255 . 255 . 0

    ​ 11111111.11111111.11111111.00000000

    • 证明此 IP 地址前24位是网络部分,也就是说,与此 IP 地址处在同一网络的其他主机的 IP 地址前24位相同,以证明他们在同一网络
    • 例:通过比较网络部分是否相同来判断是否处于同一网络

    如上图所示,有三个网段在三个区域,北京地区的网段是 192.168.1.0,/24 是子网掩码的简写,代表前24位是网络部分,写成点分十进制就是 255.255.255.0 ,主机A、B、C 都是属于192.168.1.0 网段,/24 的子网掩码代表A、B、C 或者其他主机只要是在这个网段之内,它的前24位或者前三部分必然都是 192.168.1 ,分别用 .1 、 .2 、.3 去标识这个网段中不同的主机。同样,处于西安地区的网络是 172.16.1.0 ,也是 /24 的网络,表示这个网络当中所有主机的前3部分都是172.16.1 ,分别用 .1 、 .2 、 .3 去标识不同的主机。那上海地区的网络是 10.0.0.0 /8 ,也就是说第一个8位组或者点分十进制的第一部分或者二进制部分的前8位是用来规定网络部分的,这个网络中只要是以 10. 开头的网络都属于同一网段,如 10.0.0.1 , 10.1.1.1 ,10.100.32.45 等都是属于这同一个网段。

    7.1.5 同一个网络主机之间的通信

    • 同一个网络内主机之间的通信还需要用到一个编址就是 MAC 地址
    • MAC 地址就是用来在同一个网络之内的主机之间通信的,通常同一个网络之内主机都是直接连接的
    • ARP :地址解析协议

    7.1.6 不同网络之间通信

    • 只要是去访问不在同一网段的网络,都需要使用到路由器去转发,路由器就是一个中间人的角色

    7.1.7 路由

    • 在不同网络之间传输数据的功能叫做路由功能,一般有多个接口,连接到不同的网络中,并且通过路由表进行数据转发,

    • 路由表
    目标网络 子网掩码 出接口
    192.168.1.0 255.255.255.0 eth0
    172.16.1.0 255.255.0.0 eth1
    61.1.1.0 255.255.255.252 eth2
    • 通常指的网关就是路由器的 IP 。

    7.1.8 域名

    • IP 地址往往难以记忆,所以我们一般使用域名进行管理,例如:www.baidu.com
    • 域名分为三个部分,用 “ . ” 分隔
      • 类型 :标识此域名的类型,如:com、net、org、edu、gov 等
      • 域名 :域名称,如:baidu
      • 主机名:该域中的某台主机名称,如:www
    • 域名大小写不敏感

    • 主机名是可以随变起的,之所以大家都用 www 是因为约定俗成 www 是网页服务器,网页服务器也可以不叫这个名字,随变叫什么都可以

    7.1.9 DNS

    • 每个域名代表一个 IP ,而 DNS 服务就是用来在 IP 与域名之间进行转换的

    7.1.10 基本网络参数

    • 要配置一个局域网通信的计算机:

      • IP 地址
      • 子网掩码
    • 要配置一个跨网段通信的计算机:

      • IP 地址
      • 子网掩码
      • 网关
    • 要配置一个可上网的计算机:

      • IP 地址
      • 子网掩码
      • 网关
      • DNS

    7.2、Linux 网络基础配置

    7.2.1 以太网连接

    • 在 Linux 中,以太网接口被命名为: eth0、eth1 等,0、1代表网卡编号
    • 通过 lspci 命令可以查看网卡硬件信息(如果是 usb 网卡,则可能需要使用 lsusb 命令)
    • 命令 ifconfig 用来查看接口信息
      • ifconfig -a 查看所有接口
      • ifconfig eth0 查看特定接口
    • 命令 ifup 、 ifdown 用来启用、禁用一个接口
      • ifup eth0
      • ifdown eth0

    7.2.2 配置网络信息

    • 使用 setup 命令可以配置网络信息,配置一个或多个网卡步骤如下,
      • setup -> Network configuration -> Device configuration -> eth0...(如果是多个网卡,第二次这个页面选择 New Device ) -> 按下键选到 Use DHCP 按空格键,默认选择的* 会消失掉 ,Static IP 输入:192.168.1.210,Netmask 输入:255.255.255.0,Default gateway IP 输入:192.168.1.1,Primary DNS Server 输入:61.134.1.4,还可以配置多个 DNS ,在 Secondary DNS Server 输入:210.30.19.40,设置完成后选择 OK 键,Select A Device 页面选择 Save 保存,再选择 SaveQuit 保存退出,最后选择 Quit 退出。(输入的 IP 地址要根据自己的实际情况输入!)
    • 配置完成后,使用 ifup 启用网卡,并使用 ifconfig 命令查看信息
      • ifup eth0

    7.2.3 网络相关配置文件

    • 网卡配置文件
      • /etc/sysconfig/network-scripts/ifcfg-eth0
    • DNS 配置信息
      • /etc/resolv.conf
    • 主机名配置文件
      • /etc/sysconfig/network
    • 静态主机名配置文件
      • /etc/hosts

    7.2.4 网络测试命令

    • 测试网络连通性 ( Ctrl + C 结束 )
      • ping 192.168.1.1
      • ping www.linuxcast.net
    • 测试 DNS 解析
      • host www.linuxcast.net
      • dig www.linuxcast.net
    • 显示路由表
      • ip route
    • 追踪到达目的地址的网络路径
      • traceroute www.linuxcast.net
      • traceroute www.douban.com
    • 使用 mtr 进行网络质量测试 (结合了 traceroute 和 ping)
      • mtr www.linuxcast.net

    7.2.5 修改主机名

    • 实时修改主机名(重启后会恢复)
      • hostname train.linuxcast.net
    • 永久性修改主机名
      • /etc/sysconfig/network 文件下修改 HOSTNAME = train.linuxcast.net

    7.2.6 故障排查

    • 网络故障排查遵循 从底层到高层、从自身到外部 的流程进行
    • 先查看网络配置信息是否正确
      • IP 网址
      • 子网掩码
      • 网关
      • DNS
    • 再查看到达网关是否连通
      • ping 网关 IP 地址
    • 再查看 DNS 解析是否正常
      • host www.linuxcast.net
      • host www.126.com
      • host www.douban.com
  • 相关阅读:
    wp之动态初始屏幕
    C#实现简易ajax调用后台方法
    扩展JavaScriptSerializer之Camelcase属性名
    wp之切换图片动画
    JQuery.Ajax用法
    工欲善其事,必先利其器
    asp.net中使用自定义的config文件
    windows phone7 学习笔记15——Bing Maps
    wp7屏幕截图代码
    windows phone7 学习笔记13——Panorama和Pivot
  • 原文地址:https://www.cnblogs.com/duncan1863/p/11516096.html
Copyright © 2011-2022 走看看