Chinaunix首页 | 论坛 | 博客
  • 博客访问: 568005
  • 博文数量: 84
  • 博客积分: 1529
  • 博客等级: 上尉
  • 技术积分: 1482
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-27 17:57
文章分类

全部博文(84)

文章存档

2014年(7)

2013年(9)

2012年(20)

2011年(48)

分类: LINUX

2012-08-13 23:00:12

最近好久没有在这边写点东西了,最近项目比较忙,抽空把鸟哥私房菜看了一遍,记录了一些自己觉得比较重要的东西。
  1. bash默认的组合键:Ctrl+S暂停屏幕输出;Ctrl+Q恢复屏幕输出
  2. 正确和错误的结果写到同一个文件中
  • find /home -name .bashrc > list 2>list 错误
  • find /home -name .bashrc > list 2>&1 正确
  • find /home -name .bashrc &>list         正确
  • 第一种由于两条数据同时写入一个文件,又使用特殊的语法,此时两条数据就有可能交叉
    3.  cut命令
  • cut -d '分隔符' -f 第几份
  • -c 字符范围
    4. grep命令
  • -n 顺便输出行号
  • -c 统计出现的次数
  • --color=aoto 输出颜色
   5.  sort命令
  • -f 忽略大小写
  • -b 忽略前面的空格
  • -M 以月份来排序
  • -n 使用存数字来排序
  • -r 方向排序
  • -u 相同的数据只出现一次
  • -t 分隔符
  • -k 以那个区间来进行排序
    6. tr命令
  • -d :删除信息中后面指定的字符
  • -s : 替换连续出现重复的字符
    7. join命令
  • -t 默认以空格做为分隔符
  • -i 忽略大小写差异
  • -1 后面接数据代表第一个文件用哪个字段来分析的意思
  • -2 代表第二个文件要用哪个字段来分析
    8. paste 
  • -d :后面可以接分隔符
  • - :如果file写成 - ;表示来自standard input的数据的意思
    9. expand
  • -t 后面可以接数字;表示一个tab键可以用多少个空格来替换
    10. split
  • -b:后面欲切割的文件大小,可加单位,例如b,k,m
  • -l :以行数来进行切割
11、正则表达式
  •  语序对正则表达式会有影响,不同的语序的编码数据并不相同,造成数据选取结果的区别;为了避免这些问题一般采用特殊的符号来处理
[:alnum:]代表大小写字符及数字
[:alpha:]代表任何英文大小写字符
[:upper:]大写字母
[:lower:]小写字母
[:digit:]数字
  • *在通配符和正则表达式中是不一样的,通配符中代表任意(0个多个)字符。而在正则表达式代表钱一个RE字符有0个或者无穷多个
  • sed命令
  • 动作说明:[n1][,n2]

12、SHELL SCRIPT
  • 利用直接执行方式来执行script,当子进程完成后,子进程内的各项变量或操作将会结束而不会传回到父进程中;利用source来执行脚本,在父进程中执行
14、Linu帐号管理与ACL权限设置
  1. 单纯使用"su"切换成root的身份,读取的变量设置方式为non-login shell的方式,这种方式下很多原本的变量不会被改变。所以若要用login shell登入要使用"su -"方式切换
  2. 修改/etc/sudoers用visudo命令来进行修改
  3. 实行单一工作调度at命令
  • at 添加命令
  • at -l相当于atq显示系统上面的所有该用户的at调度
  • at -d相当于atrm,可以取消at调度中的工作
  • at -c 列出后面接的该工作的实际命令内容
     4. batch:系统有空的时候才进行后台任务:它会在CPU工作负载小于0.8的时候,才进行你所执行的工作任务
     5. cron执行的每一项工作都会记录到/var/log/cron这个日志中
     6. 修改/etc/crontab中的MAILTO=邮件帐号;从而来随时了解系统的状况;以及PATH中执行文件查找路径
     7. anacron调用没有执行到的crontab任务,比如关机引起的,最小周期一天
     8. top动态查看进程的变化
  • -d 后面可以接秒数
  • -b 以批次方式执行top,还有更多的参数可以使用
  • -n 与-b 搭配,需要进行几次top的输出结果
  • -p 查看某些个PID来进行检测而已
  • 可以使用的按键命令:
  • ? 显示在top当中可以输入的按键命令
  • P:以cpu的使用资源排序显示
  • M:以内存的使用资源排序
  • N:以PID来继续宁排序
  • T:以该进程使用的CPU时间累积排序
     9.查找进程之间的相关性,使用pstree命令
     10. 一般来说swap最好不要被使用,尤其swap最好不要被使用超过20%,如果发现swap使用超过20%说明物理内存已经不足
     11. 编写相关软件可以利用/proc下面的相关文件
     12. fuser:通过文件或者文件系统找出正在使用该文件的程序
  • fuser -muv /proc 找到使用/proc这个文件系统的进程
  • fuser -uv /var/gdm/.gdmfifo使用/var/gdm/.gdmfifo这个文件的进程
  • fuser -ki /var/gdm/.gdfmfifo 对于kill掉使用/var/gdm/.gdmfifo这个文件的进程询问
     13. lsof:列出被进程所打开的文件名
  • -a :多项数据需要同时成立才能显示结果
  • -U:仅列出Unix like系统的socket文件类型
  • -u : 后面接username,列出该用户相关进程打开的文件
  • +d: 后面接目录,即找出某个目录已经打开的文件
     14. pidof :找出某个正在执行的进程的PID
     15. daemon与服务
  • stand_alone:此daemon可以自行单独启动服务
  • super daemon:一个特殊的daemon来统一管理
  • daemon的命名规则:一般来说daemon的进程都会在程序后面加一个d的字母
  • /etc/services可以设置服务与端口号的对应
  • 通常distribution都会记录一个daemon启动后所取得进程的PID并放在/var/run目录下;daemon相关文件放在:
    • /etc/init.d/*: 启动脚本放置处
    • /etc/sysconfig/*:各个服务的初始化环境配置文件
    • /etc/xinetd.conf,/etc/xinetd.d/*:super daemon配置文件
    • /etc/*:各个服务各自的配置文件
    • /var/lib/*:各服务产生的数据库
    • /var/run/*:各服务程序的PID的记录处
  • stand alone 的/etc/init.d/*启动
     16. ldd命令:这个命令可以查询某个程序的动态函数库支持状态
     17. chkconfig:管理系统服务默认开机启动与否
  • --list:仅将目前的各项服务状态栏显示出来
  • --level:设置某个服务在该leval下启动或关闭
     18. 日志文件
  • /var/log/cron:crontab的日志
  • /var/log/demsg:开机的时候内核检测过程所产生的各项信息
  • /varlog/lastlog:记录系统上面所有帐号最近一次登入系统时的相关信息
  • /var/log/mailog:记录邮件的往来信息
  • /var/log/messagne:系统发生的错误信息或者重要信息都会记录在这个文件内
  • /var/log/secure:只要涉及需要输入帐号密码的软件,当登入时都会有被记录在此文件
  • /var/log/wtmp,/var/log/failog:记录正确登入系统者的账户信息与错误登入时所使用的账户信息
  • /var/log/httpd/*,/var/log/news/*,/var/log/samba/*;记录它们自己的日志文件案来记载它们自己产生的各项信息
     19.日志文件所需要的相关服务与进程
  • syslogd:主要登入系统与网络等服务的信息
  • klogd:主要登入内核产生的各项信息
  • logrotate:主要进行日志文件的轮替功能
     20.信息等级
  • 1 info 
  • 2 notice
  • 3 warning(warn)
  • 4 err(error)
  • 5 crit
  • 6 alert
  • 7 emerg(panic)
两个特殊的等级debug(错误检测等级)与none(不需要登录等级)
     21. syslog的配置文件:/etc/syslog.conf可以用来配置定义自己的日志文件;syslog的日志文件只要"被编辑过"就无法继续记录,此时要重新启动syslog让它再继续提供服务才行
     22 chattr +a /var/log/message 增加这个属性后只能让此文件新增,不能修改也不能删除移动;可以用lsattr /var/log/message查看此文件的属性
     23. 日志服务器的设置:让某一台主机接收记录其他主机的日志信息
  • 主机设置:修改SYSLOG_OPTIONS="-m 0"修改为SYSLOG_OPTIONS="-m 0 -r"
  • 客户端设置;增加一句话 "."   IP为日志服务器的IP
     24. 日志文件的轮替(logrorate)
  •  一个标准的配置
  • /var/log/admin.log {
               monthly             #每个月进行一次
               size=10M           # 文件容量大于10M开始处理
               rotate 5               #保留5
               compress              # 进行压缩
               sharedscripts
               prerotate
                    /usr/bin/chattr -a /var/log/admin.lo #准备备份前的准备工作
               endscript
               sharedscripts
               postrotate
                    /usr/bin/chattr +a /varlog/admin.log     #备份后的工作
               endscript
  • }
     25. run level 执行等级
#   Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
     26. 第一个init进程及配置文件/etc/inittab与runlevel
     27. 利用/etc/rc.d/rc.sysyinit 这个文件来设置好整个系统环境
     28. 用户自定义开机启动程序(/etc/rc.d/rc.local):在完成默认的runlevel指定的各项服务的启动后,可以设置继续执行的操作
     29. lsmod  查看内核加载了多少个模块
     30.modinfo 查阅内核内的模块外,查看了某个模块文件
     31.  点用外部函数库:加入链接的函数库(gcc sin.c -lm -L/lib -L/usr/lib)
  • lm可以拆开两部分来看:-l:是加入某个函数库,m:则是libm.so这个函数库,其中lib与扩展名(.a或者.so)不需要写
  • -L/path加路径外部链接函数库的路径
  • -I/path:设置要去搜索相关的include文件的目录
     32. ldd可以知道某个二进制文件还有那些动态函数库
     33.RPM查询
  • ql:列出该软件所有的文件和目录所在的完整文件
  • qR:列出与该软件有关的依赖软件所含的文件
  • qf:由后面的文件密集那个找出该文件属于哪一个已安装的软件
     34. RPM验证与数字证书
  • -V:后面加的是软件名称,若该软件所含的文件被改动过,才会列出来
  • -Va:列出目前系统上面所有可能被改动过的文件
  • -Vp:后面加的是文件名称,列出该文件内可能被改动过的文件
  • -Vf:列出某个文件是否被改动过






阅读(1954) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~