一 环境准备
学习Linux重在实践操作,在学习Linux前,你需要有一台跑linux系统的机器。可以选择购买云服务器,比如阿里云或腾讯云,就可以在自己电脑远程连接使用了。另一种方式是在本机安装VMware虚拟机,再在其上安装linux发行版即可。
推荐两个方便使用linux的工具:
-----Xshell连接远程服务器
-----Xftp用于本地windows和linux之间上传文件
二 基本命令
常用快捷键
tab键 命令后双击按tab,可补全命令
Ctrl+c 终止当前程序
Ctrl+d 退出系统
Q 终端出现end无法退出时按q
命令行
一般操作
clear 清理界面
Mysql 可直接进去Mysql数据库命令(该命令前提已启动Mysql)
Date 查看日期
Cal 显示日历
Bc 进入计算器
切换目录命令(绝对路径以/开头)
cd 路径名 切换路径(change directory)
Cd / 回到根目录
Cd …或cd …/ 返回上一级目录
Cd …/usr 退出home,进入usr
Cd ~ 直接到用户目录root
Pwd 显示当前目录
查看目录
Ls / 查看根目录
Ls 列出当前目录
参数
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
新建目录
Mkdir ma home下建立ma文件夹
Mkdir -p test2/test3 创建层级吗目录需要加-p
Touch f1 创建一个f1文件
删除目录
Rmdir test1 删除空目录(文件夹下有东西删不掉)
Rmdir -p test1/test2/test3 删除层级目录需要加 -p
删除文件
Rm 文件名
-f忽略文件
-r递归删除目录
Rm -rf / 删库跑路
复制目录
Cp 文件名 目录 (文件重复就覆盖或放弃)
移动目录
Mv 文件名/目录名 目录
重命名
Mv 文件名1 文件名2 (不存在文件名2,就把文件名1改为文件名2)
文件权限
Ls -l
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );(类似windows的快捷方式)
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
Chgrp -R 属组名 文件名 如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
chown –R 属主名 文件名
Chmod -R 三位数字 文件名 G更改文件的属性
查看文件内容
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
Head -n 20 log.file 查看前20行
Less log.file 查看文件,按回车 输入 /main 可以在文件中查找main
检查网络
Ping
在Linux系统中,当能ping通一个主机时,此时ping命令会一直执行,要想终止,可采用CTRL+c或CTRL+z方式退出。也可以设置选项方式,使得ping命令执行若干次包就终止。ping 192.168.34.44 -c 4,此时ping命令将执行4次。
硬连接与软连接
硬连接类似于文件的复制品,源文件内容改变,硬连接文件也改变(类似同步备份);软连接相当于文件的快捷方式。当删除源文件时,访问硬链接和访问原文件一样,但是此时软连接无法访问了。
Ln f1 f2 创建f1的硬链接
Ln -s f1 f3 创建f1的软链接
echo “I am f1 file” >>f1
三 文本编辑器 Vim
掌握查看、编辑、保存
Vim ma.txt 新建一个文件,如果存在就修改
进入编辑模式 i
退出编辑模式,进入命令模式 esc
命令模式下,进入底线模式 : esc可回到命令模式
退出vim 底线模式下 :exit
保存文件 w
退出文件 q 注意linux参数是可以组合的,wq代表保存并退出
在命令模式下,vim有许多命令帮助我们编辑文档
四 账户管理
用户管理
useradd -m 用户名 创建用户,-m自动创建用户使用的目录,一般在root用户下创建新用户
userdel 选项 用户名 删除用户
usermod -s /bin/ksh -d /home/z –g developer sam 修改账号
Su dandan 切换用户
Exit 退回root用户
Hostname 主机名 修改主机名
Passwd dandan 修改账号dandan的密码
注意Linux输密码不显示,可以同时登多个账户
Passwd -l dandan 锁定丹丹的账户
用户组管理
Groupadd 选项 组名 创建一个用户组
默认从1000生成用户组的id
groupadd -g 101 group2 指定用户组id
Groupdel 用户组名 删除用户组
groupmod –g 10000 -n group3 group2 修改用户组,-g参数可改名
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名 字
newgrp root 在用户的使用权限下,切换用户的用户组
用户信息
# cat /etc/passwd
root❌0:0:Superuser:/:
daemon❌1:1:System daemons:/etc:
bin❌2:2:Owner of system commands:/bin:
sys❌3:3:Owner of system files:/usr/sys:
adm❌4:4:System accounting:/usr/adm:
uucp❌5:5:UUCP administrator:/usr/lib/uucp:
auth❌7:21:Authentication administrator:/tcb/files/auth:
cron❌9:16:Cron daemon:/usr/spool/cron:
listen❌37:4:Network daemon:/usr/net/nls:
lp❌71:18:Printer administrator:/usr/spool/lp:
sam❌200:50:Sam san:/home/sam:/bin/sh
上面用户属性对应的信息
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
用户密码
/etc/sahdow
用户组信息
/etc/group文
五 磁盘管理
df 查看文件系统的整体磁盘使用量
Du 检查磁盘空间使用量,在根目录下回列出所有文件(非常多,不建议在根目录查看)
Du -sm /* 检查当前目录下所有文件或目录占用空间情况(/前必须有空格)
Linux磁盘挂载与卸除
六 进程管理
进程信息查看
ps –选项
-a:显示当前终端的进程信息
-u:以用户的形式显示进程信息
-x:显示后台进程运行的参数
-A 所有进程
命令格式:命令A|命令B,即命令A的正确输出作为命令B的操作对象
grep 命令用于查找文件里符合条件的字符串
我 ps -x并不会显示所有进程,mysql没有显示
通常直接这样使用
ps -aux|grep xxx ,查看某个服务的进程 如,ps -aux|grep mysql
Ps -ef 查看父进程
pstree 选项 进程树,可以更加直观的来看进程信息
-p :显示进程的PID
-u :显示进程的所属用户
kill -9 PID 杀进程
七 软件安装
安装软件三种方式:rpm、解压缩、yum在线安装
Rpm安装jdk
1 oracle官网下载jdk rpm安装包
2 使用xftp把安装包上传到/home/ma
3 检测是否存在java环境
我tm竟然已经安装
4 检测jdk版本信息
rpm -qa|grep jdk (上述java -version显示不了版本全部信息)
5 下面 命令可强制卸载已安装的jdk
rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
6 安装jdk
rpm -ivh jdk-8u221-linux-x64.rpm (最后是安装文件名)
7 配置环境变量(很多弹幕说rpm方式不需要配置环境变量)
到 /etc/profile 文件配置环境变量
Vim /etc/profile 在文件底部编辑
按自己的安装路径配置
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=
P
A
T
H
:
PATH:
PATH:JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
source /etc/profile 让新增的环境变量生效(弹幕说会崩溃)
需要放开防火墙端口,才能使用该端口号部署项目
应该是我之前把防火墙永久关闭了
解压安装
进入tomcat安装包目录
tar -zxvf apache-tomcat-9.0.22.tar.gz 解压tomcat安装包
进入tomcat解压后的bin目录
startup.sh -->启动tomcat
shutdown.sh -->关闭tomcat
Yum在线安装(以Docker为例)
参考文章
centos 卸载docker_Docker安装使用及配置阿里云镜像加速与卸载
1 确定安装什么版本
目前,CentOS仅发行版本中的内核支持Docker.
Docker运行在CentOS7上,要求系统为64位、系统内核版本为3.10以上.
Docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本为2.6.32-431或者更高版本.
Docker要求CentOS系统的内核版本高于3.10,查看本页面的前提条件来验证你的CentOS版本是否支持Docker.
cat /etc/redhat-release 先查看cenos版本
Uname -r 查看内核版本
2 yum -y install安装命令 -y是一路选默认配置
我把软件安装在usr目录下,安装gcc时我们发现报错
通过下面操作可解决上述问题
cd /var/lib/rpm
ls
Basenames __db.001 __db.003 Group Name Packages Requirename Sigmd5
Conflictname __db.002 Dirnames Installtid Obsoletename Providename Sha1header Triggername
rm -rf __db*
rpm --rebuilddb
yum update
Yum -y install gcc 安装c编译器
Yum -y install gcc-c++ 安装c++编译器
3 卸载以前的docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
4 安装需要的软件包
yum install -y yum-utils
5 配置阿里云仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6 更新yum软件包索引
yum makecache fast
7 安装docker社区版
yum install docker-ce docker-ce-cli containerd.io
8 启动docker
systemctl start docker
9 测试是否成功
docker version
10 运行Hello word
docker run hello-world