---恢复内容开始---
一、常用命令
1、上传:rz #用rz只能上传文件 不能上传文件夹(压缩成一个压缩包上传是可以的)
2、下载:sz 文件名
3、解压缩文件:tar xzvf zhcon-0.2.5.tar.gz
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
zip格式解压缩:unzip 压缩包文件名.zip
4、打包并压缩文件:“tar -czvf 压缩后文件名.tar.gz(含路径) 要压缩的文件名(含路径)”
c:创建压缩文件
zip格式打包:zip 压缩后文件名.zip 要压缩的文件名
5、开关机:shutdown -h now #立即关机
shutdown -h 60 #延时60分钟关机
reboot #重启
6、用户管理-添加用户:useradd ywn #添加一个新用户ywn
新增的用户“家目录”都在/home路径下 家目录是用~代表的
passwd ywn #给ywn这个用户设置密码
7、添加用户,指定家目录:useradd ywn1 -d #创建ywn1这个用户 将这个用户的家目录创建在/usr/local/mongodb目录下
8、切换用户:su - 用户名
9、查看当前用户:id
10、编辑文件,显示行号 ‘’:set nu‘’ 不显示行号 ‘’:set nonu‘’
11、快速到文件末尾 shift+g
12、快速到文件首部 gg
13、删除整行内容 dd 删除单个字符 x
14、撤销 u
15、复制一行 yy 粘贴 p
16、替换内容 :%s/aaa/xxx/g #%代表替换所有行; s代表替换; aaa/xxx代表把aaa替换为xxx; g代表如果行里边有多个的话也全部替换
1,5s/aaa/xxx/g #代表替换1-5行内容
17、查看文件内容 less a.txt #less只是查看文件 无法进行修改;但可以查找文件中的关键字,也是用/查找 退出也是:q
tail a.txt #默认看文件末尾的10行内容
tail -f abc.log #动态看文件末尾的内容,当产生新的日志时,会自动查看最新的日志内容
18、过滤文件内容 tail -f abc.log | grep aabb #grep是在abc这个文件内过滤出来包含aabb的日志,在工作中查看日志时 可以通过这个过滤自己要看的内容
19、查看文件 ls -l #查看当前目录下文件详细信息
ls -a #查看目录下的全部文件,包括隐藏文件(在linux下,已‘.’开头的文件都为隐藏文件)
20、创建文件夹 mkdir test #创建文件夹test
mkdir -p /temp/aaa/bbb #父目录aaa不存在的时候 加上-p 就可以也把父目录创建
21、删除 rm -rf xxx #什么都能删,不管是文件还是文件夹
22 、复制 cp -rf xxx #加上-rf可以复制文件夹和文件
cp -rf /opt/rest/aaa ./ #将aaa这个文件复制到当前目录下 ./代表当前目录 ../代表上一级目录
23、移动/改名 mv test.py /opt/ #将test.py这个文件移动到opt目录下
mv test aaa #mv有两个功能 当后边不是路径的时侯 是将test这个名称修改为aaa
24、当前目录下所有文件占用的大小 du -sh *
25、查看磁盘使用情况 df -lh
26、加减权限 减权限chmod -x nihao #将nihao这个文件的执行权限去掉,包括自己的用户,本组用户和其他用户(x代表执行权限,r代表读,w代表写)
chmod u+x nihao #给自己的用户加上执行权限(u代表给自己的用户,g代表本组用户,o代表其他用户)
chmod a+rwx nihao #给所有用户加上rwx权限
chmod -R u+r aaa #aaa是个文件夹 如果要把这个文件夹下的所有文件都添加权限 那就必须要加上-R
27、统计 cat nihao | grep nihao | wc-l #wc是统计,统计某个文件里面,出现了某个词多少次
ls |wc -l #查看当前目录下有多少个文件
cat 文件名 #代表查看文件内容
28、通配符 **代表通配符,例如要删除中间有sum的文件 则为rm -rf *sum*即可
删除以.log结尾的文件,rm -rf *.log
查看以_log结尾的文件,ls *_log
29、查找文件 find / -name "*tomcat*" 查找名字为tomcat的文件,/代表从根目录开始查找
30、重定向 意思就是将一个文件的内容复制到另外一个文件中去
nihao > sss #将你好文件里的内容拷贝到sss中,一个>是指把原来sss中的内容完全覆盖掉
nihao>>sss #两个>>则是追加,而不会将原有内容覆盖掉
echo“hehehe”>sss #这个只写入一句话,将hehehe写入到sss中
>sss #大于号前边不写内容 就相当于将sss这个文件清空
31、后台运行程序 nohup sh jmeter-server & #nohup xxx &就是代表让这个某个程序在后台运行,一般适用与需要一直运行的程序
32、查看进程 ps -ef | grep mysql #查看启动的mysql的进程,如果没有这个进程,在查看的时候也会显示一条查询出来的结果,因为grep本身也是一个进程
33、监控 top
34、开机启动 /etc/rc.d/rc.local #将需要开机启动的脚本加入到这个文件下就可以开机后自动启动了
35、环境变量 如果某一个程序没有给加到环境变量中,那么不能直接在某个目录下去输入使用,例如输入mysql 如果mysql没有加到环境变量中,那只能进入到这个程序
目录下才可以执行,同时在这个目录下执行的时候也要注意 必须前边要加上. /才可以‘./mysql’。
二、安装软件
1、rpm安装包
rpm -ivh xxx.rpm #-i代表安装,v代表显示安装信息,h代表显示安装进度
rpm -e xxx.rpm #卸载rpm方式安装的文件
rpm-qa #查询已经安装的rpm软件包
2、yum安装
yum -y install xxx #输入-y就不再提示确认信息
yum list | grep xxx #查看需要安装的软件包是否存在yum中
yum list installed | grep xxx #查询是否安装过某个软件
yum remove xxx #卸载所安装的软件包
yum或者rpm方式所安装的文件,可执行命令都在/usr/bin,配置文件都在/etc/xxx目录
3、编译安装
编译安装首先要保证装有gcc,输入gcc就可以直接查看是否已安装
如果没有安装,输入yum -y install gcc* 安装即可
安装三部曲:
1、生成makefile编译文件./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件
常用的参数--prefix 指定安装目录,--with-xx 指定依赖文件的目录
2、make编译 make命令也需要安装,会根据./configure产生makefile文件编译写好的c语言程序,产生可运行的文件
3、make install make install的作用是把编译好的文件复制到指定的目录下,也就是第一步--prefix指定的目录,如果没有指定目录的话,
还是在当前目录下
三、shell脚本
ps -ef | grep tomcat |grep -v grep |awk '{print $2}' #grep -v grep的意思是过滤掉以grep开头的进程 -v就是过滤用的;awk '{print $2}'的意思是去进程的第二列内容(也
就是pid 进程号;)
1 、重启tomcat并查看进程脚本:
jinchenghao=~ps -ef | grep tomcat |grep -v grep |awk '{print $2}'~ #将查询出来的pd给jinchenghao;~~加上这个符号在linux里代表的是这里面执行的是一条命令;
特别注意:在linux中等号前后不能有空格
kill -9 $jingchenghao #$代表的是将这个pid取过来
echo “tomcat stop” #提示一句话
sh /usr/local/tomcat_dang/bin/startup.sh #启动tomcat程序
tail -f /usr/local/tomact_dang/logs/catalina.out #查看日志
2、判断tomcat是否启动脚本
jinchenghao=~ps -ef | grep tomcat |grep -v grep |awk '{print $2}'~
if [ $jinchenghao ] #判断是否有这个进程号,非0即真非空即真,所以如果有进程号就是真的;特别注意:大括号里边内容的前后必须要有空格
then
kill -9 $jinchenghao #如果tomcat启动了 则将进程号删除
echo "tomcat stop..." #给出提示信息
else #如果tomcat未启动,没有进程号
echo "tomcat is not running..." #给出提示信息,tomcat未启动
fi
3、每天的23点59分,将日志文件拷贝靠另外一个目录下备份,并清空日志文件
src_path='/opt/lampp/logs/access_log' #将log文件给src_path
tar_path='/tmp/logs/' #将logs目录给tar_path
time=~date +%Y%m%d%H%M%S~ #将当下时间给time
cp -rf ${src_path} ${tar_path}access_log_${time} #把src_path文件拷贝到tar_path目录下,并重新定义文件名
>${src_path} #重定向src_path文件(即清空这个文件的内容)
crontab -e
59 23 * * * sh /tmp/bak_log.sh