Linux操作系统学习,Linux基础命令大全

目录



友情提醒


先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

第一章、Linux简介和安装

1.1)Linux简介和分类

①Linux是基于Unix的开源的免免费的一款操作系统,由于系统的稳定性和安全性被成为程序代码运行的最佳操作系统环境。
②Linux发行版的不同,可以分为
1)乌班图:Ubuntu
2)红帽:RedHat
3)CentOS
4)蝶变:Debain
5)SySE
6)红旗Linux:国产

1.2)安装VMware虚拟机,在虚拟机中安装CentOS 7

看我这篇文章,点击跳转:在VMware虚拟机安装Linux

第二章、虚拟机中Linux的IP地址配置详解

2.1)什么是IP地址,如何查看

ip地址是互联网协议地址的意思,又译为网际协议地址。IP地址是IP协议提供
的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个唯一逻辑地址,以此来屏蔽物理地址的差异。


如何查看自己电脑ip地址:开始-运行-输入“cmd”,打开命令行输入“ipconfig”,回车

在这里插入图片描述

2.2)虚拟机NAT模式中Linux的IP地址设置有什么要求

①安装时选择NAT模式表示利用宿主机(本机)创建虚拟网卡VMNet8,创建虚拟交换机连接到此网卡上,虚拟机再利用此虚拟交换机上网。使用NAT模式表示在电脑内部创建子网,虚拟机所在网络为宿主机的子网。
②在VMWare的编辑→虚拟网络编辑器中可以改变网络设置。
在这里插入图片描述
③手动设置虚拟机Linux的子网ip地址,必须保证:
(1)子网ip地址:第一和第二段(192.168.)需要和宿主机(本机)一致,第三段必须和宿主机(本机)不一致,第四段写个0。
(2)掩码:是255.255.255.0。
(3)NAT网关:必须前三段和子网一致,最后一段随便填写一个1~254之间的数字。
(4)DHCP:即动态主机设置协议,是一个局域网的网络协议,使用UDP协议工作。主要是给网络快速自动地分配IP地址,必须前三段和子网一致,最后的地址区间不能包括网关地址。
(5)dns:可以直接写免费DNS地址:114.114.114.114
在这里插入图片描述

2.3)用Linux中的编辑命令进行网卡信息文件的配置


①使用Linux中的编辑命令进行网卡信息配置:vi/vim

当我们编辑某个文件时可以这样:

vi /etc/sysconfig/network-scripts/ifcfg-ens33
含义是:
/ 表示根目录
/etc表示配置文件目录
/etc/sysyconfig目录包含了Linux的系统配置文件
network-scripts目录是网卡配置文件夹
ifcfg-ens33就是我这台机子的网卡,但是每个网卡名称可能不同


[root@localhost /]# vi /etc/sysconfig/network-scripts/ifcfg-ens33	#以下是原文件的网卡信息

TYPE=Ethernet	#网卡类型:以太网
PROXY_METHOD=none	#代理方式:关闭
BROWSER_ONLY=no	  #只是浏览器:否
BOOTPROTO=dhcp	#网卡配置方式:dhcp(自动获取ip)
DEFROUTE=yes	#默认路由:开启
IPV4_FAILURE_FATAL=no	#IPV4致命错误检测:不开启
IPV6INIT=yes	#自动初始化IPV6:是
IPV6_AUTOCONF=yes	#自动配置IPV6:是
IPV6_DEFROUTE=yes	#IPV6默认路由:不开启
IPV6_FAILURE_FATAL=no	#IPV6致命错误检测:不开启
IPV6_ADDR_GEN_MODE=stable-privacy	#IPV6生成“stable-privacy”的模型
NAME=ens33	#网卡别名
UUID=7a2ccac9-7a0c-46cb-abd2-fe82ead125bb	#唯一标识码
DEVICE=ens33	#网卡名称
ONBOOT=no	#是否要设置为开机启动
~
~
"/etc/sysconfig/network-scripts/ifcfg-ens32" 15L, 279C	
)

②进入网卡文件后按i开始编辑,开始修改配置网卡信息如下:通常需要设置固定的ip地址,以便今后使用网络进行通信(如ssh、nfs等)。

[root@localhost /]# vi /etc/sysconfig/network-scripts/ifcfg-ens33	#配置网卡信息
TYPE=Ethernet	
PROXY_METHOD=none	
BROWSER_ONLY=no	  
BOOTPROTO=static	#需要修改的:将dhcp模式修改为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=7a2ccac9-7a0c-46cb-abd2-fe82ead125bb	
DEVICE=ens33	
ONBOOT=yes	#需要修改的:设置网卡为开机自启动

#此处为添加内容
IPADDR=192.168.10.12	#需要添加的:设置IP地址
NETMASK=255.255.255.0	#需要添加的:设置对应子网掩码
GATEWAY=192.168.10.254	#需要添加的:设置对应网关
DNS1=114.114.114.114	#需要添加的:设置首选DNS

③编辑结束后:按Esc键退出编辑
输入:wq!——》代表保存退出
输入:q!——》代表退出不保存

在这里插入图片描述
④重启虚拟机查看是否成功命令:reboot

第三章、xshell工具和xftp的使用

3.1)xshell下载与安装

①用来远程操作Linux虚拟机系统
两个工具官网下载免费版本:https://www.xshell.com/zh/

在这里插入图片描述
②点击下载,双击.exe文件直接安装
在这里插入图片描述
③一直下一步直接安装安装
在这里插入图片描述

3.2)xshell连接

①文件—》新建会话—》输入虚拟机ip地址—》连接
在这里插入图片描述
②输入Linux账号确定后输入密码
在这里插入图片描述
连接后可以在xshell中远程操控Linux系统
在这里插入图片描述

3.3)xftp下载安装和连接

和xshell一样

第四章、防火墙和用户设置命令

4.1)查看和关闭防火墙

查看防火墙状态:systemctl status firewalld
在这里插入图片描述
暂时关闭防火墙(重启系统恢复):
systemctl disable firewalld.service

在这里插入图片描述

永久关闭防火墙(重启后不恢复):
systemctl disable firewalld.service

4.2)用户

①添加用户
useradd 用户名

②给新增的用户添加密码

passwd 用户名
输入密码,再一次输入密码确认

切换用户

su	-用户名

查看当前用户

whoami

③删除一个用户

userdel 用户名

④查看一个用户的详情信息

cat /etc/passwd

⑤查看用户的影子文件

cat /etc/shadow

⑥查看用户组

cat /etc/group

⑦添加用户组

groupadd sh2304

⑧将用户bao添加到用户组sh2304

usermod -G sh2304 bao

⑨删除一个用户组

groupdel 用户组名称

第五章、基本命令大全

5.1)系统命令和目录结构

5.1.1)系统命令

#用于显示或配置网络设备(网络接口卡)的命令
	ifconfig
# 查看ip地址
	ip addr
# ping网络(测试网络连通)
	ping 目标机器的ip
# 查看系统时间
	date
# 注销
	logout
# 关机命令
	init 0
	shutdown now
# 重启命令
	init 6
	reboot
# 清屏命令
	快捷键Ctrl+L
	clear
# 帮助信息man
	#查看ls命令的选项:
	man ls
	#查看配置信息“
	man /etc/services
	

5.1.2)目录结构


目录含义:

/etc/sysconfig/network-scripts/ifcfg-ens33

/ 表示根目录
/etc表示配置文件目录
/etc/sysyconfig目录包含了Linux的系统配置文件
network-scripts目录是网卡配置文件夹
ifcfg-ens33网卡文件

5.1.3)编辑命令vi/vim

①进入文件

#进入文件
vim 文件名


②按i编辑进入编辑模式(插入模式),
在这里插入图片描述


③按Esc键进入最后行模式

:q!  #退出不保存
:wq! #退出并保存

5.2)文件操作命令(区分大小写)

5.2.1)查看查找文件和文件信息,切换目录

查看文件列表

# 查看当前目录下的文件列表
	ls
# 查看指定目录下的文件
	ls /
# 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
	ls -l
# 查看隐藏文件
	ls -a 
# 参数并用,查看根目录下所有的文件或目录的详细信息
	ls -la
	

查找文件

# 语法
	find 搜索路径 -name "文件名关键词"
# 例子
	find / -name "passwd"
	find / -name "ifcfg-*"

查找文件内容

# 语法
	grep -参数 要查找的目录范围
	# 参数
	-n 显示查找结果所在行号
	-R 递归查找目录下的所有文件
# 例子
	grep aries /etc
	grep aries /etc/passwd
	

切换目录

#  切换目录
	cd 目标文件夹
# 绝对路径切换
	cd 绝对路径
# 相对路径切换
	cd 相对路径
# 切换上一级目录
	cd ..
# 切换根目录目录
	cd /

查看当前命令所在目录,显示当前目录结构

[root@centos7 network-scripts]# pwd
/etc/sysconfig/network-scripts
# 特殊目录符号
	~ 当前用户的home目录
	. 当前目录
	.. 上一级目录

查看文件信息

# 查看文件中的全部信息(适合查看小文档)
	cat 文件名

分页查看文件信息

# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
	more 文件名
	less 文件名
# 浏览模式快捷键
	↑ #上一行
    ↓ #下一行
    G #最后一页
    g #第一页
    空格 #下一页
    /关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
    q #退出

查看文件信息前多少行,后多少行

#head命令:查看一个文件的前多少行
head -30 文件名
# 实时滚动显示文件的最后10行信息(默认10)
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名

5.2.2)新建/删除/复制/移动修改文件和文件夹,获取文件数字签名

新建文件夹和文件

# 在当前位置新建文件夹
	mkdir 文件夹名
# 在指定目录位置,创建文件夹,并创建父文件夹
	mkdir -p /a/b/文件夹名
# 在当前目录下新建文件
	touch 文件名

删除文件

# 删除文件
	rm 文件
# 删除文件夹
	rm -r 文件夹
# 强制删除不询问
	rm -rf 文件

复制文件

# 拷贝文件
	cp 原文件  新文件
# 拷贝文件夹
	cp -r 源文件夹 新文件夹

移动(剪切)和修改文件名

# 移动源文件到目标文件夹中
	mv 文件  文件夹
# 修改文件A的名字为文件B
	mv 文件A 文件B

获取文件的数字签名

md5sum 文件名
# 简介
1. 数字签名,又称数字指纹
2. 可以验证文件是否被修改
3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)

5.2.3)压缩和解压缩文件

gzip命令:只能压缩文件,不能压缩目录,压缩后的格式为.gz,不保留原文件不常用
在这里插入图片描述

tar命令:
-z:打包的同时压缩
-c:产生.tar的压缩文件
-v:显示压缩的过程信息
-f:指定压缩(后)的压缩文件名称
-x:解压.tar.gz压缩文件
-C:指定解压到哪个路径的目录下
压缩语法:

tar -zcvf 压缩后文件名 被压缩文件

解压缩语法:

tar -zxvf 压缩文件名 -C 解压后文件所在目录

5.2.4)grep跟管道符|配合使用,查找文件中的内容。

在这里插入图片描述

5.2.5)文件权限介绍与设置文件权限

①设置权限命令必须是管理员用户操作:chmod
②如图为权限含义,从左到右共有十个字段

在这里插入图片描述

①第1个字段:-代表文件,d代表目录
②第234字段(u):表示所有者对文件的操作权限
 r:读  
 w:写  
 x:excute可执行   
 -:代表没有权限
③第567个字段(g):表示所有组对文件的操作权限
④第8910、字段(o):表示其它人对文件的操作权限
⑤运算符:
	- 删除权限
	+ 添加权限
	= 赋值权限

③设置所有者对hello.txt文件的x(可执行)权限

chomod u+x hello.txt

在这里插入图片描述
④设置所有组对hello.txt文件的w(写)权限

chomod g+w hello.txt

在这里插入图片描述
⑤同时设置test01.txt文件的所有组和其他人的w(写)权限

chomod o+w,g+w test01.txt

在这里插入图片描述

5.3)软件包管理命令:rpm和yum

5.3.1)rpm命令

RPM:ReaHalt软件包管理工具。用于互联网下载包及安装工具,是一个软件包管理工具,缺陷是依赖性非常大,不管是卸载还是安装包与包之间的依赖性非常大。
①rpm命令

#查看所有安装的软件包
	 rpm -qa
#查看系统中是否已安装的过该软件
	rpm -qa 软件包名
#按名称过滤查找
	rpm -qa | grep:软件包名
#安装rpm软件
  语法:rpm -ivh xxx.rpm
#卸载软件(存在依赖)
	  rpm -e 软件名

5.3.2)yum命令

yum:shell前端的管理器,基于rpm包管理的,解决了rpm包管理的依赖问题,前提条件是可以正常联网。

①yum基础命令

## 列出所有可以安装的软件包
	yum list
## 安装软件
	yum install -y 软件名
## 卸载软件
	yum remove 软件名
## 查找软件包
	yum search all 软件名

②举例安装火狐浏览器

#安装命令
yum install firefox

#提示y/d/n时
y:下载安装
d:只下载不安装
n:不安装

第六章、Linux中安装软件

6.1)安装Java的JDK

6.1.1)关闭防火墙,传输jdk压缩包到Linux虚拟机

①永久性关闭防火墙

systemctl disable firewalld.service

#重启Linux系统让其生效

reboot

②登录xftp传输JDK1.8的.tar压缩文件,直接拖拽文件就可以将本机文件传输到虚拟机root文件夹下
在这里插入图片描述
③解压jdk的压缩文件到/usr/local/java目录下

tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/local/java

6.1.2)配置java环境变量

①编辑 /etc/profile 文件:

 vim /etc/profile

②在文件最后添加如下配置信息

JAVA_HOME=/usr/local/java/jdk1.8.0_77
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

③重新加载 /etc/profile 文件

source /etc/profile

④使用Javac命令A验证是否配置成功
在这里插入图片描述

6.2)安装tomcat

6.2.1)关闭防火墙,传输tomcat压缩包到Linux虚拟机

①永久性关闭防火墙

systemctl disable firewalld.service

#重启Linux系统让其生效

reboot

②登录xftp传输tomcat.tar压缩文件,直接拖拽文件就可以将本机文件传输到虚拟机root文件夹下
在这里插入图片描述
③解压tomcat的压缩文件到/usr/local/tomcat目录下

tar -zxvf apache-tomcat-9.0.37.tar.gz -C /usr/local/tomcat

6.2.2)启动tomcat

①进入到解压文件夹的bin目录

cd /usr/local/tomcat/apache-tomcat-9.0.37/bin

②运行./startup.sh命令启动tomcat
此时…/logs目录会生成catalina.out文件

./startup.sh

在这里插入图片描述
tomcat结束命令:

./shutdown.sh

启动时查看日志命令:

./startup.sh && tail -f ../logs/catalina.out

6.3)安装MySQL5.6.34不同版本安装方式不同,很多坑

6.3.1)关闭防火墙,传输MySQL压缩包到Linux虚拟机

①永久性关闭防火墙

systemctl disable firewalld.service

#重启Linux系统让其生效

reboot

②登录xftp传输MySQL压缩文件,直接拖拽文件就可以将本机文件传输到虚拟机/usr/local文件夹下
在这里插入图片描述

③解压MySQL的压缩文件到/usr/local目录下

tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz -C /usr/local/MySQL

④重命名为mysql

mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql

6.3.2)卸载mariadb,删除my.cnf

①查询出来已安装的mariadb ,并卸载mariadb

rpm -qa|grep mariadb

rpm -e --nodeps 文件名

在这里插入图片描述
②删除etc目录下的my.cnf(没有可以忽略)

rm /etc/my.cnf

6.3.3)创建MySQL用户组

①创建mysql用户组

groupadd mysql

②创建一个用户名为mysql的用户并加入mysql用户组

useradd -g mysql mysql

6.3.4)配置my.cnf

①将/usr/local/mysql/support-files下的my-default.cnf拷贝一份到/etc下并重命名 my.cnf

cp ./mysql/support-files/my-default.cnf /etc/my.cnf

②编辑/etc目录下的my.cnf

vi /etc/my.cnf

③开始配置my.cnf ,复制下面代码到最后一行,保存退出

[mysql] # 设置mysql客户端默认字符集 
default-character-set=utf8 
socket=/var/lib/mysql/mysql.sock
[mysqld] skip-name-resolve
#设置3306端口 
port = 3306 
socket=/var/lib/mysql/mysql.sock 
# 设置mysql的安装目录 
basedir=/usr/local/mysql 
# 设置mysql数据库的数据的存放目录 
datadir=/usr/local/mysql/data 
# 允许最大连接数 
max_connections=200 
# 服务端使用的字符集默认为8比特编码的latin1字符集 
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB 
lower_case_table_name=1 
max_allowed_packet=16M

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

6.3.5)修改当前目录拥有者为mysql用户

①进入安装mysql软件目录

cd /usr/local/mysql

②更改拥有者

chown -R mysql:mysql ./

③安装autoconf库

yum -y install autoconf

④安装数据库 在mysql目录

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

⑤在mysql目录下修改当前data目录的拥有者为mysql用户

chown -R mysql:mysql data

⑥授予my.cnf最大权限

chmod 777 /etc/my.cnf

⑦在mysql目录设置开机自启动服务控制脚本

cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld

⑧增加mysqld服务控制脚本执行权限

chmod +x /etc/rc.d/init.d/mysqld

⑨将mysqld服务加入到系统服务

chkconfig --add mysqld

⑩检查mysqld服务是否已经生效

chkconfig --list mysqld

成功结果如下
在这里插入图片描述

6.3.6)配置环境变量

①编辑profile文件

vi /etc/profile

②将mysql的bin目录加入PATH环境变量,保存退出

export PATH=$PATH:/usr/local/mysql/bin

③刷新资源

source /etc/profile

6.3.7)启动MySQL设置密码并进行远程连接

①启动mysqld

service mysqld start

②以root账户登录mysql,默认没有密码,直接回车

mysql -uroot -p

③设置自己的密码,这里是root

mysql> set password=password("root");

在这里插入图片描述
④允许远程登录

mysql> grant all privileges on *.* to'root' @'%' identified by 'root';
mysql> flush privileges;

⑤在windows上使用navicate尝试连接mysql
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/baomingshu/article/details/131972605