Linux基础命令

这里写自定义目录标题

Linux基础知识

常用操作命令

1.什么是Linux

1.1.Linux概述

Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。
在这里插入图片描述

1.2.Linux历史

Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统。

1.3.Linux系统应用

服务器系统
Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
嵌入式系统
路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
高性能运算、计算密集型应用
Linux有强大的运算能力。
桌面应用系统
移动手持系统

1.4.Linux版本

Linux的版本分为两种:内核版本和发行版本;
内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;
发行版本是一些组织和公司根据自己发行版的不同而自定的 ;

1.5.Linux主流版本

在这里插入图片描述

2.Linux安装

2.1.虚拟机安装

2.1.1.什么是虚拟机

虚拟机:一台虚拟的电脑,虚拟软件是一个可以使你在一台机器上同时运行二个或更多Windows、LINUX等系统。它可以模拟一个标准PC环境。这个环境和真实的计算机一样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器等。
虚拟机软件:

  • VmWare :收费的.
  • VirtualBox :免费的.【orale】
2.1.2.安装VMWare
2.1.2.1.下载VMWare
 首先我们访问官网地址https://www.vmware.com/cn.html

注意:没有账号必须先注册才能下载。注册页面
https://my.vmware.com/cn/web/vmware/registration
注册完账号后进行以下步骤:
在这里插入图片描述
如图,选择下载专区,进入下面页面
在这里插入图片描述
选择Workstation Pro,进入新的页面
在这里插入图片描述
选择版本,然后根据自己的操作系统选择相应选项。
在这里插入图片描述
同样,选择需要的版本后点击立即下载。(这里默认选择的是最新版本)。

2.1.2.2.安装步骤

打开下载好的exe文件,弹出安装界面。
在这里插入图片描述
点击下一步,阅读协议并决定是否接受后再次点击下一步按钮。
在这里插入图片描述
选择安装路径,默认C盘,这个可自己选择(注:安装路径用英文)
在这里插入图片描述
这个看个人喜好选择。
在这里插入图片描述
下面几个页面直接点下一步直到进入安装
在这里插入图片描述

2.1.3.CentOS安装
2.1.3.1.CentOS镜像下载地址

centos7.6镜像下载地址:4.XG注意文件大小---->点击链接即可下载
https://archive.kernel.org/centos-vault/7.6.1810/isos/x86_64/
在这里插入图片描述

2.1.3.2.安装虚拟机

分区目录准备:
/ 14G
/data 3G
/boot 1G
swap 2G
虚拟机硬件准备:
CPU:2核
内存:2G
硬盘:20G
网卡:NAT模式
磁盘类型为SCSI
打开新建虚拟机向导,选择典型安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置ISO文件位置,同时还可以删除打印机硬件
在这里插入图片描述
设置完成,开启新建的虚拟机,用方向键选择Install CentOS7回车进入安装流程
在这里插入图片描述
选择语言English
在这里插入图片描述
设置时区DATE & TIME

在这里插入图片描述
选择Asia/Shanghai点击Done完成
在这里插入图片描述
选择SOFTWARE SELECTION设置安装类型,选择GNOME Desktop
在这里插入图片描述
选择INTALLATION DESTINATION设置硬盘分区,选择I will configure partitioning
在这里插入图片描述
选择Standard Partition点击Click here to create them automaticlly完成分区
在这里插入图片描述
在这里插入图片描述
点击Accept Change
在这里插入图片描述
选择NETWORK & HOSTNAME
在这里插入图片描述
设置Host name打开ON开关,点击Configure

在这里插入图片描述
选择Automatically connect to this network when it is available

在这里插入图片描述
点击Bengin installaction
在这里插入图片描述
设置root密码,创建普通用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击Reboot
在这里插入图片描述
点击LICENSE INFORMATION
在这里插入图片描述
选择I accept this license agrenment
在这里插入图片描述
点击右下角完成设置
在这里插入图片描述
登录系统
在这里插入图片描述

2.2.Linux目录结构

在这里插入图片描述
root管理员的home目录root
其他用户的home目录home目录中

3.Linux常用命令

3.1.切换目录

使用:
cd app		切换到app目录
cd ..		切换到上一层目录
cd /		切换到系统根目录
cd ~		切换到用户主目录
cd -		切换到上一个所在目录
Pwd 		查看当前目录

3.2.列出文件列表

ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
格式:ls[参数] [路径或文件名]
常用:
在linux中以 . 开头的文件都是隐藏的文件

* ls
* ls -a  显示所有文件或目录(包含隐藏的文件)
* ls -l  缩写成ll

3.3.创建目录与移动目录

mkdir(make directory)命令可用来创建子目录。
	mkdir app    在当前目录下创建app目录
	mkdir –p app2/test   级联创建aap2以及test目

rmdir(remove directory)命令可用来删除“空”的子目录:
	rmdir app    删除app目录

3.4.浏览文件

【cat、more、less】
cat
用于显示文件的内容。
格式:cat[参数]<文件名>

    * cat yum.conf

more
一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。
回车显示下一行内容。
按 q 键退出查看。
* more yum.conf
* 空格显示下一页数据  回车显示下一行的数据

less
用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
    * less yum.conf
    * PgUp 和 PgDn 进行上下翻页.
【tail】
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于ou显示文件后几行的内容。
用法:
tail -10 /etc/passwd    查看后10行数据
tail -f catalina.log   动态查看日志(*****)


ctrl+c 结束查看

3.5.文件操作

这时使用工具来连接linux进行操作
首先要获取虚拟机的IP地址,使用ifconfig命令,如果没有IP地址,则是没有设置开机时启动网上,设置操作如下

vim /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet  #以太网
BOOTPROTO=DHCP 	#dhcp方式分配网址           
NAME=eth0	#网卡名字
ONBOOT=yes #启动网卡:
:wq
Reboot [重启]
使用putty.exe连接linux

修改文件内容:
如修改 data目录下的a.json

第一种:
vim /data/a.json 
第二种:
Vi data/a.json
进入文件后按i键——修改文件
修改后按Esc键进行退出修改,再输入:wq!进行保存退出。

【rm】

touch a.txt		创建一个文件
rm  删除文件
用法:rm [选项]... 文件...
rm a.txt    删除a.txt文件
删除需要用户确认,y/n
rm 删除不询问
rm -f a.txt    不询问,直接删除
rm 删除目录
rm -r a    递归删除
不询问递归删除(慎用)
rm -rf  a    不询问递归删除
rm -rf *      删除当前目录所有文件

【cp、mv】

cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
cp a.txt b.txt    将a.txt复制为b.txt文件
cp a.txt ../    将a.txt文件复制到上一层目录中

mv 移动或者重命名
mv a.txt ../    将a.txt文件移动到上一层目录中
mv a.txt b.txt    将a.txt文件重命名为b.txt

【tar】命令:(***** 打包或解压)

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
下载7-ZIP软件进行打包压缩、解压
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件

在这里插入图片描述
打包:

tar –cvf xxx.tar ./*
打包并且压缩:
tar –zcvf xxx.tar.gz ./* 

解压

tar –xvf xxx.tar [解压当前目录]
tar -zxvf xxx.tar.gz -C /usr/aaa 【解压到指定目录】

上传文件:

上传a.tar文件命令rz -be
上传a.tar.gz压缩文件采用 rz
下载文件命令 sz a.tar

【grep】命令

查找符合条件的字符串。
用法: grep [选项]... PATTERN [FILE]...
示例:
grep lang anaconda-ks.cfg  在文件中查找lang
grep lang anaconda-ks.cfg –color 高亮显示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6.其它常用命令

【pwd】
显示当前所在目录
【touch】
创建一个空文件
* touch a.txt
【ll -h】
友好显示文件大小
【wget】
下载资料
* wget http://nginx.org/download/nginx-1.9.12.tar.gz
【查询进程命令】
查看后台进程
top
查看dotnet进程
ps -ef|grep dotnet
【杀死进程命令(PID是进程号)】
方式1:
Kill -9 PID
方式2:
Kill -s 9 PID
【查看目录大小命令】
如查询data目录
df -h /data
【赋予文件权限,如赋予a.server文件744权限】
ls -lh 显示权限 
chomd -R 744 a.server
【在usr/bin/dotnet目录下,建立一个同步的环境文件链接】
如dotne文件,将dotnet环境文件复制到usr/share/dotnet目录
cp -rf /opt/ganwei/dotnet  /usr/share/dotnet
在usr/bin/dotnet目录下,建立一个同步的环境文件链接
ln -s /usr/share/dotnet/dotnet  /usr/bin/dotnet
【启动.dll文件进程的三种方式】
方式1:但是该操作会阻塞当前窗口,一旦窗口关闭,程序亦会被关闭,要将程序挂载后台运行;该命令一般用于调试时使用;(打印执行日志)
sudo dotnet GWHost1.dll 
方式2:nohup 是一个托管运行程序的命令。上面命令将敢为网关后台运行,并且将网关的输出打印到 nohup.out 文件中(执行完毕会提示文件存放位置)。使用该命令会一直将敢为网关程序输出记录写入nohup.out,使nohup.out文件越来越大,导致存储空间不足;
sudo nohup dotnet GWHost1.dll & 
方式3:该命令不需要保存敢为网关的程序输出记录。(无日志打印,推荐使用)
udo nohup dotnet GWHost1.dll >/dev/null 2>&1 &

4.vim编辑器

4.1.重定向输出>和>>

> 重定向输出,覆盖原有内容;
>> 重定向输出,又追加功能;
示例:
cat /etc/passwd > a.txt  将输出定向到a.txt中
cat /etc/passwd >> a.txt  输出并且追加

ifconfig > ifconfig.txt

4.2.管道

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
示例
ls --help | more  分页查询帮助信息
ps –ef | grep java  查询名称中包含java的进程

ifconfig | more
cat index.html | more
ps –ef | grep aio
4.3.&&执行命令
命令之间使用 && 连接,实现逻辑与的功能。 

只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。 

只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。

mkdir test && cd test

4.4.网络通讯命令

ifconfig  显示或设置网络设备。
ifconfig  显示网络设备
ifconfig eth0 up 启用eth0网卡
ifconfig eth0 down  停用eth0网卡
ping   探测网络是否通畅。
ping -c 4 192.168.0.1
netstat 查看网络端口。
netstat -an | grep 3306 查询3306端口占用情况

4.5.系统管理命令

date 显示或设置系统时间
date  显示当前系统时间
date -s “2014-01-01 10:10:10“  设置系统时间
df 显示磁盘信息
df –h  友好显示大小
free 显示内存状态
free –m 以mb单位显示内存组昂头
top 显示,管理执行中的程序

clear 清屏幕

ps 正在运行的某个进程的状态
ps –ef  查看所有进程
ps –ef | grep ssh 查找某一进程
kill 杀掉某一进程【杀死tomcat,后面讲】
kill 2868  杀掉2868编号的进程
kill -9 2868  强制杀死进程

du 显示目录或文件的大小。
du –h 显示当前目录的大小

who 显示目前登入系统的用户信息。

hostname 查看当前主机名
修改:vi /etc/sysconfig/network

uname 显示系统信息。
uname -a 显示本机详细信息。
依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称

5.磁盘挂载

5.1.查看硬盘分区信息

使用使用 fdisk -l 查看分区信息(需注意硬盘名称)

# fdisk -l

在这里插入图片描述

5.2.硬盘分区

/dev/vdb 为新硬盘,使用 fdisk /dev/vdb 新建分区(只新建一个主分区)
·m- 帮助; n- 新建分区; p- 选择主分区; 1-设定一个分区; w- 保存并退出;
·t 更改分区类型; q 退出而不保存更改; d 删除分区

# fdisk /dev/vdb
Command (m for help): m

在这里插入图片描述

Command (m for help): n
Select (default p): p
Partition number (1-4,default 1): 1
First sector (2048-1048575999,default 2048): 
Last sector, +sector or +size{K,M,G} (2018-1048575999. default 104857599):
Command (m for help): w

在这里插入图片描述

查看分区
# fdisk -l

在这里插入图片描述
待完成后进行下一步操作。

5.3.硬盘格式化分区

使用 mkfs.ext4 /dev/sdb1 将新分区格式化为ext4的格式

# mkfs.ext4 /dev/vdb1

在这里插入图片描述
查看格式化后的分区

# fdisk -l

在这里插入图片描述

5.4.挂载分区

使用分区的 UUID 永久挂载分区,查看 /dev/disk/by-uuid 目录, 找到 sdb1 的 UUID,然后将UUID复制。

# ls /dev/disk/by-uuid -la

在这里插入图片描述
输入vim /etc/fstab 命令进进行文件编辑。

# vim /etc/fstab

在这里插入图片描述
在文件中添加:(直接复制上一个UUID,再将其进行修改,放置出错)

UUID=8f1ff112-df5b-4956-abce-080f5cf45a10 /data        ext4  defaults    0 0

在这里插入图片描述

5.5.重启系统

# reboot

5.6.查看硬盘分区系统

使用 fdisk -l 或进入根目录data 执行df -h 查看硬盘信息。
# fdisk -l# cd /data/
# df -h

在这里插入图片描述

6.端口及防火墙知识

6.1.网络防火墙

防火墙需要先向客户了解需求,由对方技术人员决定是否部署防火墙以及部署方式。
如果客户使用了公有云或者私有云、集群,有可能在主机外存在网络防火墙/安全组,则不需要再在主机配置防火墙。

Linux 有两种 iptables 、 firewall 常用的防火墙,如果主机没有防火墙软件,则需要安装,只需要使用其中一种即可。
高版本的 Linux 系统使用了 firewall 取缔 iptables 作为防火墙软件,所以敢为网关应当使用 firewall 配置防火墙。
防火墙需要使用 root 权限配置。

Linux 端口说明:

类型端口说明
公认端口0 到 1023一些常见的服务,FTP:21,http:80,https:443等
注册端口1024 到 49151一般的服务绑定端口
动态或私有端口49152 到 65535用于任意软件与任何其他的软件通信的端口数

6.2.安装防火墙
输入 firewalld 命令,如果服务器没有安装,会出现以下内容
root@ubuntu:/tmp/tmp# firewalld
Command ‘firewalld’ not found, but can be installed with:
如果没任何提示或报错,则说明已经安装。
安装防火墙过程中需要联网。

ubuntu

	apt install firewalld
# centos
	yum install firewalld
# 其它 Linux 系统请自行查找方法

6.3.Firewalld

查看 firewall 服务状态
systemctl status firewalld
出现 Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止。

在这里插入图片描述

查看 firewall 的状态
firewall-cmd --state
开启、重启、关闭、firewalld.service 服务
# 开启
	service firewalld start
	# 重启
	service firewalld restart
	# 关闭
	service firewalld stop
	# 重启防火墙(修改配置后要重启防火墙)
	firewall-cmd --reload
查看防火墙规则
firewall-cmd --list-all 
查询、开放、关闭端口
# 查询端口是否开放
	firewall-cmd --query-port=8080/tcp
	# 开放80端口
	firewall-cmd --permanent --add-port=80/tcp
	# 批量开放范围端口
	firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 
	# 禁用端口
	firewall-cmd --permanent --remove-port=8080/tcp
	# 批量禁用范围端口
	firewall-cmd --permanent --remove-port=1000-2000/tcp
修改完毕需要重启防火墙。
一般来说,没使用防火墙禁用的端口无需开放即可访问,因此配置防火墙应当先将某些范围端口禁止。
如果你此时正在使用 ssh 连接到服务器,使用防火墙时请勿禁止 22 端口。

参数解释
firwall-cmd:是 Linux 提供的操作 firewall 的一个工具;
--permanent:表示设置为持久;
--add-port:标识添加的端口;

6.4.Iptables

高版本系统不应该再使用 iptables 作为防火墙,如果实际需要,以下命令会有帮助。
iptables 防火墙的基本操作
查看防火墙状态
service iptables status 
停止防火墙
service iptables stop 
启动防火墙
service iptables start 
重启防火墙
service iptables restart 
永久关闭防火墙
chkconfig iptables off 
永久关闭后重启
chkconfig iptables on
6.5.Linux防火墙端口开通
查询是否已开        
sudo firewall-cmd --query-port=44380/tcp
	开启端口        
sudo firewall-cmd --zone=public --add-port=44380/tcp --permanent
	重启防火墙        
sudo systemctl restart firewalld.service
	重新载入配置        
sudo firewall-cmd --reload

7.关机命令

shutdown 关机
reboot 重启
init 0~6
init 0:停机
init 1:单用户形式,只root进行维护

在这里插入图片描述

test用户不能使用init系统维护命令
init 2:多用户,不能使用net file system
init 3:完全多用户
init 5:图形化
init 4:安全模式
init 6:重启
关机
    		shutdown -h now        立刻关机
    		shutdown -h 5        5分钟后关机
   		poweroff            立刻关机
重启
    		shutdown -r now        立刻重启
    		shutdown -r 5        5分钟后重启
    		reboot                立刻重启

8.Linux用户与组

8.1.用户管理

useradd 添加一个用户
useradd test 添加test用户
useradd test2 -d /home/t2  指定用户home目录

passwd  设置、修改密码
passwd test  为test用户设置密码【mm20170706】

切换登录:
ssh -l test -p 22 192.168.19.128

su – 用户名

userdel 删除一个用户
userdel test 删除test用户(不会删除home目录)
userdel –r test  删除用户以及home目录

8.2.组管理

当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组

创建用户时也可以指定所在组

groupadd  创建组
groupadd public  创建一个名为public的组
useradd u1 –g public  创建用户指定组
groupdel 删除组,如果该组有用户成员,必须先删除用户才能删除组。
groupdel public

8.3.id、su命令

【id命令】
功能:查看一个用户的UID和GID
用法:id [选项]... [用户名]

在这里插入图片描述

直接使用id
直接使用id 用户名
【su命令】
功能:切换用户。
用法:su [选项]... [-] [用户 [参数]... ]
示例:
su - u1 切换到u1用户,并且将环境也切换到u1用户的环境(推荐使用)
【账户文件】
/etc/passwd  用户文件
/etc/shadow  密码文件
/etc/group  组信息文件
【用户文件】
root:x:0:0:root:/root:/bin/bash
账号名称:		在系统中是唯一的
用户密码:		此字段存放加密口令
用户标识码(User ID):  系统内部用它来标示用户
组标识码(Group ID):   系统内部用它来标识用户属性
用户相关信息:		例如用户全名等
用户目录:		用户登录系统后所进入的目录
用户环境:		用户工作的环境
【密码文件】
shadow文件中每条记录用冒号间隔的9个字段组成.
用户名:用户登录到系统时使用的名字,而且是惟一的
口令:  存放加密的口令
最后一次修改时间:  标识从某一时刻起到用户最后一次修改时间
最大时间间隔:  口令保持有效的最大天数,即多少天后必须修改口令
最小时间间隔:	再次修改口令之间的最小天数
警告时间:从系统开始警告到口令正式失效的天数
不活动时间:	口令过期少天后,该账号被禁用
失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算)
标志:未使用
【组文件】
root:x:0:
组名:用户所属组
组口令:一般不用
GID:组ID
用户列表:属于该组的所有用户

9.Linux权限命令

9.1.文件权限

在这里插入图片描述

9.2.Linux三种权限命令

普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。 

目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。  

设备文件: Linux系统把每一个设备都看成是一个文件

9.3.文件类型标识

普通文件(-)
目录(d)
符号链接(l)
* 进入etc可以查看,相当于快捷方式
字符设备文件(c)
块设备文件(s)
套接字(s)
命名管道(p)

9.4.文件权限管理

chmod 变更文件或目录的权限。
chmod 755 a.txt 
chmod -R 744 dll
chmod u=rwx,g=rx,o=rx a.txt
chmod 000 a.txt  / chmod 777 a.txt
chown 变更文件或目录改文件所属用户和组
chown u1:public a.txt	:变更当前的目录或文件的所属用户和组
chown -R u1:public dir	:变更目录中的所有的子目录及文件的所属用户和组

10.Linux安装JDK

10.1.卸载OpenJDK

RPM 是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

执行命令查看:
rpm -qa 是查看所有安装的软件
--nodeps 不验证软件包的依赖关系
-e 删除软件
 rpm –qa | grep java   查看和java相关的包

在这里插入图片描述

卸载OPENJDK

在这里插入图片描述

10.2.创建jdk安装路径

在/usr/local/  创建文件夹java
mkdir java

10.3.上传安装文件到linux

可以采用Xshell、MobaXterm、FileZilla-3.7.3软件进行上传
安装软件后连接Linux
使用FileZilla-3.7.3上传

(1)先连接到linux

在这里插入图片描述
(2)把下面的几个文件,拖到root目录下
在这里插入图片描述

cd ~
ll

10.4.解压tar.gz

首先需要安装依赖:

yum install glibc.i686 【前提得能上网】
tar –xvf xxx.tar.gz –C /usr/local/java

10.5.配置环境变量

src记得去除
vim /etc/profile

	#set java environment
	JAVA_HOME=/usr/local/java/jdk1.7.0_72
	CLASSPATH=.:$JAVA_HOME/lib.tools.jar
	PATH=$JAVA_HOME/bin:$PATH
	export JAVA_HOME CLASSPATH PATH

重新加载配置文件:
source /etc/profile

11.Linux安装MySQL

11.1.卸载自带mysql

先查看有没有安装mysql
rpm -qa | grep mysql
删除
rpm -e --nodeps mysql-libs-5.1.71-1.el6.i686

11.2.创建mysql安装路径

在这里插入图片描述

11.3.解压mysql

tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar -C /usr/local/mysql

在这里插入图片描述

11.4.安装依赖(可选)

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6
yum  update libstdc++-4.4.7-4.el6.x86_64

11.5.安装mysql服务端

rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm

11.6.安装mysql客户端

rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm

11.7.启动mysql的服务

service mysql status
service mysql start

11.8.登录mysql

msyql –u root -p

修改密码:
set password = password('123456');

11.9.设置mysql开机自启

加入到系统服务:
chkconfig --add mysql
自动启动:
chkconfig mysql on

11.10.开启远程服务

登录mysql授权可以远程访问:
grant all privileges on *.* to 'root' @'%' identified by '123456';
flush privileges;

11.11.设置防火墙

3306端口放行 且将该设置添加到防火墙的规则中
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save

12.Linux安装Tomcat

12.1.创建Tomcat

在/usr/local 下mkdir tomcat

12.2.Tomcat

tar –xvf xxx.tar.gz –C /usr/local/tomcat

12.3.设置防火墙

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save

12.4.启动Tomcat

进入到tomcat/bin
执行 ./startup.sh
关闭tomcat
执行 ./shutdown.sh

13.项目部署War包至Tomcat

使用eclipse把bos web项目打包成war
上传到linux的tomcat的webapps中
导入windows的mysql数据和数据
 window导出mysqldump -uroot -p123456 bos > C:/Users/guoyongfeng/Desktop/bos.sql
linux导入mysql> source /root/bos.sql

查看tomcat的进程id
ps -ef | grep java
杀死tomcat
kill 3355

14.find基本语法参数

# 与时间有关的参数:
-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
# 例如:
find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件
# 与用户或用户组名有关的参数:
-user name : 列出文件所有者为name的文件;
-group name : 列出文件所属用户组为name的文件;
-uid n : 列出文件所有者为用户ID为n的文件;
-gid n : 列出文件所属用户组为用户组ID为n的文件
# 例如:
find /home/hadoop -user hadoop # 在目录/home/hadoop中找出所有者为hadoop的文件

# 与文件权限及名称有关的参数:
-name filename :找出文件名为filename的文件
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
-tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、 目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);
-perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;
-perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示
-perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示
# 例如:
find / -name passwd # 查找文件名为passwd的文件
find . -perm 0755 # 查找当前目录中文件权限的0755的文件
find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte

15.top命令

top是linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似与Windows的任务管理器
top [参数]
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数

16.网络管理

16.1.主机名配置

# vi /etc/sysconfig/network/在这里插入图片描述

16.2.域名映射

/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的ip地址。
# /etc/hosts

在这里插入图片描述

16.3.网络通信命令

ifconfig:查看网卡信息
命令:ifconfig 或 ifconfig | more
ping:查看与某台机器的连接情况
命令:ping ip
netstat -an:查看当前系统端口
命令:netstat -an
搜索指定端口
命令:netstat -an | grep 8080
配置网络
命令:setup
重启网络
命令:service network restart

17.Linux系统信息命令

显示机器的处理器架构
# arch 
显示机器的处理器架构
# uname -m 
显示正在使用的内核版本 
# uname -r 
显示硬件系统部件 - (SMBIOS / DMI) 
# dmidecode -q 
罗列一个磁盘的架构特性 
# hdparm -i /dev/hda 
磁盘上执行测试性读取操作 
# hdparm -tT /dev/sda 
显示CPU info的信息 
# cat /proc/cpuinfo 
显示中断 
# cat /proc/interrupts 
校验内存使用 
# cat /proc/meminfo 
显示哪些swap被使用 
# cat /proc/swaps 
显示内核的版本 
# cat /proc/version 
显示网络适配器及统计 
# cat /proc/net/dev 
显示已加载的文件系统 
# cat /proc/mounts 
罗列 PCI 设备 
# lspci -tv 
显示 USB 设备 
# lsusb -tv 
显示系统日期 
# date 
显示2007年的日历表 
# cal 2007 
设置日期和时间 - 月日时分年.秒 
# date 041217002007.00 
将时间修改保存到 BIOS 
# clock -w 

18.打包与压缩文件

打包和压缩文件 
解压一个叫做 'file1.bz2'的文件
 # bunzip2 file1.bz2 
压缩一个叫做 'file1' 的文件 
# bzip2 file1 
解压一个叫做 'file1.gz'的文件 
# gunzip file1.gz 
压缩一个叫做 'file1'的文件 
# gzip file1
最大程度压缩 
# gzip -9 file1
创建一个叫做 'file1.rar' 的包 
# rar a file1.rar test_file 
同时压缩 'file1', 'file2' 以及目录 'dir1' 
# rar a file1.rar file1 file2 dir1 
解压rar包 
# rar x file1.rar 
解压rar包 
# unrar x file1.rar 
创建一个非压缩的 tarball 
# tar -cvf archive.tar file1 
创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 
# tar -cvf archive.tar file1 file2 dir1 
显示一个包中的内容 
# tar -tf archive.tar 
释放一个包 
# tar -xvf archive.tar 
将压缩包释放到 /tmp目录下 
# tar -xvf archive.tar -tar -tf archive.tar C /tmp 
创建一个bzip2格式的压缩包 
# tar -cvfj archive.tar.bz2 dir1 
解压一个bzip2格式的压缩包 
# tar -jxvf archive.tar.bz2
创建一个gzip格式的压缩包 
# tar -cvfz archive.tar.gz dir1 
解压一个gzip格式的压缩包 
# tar -zxvf archive.tar.gz 
创建一个zip格式的压缩包 
# zip file1.zip file1 
将几个文件和目录同时压缩成一个zip格式的压缩包 
# zip -r file1.zip file1 file2 dir1 
unzip file1.zip 解压一个zip格式压缩包 
	# unzip file1.zip 

RPM 包 - (Fedora, Redhat及类似系统) 
安装一个rpm包 
# rpm -ivh package.rpm 
安装一个rpm包而忽略依赖关系警告 
# rpm -ivh --nodeeps package.rpm 
更新一个rpm包但不改变其配置文件 
# rpm -U package.rpm 
更新一个确定已经安装的rpm包 
# rpm -F package.rpm
删除一个rpm包 
# rpm -e package_name.rpm 
显示系统中所有已经安装的rpm包 
# rpm -qa 
显示所有名称中包含 "httpd" 字样的rpm包 
# rpm -qa | grep httpd 
获取一个已安装包的特殊信息 
# rpm -qi package_name
显示一个组件的rpm包 
# rpm -qg "System Environment/Daemons" 
显示一个已经安装的rpm包提供的文件列表 
# rpm -ql package_name 
显示一个已经安装的rpm包提供的配置文件列表 
# rpm -qc package_name 
显示与一个rpm包存在依赖关系的列表 
# rpm -q package_name --whatrequires 
显示一个rpm包所占的体积 
# rpm -q package_name --whatprovides 
显示在安装/删除期间所执行的脚本l 
# rpm -q package_name --scripts 
显示一个rpm包的修改历史 
# rpm -q package_name --changelog 
确认所给的文件由哪个rpm包所提供 
# rpm -qf /etc/httpd/conf/httpd.conf 
显示由一个尚未安装的rpm包提供的文件列表 
# rpm -qp package.rpm -l 
导入公钥数字证书 
# rpm --import /media/cdrom/RPM-GPG-KEY 
确认一个rpm包的完整性 
# rpm --checksig package.rpm 
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性 
# rpm -qa gpg-pubkey
检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 
# rpm -V package_name
检查系统中所有已安装的rpm包- 小心使用 
# rpm -Va
确认一个rpm包还未安装 
# rpm -Vp package.rpm
从一个rpm包运行可执行文件 
# rpm2cpio package.rpm | cpio --extract --make-directories *bin*
从一个rpm源码安装一个构建好的包 
# rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
从一个rpm源码构建一个 rpm 包 
# rpmbuild --rebuild package_name.src.rpm

19.文件权限

文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消 
ls -lh 显示权限 
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示 
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 
chown user1 file1 改变一个文件的所有人属性 
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 
chgrp group1 file1 改变文件的群组 
chown user1:group1 file1 改变一个文件的所有人和群组属性 
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件 
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 
chmod g-s /home/public 禁用一个目录的 SGID 位 
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 
chmod o-t /home/public 禁用一个目录的 STIKY 位 

文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消 
chattr +a file1 只允许以追加方式读写文件 
chattr +c file1 允许这个文件能被内核自动压缩/解压 
chattr +d file1 在进行文件系统备份时,dump程序将忽略这个文件 
chattr +i file1 设置成不可变的文件,不能被删除、修改、重命名或者链接 
chattr +s file1 允许一个文件被安全地删除 
chattr +S file1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 
chattr +u file1 若文件被删除,系统会允许你在以后恢复这个被删除的文件 
lsattr 显示特殊的属性 

20.查看文件内容及处理文件

查看文件内容 
cat file1 从第一个字节开始正向查看文件的内容 
tac file1 从最后一行开始反向查看一个文件的内容 
more file1 查看一个长文件的内容 
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作 
head -2 file1 查看一个文件的前两行 
tail -2 file1 查看一个文件的最后两行 
tail -f /var/log/messages 实时查看被添加到一个文件中的内容 

文本处理 
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT 
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中 
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中 
grep Aug /var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug" 
grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇 
grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行 
grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug" 
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2" 
sed '/^$/d' example.txt 从example.txt文件中删除所有空白行 
sed '/ *#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行 
echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容 
sed -e '1d' result.txt 从文件example.txt 中排除第一行 
sed -n '/stringa1/p' 查看只包含词汇 "string1"的行 
sed -e 's/ *$//' example.txt 删除每一行最后的空白字符 
sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部 
sed -n '1,5p;5q' example.txt 查看从第一行到第5行内容 
sed -n '5p;5q' example.txt 查看第5行 
sed -e 's/00*/0/g' example.txt 用单个零替换多个零 
cat -n file1 标示文件的行数 
cat example.txt | awk 'NR%2==1' 删除example.txt文件中的所有偶数行 
echo a b c | awk '{print $1}' 查看一行第一栏 
echo a b c | awk '{print $1,$3}' 查看一行的第一和第三栏 
paste file1 file2 合并两个文件或两栏的内容 
paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分 
sort file1 file2 排序两个文件的内容 
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份) 
sort file1 file2 | uniq -u 删除交集,留下其他的行 
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件) 
comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容 
comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容 
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分 

字符设置和文件格式转换 
dos2unix filedos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX 
unix2dos fileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS 
recode ..HTML < page.txt > page.html 将一个文本文件转换成html 
recode -l | more 显示所有允许的转换格式 

文件系统分析 
badblocks -v /dev/hda1 检查磁盘hda1上的坏磁块 
fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 
fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 
e2fsck /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性 
e2fsck -j /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 
fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 
fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性 
fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 
dosfsck /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 

初始化一个文件系统 
mkfs /dev/hda1 在hda1分区创建一个文件系统 
mke2fs /dev/hda1 在hda1分区创建一个linux ext2的文件系统 
mke2fs -j /dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统 
mkfs -t vfat 32 -F /dev/hda1 创建一个 FAT32 文件系统 
fdformat -n /dev/fd0 格式化一个软盘 
mkswap /dev/hda3 创建一个swap文件系统 

SWAP文件系统 
mkswap /dev/hda3 创建一个swap文件系统 
swapon /dev/hda3 启用一个新的swap文件系统 
swapon /dev/hda2 /dev/hdb3 启用两个swap分区 

备份 
dump -0aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份 
dump -1aj -f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份 
restore -if /tmp/home0.bak 还原一个交互式备份 
rsync -rogpav --delete /home /tmp 同步两边的目录 
rsync -rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync 
rsync -az -e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录 
rsync -az -e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录 
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作 
dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件 
tar -Puf backup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作 
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' 通过ssh在远程目录中复制一个目录内容 
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录 
tar cf - . | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接 
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录 
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包 
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作 
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值