Linux学习笔记(面向JAVA)

Linux学习笔记

学生党目前可以在阿里云白嫖云服务器,地址在我的博客(https://blog.csdn.net/qq_41522089/article/details/107044432)

一、电源指令

使用xshell连接云服务器,然后输入账号密码即可登录

1.关机与重启

在关机和重启前,最好使用sync指令将内存的数据写入到磁盘中

sync	# 将内存中的数据写到磁盘中,在重启或者关机前需要保存数据。

注销:注销指令是logout

logout # 注销当前用户,登出

重启:重启指令有shutdown和reboot

shutdown –r now	# 现在重启

shutdown –r +10	# 十分钟后重启

reboot # 重启

关机:关机指令shutdown

shutdown –h now # 立马关机

shutdown –h {hh}:{mm} # 在今天hh:mm时刻关机

shutdown –h +10 # 十分钟后关机

二、centos7 系统目录结构

所有目录都挂在/这个根节点上

这里转载自狂神说公众号,原文链接,感谢大佬!

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

————————————————
原文链接:https://mp.weixin.qq.com/s/RT93qJdTagtKjWKx_A_6Nw

三、常用命令

linux所有指令都可以组合使用

网络配置:/etc/sysconfig/network-scripts

1.目录管理

cd: 切换目录

绝对路径都是以/开头,相对路径是以当前目录为基础

>​	cd dir	切换到dir目录,dir可以是相对路径也可以是绝对路径	
>
>​	cd /	返回根目录
>
>​	cd ..	返回上一级目录
>
>​	cd ~	进入/root
>
>​	cd命令可以组合使用
>
>​					

ls:列出目录

​ ls -a 列出全部的文件,包括隐藏文件

​ ls -l 列出全部的文件和使用权限,不包括隐藏文件,等价于ll

​ ls的指令可以组合使用

​ ls -al 列出所有文件包括隐藏文件及其使用权限

pwd:显示当前所在的目录

​ [root@iZ2ze2jmbeb02wrxw6wdp3Z ~]# pwd
​ /root

mkdir:在当前目录下创建文件夹

​ mkdir test1 在当前目录下创建一个test1的文件夹

​ mkdir -p test2/test3/test4 在当前目录下递归创建一个层级目录 test2/test3/test4

rmdir:删除当前目录下文件为空的文件夹

​ rmdir test1 删除当前目录下的空文件夹test1

​ rmdir -p test2/test3 删除当前目录下的test2和test3

cp:拷贝文件

​ cp restSource destSource 将restSource拷贝到destSource文件夹内

​ 如果文件重复,就询问是否覆盖

rm:移除文件或文件夹

​ -f指令是忽略不存在的文件,不会出现警告,然后强制删除

​ -r指令是递归删除目录

​ -i指令是删除是询问是否删除

​ rm -rf 文件 直接删除文件

mv:移动文件或者目录,还可以重命名

​ -f指令表示强制移动

​ -u只替换已经更新的文件

​ mv -f A B 将文件A移动到目录B中

​ mv C D 将C文件进行重命名D

2.文件属性的查看与修改

输入ls -l 或者ll命令后可以看到当前目录下的文件权限和映射

Linux学习笔记(面向JAVA)_第1张图片

第一个字母代表着文件属性:

  • d:表示为目录文件
  • l:表示为链接文档(link file),快捷方式就是
  • -:表示文件
  • b:表示装置文件中可供存储的接口设备
  • c:表示装置文件中的串行端口设备,例如鼠标键盘等一次性读取设备

后面一共是九个字符位置,每三个字符为一组,内容有’r’,‘w’,‘x’,’-'分别表示读,写,执行和无权限

1-3表示属主权限,就是他属于哪个用户拥有的权限,这里就是root用户

4-6表示的是属组权限,是属于哪个管理组的权限,例如admin和guest

7-9表示的是其他用户能够有的权限

每组固定顺序都是r,w,x,如果没有就是-

后面root,root是他的属主和属组,如果是link file会有具体映射目录

一些常用命令

chgrp:改变文件属组

​ chgrp -R XXX YYY 将YYY的属组改成XXX

chown:改变文件属主

​ chown -R XXX YYY 将YYY的属主改成XXX

chmod:改变文件属性

​ chmod -R xyz file 将文件file权限属性进行修改,其中可以x,y,z可以用数字,也可以用’r’,‘w’,‘x’,’-’

​ 其中r代表4,w代表2,x代表1,也就是比如rwxrwxrwx就是777

3.文件内容查看

网络配置:/etc/sysconfig/network-scripts

Linux学习笔记(面向JAVA)_第2张图片

ping也可以使用直接用ping

网络配置是ifconfig

文件查看命令

cat:从第一行开始显示文件内容

​ cat file 正读某个文件

tac:从最后一行开始倒着读文件

​ cat file 倒着读某个文件

nl:从第一行开始标记行号读文件

​ nl file 第一行开始标记行号读文件

more/less:都是一页一页分页看文件,less可以往前翻页

​ more file 空格翻到下一页,enter看下一行,:f显示行号

​ less file 空格翻页,上下方向键是向上向下一行,pageDown/up是上下翻页,退出要输入q

head/tail:只看头几行和尾几行

​ head -n 10 file 看file文件头10行

​ tail -n 10 file 看file文件尾10行

/和?:在文件中查找内容

​ /xxx 从该位置往后查找内容xxx

​ ?xxx 从该位置往前查找xxx

​ n 向下寻找一个

​ N 向上寻找一个

四、硬连接与软连接

硬连接是将文件进行同步备份,如果修改一个文件,另一个也同步修改,相当于就是两个文件都相当于地址,同时指向实际存储位置,在里面进行删改。

软连接就相当于快捷方式,是与文件绑定的。

ln:创建硬连接和软连接

​ ln f1 f2 给f1文件创建一个硬连接f2

​ ln -s f1 f3 给f1文件创建一个软件界f3

五、Vim编辑器

Vim共分为三种模式,命令模式,输入模式和底线命令模式

新建文件可以用vim xxx.text,如果该文件存在,将进入vim编辑器进行修改

命令模式:

刚进入Vim就能进入命令模式,这时候的输入被当做命令,而不是编辑,以下命令能切换模式

  • i 切换到输入模式
  • x 删除当前光标所在字符
  • : 进去底线命令模式,如果在输入模式下,需要esc退出
  • /xxx 可以向下搜索xxx
  • ?xxx 可以向上搜索xxx
  • n/N 可以向上/向下搜索一个
  • n 空格/回车 可以向后移动n个字符/行,但是不能输入小键盘的数字而是键盘上面的一排数字

输入模式:

可以使用的按键

  • 大小写字符
  • 退格键,删除光标前一个字符
  • Del,删除光标后一个字符
  • 方向键控制光标
  • 回车键换行
  • Home/End,每行的最前面/最后面
  • Page Up/Down,向上/下翻页
  • Insert,进入替换模式
  • ESC,退出当前输入模式,进入命令模式

底层命令模式:

命令模式下输入:进入

最基本命令:

  • q 退出
  • q! 强制退出
  • w 保存
  • w! 强制保存
  • wq 保存并退出
  • ZZ 若文件已经修改则保存后退出,若没有修改则直接退出
  • set nu/nonu 显示行号/关闭显示行号

六、账号管理

1.添加用户

useradd -选项 用户名

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -m 使用者目录如不存在则自动建立。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

新增用户后,可以在/etc/passwd中看到

2.删除用户

userdel -选项 用户名

userdel -r 用户名 删除用户,并删除其用户文件

3.修改用户

usermod -d /home/yyy xxx 将xxx用户改成yyy用户,如果没有也不创建

4.切换用户

#代表超级用于,$代表普通用户

su 用户名 切换用户

exit 退出用户

5.主机名

hostname 查看主机名

hostname xxx 将主机名修改为xxx

小技巧,双击xshell窗口可以开重新连接一个新的

6.修改用户密码

在有权限的情况下可以修改密码

​ passwd xxx 给xxx用户修改密码

7.锁定用户

​ passwd -l xxx 锁定xxx用户

8.删除密码

​ passwd -d xxx 删除用户的密码

9.passwd文件用户信息

/etc/passwd的每一行都是一个用户的信息

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
这里的口令一般是看不到,是一把x,而真正可见的地方是在目录/etc/shadow,已经被加密,保证安全性

七、用户组管理

查询用户组

​ cat /etc/group

1.添加用户组

​ groupadd xxx 按照最后一个组递增端口号

​ groupadd -g n xxx 按照端口号n加入用户组

2.删除用户组

​ groupdel xxx 删除用户组

3.修改用户组

​ groupmod -g num -n yyy xxx 将xxx组的端口号改成num,名字改成xxx

八、磁盘管理

1.文件管理

df:列出文件系统剩余空间

​ df 列出所有文件系统使用情况

​ df -h 以m为单位列举

du:列举当前目录下文件使用内存情况

​ du 列出当前目录空间,不包括隐藏文件

​ du -a 列出当前目录空间,包括隐藏文件

​ du -sm /* 检查根目录所占用容量

九、进程管理

  • linux中每个进程都一个进程号
  • 每个进程都有一个父进程
  • 进程有两种方式,前台和后台,一般服务程序都是后台,程序都是前台

重要命令:

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

​ ps -a 显示所有进程信息(当前进程,使用过docker ps -a 就是看docker 下面的进程)

​ ps -u 以用户的信息显示进程

​ ps -x 以后台运行进程的参数

​ ps -aux|grep xxx 查看所有的进程,然后再过滤其中与xxx相关的内容

​ #在linux 中这个|成为管道符,例如A|B就是将A输出的结果来操作B,grep查找文件中符合条件的字符串

​ ps -ef 查看父进程信息,这里还有更常用的命令是pstree

​ pstree -p 显示父Id

​ pstree -u 显示用户组

​ pstree -pu 显示父id和用户组

kill:结束进程

​ kill -9 id 强制结束进程,一般是java代码死循环才结束

十、环境安装

安装方式有三种:

  • rpm
  • 解压缩
  • yum在线安装

防火墙设置

参考博客

# 查看firewall服务状态
systemctl status firewalld

# 开启、重启、关闭、firewalld.service服务

service firewalld start	# 开启

service firewalld restart	# 重启

service firewalld stop	# 关闭

# 查看防火墙规则
firewall-cmd --version	# 查看版本

firewall-cmd --help	#查看帮助

firewall-cmd --state	#显示状态

firewall-cmd --zone=public --list-ports	#查看所有打开的端口

firewall-cmd --reload	#更新防火墙规则

firewall-cmd --get-active-zones	#查看区域信息

firewall-cmd --get-zone-of-interface=eth0	#查看指定接口所属区域

firewall-cmd --panic-on	#拒绝所有包:

firewall-cmd --panic-off	#取消拒绝状态

firewall-cmd --query-panic	#查看是否拒绝

firewall-cmd --list-all    # 查看全部信息

firewall-cmd --list-ports  # 只看端口信息

# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service

命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效

1.JDK安装

使用rpm安装

1.下载rpm

官网有

2.xftp传输给远程服务器

3.安装jdk

rmp -ivh jdk
rpm -ivh jdk-8u251-linux-x64.rpm

4.卸载jdk

首先检查是否有jdk

java -version
rpm -qa|grep jdk

卸载方式:

rpm -qa|grep jdk #检查JDK信息
rpm -e --nodeps jdk
rpm -e --nodeps jdk-8u251-linux-x64.rpm

5.配置环境变量

环境配置文件是/etc/profile

1.编辑配置文件

vim /etc/profile

2.翻页到最下面

JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
JRE__HOME=/usr/java/jdk1.8.0_251-amd64/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

3.使配置文件生效(也可以不输入)

source /etc/profile

2.安装tomcat

使用解压缩方法安装

1.下载tomcat

2.解压压缩文件

tar -zxvf apache-tomcat-9.0.36.tar.gz

3.tomcat测试

./startup.sh		#执行tomcat

./shutdown.sh		#停止tomcat

4.在阿里云配置安全组

3.安装docker

docker安装使用yum

1.检测centos7版本

[root@iZ2ze2jmbeb02wrxw6wdp3Z bin]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

2.安装准备环境

yum -y install 包名	#	yun install 包名	意思就是在线安装,-y就是所有的提示都是y

先安装c/c++

yum -y install gcc
yum -y install gcc-c++

3.安装

安装详情参考官方文档

4.测试

systemctl start docker		#启动docker
docker version		#docker版本
docker images		#docker的镜像
docker ps		#查看正在运行的容器
docker ps -a	#查看所有容器

参考学习视频,感谢秦疆老师!

你可能感兴趣的:(学习笔记,JAVA,Linux,linux,java,centos)