Linux基础知识汇总(2)...持续更新中

软件安装: {
        软件安装的几种形式
            rpm  由厂商提供二进制包
            yum  rpm源的前端管理器
            src  源码包configure安装
            bin  包含rpm和shell将安装一步执行
            rpm 操作:
                安装/更新
                    rpm -i/U/Fvh 包名
                    rpm replacepkgs 包名   重装rpm
                    --nodeps  忽略依赖
                查询
                    qi 包名   查询包信息
                    qa        所有安装包
                    q         单包是否安装
                    ql        安装包的目录信息
                    qf        反查文件属于那一个包?
                    q --script  包脚本  preinstall
                    qpl      未安装查询
                    qpi      未安装信息检索
                删除
                    rpm -e 包名   --nodeps
                校验
                    rpm -K 包名   公钥检测
                    rpm --import 导入公钥
                源的管理
                    包信息在  /var/lib/rpm 下
                    rpm --initdb   初始化db
                    rpm --rebuilddb  重建db
            yum 操作:
                yum操作较为简单,前提是要匹配好yum源
                yum install
                yum groupinstall
                yum list
                yum repolist
                yum erase 包名     删除软件
                切记   yum源配置路径   /etc/yum.repos.d/*.repo
                [repoid]
                name=
                baseurl=
                enabled=
                gpgchecked=
                gpgkey
            src 操作:
                制作过程:
                有程序源代码:  autoscan -> 将生成的configure.asac -> configure.in(输出Makefile文件  宏定义) ->  aclocal  ->  autoconf  ->   automake  ->  产生了configure文件  ->  配置configure文件  -> prefix=  sysconfdir=  -> make && makeinstall
                文件输出:(必记)
                二进制文件(bin)
                    导出到环境变量中   用户的启动配置文件中
                    /etc/profile.d/apache.sh  ->  
                    source /etc/profile.d/apache.sh
                    PATH=加入
                    export  导出
                库文件(include)
                    软链接到
                    ln -sv /usr/local/include/* /uar/include/apache
                头文件(lib)
                    vim /etc/ld.so.conf.d/apache.sh ->
                    /usr/local/lib
                    lddconfig
                man文件
                    vim /etc/man.conf ->
                    MANPATH /usr/local/man
            bin 操作:
                直接 ./xxxx.bin  执行
    }


find,at,特权,facl,shell: {
        文件名查找
            Usage: find [路径] [条件] [动作]
            普通 -name -iname -uid -gid -nouser -nogroup -user -group
            组合 -o -a -not
            类型 -type f d b c l p s
            时间 -atime -mtime -ctime -amin -mmin -cmin
            权限 -perm +/-
            动作: -exec ls -ld {} \;
                 xargs 将命令分页处理
                 find / -user hadoop -a -perm -741 | xargs chmod g+x
        计划任务
            at -l 列表 -d 删除 -f 批处理   定时处理
            at 时间   进入编辑模式   定时执行
            batch  与at一致,但需要机器空闲
            周期性计划列表
                /etc/crontab  系统
                /var/spool/cron/username  用户
                crontab -e    编辑周期性任务
                crontab -l    周期任务列表
                crontab -r    删除周期任务
                anacron  补救crontab没有执行的
        特权权限
            还是要借助特权组好去管理
            chmod u=rwxs
            chmod  +4755   1 特权用户   针对文件 s
            chmod  +2755   2 目录      针对目录 S
            chmod  +1755   4 粘贴位    针对目录 t
        访问控制列表 facl
            用户组管理访问
                setfacl -m u/g/o:who:prem   设置附加权限
                setfacl -x u/g/o:who:perm   删除特权
        shell编程
            continue
            break
    }


网络功能 :{
    计算机网络:
    网络  物理层       物理电缆 , 电器设备
    子   数据链路层    csma/cd   token  pppoe  数据桢  交换机
    网   网络层       数据包   IP协议   arp            路由器
        传输层      tcp   udp   +  端口
        会话层      telnet  http   ftp   dns  
    资源  表示层
    子网  应用层
    TCP/IP  有限状态机  
        syn  同步位   ack  应答状态   fin   结束位
        三次握手请求 , 四次断开 ( 请求同步攻击发生在此间 )
    设置临时:
        ifconfig eth0 ip/nm gw    lo  本地回环 (常用)
        ip addr / ip link(new)
        route (常用)
        ip route(new)
    设置永久:
        /etc/sysconfig/network-scripts/ifcfg-eth0   网络
        /etc/sysconfig/network-sctipts/route-eth0   路由
    DNS设置: 
        /etc/resolv.conf    nameserver=8.8.8.8
    FQDN: /etc/sysconfig/network
    服务脚本:
        1. 在/etc/rc.d/init.d/服务名 建立启动脚本  脚本中拥有标准
        服务信息
        2. 在chkconfig中配置   chkconfig 服务名 on
    网络常用命令一览:
        ping -c 数目  -w 时长 (常用)
        traceroute ip  追踪路由
        dig -x  反解  arpa   -a 资源类型  正解DNS(常用)
        netstat
        ss -tuan  显示机器当前所有的tcp/udp端口(常用)
        ethtool eth0  eth0的物理特性
}


进程管理: {
    linux进程遵循抢占式原则     由  用户进程发起调用   <->  系统调用转换的过程
    时钟驱动:  0-99实时优先级  (管理员可降优先级)   100-139  静态优先级
        动态优先级   内核,动态调整
    线程队列:  linux中线程根据条件优先级分组分拣,使得cpu调用时扫描长度恒定
        为,cpu切换线程上下文省出了时间
    进程的分类: 
        cpu  密集型    (科研计算)
        i/o  密集型      (查询,写入)
    进程间通讯分为: 
        Signal 信号量 
        Shm  share memory 
        Semerphor  旗语
        Socket  套接字  
        IPC  进程通信机制  
        RPC (Web Service , Rest , OData) 远程调用
    内存分配:  基于虚拟空间交换原则
        在应用程序执行期间,内存空间由高到低
        1G   归为 linux kernel所有 (win上是2G)       0xC0000000
        ?M   随机空闲段  (大小未知动态调整)
        8M   Stack区   (win xp上1.3M  win7,8 大于这个数)
        ?M   Memory Mapping  (与Head进行映射区域,用于标记heap中对象标记)
        ?M   Head区   分配应用类型对象
        ?M   随机空闲段  (大小未知动态调整)
        ?M   Init Seqment (静态变量在此间被初始化)
        ?M   Data Seqment (所有的程序代码在此间被加载,准备被cpu调用)   0x08048000
        ?M   随机空闲段  (大小未知动态调整)    
    进程状态:
        fork -> 运行态(running)  -> 就绪态   ->  僵死态
                        ^      切换   |
                        |           |
                         \  休眠态   /
    进程管理命令:
        ps:  -ef 与当前用户有关的所有进程
             -aux cpu/mem占用 -eFH   所有的进程的层次信息
        pstree:  进程树
        pidof:   以进程名取得进程id
        top,htop    动态cpu,mem查看
        vmstat:  进程,内存,swap,io,系统信息一览
        nice: 调整进程的优先级
    SIGNAL: 信号
        kill 发送信号id pid(编号/名称/简写)
        1) SIGHUP  重读配置而不会重启
        2) SIGINT  中断信号   Ctrl+C
        9) SIGKILL  杀死进程信号
        15) SIGTERM  终止可缓冲
        killall -signal pid
}


你可能感兴趣的:(linux,find,进程管理,周期计划,特权指令)