软件安装: { 软件安装的几种形式 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 }
本文出自 “Apprentice” 博客,请务必保留此出处http://apprentice.blog.51cto.com/2214645/1376161