Linux笔记

1.linux常用命令
	开关机
	reboot 重启
	shutdown -h now 关机
	shutdown -h 60 #延时关机
	图形化界面和文本界面切换:

	上传下载:
		安装:yum -y install lrzsz
		rz 上传
		sz 下载
	安装软件
		1. .rpm
			rpm -ivh xxx.rpm rpm安装包 安装文件
			rpm -e xx.rpm #卸载rpm方式安装的文件
			rpm -qa | grep xx 查询已经安装的软件
		2. yum 
			yum install xxx
			yum -y install
			yum list | grep xxx #查询你需要安装的软件包有没有
			yum list install | grep mysql #查询是否安装过这个软件
			yum remove xxx #卸载
		yum或者rpm 方式安装的文件,可执行命令都在/uer/bin
		配置文件都在/etc/xxx/

		3.  编译安装
				首先保证装有gcc,直接输入gcc,查看是否安装
				没有的话:yum -y install gcc*
				第一步:
					./configure --prefix=/path -with-xxxx=/path
				第二步:
					make
				第三步:
					make install

			开机启动:
				/etc/rc.d/rc.local

	用户管理
		添加用户 useradd ggy

		设置密码 passwd  ggy

		删除用户 userdel -r ggy -r删除用户的家目录
		
		/代表linux的顶级目录,所有的目录都在/下面
		
		~代表家目录
		
		pwd 当前目录
		
		查看当前登录用户 id,whoami
		
		切换用户:su - ggy 中间有 - 的话,会重新加载用户的环境变量,没有 - ,则不加载

		 $和#,$代表普通用户,#代表root用户

		 获取超级用户权限 sudo

		添加组:groupadd namei
		删除组:groupdel namei

		设置ip地址:/etc/sysconfig/network-scripts/ifcfg-eth0
		设置dns:/etc/resolv.conf
		查看ip地址:ifconfig 或者 ip a 

	文件操作
	vi:
		命令模式和编辑模式切换:
						a:下一个字母的位置
						i:光标当前的位置
						o:下一行
		编辑模式切命令模式:esc
		命令模式:
			退出vi  :q
			保存退出 :wq  :x
			不保存退出 :q!
			保存    :w
			显示行号   :set nu
			不显示行号  :set nobu
			快速到第N行 :N
			从上往下查找 /XX 查找下一个n(next)(没有冒号,直接输入/)
			从下往上查找 ?XX 查找下一个按n
			快速到文件末尾    :shift+g
			快速到文件首部     gg  :1
			命令模式:删除整行 dd
					  删除单个字符 x
					  撤销    u
					  重复上次操作  .
					  复制一行  yy
					  粘贴    p
					  复制N行 Nyy(光标所在的位置进行复制)
					  粘贴 p
					  把光标快速移动到行尾 $
					  把光标快速移动到行首 0
					  批量替换  :%s/src/new/g
					  替换1-5行   :1,5s/src/new/g
			查看文件内容:
						cat a.txt #cat适合看文件内容少的
						more a.txt #more可以分屏展示,ctrl+F向下翻页
						less a.txt #分屏显示,可以支持查找,快速调到N行
						tail a.txt #默认是看文件末尾10行的内容
						tail -f a.txt #动态看
						tailf 同上
						tailf -f a.txt |grep r007646897 #动态查看,过滤你想看的
						touch a.txt 创建一个空文件,如果touch已经存在的文件,那么会更新这个文件的操作时间
						cd ~ #回到家目录
						直接cd也是回到家目录
						cd ..回到上一级目录
						cd - 回到上一次操作的工作目录


						mkdir d创建文件夹
						mkdir -p /tmp/aaa/bbb #父目录不存在的时候,也把父目录创建
						rmdir aa 删除空文件夹,非空删除不了
						rm -rf 什么都能删除,不管是文件还是文件夹
						cp -rf XXX XXX 加上-rf 什么都可以复制,若有重名,直接询问是否覆盖
						mv XXX /opt 移动到opt路径下
						mv xxx abc 后面跟的是文件名,则是改名;若是跟的是路径,则是移动到该路径



						ls
						ls -l  详细信息
						ls -a  列出目录下的全部内容,包括隐藏文件(以.开头的文件)
						pwd 查看当前路径
						alias t='tail -f a.log'#给命令加别名
						unalias t #取消别名
						如果想让别名永久生效,把alias加入到用户家目录下的.bashrc文件里面 source .bashrc一下,会立即生效



	文件夹(目录)
	~代表家目录
	查找
	打包
	环境变量
		环境变量的作用就是让你在任意目录下都能执行这个命令
		加环境变量的时候,在/etc/profile
		如果有这句话,直接在后面写路径export PATH=$PATH:/tmp
		如果没有这句话,那么你自己写上 export PATH=$PATH(必须得$PATH,不然ls等系统命令都不能使用)
		vi /etc/profile
		export PATH=$PATH:/tmp
		source /etc/profile
		/etc/profile 针对系统的,也就是所有的用户都生效
		vi .bashrc 用户环境变量,针对用户
		source .bashrc    su - mysql(切换用户)

		du -sh * 看当前目录下所有文件占用的大小
		du -sh /tmp 看/tmp目录所占用的大小
		df -lh 查看当前系统磁盘使用情况


		chmod a+rwx 加上最高权限 chmod u-x nihao(nihao这个文件减去执行权限)
		ll nihao (查看nihao的所有信息)
		chmod a-x 减去 执行权限
			a代表所有
			u代表归属用户的权限
			o代表其他用户
			g代表本组用户
		数字方式:
			r=4
			w=2
			x=1
			chmod 766 nihao(rwxrw-rw-)
		-R 递归,主要用于一个目录,把这个目录下所有的文件/文件夹赋权限,记住只要给文件夹加权限,必须加-R
		chmod -R 755 /tmp
		chown user:[group] a.sh 改变文件所属的用户和组
		chown -R user:[group] dir 改变文件夹所属的用户和组
		chgrp group a.sh 改变文件所属组

		cat nihao | wc -l 统计文件一共有多少行
		cat nihao |grep nihao | wc -l 统计某个文件里面,出现了某个词多少次
		ls |wc -l 统计文件夹下一个有多少个文件
		ls -a |wc -l 隐藏文件也统计进去

		rm -rf *shm*
		rm -rf cgisock* 删除以cgisock开头的
		ls *_log

		find / -name “tomcat*”(查找名字是tomcat,从根目录下查找)

		clear 清屏
		history(原来的输过命令都显示出来)

		which xx# 只在环境变量里写的目录里面查找
		whereis mysql #搜程序名

		~代表家目录

	打包
		zip test.zip test #打zip包
		unzip test.zip #解压缩包


		.tar tar cvf nihao.tar nihao (c:create;v:打包进度;f:详细信息;) 只是打包而已,不压缩
		.tgz tar zcvf wusuobu_api.tgz wusuobu_api(z:压缩;打tar并且压缩)
		tar xvf xx.tar #解压缩包,不管你是压缩过的还是没压缩过的
		.tar.gz
		.tar.bz2


		gzip:
		gzip xx
		gunzip xx.gz

	后台运行:
		nohup sh jmeter-server &
	查询进程:
		ps -ef |grep jmeter
		ps -ef|grep mysql
		kill -9 pid #停止一个程序
		date +'%Y%m%d' 获取当前日期

	重定向:
		cat nihao >sss 把nihao里的文件移到sss里面
		echo 'heheh' > sss 把nihao里的内容覆盖掉
		echo '呵呵呵' >>sss 在原有内容上添加新内容
		>sss 把空移到sss中,也就是清空文件,不删除文件



	定时任务
	crontab -e 



2.怎么搭建测试环境
3.简单的shell
原文地址:https://www.cnblogs.com/wxcx/p/8923172.html