一、shell编程
shell类似于windows的bat批处理文件.shell可以理解为是指令与Linux内核之间的中间层.它的常用的分类有:
Bourne /bin/sh 国内使用 ; C /bin/csh ; Kom /bin/ksh 欧洲使用.
shell命令:
1. env 显示当前操作系统环境变量
2. chsh -s 新的shell(如:/bin/csh ) 修改shell 回车(改后指令集会发生变化)
3. history [int] 显示历史使用的指令(默认最多800条) 如history 5 最近使用的5个指令.
4. ! 直接运行历史的指令.例: !5 会执行历史的第5条指令. !ls 立即执行最后ls打头的指令
5. ping和tracert可以查看网关和IP等信息. ifconfig查看Linux的IP情况
6. setup 进入管理设置界面.主要可修改防火墙,打印,网络等配置信息.在进入网络后按"空格"表示自动.按"Tab"则进入下方的自定义配置.在修改后需输入 /etc/rc.d/init.d/network restart 指令使其生效.
7. ifconfig eth0 IP地址 临时性的设置网络IP地址 ifconfig eth0 network X.X.X.X 临时设置子网掩码
9. echo ${变量名} unset 变量名 调用临时变量 注销临时变量
10. read 变量名 等待用户输入,并将值赋予变量内.
11. declare [-aixr] 变量名 声明带有类型的变量名 a-arr 数组 i-integer 数字 x-export 与export一样将变量变为环境变量,使得其他进程可见. r-readonly 只读 ***数组使用为 数组名[index] 与java一致
12. alias/unalias 建立注销别名 alias 别名='ls -l | more' 就表示输入别名就跟打后面的命令式一样的.
二、RPM包
它是一种互联网下载包的打包及安装工具,它生成.rpm的文件
1. rpm -qa 查询所有rpm包文件.a表示all 可以-q mysql查询指定的rpm包.
2. rpm -ivh rpm包全路径 i=install安装 v=verbose提示 h=hash 进度条
3. rpm -e 包名 删除指定的rpm包 -u是升级
**samba服务是linux下与windows共享文件的包.**
4. rpm -q samba 查看是否安装samba服务
5. cat /etc/passwd | mksmbpasswd sh > /etc/samba/smbpasswd smbpasswd文件时samba的用户文件 smbpasswd 密码 设置密码
6. service smb start/stop/restart samba的启动/停止/重启 指令
7. 共享资源的文件配置 /etc/samba/smb.conf 可以在文件内配置
三、任务调度
概念:指某个时间系统执行特定的某些指令或程序
分类:1)系统工作:系统必须周而复始的运作(如:杀毒软件)
2)个别用户工作:个别用户希望的操作(数据库备份等)
指令:
1.crontab -e 设置任务调度,改指令会进入一个文本在里面写任务调度
**一般情况都是设特定时间让系统做某些指令 如 0 14 * * * date > /etc/mytest.txt 这样系统会在每天的下午2点0分将系统时间写入mytest. 其中0 14 * * * 分别得含义是 分 钟 天 月 星期 .而*表示"每"的意思.当然date>...也可以用/etc/test.sh等可执行文件替代**
**对于多个任务调度可以将多个都写在crontab -e内, 但是最好是写在可执行文件内(这便是shell编程,后缀为sh)**
2. crontab -r 删除所有任务调度. -l 列出调度
四、进程:
概念:每个执行文件及一个进程. (线程是进程的一部分,它肯定属于某一进程.且线程可看做轻量级的进程,它没有独立的地址空间.)
指令:
1. ps [-aux] 查看当前系统的所有进程 -a 查看终端的所有进程 -u 以用户格式显示进程 -x 显示后台进程运行的参数(注意: PID为1的为主进程,所有的其他进程都是他的子类) pstree以树形显示进程
2. kill 进程id 杀死进程(这个会考虑到进程是否重要). -9 强制.
3. top 动态查看当前系统所有进程(ps为静态的查看,它只是看某个时间点的情况). -d 10 每十秒跟新 ; 输入"U" 在输入用户名 按用户名查询 ; 输入"k" 再输入ID 杀死进程 ;
4. netstat 显示当前网络状况 -a 显示所有 ping IP地址 网络监测. -p 显示哪个进程在监听该端口
5. traceroute 监测数据包网络传输过程.(route 路由)
四、过滤器:
输入:过滤器的数据来源一般为stdin(0)表示为键盘 输出:过滤器的数据去向,默认为stdout(1)意味终端.
错误输出:stderr(2)默认为终端 . 重定向:改变上述的方向,主要就是文件的导入导出. 一般就为">"">>""<"和"<<"
如果右侧出错想输出错误可以"2>""2>>"等方式
五、压缩:
1. gzip - gunzip 后缀 .gz 查看压缩内容: gcat ; compress - uncompress (太旧) ; bzip2 - bunzip2 后缀: .bz2 解压指令也可以 bzip -d ;
2. tar 主要用于备份 tar cvf 备份文件.tar 被备份文件 (参数 c: 文件备份出来 v: 将过程输出 x: 解出备份 f: 必须在最后表示去备份的文件名 tar xvf 出备份中解出文件)
3. = 设置临时变量 如:"a=boo"注意要无空格. 在获取变量时可以 echo ${a}即可获得.注意的是{a}表示a变量.
六、bash:
1. && 与 || 或 注释:实际上一般的认为&&是前面正确才执行后面.而||表示前面执行不成功则执行后面的命令