您的位置:首页 > 运维架构 > Shell

Shell 命令积累

2016-09-18 14:20 183 查看
1. ##将"/"的文字删除,即输出"/"符号之前的不重复数据,仅仅是打印出,不会改动源文件:cat ~/vob.log | sed 's/\/.*//g' | uniq2. 删除多余bfagent 进程:ps aux | grep bfagent | grep Rs | awk '{print $2}'| xargs kill -9ps -el | grep bfagent | grep -v S | awk '{print $4}'| xargs kill -93. 全目录拷贝命令:(cd bay319/ && tar cf - .)| (cd scripts/ && tar xpvf -)4. 列出home目录大小:for dir in $(ls /home)do user=$(ls -ld /home/$dir | awk '{print $3}');su $user -c "du -sh /home/$dir"done5.查看sprac 机器配置信息:prtconf -v;showrev6.查看solaris 硬件配置信息:prtdiag -v7. Solaris 8 的加密算法为DES,而linux 为MD5,solaris 9 以上支持MD5算法。8. cut -d ":" -f1 ~/nis_user.txt输出用户名9. 如果想下载一个网站上目录中的所有文件, 我需要执行一长串wget命令, 但这样做会更好:wget -nd -r -l1 --no-parent http://www.foo.com/mp3/ 这条命令可以执行的很好,但有时会下载像 index.@xx 这样一些我不想要的文件. 如果你知道想要文件的格式, 可以用下面的命令来避免下载那些多余的文件:wget -nd -r -l1 --no-parent -A .mp3 -A .wma http://www.foo.com/mp3/ 10.脚本添加用户:cnbjnis:~ # useradd -u 3001 chenxjcnbjnis:~ # echo password | passwd --stdin chenxj11. solaris 提示terminal too wide.stty columns 12012. 有时候为了方便管理,我们常常喜欢在Linux中将之安装为服务,然后就可以使用服务来管理。但是当我们运行安装服务的命令时候,假设服务名为myservicechkconfig --add myservice常常会出现"service myservice does not support chkconfig"我们一般在脚本开头加入下面两句就好了vim /etc/init.d/myservice添加下面两句到 #!/bin/bash 之后。# chkconfig: 2345 10 90# description: myservice ....其中2345是默认启动级别,级别有0-6共7个级别。等级0表示:表示关机等级1表示:单用户模式等级2表示:无网络连接的多用户命令行模式等级3表示:有网络连接的多用户命令行模式等级4表示:不可用等级5表示:带图形界面的多用户模式等级6表示:重新启动10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。#vi /var/lib/dhclient/dhclient-eth0.leases13. sed最常用的用法莫过于替换文件,其默认的模式是直接输出在shell中,Old 为要替换的文本,New 为将要替换成的文本。sed 's/Old/New/' My_File.txt如果我们想要sed直接在文件中更改,只需要在sed后面添加 -i 或 -ig即可,-g应该是指全局。sed -i 's/Old/New' My_File.txt在mac中需要添加 -ig才能够执行(没有尝试过)14. 检查进程号checkproc -v proc15. 查找incoming目录下的2个月以前的文件,并将它们移动到/pub/pub/clearcase/multisite_bak/incoming/下:find /shipping/ms_ship/incoming -mtime +2 -print -exec mv {} /pub/pub/clearcase/multisite_bak/incoming/ \;16. 杀掉该用户的所有进程kill -9 `lsof -t -u daniel`17. 打印从包含 "BEGIN" 的行开始,并且以包含 "END" 的行结束的文本块:sed -n -e '/BEGIN/,/END/p' /my/test/file | more如果没发现 "BEGIN",那么将不打印数据。如果发现了 "BEGIN",但是在这之后的所有行中都没发现 "END",那么将打印所有后续行。发生这种情况是因为 sed 面向流的特性 -- 它不知道是否会出现 "END"18. Solaris 10 开启SSH系统版本:SunOS solaris1 5.10内核版本:5.10 i86pcSolaris 10在安装完成后,默认是没有开启ssh服务的,如果要开启ssh服务,就要做如下操作。1. 修改配置文件vi /etc/ssh/sshd_config将PermitRootLogin no更改为PermitRootLogin yes2. 重启ssh服务/lib/svc/method/sshd restart3. 查看ssh开放服务的端口,ssh默认开放端口为22端口,通过从查看端口来确定服务是否开启。netstat -avn | grep 2219. shell分类:1.交互式登录shell:以一个用户的身份登陆进去,输入命令的格式的shell。读取配置文件的顺序:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->~/.bashrc-->/etc/bashrc2.非交互式登录shell:只在一个脚本的,不需要用户登录,自动运行。读取配置文件的顺序:/.bashrc-->/etc/bashrc-->/etc/profile.d/*20.检查网址是否连通ping=`ping -c 3 192.168.1.69|awk 'NR==7 {print $4}'`ping=`ping -c 1 $i|grep loss|awk '{print $6}'|awk -F "%" '{print $1}'`21.以数字形式显示文件权限:stat -c %a

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Shell