日期:2014-05-16  浏览次数:20592 次

Linux指令学习(续)

一、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.? && 与?? || 或? 注释:实际上一般的认为&&是前面正确才执行后面.而||表示前面执行不成功则执行后面的命令

?