Git

资源下载技巧:所有需要外网下载的资源可以去找对应的国内镜像进行下载。

基本 Linux 命令学习

cd 改变目录
cd .. 回退上一级
cd 进入默认目录
pwd 显示当前目录路径
ls 列出目录中所有文件
ll 列出目录中所有文件,包含详细信息
touch 新建文件
rm 删除文件
mkdir 新建目录
rm -r 删除文件夹
mv xx文件 xx目录 移动文件到指定文件夹
reset 重新初始化终端/清屏
clear 清屏
history 查看命令历史
help 帮助
exit 退出
# 注释

工作区域

工作区、暂存区、本地仓库、远程仓库

本地仓库搭建

在目录下鼠标右键:Git Bash Here 打开命令窗口

方式一:创建全新仓库

$ git init

方式二:克隆远程仓库

$ git clone https://github.com/linw1180/Java-Note.git

IDEA 集成 Git 技巧

  1. 在码云或 GitHub 上新建仓库
  2. 将其克隆到本地
  3. 将该仓库/项目中 .git 同级目录所有文件拷贝到自己的本地项目目录下
  4. 完成 Git 集成,可使用IDEA 操作 Git

Last

在 gitee 上最下方有 Git 全面教程,平时还是需要多多练习命令

https://gitee.com/all-about-git

Linux

基本命令

cd 改变目录
cd .. 回退上一级
cd 进入默认目录
pwd 显示当前目录路径
ls 列出目录中所有文件
ll 列出目录中所有文件,包含详细信息
touch 新建文件
rm 删除文件
mkdir 新建目录
rm -r 删除文件夹
mv xx文件 xx目录 移动文件到指定文件夹
reset 重新初始化终端/清屏
clear 清屏
history 查看命令历史
help 帮助
exit 退出
# 注释
  • 记住:Linux 中没有错误就代表执行成功
tar -zxvf xxx文件 解压指定文件
rm -rf xxx文件 删除指定包含有文件的文件夹

关机命令

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。关机指令为:shutdown ;最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

sync # 将数据由内存同步到硬盘中。
shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:
shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机
shutdown –h now # 立马关机
shutdown –h 20:25 # 系统会在今天20:25关机
shutdown –h +10 # 十分钟后关机
shutdown –r now # 系统立马重启
shutdown –r +10 # 系统十分钟后重启
reboot # 就是重启,等同于 shutdown –r now
halt # 关闭系统,等同于shutdown –h now 和 poweroff

系统目录结构

登录系统后,在当前命令窗口下输入命令:

ls /

你会看到如下图所示:

图片

树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)

图片

以下是对这些目录的解释:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

  • /root该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

  • /tmp这个目录是用来存放一些临时文件的。

  • /usr这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin: 系统用户使用的应用程序。

  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src: 内核源代码默认的放置目录。

  • /var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

  • /www:存放服务器网站相关的资源,环境,项目等(只会出现在 Linux 云服务器中)

    # 重要的几个目录:
    /etc 存放配置文件
    /home 用户主目录
    /opt 软件安装目录
    /root 系统管理员目录
    /usr 普通用户目录,类似于windows下的program files目录
    /tmp 存放临时文件
    /var 存放经常被修改的文件
    /www:存放服务器网站相关的资源,环境,项目等
    

    绝对路径:

    路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

    相对路径:

    路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man 这就是相对路径的写法啦!

目录管理命令

  • 处理目录的常用命令:
ls: 列出目录
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp: 复制文件或目录
rm: 移除文件或目录
mv: 移动文件与目录,或修改文件与目录的名称
# 可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
# ls 列出目录
ls -a 列出全部文件,包含隐藏文件
ls -l 列出包含属性与权限的所有文件,相当于 ll
ls - al 列出包含属性与权限的所有文件,包含隐藏文件

# cd 切换目录
cd 绝对路径/相对路径
cd home/luis/a 以绝对路径进行切换
cd .. 或 cd ../ 回到上一级
cd ../www 到上一级中某目录下
cd / 回到根目录
cd ~ 回到家目录/登陆进来时所在目录

# pwd 显示当前目录
pwd 显示当前所在目录
pwd -P 显示真实地址,如果是链接的话

# mkdir 创建目录
mkdir xxx目录 创建新目录
mkdir -p t1/t2/t3 递归创建目录
mkdir -m 711 test 创建目录并配置指定权限(不用默认权限配置)

# rmdir 删除空目录
rmdir xx空目录 删除指定空目录
rmdir -p a/b/c 递归删除非空目录
# 后面使用 rm 可以删除非空目录

# cp 复制文件到指定目录
cp a.java a

# rm 删除文件或目录
# 参数
-r:忽略警告,强制删除
-f:递归删除(删除文件专用)
rm a.java 删除文件,有警告
rm -r a.java 删除文件,无警告
rm -r a 递归删除目录,有警告
rm -rf a 递归删除目录,无警告

# 注意:删库跑路代码:慎用!!!
========= rm -rm / # /为根目录,这样是直接删除系统中所有文件!!!=========

# mv 
# 功能一:移动文件或目录
# 功能二:重命名文件或目录
mv a.java a 移动文件
mv a.java b.java 重命名文件
mv a b 若a目录存在,则做移动操作;若a目录不存在,则做重命名操作

image-20220315210837786

基本属性:

  • Linux 中以第一个字符区分该文件类型
区分文件类型的五种字符:
d —— 表示目录【掌握】
- —— 表示文件【掌握】
l —— 表示为链接文档(类似快捷方式)【掌握】

b —— 表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
c —— 表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
  • 后9个字符,以3个为一组,各自代表了各组对该文件不同的操作权限
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
  • 文件属主和属组

修改文件属性

# 参数 -R :表示递归修改

# chgrp 修改文件属组(基本用不到)
chgrp -R 属组名 文件名 # 如:chgrp -R root a

# chown 修改文件属主(基本用不到)
chown -R 属主名 文件名 # 如:chown -R root a

# 知晓各个操作权限对应的数字,各组不同操作权限可通过不同数字和表示
r:4 w:2 x:1
如:
owner = rwx = 4+2+1 = 7 可读可写可执行
group = r-x = 4+0+1 = 5 可读不可写可执行
others= --- = 0+0+0 = 0 不可读不可写不可执行

# chmod 修改各组对文件的操作权限【掌握】
方式一:通过数字设置【常用 + 掌握】
chmod 777 文件名 # 可读可写可执行【最常用的设置】
方式二:通过符号设置(不用掌握,了解即可)

文件内容查看

cat 由第一行开始显示文件内容,用来读文章,读配置
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl  显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
# 你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
cat xxx文件名 从第一行开始,查看文件全部信息(从文件头开始看)【掌握】
tac xxx文件名 从最后一行开始,查看文件全部信息(从文件底部开始看)【常用】
nl xxx文件名 查看文件全部内容并显示行号【掌握】
more xxx文件名 一页一页显示文件内容(空格进行翻页,回车一行一行显示,不可往前查看,输入:f可显示行号)【掌握】
less xxx文件名 和more用法差不多,但是可使用上下方向键上下翻页,并且必须使用q命令退出!可使用/xx向下查找字符串,使用?xxx向上查找字符串;n向上找下一个,N向下找下一个【掌握】
head -n 行数 只看头多少行
tail -n 行数 只看尾多少行

CentOS 7 中网络配置目录地址:/etc/sysconfig/network-scripts
ifconfig 查看网络配置

扩展:Linux 链接的概念(了解)

Linux 中的链接分两种:硬链接和软链接

硬链接:假设 A 为源文件,B 为 A 的硬链接,那么它们同时指向了同一个文件,实现了一个文件多个路径。修改 A 文件内容,B 文件内容也会随之改变;如果删除 A 文件,B 文件还会保留下来,相当于一个备份,可防止误删。

软链接:类似 Windows 下的快捷方式,假设 A 为源文件,B 为 A 的软链接,删除 A 文件后,B 文件将会无法访问。

  • 相关命令:ln
ln a b # 创建a的硬链接b
ln -s a c # 创建a的硬链接c

示例:

向文件尾部添加内容:echo “文件内容” >> 文件

touch f1 # 创建一个f1文件
ln f1 f2 # 创建f1的一个硬链接f2
ln -s f1 f3 # 创建f1的一个软链接f3
echo "test" >> f1 # 修改f1文件内容
cat f1 # 查看
cat f2 # 查看
cat f3 # 查看
rm -rf f1 # 删除f1
cat f2 # 查看
cat f3 # 查看

Vim 编辑器

vim 文件名 # 如果文件存在则可直接编辑;如果不存在,则会新建,然后进入编辑
  • 三种使用模式
    • 刚刚启动 vi/vim,就进入了命令模式;命令模式下按 i 或 insert 可进入输入模式;输入模式下按 Esc 可进入命令模式;命令模式下按 : 进入底线命令模式。
命令模式下:
可按 i 或 insert 进入输入模式【掌握】 
可按 x 删除光标所在字符【掌握】
可按 : 切换到底线命令模式【掌握】
输入数字,空格,横向移动光标【掌握】
输入数字,回车,从光标处向下跳转输入的行数【掌握】
按 /,可进行查找;然后使用 n 向上或 N 向下逐个选择【掌握】
按 u,可进行回退操作【掌握】

底线命令模式下:
w 回车,保存文件内容
q 回车,退出编辑
wq 回车,保存并退出【最常用】【掌握】
set nu 显示行号【掌握】
set nonu 取消行号显示【掌握】

输入模式下:
可进行文档的编辑和修改

账号管理

自己用得不多,但是自己玩可以学习学习

用户账号管理其实就是对/etc/passwd文件进行管理

# root 账户进行操作

# 添加用户,并为用户在home下创建主目录/home/linwei
[root@linwei home]# useradd -m linwei
# 为普通用户配置密码
[root@linwei home]# passwd linwei 回车,然后配置密码

# 删除用户,并删除其主目录数据
[root@linwei home]# userdel -r linwei

# 修改用户资料(如主目录等,修改完后可在配置文件中查看)
[root@linwei home]# usermod -d /home/233 lw
# 修改完后可在配置文件中查看:/etc/passwd
[root@linwei home]# tail -n 3 /etc/passwd
mysql:x:1001:1001::/home/mysql:/sbin/nologin
redis:x:1002:1002::/home/redis:/sbin/nologin
lw:x:1003:1003::/home/233:/bin/bash

# root切换到普通用户
su 用户名
# 普通用户切换回root
exit

# 锁定/冻结用户
passwd -l 用户名

-------------------
# 普通用户拿到密码登陆后,可修改密码
# 直接输入:
passwd
# 然后依次输入旧密码和新密码(新密码不能过于简单)

用户组管理

用户组的管理其实就是对/etc/group文件进行管理

# 添加新用户组
groupadd new # 添加用户组new
cat /etc/group # 查看组配置

# 修改用户组(如名字;-n 修改名字;-g 修改组id)
groupmod -n new newmod # 修改用户组名new为newmod
cat /etc/group # 查看组配置

# 删除用户组
groupdel new # 删除用户组new
cat /etc/group # 查看组配置

磁盘管理

# 列出文件系统整体的磁盘使用量(字节表示)
df
# 列出文件系统整体的磁盘使用量(M和G表示)【符合用户习惯】
df -h

# 检查磁盘空间使用量
du

# 检查根目录下每个目录所占的容量
[root@linwei /]# du -sm /*

进程管理

Linux 中一切皆文件

文件:

读写执行(查看、创建、删除、移动、复制、编辑)

权限(用户、用户组)

系统(磁盘、进程)

# ps 查看当前系统中正在执行的各种进程的信息

ps -xx:

* -a 显示当前终端运行的所有进程信息(当前的进程一个)
* -u 以用户的信息显示进程
* -x 显示后台运行进程的参数
# ps -aux 查看所有进程
# | 在Linux中它叫做管道符 A|B
# grep 查找文件中符合条件的字符串

# 一般综合起来使用,用来查看并过滤出我们需要查看的进程信息
ps -aux|grep mysql

# ps -ef:可查看到父进程信息,如
ps -ef|grep mysql
# 我们一般通过目录树结构来查看父进程信息
pstree -pu
	-p 显示父id
	-u 显示用户组
	
# 强制结束进程 (一般不用,但可用在java死循环等情况下)   
kill -9 进程id    

环境安装

参考:https://www.bilibili.com/video/BV187411y7hF?p=15&spm_id_from=pageDriver

安装软件一般有三种方式:

  1. rpm
  2. 解压缩
  3. yum 在线安装