linux的目录结构
一切皆文件
文件分类
Java相关
安装JDK
【安装】Linux环境下的 JDK的安装 & 安装配置 & 环境变量
JAVA_HOME=/root/software/jdk/jdk1.8.0_371
CLASSPATH=.:$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
关闭运行的jar包
1.进程kill -9
ps -ef | grep spring
kill -9 823499
运行窗口退出
2.ctrl c退出
常用linux的命令
ls(list)和ll
-
ls -a 查看所有文件(包含隐藏)
-
ls -la 查看所有文件详细信息
查看当前文件夹下的文件
在 Linux 系统中,ls 和 ll 命令都是用来列出目录内容的命令,它们的区别如下:
ls 命令:是一个简单的文件列表命令,它会列出目录下的文件和子目录的名称,并显示它们的属性和权限等信息。
ll 命令:是 ls -l 命令的缩写,它会以长格式显示目录内容,包括文件类型、权限、所有者、组、大小、创建时间、名称等详细信息。
因此,ll 命令可以更方便地查看文件的详细信息,而 ls 命令则更简洁,仅列出文件和目录名称。
cd 切换目录
语法规则:cd 文件夹名(相对路径、绝对路径)
cd 进入当前用户主目录
cd / 进入根目录
cd /home 进入根目录下的home目录
cd dir 进入当前目录下的dir目录
cd … 返回上一级目录(父目录)
cd …/… 返回上一级的上一级目录(祖目录)
mkdir 创建文件夹
语法规则:mkdir 文件夹名(只能够创建一级文件夹)
语法规则:mkdir -p 文件夹1/文件夹2/文件夹3
mkdir dir1 创建dir1目录
mkdir dir1 dir2 同时创建两个目录
mkdir -p dir1/dir2 创建一个目录树
touch命令:创建普通文本文件
touch 普通文件名
touch a.txt 在当前目录下创建a.txt文件
cp:复制文件
- cp a.txt b.txt 将当前目录下的文件拷贝到当前目录下,新文件名为b.txt
- cp a.txt dir 将当前目录下的a.txt拷贝到dir下
- cp a.txt dir/b.txt 将当前目录下的a.txt拷贝到dir下,并命名为b.txt
- cp …/a.txt c.txt 将上一级目录下的a.txt拷贝到当前目录下,并命名为c.txt
mv 移动/重命名文件
mv a.txt b.txt 将a.txt重命名为b.txt
mv a.txt dir 将a.txt移动到dir里
pwd 显示路径
查看当前用户停留在哪个具体的路径下
whoami
su:普通–超级账号
普通账号与超级账号的相互切换
man:查看手册
man 被查看的命令
rm:删除
rm -r dir 删除文件夹
rm a.txt 删除a.txt文件
慎用 -rf
网络命令ifconfig
ifconfig命令:查看Linux下的ip地址
重定向 >>
查看文本文件
cat
一次性显示文件所有内容
cat a.txt
console
more 分页查看文件
more a.txt
回车:查看下一行
空格:查看下一页
less more只能向后看,less可以向前查看
less a.txt
ctrl+n 查看下一行
ctrl+f 查看前一页
ctrl+d 查看下一页
回车 下一行
空格 下一页
q 退出
clear清屏
history命令:查看历史记录
一般情况下Linux默认会记住最近使用的1000条命令
如果想重复执行之前执行过的命令:!历史命令编号
find命令:可以在指定的目录下查找文件
- 查找目录:find /(查找范围) -name ‘查找关键字’ -type d 准确查找
- 查找文件:find /(查找范围) -name 查找关键字 -print 准确查找
find 目录名 -name 查找的文件名
find -name ‘aaa.txt’ -print 在当前文件夹及其子目录下查找aaa.txt的文件
find -name 'aa.text' -print
find -name ‘a*.txt’ -print 在当前目录下查找以a开头的txt文件
find -name 'a*.text' -print
例如:find /home -name hello*
管道命令(“|”):可以将多个命令连接起来
tar命令:压缩与解压命令
压缩文件:tar -czvf 被压缩的文件(linux压缩的文件大多以.tar.gz)
解压文件:tar -zxvf 被解压的文件
Linux下压缩包常见有两种格式:.tar和.gz、.zip
.tar
-
压缩文件/目录
tar -cf 压缩包名 源文件/目录名
eg: tar -cf a.tar abc 将abc文件夹压缩成a.tar压缩包
-
解压压缩包
tar -xf 压缩包名
eg: tar -xf a.tar
.gz
压缩文件/目录
tar -czf xxx.tar.gz 要压缩的文件/目录
eg: tar -czf a.tar.gz abc 将abc目录压缩成a.tar.gz压缩包
解压压缩包
tar -zxvf 要解压的包
eg: tar -zxvf a.tar.gz 将a.tar.gz包解压
service命令
关闭防火墙:service iptables stop
开启防火墙:service iptables start
rpm -qa | grep命令
查看linux下是否安装了指定的软件
rpm -e --nodeps命令
卸载指定的软件(并且将依赖卸载掉)
kill命令:结束Linux下的进程
kill -9 进程号
管道命令 grep
管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。
管道命令使用|作为界定符号,管道命令与上面说的连续执行命令不一样。
管道命令仅能处理standard output,对于standard error output会予以忽略。
less,more,head,tail…都是可以接受standard input的命令,所以他们是管道命令
ls,cp,mv并不会接受standard input的命令,所以他们就不是管道命令了。
管道命令必须要能够接受来自前一个命令的数据成为standard input继续处理才行。
案例
grep:分析一行信息,如果其中有我们需要的信息,就将该行显示出来
cat a.text |grep -n '3'
cat b.txt | grep -n -c ‘3’ 统计b.txt中包含’3’的行数
cat a.text | grep -n -c '3'
cat b.txt | grep -n -v ‘3’ 查看b.txt中不包含’3’的行
cat a.text | grep -n -v '3'
cat b.txt | grep -n -v -c ‘3’ 统计b.txt中不包含’3’的行数
cat a.text | grep -n -v -c '3'
vim使用
i 进入编辑模式
esc 退出编辑模式
: 进入命令模式
w 保存
q 退出
wq 保存切退出
! !强制执行
vi命令(*):vi打开一个文件后,并不能够直接编辑文件。vi下的文件有三种状态:只读、编辑、命令状态
按下i,进入编辑状态
打开一个普通文本文件:vi 文本文件---->只读状态
vim | 环境的变更 |
---|---|
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号! |
命令 | 作用 |
---|---|
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) |
nx | n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 |
dd | 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。 |
ndd | n 为数字。剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴。 |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除游标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 |
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用) |
J | 将光标所在行与下一行的数据结合成同一行 |
c | 重复删除多个数据,例如向下删除 10 行,[ 10cj ] |
u | 复原前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
wim文件快速跳转
:set number
gg
66gg
附录vim文件的跳转
1.跳转到首行(文件的第一行第一列)
gg
# 输入两个小写gg
2.跳转到末行(文件的最后一行第一列)
G
#输入一个大写G
3.跳转到指定的第n行
66gg
66G
# 输入 ngg 或 nG, n 代表行号,光标会跳转到文件的第n行。例如 66gg 或 66G,光标会跳转到第66行。
4、跳转到当前行的行首、行尾
0:行首
$:行尾
5、左右移动
hl(小写的L):向左移动n位
nl(小写的L):向右移动n位
6、跳转到指定列
n + | (管道) 或者 0nl(小写的L)
防火墙命令
1.开放指定端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
8080/tcp
2.移除开放端口
firewall-cmd --remove-port=9091/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
linux下的权限
chmod u+r a.txt # 所属用户增加可读权限
chmod u-r a.txt # 所属用户减少可读权限
chmod u=r a.txt # 所属用户设置可读权限
chmod a+r a.txt # 给所有人增加可读权限
chmod u+x,g+w a.txt # 同时修改多个权限
chmod ug+x a.txt # 同时修改多个权限
chmod 777 a.txt # 给所有人增加读、写、执行权限
chmod -R 777 目录 # 修改目录及目录下所有文件的权限
change mode 修改文件、目录的权限
rw- 属主的权限,创建这个文件的人的权限
rw- 属组的权限
r— 其他人的权限
左边显示的就是文件的权限;
第一个字符信息就是文件的类型,这个文件类型有(d)目录文件、(-)普通文件、(p)管道文件、(c)字符设备文件、(b)块设备文件、(l)链接文件等等。
文件的普通权限有r(read 读 )、w(write 写)、x(execute 执行)权限。
除了第一个文件类型,一共有9个空位是用来显示文件的权限,分成三个,文件所有者(user)、所有组(group)、其他人(other)、还有一个是所有人(all),包括前面三个的意思。
在linux中,系统只认识二进制(0/1)的内容,那么读写执行是怎么转化成我们认识的权限,实际上,我们能看到的读写执行是八进制(0-7)显示的。
权限 | 二进制 | 八进制 | 内容描述 |
---|---|---|---|
— | 000 | 0 | 没有任何权限 |
–x | 001 | 1 | 只有执行权限 |
-w- | 010 | 2 | 只有写入权限 |
-wx | 011 | 3 | 有写入和执行权限 |
r– | 100 | 4 | 只有读的权限 |
rwx | 111 | 7 | 满权限,读写执行都有 |
chmod 777 a.txt # 给所有人增加读、写、执行权限
chmod -R 777 目录 # 修改目录及目录下所有文件的权限
参考博客:
https://blog.csdn.net/rhn_111/article/details/129083544
自定义命令
vim ~/.bashrc
vim ~/.bashrc
vim ~/.bashrc
#增加如下内容
alias dps='docker ps --format "table{{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"'
#保存退出 wq
#生效
source ~/.bashrc