Linux
Linux 常用命令
Linux命令初体验
几个常用命令
序号 | 命令 | 对应英文 | 作用 | ||
---|---|---|---|---|---|
1 | ls | list | 查看当前目录下的内容 | ||
2 | pwd | print work directory | 查看当前所在目录 | ||
3 | cd[目录名] | change directory | 切换目录 | ||
4 | touch[文件名] | touch | 如果文件不存在,新建文件(已存在则无效) | ||
5 | mkdir[目录名] | make directory | 创建目录 | ||
6 | rmdir[目录名] | remove directory | 删除目录 | ||
6 | rm[文件名] | remove | 删除指定文件 | ||
命令使用技巧
- Tab键自动补全
- 连续两次Tab键,给出操作提示
- 使用上下箭头快速调出曾经是用过的命令
- 使用clear命令或者 Ctrl + l 快捷键实现清屏
命令格式
Command [-options] [parameter]
-
Command 命令名
-
[-options] 选项,可用来对命令进行控制,也可以省略
-
[-options] 传给命令的参数,可以使零个,一个或多个
注意
- [] 代表可选择
- (- 不可省略)
- 命令,选项,参数 之前有 空格 进行分割
文件目录操作
ls
ls [-al] [dir]
- -a 显示指定目录下的内容
- -l 初文件名称外,同时将文件形态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
- 注意
- ls -l ====》简化为: ll
cd
cd [dirName]
- ~ 表示用户的home 目录
- . 表示目前所在的目录
- … 表示目前目录的 上级目录
cat
cat [-n] fileName
- -n : 由1开始输出所有的行数编号
- eg
- cat /etc/profile 查看 /etc 目录下的profile文件内容
- 或者这样:cat -n /etc/profile 这样文件内容前面那就有编号,方便看了
- eg
more
more fileName
以 分页的方式显示文件内容
- 回车 向下滚动一行
- 空格 向下滚动一屏
- b 返回上一屏
- q 或 ctrl+c 退出more
tail
taile [-f] fileName
查看文件末尾的内容
注意
- -f : 动态读取文件末尾内容并战术,通常用于日志文件的内容输出
eg:
- tail /etc/profile 显示profile文件末尾10行的内容
- tail -20 /etc/profile 显示profile文件末尾20行的内容
- tail -f /itcast/my.log 动态读取/itcast目录下的 my.log 文件末尾内容并显示
mkdir
mkdir [-p] dirName
创建目录
- -p : 确保目录名称存在,不存在就创建一个: 即可以实现多层目录同时创建
rmdir
rmdir [-p] dirName
删除目录,前提被删目录是空目录
-
-p : 当子目录被删除后,父目录为空? 则一并删除
-
rmdir itcast* 删除名称以 itcast 为开头的空目录
-
- 这里删除顺序是 itcast/1/2/3 = = => itcast/1/2 = = = > itcast/1 = = = > itcast
rm
rm [-rf] name
删除文件或者目录 (不为空的也可以删除)
- -r 将目录以及目录中所有文件(目录)逐一删除,即递归删除
- -f 无需确认,直接删除
eg:
- rm -r itcast/ 删除名称为 itcast的目录和目录中的所有文件,删除前需要确认
- rm -rf itcast/ 无需确认,直接删除名称为 itcast的目录和目录中的所有文件
- rm -f hello.txt 无需确认,直接删除名称为 hello.txt 文件
拷贝移动命令
cp
cp [-r] source dest
用于复制文件或目录
- -r 如果复制的是目录,需要使用此选项,此时将复制该目录下所有的子目录和文件
eg:
-
cp hello.txt itcast/ 将hello.txt 复制到 itcast 目录中
-
cp hello.txt ./hi.txt 将hello.txt 复制到 当前目录 并改名为 hi.txt
-
cp -r itcast/ ./itheima/ 将 itcast 目录和目录下所有文件复制到 itheima 目录中
-
cp -r itcast/* ./itheima/ 将 itcast 目录下所有文件复制到 itheima 目录中
mv
mv sourcce dest
为文件或目录改名,或将文件或目录移动到其他对方
eg:
-
mv hello.txt hi.txt 将hello.txt 改名为 hi.txt
-
mv hi.txt itheima/ 将hi.txt 移动到 itheima 目录中
-
mv hi.txt itheima/hello.txt 将hi.txt 移动到 itheima 目录中,并改名为 hi.txt
-
mv itcast/ itherma/ 如果itherma目录不存在, 将itcast目录改名为 itheima
-
mv itcast/ itherma/ 如果itherma目录存在, 将itcast目录移动到 itheima目录中
打包压缩命令
tar
tar [-zcxvf] fileName [files]
对文件进行打包,解包,压缩,解压
包文件后缀为 .tar 表示只完成了打包,并没有压缩
包文件后缀为 .tar.gz 表示完成了打包还进行了压缩
解释:
- -z z表示gzip, 通过gzip命令处理文件
- -c c代表create ,即创建新的包文件
- -x x表示extract,实现从包文件中还原文件
- -v v代表verbose,显示命令的执行过程
- -f f代表file,用于指定包文件的名称
Eg:
打包
- tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名称为 hello.tar
- tar -cvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名称为 hello.tar.gz
解包
- tar -xvf hello.tar 将hello.tar文件解包,并将解包后的文件放在当前目录
- tar -zxvf hello.tar.gz 将hello.tar.gz文件解压,并将解压后的文件放在当前目录
- tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件解压,并将解压后的文件放在 /usr/local目录
文本编辑命令
安装vim
yum install vim
语法
vim fileName
对文件内容进行编辑,vim其实就是一个文本编辑器
三种模式
说明
- 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件,如果指定的文件不存在则新建问价
- vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。使用时一定注意当前是什么模式
1.命令模式
- 命令模式下可以查看文件内容,移动光标(上下箭头、gg、G)
- 通过vim命令打开文件后,默认进入命令模式
- 另外两种模式需要首先进入命令模式,才能进入彼此
2.插入模式
- 插入模式下可对文件内容进行编辑
- 在命令模式下按 [i,a,o] 任意一个,可以进入插入模式,进入插入模式后,下方会出现 [insert ]字样
- 在插入模式下按 Esc 键,回到命令模式
3.底行模式
- 底行模式下可以通过命令对文件内容进行**查找(/word),显示行号(:set nu),保存退出(:wq)**等操作
- 在命令模式下按 [:,/] 任意一个,进入底行模式
- 通过 / 方式进入底行模式后可以对文件内容进行查找
- 通过:方式进入底行模式后可以输入 wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
查找命令
1. find
find dirName -option fileName
在指定目录下查找文件
eg:
- find . -name “*.java” 在当前目录及其子目录下查找 .java 结尾文件
- find /itcast -name “*.java” 在 /itcast 目录及其子目录下查找 .java 结尾的文件
2. grep
grep word fileName
从指定文件中查找指定的文本内容
eg:
- grep HelloWorld.java 查找HelloWorld.java 文件中出现的Hello字符串的位置
- grep hello *.java 查找当前目录中所有的 .java 结尾的文件中包含hello字符串的位置
ps与grep结合
ps -ef|grep tomcat
查看进程
- ps命令是 Linux 下非常强大的进程查看命令,通过 ps -ef 可以查看当前运行的所有进程的详细信息
- “|” 在 Linux 中称为管道符,可以将前一个命令的输出结果给后一个命令作为输入
- 使用ps命令查看进程时,经常配合管道符合查找命令grep一起使用,来查看特定进程
防火墙操作
- 查看防火墙状态:systemctl status firewalld、firewall-cmd --state
- 暂时关闭防🔥墙:systemctl stop firewalld
- 永久关闭防🔥墙:systemctl disable firewalld
- 开启防🔥墙:s
- 开放指定端口:firewall-cmd --zone=public --add-port=8081/tcp --permanent
- 关闭指定端口:firewall-cmd --zone=public -remove-port=8080/tcp --permanent
- 立即生效:firewall-cmd --reload
- 查看开放的端口:firewall-cmd --zone=public --list-ports
注意:
- systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
- firewall-cmd是Linux中专门用于控制防火墙的命令
- 为了保证系统的安全,服务器的防火墙不建议关闭
项目部署
手工部署项目
- 打jar包
- 运行:java -jar *.jar
目前存在的问题
- springboot直接霸屏控制台,我们需要让他在后台运行
- 日志直接输出到了控制台,我们需要让他输出到日志文件,方便运维查阅信息
nohup 命令:英文全称 no hang up(不挂起),用于不挂断地方式运行指定命令,退出终端不会影响程序的运行
语法格式:nohup Command [Arg … ] [&]
参数说明:
Comman:要执行的命令
Arg:一些参数,之一指定输出文件
&:让命令在后台运行
举例:
nohup java -jar boot工程.jar &》 hello.log & 后台运行 java -jar 命令,并将日志输出到 hello.log 文件(没有就自动创建)
通过Shell脚本自动部署项目
- 未完待续。。。。