Linux基本操作

本地域名映射

sudo vim /etc/hosts
	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
	192.168.209.101 hadoop101

固定IP

centos6:
	sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
		DEVICE=eth0
		TYPE=Ethernet
		UUID=90a864b5-f94c-41e9-9e4d-ed9ea2a253e9
		ONBOOT=yes							####
		NM_CONTROLLED=yes
		BOOTPROTO=static					####
		HWADDR=00:0C:29:32:48:E2
		DEFROUTE=yes
		PEERDNS=yes
		PEERROUTES=yes
		IPV4_FAILURE_FATAL=yes
		IPV6INIT=no
		NAME="System eth0"
		LAST_CONNECT=1554125237				
		IPADDR=192.168.209.101				####
		GATEWAY=192.168.209.2				####
		DNS1=192.168.209.2					####
centos7:
	sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
		TYPE=Ethernet
		PROXY_METHOD=none
		BROWSER_ONLY=no
		BOOTPROTO=static							###
		DEFROUTE=yes
		IPV4_FAILURE_FATAL=no
		IPV6INIT=yes
		IPV6_AUTOCONF=yes
		IPV6_DEFROUTE=yes
		IPV6_FAILURE_FATAL=no
		IPV6_ADDR_GEN_MODE=stable-privacy
		NAME=ens33
		UUID=6db4e986-dc32-4314-94c6-2030ffffd08f
		DEVICE=ens33
		ONBOOT=yes									###
		IPADDR=192.168.209.101						###
		NETMASK=255.255.255.0						###
		GATEWAY=192.168.209.2						###
		DNS1=192.168.209.2								###
	systemctl restart network.service

修改主机名

centos6:
	sudo vim /etc/sysconfig/network
		NETWORKING=yes
		HOSTNAME=centos6
centos7:
	sudo vim /etc/hostname
		centos7
	hostnamectl set-hostname centos7

ssh免密码登陆配置

	ssh-keygen -t rsa
	cd ~/.ssh 
		id_ras   id_rsa.pub  known_hosts
	ssh-copy-id  desthost(要免密登录的IP) 或scp +  cat >> 命令 

让普通用户具备sudo权限:

切换到root: vim /etc/sudoers
	root    	ALL=(ALL) ALL
	gaoxiang  	ALL=(ALL)  All  (添加一行)

让Linux启动不要启动图形界面

获取系统运行级别:runlevel     
centos6
	sudo vim /etc/inittab
		将启动级别改为3:id:3:initdefault:
		启动图形界面:startx 		sudo init 5	
centos7:
	systemctl get-default							# 获取运行级别
	systemctl set-default multi-user.target			# 多用户(级别3)
	systemctl set-default graphical.target			# 图形界面(级别5)

后台运行java微服务

	nohup java -jar test.jar > temp.txt &
	nohup java -jar hello-0.0.1-SNAPSHOT.jar >  temp.txt &

通过建立软连接变为全局

	ln -s /usr/local/application/nodejs/bin/npm /usr/local/bin/
	ln -s /usr/local/application/nodejs/bin/node /usr/local/bin/

设置自启动服务

	修改linux 启动脚本/etc/rc.d/rc 
	加入:/usr/local/nginx/sbin/nginx

添加环境变量

sudo vim /etc/profile
	export JAVA_HOME=/opt/jdk1.8.0_144
	export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

Ubuntu基本配置

安装ssh服务

# 检查ssh软件是否安装
apt-cache policy openssh-client openssh-server
# 安装ssh服务端
apt-get install openssh-server
# 安装ssh客户端
apt-get install openssh-client

设置允许远程登录 Root

# 设置 Root 账户密码
sudo passwd root
#切换到 Root
su
#设置允许远程登录 Root
nano /etc/ssh/sshd_config

# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password     # 注释此行
PermitRootLogin yes                  # 加入此行
StrictModes yes

重启服务
service ssh restart

基础命令

============================================
service mysqld start						# 开启服务
service mysqld restart						# 重启服务
service mysqld stop							# 关闭服务
service network restart						# 重启网络
chkconfig <service> on						# 开启开机自启动
chkconfig <service> off						# 关闭开机自启动
systemctl start network.service				# 重启服务
systemctl stop httpd.service				# 关闭服务
systemctl restart network.service			# 重启服务
systemctl enable network.service			# 开机自启动
systemctl disable httpd.service				# 关闭开机自启动
systemctl stop firewalld					# 关闭防火墙
systemctl disable firewalld					# 关闭防火墙开机自启动
firewall-cmd --list-all						# 查看开放的端口
firewall-cmd --list-ports					# 查看开放的端口
firewall-cmd --add-port=80/tcp --permanent	# 开放端口
firewall-cmd --reload						# 重启防火墙
firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 关闭端口

============================================
id root 									# 查看root用户相关信息
useradd -d /home/gaoxiang -g dev gx			# 增加用户,并指定家目录和用户组
useradd -m -g 组 新建用户名					# 添加新用户,-m自动建立用户家目录,-g指定用户所在的组,否则会建立一个和同名的组
groupadd 组名								# 添加用户组
groupdel 组名								# 删除用户组
userdel -r 用户名							# 删除用户	-r	选项会自动删除用户家目录
usermod -g 组 用户名							# 修改用户的主组
usermod -G 组 用户名							# 修改用户的附加组
usermod -s /bin/bash 用户名					# 修改用户登录 Shell
chown 用户名 文件名|目录名						# 修改文件|目录的拥有者
chgrp -R 组名 文件/目录名						# 递归修改文件/目录的所属组
chmod -R 755 文件名|目录名					# 递归修改文件权限
chmod +/-rwx 文件名|目录名					# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
============================================
rpm -qa | grep firfox 						# 查询软件
rpm -e firfox								# 卸载软件
rpm -e --nodeps firfox 						# 强制卸载软件
rpm -ivh firfox								# 安装软件
yum list | grep firfox 					 	# 查询软件
yum search firfox							# 查找软件
yum update									# 升级软件
yum remove vim								# 卸载软件
yum -y install vim							# 安装软件
yum -y install net-tools
yum -y install tree
yun -y install gcc gcc-c++
============================================
shutdown -r now								# 重新启动操作系统,其中 now 表示现在
shutdown now								# 立刻关机,其中 now 表示现在
shutdown +10								# 系统再过十分钟后自动关机
shutdown 20:25								# 系统在今天的 20:25 会关机
shutdown -c									# 取消之前指定的关机计划
ifconfig									# 查看网卡配置信息
ifconfig | grep inet						# 查看网卡对应的 IP 地址
top											# 动态显示运行中的进程并且排序
ps aux										#  查看进程的详细状况
ps -ef | grep mysql							# 查看进程相关信息
netstat -nltp								# 查看开放端口
crond任务调度:
	crontab -e: 编辑crontab定时任务
	crontab -l: 查询crontab任务列表
	crontab -r: 终止所有crontab任务
查看服务:
	netstat -nltp | grep xxx  
	ss -tanlp
============================================
ls		/									#列表显示目录文件
cd 	/										# 切换目录
mkdir java									# 创建目录,-p:递归创建目录
touch Hello.java							# 创建文件
pwd											# 显示当前位置
rm Hello.java								# 删除文件,-r:递归删除目录,-f:强制删除
wget url 									# 下载
crul http://127.0.0.1:8000/					#  访问网页
kill -9 PID									# 强制结束进程
lsb_release -a                              # 查看系统版本
which python								# 查看软件位置
command --help								# 查看帮助
ln -s 被链接的源文件 链接文件					#添加软链接
find [路径] -name "*.py"						# 在指定的目录下查找文件
tree [目录名] -d								# 以树形结构显示目录
cp 源文件 目标文件							# 复制
mv 源文件 目标文件							#移动
grep 搜索文本 文件名							# 搜索
more 文件名									# 查看文件
tail -f 文件名								# 查看变化文件的后面十行
head -n 10  文件名 							# 查看文件的首部十行
date										# 查看系统时间
runlevel 									# 查看系统的运行级别
ssh 用户名@ip							 	# 远程连接服务器
scp 用户名@ip:文件 用户名@ip:文件     			# 远程操作服务器复制文件
which  										# 命令可以查看执行命令所在位置
> 											# 表示输出,会覆盖文件原有的内容
>>											# 表示追加,会将内容追加到已有文件的末尾
| 											# 管道 
df -h										# 显示磁盘剩余空间	
du -h [目录名]								# 显示目录下的文件大小
cat /etc/group								# 确认组信息
passwd 用户名								# 设置用户密码,如果是普通用户,直接用 passwd 可以修改自己的账户密码
gzip  2019_03_25_182426.sql 2019_03_25_182426.sql.gz	# 压缩
gunzip 2019_03_25_182426.sql.gz							# 解压
tar -zcvf 2019_03_25_182426.tar.gz 2019_03_25_182426	# 打包
tar -zxvf 2019_03_25_182426.tar.gz -C /					# 解包,-C指定位置

shell基础

[] 条件判断,距离括号的左右必须有一个空格,if的关键字必须和空格有一个空格
 #!/bin/bash
 
if [ "100" = "100" ]
then
        echo "equal"
fi
================================================================= 
字符串比较 = 
大于 -gt (greater than) 
小于 -lt (less than) 
大于或等于 -ge (greater than or equal) 
等于 -eq(equal)
小于或等于 -le (less than or equal) 
不相等 -ne (not equal)
===================================================================
#!/bin/bash
#完成数据库的备份
BACKUP=/data/backup/db
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#可以输出变量调试
#echo ${DATETIME}
echo "=========开始备份========"
echo "=========备份的路径是 $BACKUP/$DATATIME.tar.gz"
#主机
HOST=localhost
#用户名
DB_USER=root
#密码
DB_PWD=root
#备份的数据库名
DATABASE=trace
#创建备份的路径
#如果备份的路径文件夹存在,就使用,不存在就创建
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#执行mysql的备份数据库的指令
mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时目录
rm -rf $BACKUP/$DATETIME
#删除10天前的备份文件
find $BACKUP -mtime +10 -name "*.tar.gz" exec rm -rf {} \;
echo "============备份文件成功"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值