bokee.net

大学生博客

正文 更多文章

Linux-鸟哥-笔记 1

1.利用ls 查询档案所记载的时间<预设的显示时间是mtime>
Linux当中提到过利用ls杳询档安所记载的时间,就是atime/ctime/mtime三各时间性。
这三种时间就是记录在inode里面。

注:该档案建立或状态改变的时间 <ctime>.最近一次的读取时间 <atime> . 最近修改的时间 <mtime>.
___________________________________________

[root@linux am]# ls -la --time=atime PATH
___________________________________________
2.归纳一下,ext2
 .Blocks 与 inodes 在一开始格式化时就已经固定了;
 .一个partition能够容纳的档案与inode有关;
 .一般来说,每4kb的硬盘空间分配一个inode;
 .一个inode的大小为128 bytes;
 .Block为固定大小,block超大,则损耗的硬盘空间也越多。
 .关于单一档案;若block size=1024,最大容量为16GB,若block size=4096,容量最大为2TB;
 .关于整个partition; 若block size=1024,则容量达2TB,若 block size=4096,则容量达32TB。
 .文件名最长达255字符,完整文件名<路径>长达4096字符。
3.小知识bc
  A.计算器,默认仅输出整数,要用小数点。要执行scale=number ,number为小数点位数!
  B.Tab键是干什么的!—命令补全 和 —档安补齐?
  C. Ctrl-C 键 | 终止 | , Ctrl-D 键 | 同Exit等同,键盘输入结束|
4.man查看指命基本意义~
  用man查看指命相关参数时,在帮助第一行有
 代号(1) 内容说明: 使用者可以操作的指令或可执行文件。
     (2)            系统核心可呼叫的函数与工具等
     (3)            一些常用的函数与函式库
     (4)            装置之不理档案说明
     (5)             设定档或者是某些档案的格式
     (6)            游戏
     (7)            惯例与协议等,例如 linux 标准档案系统,网络协议,ASCII code 等等说明
     (8)            跟kernel有关的文件
===========================================================================================
以上内容在文本头

以下内容在文本尾
===========================================================================================
 代号 NAME 内容说明   简短的指令,数据名称说明
        SYNOPSIS         简短的指令下达语法简介
 DESCRIPTION      较为完整的说明,这部分最好他细看看!
        OPTIONS          针对SYNOPSIS部分中,有列举的所有可用的参数说明
        COMMANDS         这个程序在执行时,可以在此程序中下达的指令
        FILES            这个程序或数据所使用或参考或连结到的某些档案
        SEE ALSO         可以参考的,跟这个指令或数据有相关的其它说明
        EXAMPLE          一些可以参考的范例
        BUGS             错误
======================================磁盘与档案系统管理====================================
5.数据同步写入磁盘  sync
6.档案的种类
        。正规档案   -rwxrwxrwx
        。目录       drwxrwxrwx
        。连结档     lrwxrwxrwx
        。设备与装置文件 
           . 区块设备档  第一个属性 B
           . 字符设备档  第一个属性 C
        。资料接口文件  第一个属性 S
        。数据输送文件  第一个属性 P                      246
7.什么是sector(最小储存单位)?什么是block(逻辑区块)?有什么不同?
    sector 系统指定的, block 格式化时候用户按需要设定。
8.block 记录档案内容数据,inode 记录档案相关属性。
    Inode(大少为128Bytes) 记录的信息(部分)
        。 档案的拥有者与群组
        。 档案的存取模式
        。 档案的类型
        。 档案建立或 Ctime,atime,mtime
        。 档案的容量
        。 定义档案特性的Flag
        。 档案真正内容的指向
   注:inode 本身不记文件名,只记录相关属性,文件名记录在目录所属的Block区域。
9.Ext2/Ext3的 filesystem 的各部分分别代表什么?
 。 SuperBlock: 记录整个Filesystem的相关信息的地方,
   . block 与 inode / block 数量
   . 未使用与已使用的inode /block 数量;
   . 一个block 与一个 inode 的大小;
   . filesystem 的挂载时间,最近一次写入的数据的时间,
             最近一次检验磁盘的时间等档案系统的相关住处
   . 一个valid bit 数值,若此档案系统已被挂载,则 valid bit 为0,若未
            被挂载,则Valid bit 为1。
 。Group Description: 记录此block由何处开始记录
 。Block bitmap: 此处记录那个block有被使用;
 。Inode bitmap: 此处记录那个inode 有被使用;
 。Inode table :为每个inode 数据存放区;
 。Data  Blocks: 为每个block 数据存放区;
    注:可以dumpe2fs 指令读取以上信息。
10. Hard link  与  Symbolic link
        。Hard link: 
          . 不能连结到filesystem : 因为Hard link本来就是一个partition
            内建立关连性的。
          . 不能link 目录: 连结到目录时,连结的数据需要连接同被连结目录底下
            的所有数据都建立连结。
        。SYmbolic 不就是快捷方式么。
11. 制作可引导软盘(mkbootdisk)
    [root@linux am]# mkbootdisk --device /dev/fd0 ’uname -r’  :uname -r 指linux 系统所用的核心号
    进行软盘低格(fdformat)
    [root@linux am]# fdformat /dev/fd0H1440 H1440 表示1.44MB.
    磁盘检察
    [root@linux am]# fsck      :用于检查与修正硬盘错误码率的指令/274
    [root@linux am]# badblocks :用于检查硬盘扇区的坏轨
    [root@linux am]# sync      :回写内存中的数据到硬盘
12. 重新挂载加入参数rw
    [root@linux am]# mount -o remount,rw /
13. 磁盘参数修订
    [root@linux am]# mknod  :修改一下目前磁盘信息
    [root@linux am]# e2label:修改磁盘的表关数据
    [root@linux am]# tune2fs:  -j 将ext2转换为ext3; -l 类似dumpe2fs -h的功能 将Superblock 内的数据读出来
                -L 类似e2label 的功能,可以修改filesystem 的Labe1
14.  DMA  是啥?
15.  /etc/fstab 开机自动挂载分析
     如:/dev/hdb1 /mnt /hdb1   ext3 defaults 2 2
          注: defaults  同时具有rw,suid,dev,exec,auto,nouser,async 等参数。
            2  指dump备份指令  0 不做dump备份 ,1 进行dump ,2 做dump备份,不过重要度比1小,
            2  是否以fsck 检验扇区:同上
16. 在单人维护模式中,read only 状态,无法修改/etc/fstab时,
    [root@linux am]# mount -n -o remount,rw /        ;-n 指不更新/etc/mtab
17.增加虚拟内存
    1,以dd指令来建立swapfile    ;dd if=/dev/zero of=/tmp/swap bs=4k count=16382  大小64MB
    2, 以mk swap 来将swapfile格式化为swap 的档案格式   ;mkswap /tmp/swap
    3,以swapon来启动该档案,使成为swap ;swapon /tmp/swap 
    4, 以swapoff 来关闭档案。 swapoff /tmp/swap
方法2:直接加一块硬盘:
    1,先建立一个分区,装ID 改为82 这一个swap 磁盘档案格式代号
    2,以mkswap /dev/hd[a-d] [1-16] 方式将建立的分区,格式化为swap格式,
    3,swapon 启动              
========================================文件与目录=========================================293
18.  pwd, mkdir 参数  -P
    [root@linux am]# pwd  可文件的完整目录,例如  ln 建立的连接
    [root@linux am]# mkdir 可以建立路径中不存在的目录   参数-m 可以设置权限。
    [root@linux am]# cp 加参数-a 同时复制属性;-s 建立快捷方式;-u 复制前后文件不同 
    [root@linux am]# rm 删除.am -amj时,rm ./-amj, rm -- -amj-
    [root@linux am]# basename   取的最后的文件名
    [root@linux am]# dirname    取的目录名
     cat 从第一行显视文件  -A=-vET  -E 将结尾的断行$显示 -n 显示行号
     tac 呵呵往上看
     nl 显示时,顺道输出行
     less morre 一页页的显示
     head 只显头   -n 显示的行数
     tail 只看尾
     od 二进制方式读取!
——问—————————————————————————————————————————————
| cp -u 不同是指时间,还是大少,等等。还是有不同就复制?   注:复制密码文件时,-a别忘了
  参数 -a 与 -p 有什么不同?
 rm "-amj-" ?
 head tail 如果要显示,第三10到第15了?
————————————————————————————————————————————————

19.增加环境变量   PATH="$PATH":/root
20. [root@linux am]# touch  建立一个空文件;修改文件的日期
    文件预设权限:umask    注:预设权限的属性,目录与档案不同;
    设定档案的隐藏属性  [root@linux am]# chattr
    显视档案隐藏属性    [root@linux am]# lasttr
=============================================================================================
                 shell
=============================================================================================
1.规则
 1` 变量和变量内容以=来连结
 2`=两边不能直接加空格。
 3`变量由数字和字母组成,但是开头不能是字符。
 4`双引号内的特殊字符可以保有变量的特性,间引号特殊字符为一般字符。
 5`quote `command` 提供信息给别的指令。
 6`unset 取消变量  
2.[root@linux am]# env  ;一些环境变量的说明。
  [root@linux am]# set  ;列出所有变量。
  [root@linux am]# local ;语系档案的变量。
3.变量键盘读取,数组与宣告:read,array,declare
  [root@linux am]# read  ;-p后面接提示符,-t 接秒数,
  [root@linux am]# declaree ;无参数时,列出所有变量,-a 将后面定义为数组, -i定义为整数数字
   -x 将后面的变成环境变量; -r 设定成readonle,更改不了,也不能unset
  [root@linux am]# array  ;数组
  [root@linux am]# unlimit  ;档案系统及程序的限制
     -H 不能超大型过设定的值;-s 可以超过,但有警告;-a 列出所有的限制
     -c 可以建立最在核心档案容量; -d 程序数据可使用的最在容量
     -f 些SHELL可以建立的最大档案容量(一般用户只能减小,不能增加);
     -l 锁定内存量; -p 可以以管线处理的数量
     -t 可以使用的最大CPU时间: -u 单一使用者可以使用的最大程序数量
4.留意#,##,%,%%,/,//的意义。
5.alias,unalias 命令别名设定与恢复。
6. [root@linux am]# history ;历史命令 
     参数; n :数字,列出最近的n条命令   -c  ;将目前shell中的所有history 内容全部消除;
            -a :将新增的指令加入histfiles 中,若没有此文件,预设写甜入~/.bash_history
            !numbeer  执行第几条指令。   !command  向前搜索寻,以command开头的那个指令;
            !!执行上一条指令。
7.登录讯息显示数据: /etc/issue, /etc/motd
   issue内的各代码意义;  \d本地端日期;\l 显示第几个终端机接口;\m 显示硬件的等级;
    \n 显示方机的网络名称;\o 显示domain name; \r 操作系统的版本;  \t 显示本地时间;
    \s 操作系统的名称;\v操作系统的版本。
  /etc/ 为telnet 连接主机时的显示;
8. 环境设定档: bashrc, ~/.bashrc, ~/.profile, proofile..., /etc/inputrc, source
    /etc/profile  中设定了几个重要的变量,如:PATH,USER,MAIL,HOSTNAME,HISTSIZE,umask
    些档案也规划出/etc/profile.d及/etc/inputrc这两个目录与档案。
    /etc/bashrc  这个档案规划umask的功能, 也同时规划了PS1
9.[root@linux am]# source ~/.bashrc  等于 .~/.bashrc 可以将设定档的内容读进目前的shell 环境中(不需注销)
10.终端机的环境设定:  stty ,set
11.测试   >,>>,<,<< (1>输出正确数据,2> 输出错误数据)
           分别,把正确数据,有错误码数据输入不同的文件中。 
12.命令执行的判断:   ;  ||   &&  |
     ;    多个指令一次执行。
     ||   前边指令有错误,执行||后边的指令 。
     &&   前边无错误,执行后边。
     |    传递前边的输出,做为后边的输入。
13. [root@linux am]# cut 将一段的讯息的某一段切出来,处理的讯息是以”行“为单位。
   参数: -d 后面接分隔字符。与-f 一起使用;
          -f 依据-d 的分隔字符将一段讯息分割成数段。-f 取出第几段的意思。
          -c 以字符的单位取出固定字符区间;
       如:[root@linux am]# echo $PATH | cut -d ’:’ -f 3,5   ;输入出环境变量中第3个与第5个以:为分隔符。
14. [root@linux am]# grep
         参数:-a 将binary 档案以text 档案的方式搜寻数据
               -c 计算找到‘搜寻字符串’的次数       -i 忽略大小写的不同   
        -n 顺便输出行号。-v 显示没有‘搜寻字符串’内容那一行。
15.排序命令:sort , wc , uniq
    [root@linux am]# sort   ;数字与文字的排序不一样。排序的字符与语系的纺码有关。
      参数: -f :忽略大小写; -b 忽略最前面的空格符部分; -M 以年份的来排序;
             -n 使用数字进行排序;-r 反向排序;-u 就是uniq ,相同的数据,仅出现一行;
             -t 分隔符,预设是tab键;-k 以那个区间fieldd来进行排序的意思;
  测试这几条指令, 有什么不同。
    [root@linux am]# cat /etc/passwd | sort ;以文字来排序的。
    [root@linux am]# cat /etc/passwd | sort -t ’:’ -k 3 ; 以:来分隔,以第三栏来排序。(字符来排序的)
    [root@linux am]# cat /etc/passwd | sort -t ’:’ -k 3 -n    ;以数字来排序的
    [root@linux am]# last | cut -d ’ ’ -fl | sort  ; 将输出的数据仅取账号,并加以排序。

    [root@linux am]# uniq
      参数: -i 忽略大小写字节符的不同;  -c 进行计数
    [root@linux am]# last | cut -d ’ ’ -fl | sort | uniq ;用last将账号列出,仅取账号栏,进行排序仅取一位;
    [root@linux am]# last | cut -d ’ ’ -fl | sort | uniq -c ;列出每个人登陆总次数。
 
    [root@linux am]# wc
     参数: -l 仅列出行; -w仅列出多少字; -m 多少字符;  
16.双向重导向: [root@linux am]# tee    ;打印屏幕,同时写入文件。
               参数 -a 以累加的方式,将数据加入文件中。
        如:[root@linux am]# tee ~/homefile | more
17.[root@linux am]# tr :可以删除一段讯息中的文字,或者进行文字讯息的替换。
      参数:-d 删除讯息当中的字符串;
            -s 取代掉重复的字符;
   [root@linux am]# cat /etc/passwd | tr -d ’:’  ;输出讯息,删除冒号
   [root@linux am]# last | tr ’[a-z]’ ’[A-Z]’    ;小写变成大写:
18. [root@linux am]# col  [-x]  参数:将TAB 转换成对等的空格键;
  [root@linux am]# cat /etc/man.config | col -x | cat -A ’more
19.[root@linux am]# join [-til2]file1 file2
    参数:-t :join  预设以空格符分隔数据,并且比对第一个字段的数据,
   如果两个文件相同,则将两笔数据联成一行,file1放在第一个。
      -1 ;这个是数字1, 代表第一个档案要用那个字段来分析。
      -2 ;代表第二个档案要用那个字段来分析;
20.[root@linux am]# passte [-d] ;直接将两行贴在一起,中间以tab隔开。
21.[root@linux am]# expand [-t] ;参数-t ;后面可以接数字,一般一个tab可以用8个空格取代。
  [root@linux am]# unexpand    ;??
22.[root@linux am]# split ;分割文件。
  参数;-b 后面接下来分割成的大小,可加单位。-l 以行数来进行分割。
=========================================================================================
                          正规表示法
=========================================================================================
1.[],[^],[-],行首^,行尾$;
2.grep,egrep,awk,sed,diff,cmp,patch,pr
=========================================================================================
                         SHell
=========================================================================================
1.shell中测试文件的标志与意义
  。关于某个文件的类型是否存在
    . -e 该文件名是否存在?
    . -f 该文件名是否为档案?
    . -d 该文件名是否为目录?
    . -b 该文件名是否为一个block device 装置?
    . -c 该文件名是否为一个character device装置?
    . -S 该文件名是否为一个Socket档案?
    . -p 该文件名是否为一个FIFO档案?
    . -L 该文件名是否为一个连结档?
2.关于档案的权限侦测。
    . -r 查看该文件名是否具有 读属性?
    . -w 查看该文件名是否具有 可写?
    . -x 查看该文件名是否具有 执行?
    . -u 查看该文件名是否具有 SUID?
    . -g 查看该文件名是否具有 SGID?
    . -k 查看该文件名是否具有 Sticky bit ?
3.两个档案之间的比较 如:test file1 -nt file2
    . -nt   newer than 判断1是否比2新。
    . -ot   older than 判断1是否比2旧。
    . -ef   判断 1与2是否为同一档案,可用在判断hard link 的判定上。
         主要意义在判定,两个档案是否均指向同一个inode 。
4.关于两个整数之间的判定,如 test n1 -eq -n2
    . -eq 现数值相等。
    . -ne 两数值不等。
    . -gt n1大于n2 。
    . -lt n1小于n2 。
    . -ge n1大于等于n2。
    . -le n1小于等于n2。
5.判定字符串的数据
    . test -z string   判定字符串是否为0 ?若string 为空字符串,则为true
    . test -n string   判定字符是否非为0 ?若干string 为空字符串,则为false :-n 亦可略
    . test str1 = str2 1是否等于2,若相等,则回传true.
    . test str1 != str2 判定str1是否不等于str2, 若相等,回传false。
6.多重条件判定,如: test -f filename -a -x filename
    . -a  两状况同时成立,回传TRUE。
    . -o  两状况任何一个成立。 就可回传true .
    . -!  反相状态,如,test ! -x file 当file不具有x 时,回传 true.
7.条件判断 。、
  if.....then if
  case ...esac
  function
8.循环
   while ..do ..done, until ...to ...done
   for...do ...done
9.shell script  ,debug
==========================================================================================
1. [root@linux am]# iptables -AI 链 -io 网络接口 -p 协议 -s 来源IP -d 目标IP -j ACCEPT|DROP
   -A ;新增加一条规则,该规则增加在原来规则的最后面。例如原本已经有四条规则,
       使用-A就可以加上第五条规则!
   -I ;插入一条规则,如果没有指定此规则的顺序,预设是插入变成第一条规则。
   链;有INPUT,output,forwardd 等,此链名称又与此同时 -io 有关。
   -io 网络接口,设定封包进出的接口规范
     -i 封包所传出的那个网络接口,如eth0, lo 等接口。需与 INPUT链配合;
     -o 封包所传出的那个网络接口,需与OUTPUT链子配合;
   -p 协定;设定此规则适用于哪能种封包格式
      主要的封包格式有;tcp,udp,icmp 及all.
   -s 来源IP/网域;可指定单纯的IP或网域。如;IP:192.168.0.1
      网域:192.168.0.0/23, 192.168.0.0 /255.255.255.0
      若规范为 不许 时,加!
     -s ! 192.168.0.0/23 表示不许192.168.0.0/23封包来源。
   -d 目标IP/网域,同-s
   -j 后面接下来动作,主要的动作有接受ACCEPT,丢弃 DROP 及记录LOG
/download/index.php?action=detail&fileid=43

分享到:

上一篇:为dos增加一个win95功能

下一篇:局域网中限制修改网络属性