linux基础知识

一直在用linux,也在点点滴滴的学习,不过都不很系统。很早时朋友推荐了《鸟哥的linux私房菜》,最近看了看觉得不错。也下定决心系统的学习一下。这里记录的都是一些在基本的知识,已做记录。

1.  1BB(Brontobyte 一千亿亿亿字节) = 1024YB
     1YB(Yottabyte 尧字节)     = 1024ZB
     1ZB(Zettabyte 泽字节)     = 1024EB
     1EB(Exabyte 艾字节)       = 1024PB
     1PB(Petabyte 拍字节)     = 1024TB
     1TB(Trillionbyte 太字节) = 1024GB
     1GB(Gigabyte 吉字节)    = 1024MB
     1MB(Megabyte 兆字节)   = 1024KB
     1KB(Kilobyte 千字节)      =1024Byte
      1Byte = 8byte

2.  在Linux系统中每个装置都被当成一个目录来对待
     IDE硬盘的文件名一般为为 /dev/hd[a-d], 例如:/dev/hda, /dev/hdb.....
     SCSI/SATA/USB硬盘的文件名一般为为 /dev/sd[a-p]
     软驱为 /dev/fd[0-1]
     打印机 串口 /dev/lp[0-2],USB口 /dev/usb/lp[0-15]
     鼠标 PS2口 /dev/psaux,USB口 /dev/usb/mouse[0-15]
     DVDROM /dev/cdrom
     磁带机 SCSI接口 /dev/st0
    网络卡 /dev/eth[0-n]

3.  硬盘分区表大小为64byte,最多只能支持4个主分区, 或3个主分区和1个扩展分区,扩展分区只能有一个。

4. 在Linux系统中,IDE硬盘最多有59个逻辑分区(5-63), SATA硬盘最多有11个逻辑分区(5-11)

5. 硬盘的第一个扇区记录了两个重要信息:
    1) 主启动记录去(MBR):可以安装开机管理程序的地方,有446bytes;
    2) 分区表(Partition Table):记录整个硬盘的状态,有64bytes。

6. 开机流程:BIOS-->MBR-->Boot Loader -->操作系统

7. Boot Loader的主要功能是提供开机选单,加载核心,转交控制权给其他的loader。boot loader可以安装到MBR或Boot Sector

8. 在笔记本安装linux时无法正常安装,可以尝试在安装的时候使用命令行安装,告诉linux核心不加载一些针对台式机和服务器的特殊功能:
    boot: linux nofb apm=off acpi=off pci=noacpi
    其中:apm(Advanced Power Management)是早期的电源管理模块,acpi(Advanced Configuration and Power Interface)是近期的电源管理模块,某些笔记本可能不能支持这些功能;nofb是显卡上面的缓冲存储器侦测,笔记本如果说是自带显卡可能检测不到这个模块;

9. 关于kdump:kdump的功能是当linux核心出现错误的时候,将内存中的信息写入日志,为日后查找问题提供依据。不过kdump会占用大量的硬盘空间,并且日志的内容不是一般使用者能够看懂的,建议不是核心开发人员不用启动kdump功能。

10. 在X windows中使用 [Ctrl]+[Alt]+[Backspace]重启X Windows。

11. [Ctrl]+[Alt]+[F1]~[F7]来切换终端窗口,其中:
[Ctrl]+[Alt]+[F1]~[F6] 文字窗口 tty1~tty6
                 [Ctrl]+[Alt]+[F7] X Windows图形窗口
 
12. 使用Man命令后,被查询命令后【】中数字的意义:
        1-用户在shell环境中可以操作的指令或可执行文件
        2-系统核心可调用的函数和工具等
        3-函数(function)、函数库(library)、大部分为C的函数库(libc)
        4-设备文件的说明,通常在/dev下的文件
        5-配置问价暖和是某些文件的格式
        6-游戏
        7-惯例与协议等,例如linux文件系统、网络协议、ASCII Code等的说明
        8-系统管理员可用的惯例指令
        9-跟kernel有关的文件

  13. 查看系统使用情况:
             谁在线操作 who
             网络的联机状态 netstat -a
            查看后台执行程序 ps- aux

14. 关机前建议执行sync命令进行磁盘回写。

15. 关机和重启
       
       关机和重启的常用命令 shutdown, init, halt, poweroff, reboot

       shutdown -t sec 几秒钟后关机,如加now为立即关机
       shutdown -k       不真的关机,只是发送警告信息
       shutdown -h       将系统的服务停止后,立即关机 
       shutdown -c       取消关机的操作
       shutdown -r        将系统的服务停止后,立即重启

        例子:
       shutdown - h now  立即关机
       shutdown - t 10      10秒后关机
       shutdown -h 17:50      当天17:50关机,如在当天17:50后下达命令,将于第二天17:50关机
       shutdown -k 'The system will reboot'    发送警告信息,但不关机

       init 0 关机
       init 3 文字模式
       init 5 图形模式
       init 6 重启
        
        reboot 重启

16. 建议单独划分分区的目录
       /
       /boot
       /usr
       /home
       /var
        
 17. 找回root密码
        重启系统,读秒时按任意键;进入开机菜单,按e键进入GRUB编辑模式,选择“kernel /vmlinuz-2.6.32-220.e16.x86_64 or root=UUID=XXXXXXX”这一行,按e键进入编辑模式,在最后面输入single,回车确认后按b键重启,重启后就进入了单用户模式,这是可以使用passwd命令重新设置root密码。

18. 关于文档
       使用list命令查看文档,屏幕显示分为7部分,1-权限 2-连接 3-拥有者 4-组 5-文档大小 6-修改日期 7-文档名

        权限是由10个字符表示 ,其中:
                 第一个字符代表文档类型,其中[d]为目录, [-]为文档, [l]为连接文档(link file), [b]为可供存储的接口设备,[c]为串口设备,例如鼠标、键盘
                 后面三组,三个字符为一组,为[rwx]三个参数组合,其中[r]代表可读(read),[w]代表可写(write),[x]代表可执行(execute),位置不会改变,如果没有权限为[-]
                 第一组为[拥有者的权限], 第二组为[同组的权限],第三组为[其他非同组的权限]
 
         chgrp 更改所属组, chown 更改文档所有者,chmod 更改文档权限。
          使用chmod改变权限时,可以使用数字方式,r:4 w:2 x:1,每种身份(owner/group/other)各自的三个权限累加,例如: chmod 770 filename 就是修改为-rwxrwx---的权限, chmod 754 filename 就是修改为-rwxr-xr--的权限。
          也可以使用符号方式,u代表user,g代表group,o代表other, a代表所有,例如:chmod ug=rwx,o-rwx filename就是修改为-rwxrwx---的权限, chmod a+x filename就是为每个身份添加可执行的权限。

19. 关于目录 
      使用list命令查看目录,权限第一个字符为[d],其中[r]代表可读取目录结构列表,[w]代表可改动目录结构列表,例如建立删除新的文档和目录、对文档和目录改名、移动文档或目录,[x]代表此目录是工作目录(work directory),可以进入此目录进行操作。
 
     目录的分类,linux目录的配置一般遵循FHS(Filesystem Hierarchy Standard)标准,分为四种交互作用的形态:
            1. 不可变动的(static) - 可分享的(shareable):/usr(软件放置处)   /opt(配置文件)
            2. 不可变动的(static) - 不可分享(unshareable):/etc(配置文件) /boot(开机与核心档)
            3. 可变动的(variable) - 可分享的(shareable):/var/mail(使用者邮件信箱)   /var/spool(新闻组)
            4. 可变动的(variable)  - 不可分享(unshareable): /var/run(程序相关)    /var/lock(程序相关)

    FHS标准中定义的目录: /和/root - 开机系统有关
                                                 /usr (unix software resource) - 与软件安装/执行有关
                                                 /var (variable) - 与系统运作过程有关 
     必须与根目录一起放置的目录: /etc:配置文件
                                                              /bin:重要执行文件
                                                              /dev:所需要的装置目录
                                                              /lib:执行文档所需的函数库与核心所需要的模块
                                                              /sbin:重要的系统执行文件

20. 创建多级目录: mkdir -p /home/user1/test/dir1
       预设目录权限:mdsir -m 711 赋予新目录drwx--x--x的权限

21. cp -a 可以复制原文件的权限和所有者
       cp -l 硬链接
       cp -s 软连接
       cp -u 目的文件与原文件有差异时才复制,常用在备份工作。

22.  文档的三个变动时间
        atime - access time 文档内容被取用,如使用cat读取文档,此时间变更
        ctime - status time 权限或属性被修改后,此时间变更
        mtime - modification time 修改文档的内容后,此时间变更

        touch filename 如文档不存在,建立一个空档案;如存在,此时atime/ctime/mtime都会更新为当前时间。
        touch -a 仅修订atime
        touch -c 仅ctime,如文档不存在则不建立新文档
        touch -m 仅修改mtime
        touch -t 可以修改任意制定时间,格式为[YYMMDDhhmm]
       

23. cat 由第一行开始显示文档内容
       tac 由最后一行开始显示文档内容
       nl 显示的时候顺道输出行号
       more 一页一页的显示文档内容
       less 可前后翻页的显示文档内容
       head 只看都几行
       tail 只看最后几行
       od 以二级制方式读取文档

24. 文件及目录的默认权限 umask
       直接输入umask会显示数字形式的权限设置,例如0022,其中第一个0为特殊权限(4-SUID, 2-SGID,1-SBIT),后三个数字代表【文件或目录默认值需要减掉的权限】,文件的默认值为666 (-rw-rw-rw),即没有可执行的权限,目录的默认值为777(drwxrwxrwx)。
       因为r,w,x分别为4,2,1分,022代表拥有着保留了所有权限、同组使用者去掉了写的权限,其他人去掉了写的权限,
       即,建立文件: (-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
               建立目录: (drwxrwxrwx) - (d----w--w) ==> d-rwxr-xr-x
                           

25. 配置文件隐藏属性 chattr
      chattr -a 文件只能增加数据,不能删除和修改,只有root才能设定此权限
      chattr -i  不能删除、改名、设定连接

26. 查看文件隐藏属性 lsatrr
       lsattr -a:查看隐藏文件的属性
       lsattr -d:如果是目录,也列出目录本身的属性而非目录内的文件名
       lsattr -R:连同子目录的数据也列出来 

27. 观察文件类型 file

28. 搜索文件和命令
       which -a 列出由PATH目录中可以找出的指令
       whereis, locate 搜索数据库,速度较快,可使用updatedb命令更新数据库
       find 直接搜索硬盘,速度较慢,其中:
               find -mtime n: n为数字,n天前被改动的文件
               find -mtime +n:列出n天前(不含n天本身)被改动的文件
               find -mtime -n:列出n天内(含n天本身)被改动的文件
               fiind -newer file:file为一个存在的文件,列出比file还要新的文件名      

29. fdisk不支持大于2TB的分区,如果想使用大于2TB的分区需要使用parted命令

30. 磁盘检查: fsck, badlocks
       建议在单用户模式使用fsck,执行fsck时被挂接的分区需要在卸除的状态。
      badlocks用于检查硬盘是否有坏道的指令,大多时部使用这个指令。

31. 硬盘的挂接与卸载
    
       1) 单一文件系统不应该被重复挂接在不同的挂载点(目录)中
       2) 单一目录不应该重复挂载多个文件系统
       3)  要作为挂载点的目录,理论上应该是空白目录,挂载后原数据暂时被隐藏
       
      挂载:mount 设备名 挂载点名, 例如 mount /dev/hdc6 /mnt/hdc6
                  mount -t  制定挂载设备类型,类型列表了查询/etc/filesystems;同时/proc/filesystems可以查询已经加载的文件系统类型
                  mount --bind 挂载一个目录到另外一个目录

     重新挂载根目录: mount -o remount,rw,auto / 
                                      重新挂载根目录并且赋予读写的权限,一般使用在当根目录只读时,或进入单用户模式时。

    使用label名称挂载:dumpe2fs -h 设备名, 找出设备的label名,然后使用mount -L "label name" 挂载点名

     卸载:umount [设备名|挂接点名]  卸载时可以使用设备名或者挂接点的目录名,但如果挂接的是目录,必须用挂接点名称
   
     开机自动挂载:/etc/fstab 及 /etc/mtab
            根目录是必须挂载的,而且一定要先于其他mount point被挂载进来;
            其他mount point必须为已建立的目录,可任意指定
            所有mount point在同一时间内,只能挂载一次
            所有parition在同一时间内,只能挂载一次
            如进行卸载,必须先将工作目录移到mount point之外

   
32.  创建ISO镜像文件 mkisofs
         mkisofs -r -v -0 iso文件名 目录名/文件名


33. 关于bash

        观察所有变量 set
        
         自定义变量变为环境变量  export - 为了能让父进程中自定义的变量也能在子进程中使用,需要把自定义变量改变为环境换量:  export 变量名 

         语言变量 locale

34. 设置IP、网关、DNS
       

     IP 修改/etc/sysconfig/network-scripts/ifcfg-eth0

     # vi  /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0 #描述网卡对应的设备别名
    BOOTPROTO=static #设置网卡获得ip地址的方式,选项可以为为static,dhcp或bootp
    BROADCAST=192.168.1.255 #对应的子网广播地址
    HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
    IPADDR=12.168.1.80 #只有网卡设置成static时,才需要此字段
    NETMASK=255.255.255.0 #网卡对应的网络掩码
    NETWORK=192.168.1.0 #网卡对应的网络地址,也就是所属的网段
    ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备


   网关修改/etc/sysconfig/network
    # vi  /etc/sysconfig/network
    NETWORKING=yes      #表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络。  
    HOSTNAME=centos     #设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应/etc/sysconfig/network
    GATEWAY=192.168.1.1 #设置本机连接的网关的IP地址。

   
DNS修改/etc/resolv.conf

    # vi /etc/resolv.conf

    nameserver 202.106.0.20.8.8.8  #域名服务器
    nameserver 192.168.1.1           #域名服务器


35. 关闭IPv4防火墙

       观察IPv4防火墙状态          /etc/init.d/iptables status
       本次关闭IPv4防火墙          /etc/init.d/iptables stop
       重启IPv4防火墙             /etc/init.d/iptables restart

       关闭 防火墙外   chkconfig --level 35  iptables off

       开放制定端口  /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT   开放访问的80端口
      设置防火墙的开放端口及规则 vi /etc/sysconfig/iptables
  



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值