Linux快速入门
本文总结了Linux常用命令,包括目录操作(pwd、ls、cd、mkdir、rm)、文件操作(cat、more、head、tail)、拷贝移动(cp、mv)、打包压缩(tar)、文本编辑(vim)以及查找命令(find、grep)。同时介绍了JDK安装步骤、防火墙管理和项目部署方法,推荐使用FinalShell或MobaXterm作为SSH工具,Ubuntu或CentOS7作为Linux系统。文章
本文就主要将linux常见命令总结一下,方便以后也会部分运维部署操作,不过命令能看懂,主要的部分有印象即可,这样方便知道往哪边查询。
远程SSH工具推荐finalshell或者MobaXterm都行,然后linux的安装就用VMware安装即可(如果以后工作应该就不用VMware了),推荐使用ubuntu,centos7也行。
Linux
/ 是所有目录的顶点 (./和末尾的/可以省略不写)
-
Linux 系统中的路径 /itheima 与 itheima 有区别吗?
-
有
-
/itheima 是绝对路径,是指根目录 / 下的 itheima 目录
-
itheima 是相对路径,是指当前目录下的 itheima 目录 类似./
-
目录操作命令
1.pwd
查看当前文件夹所属目录
2.ls
ls [-al] [dir]: 显示指定目录下的内容 ll /usr是查看根目录下的usr文件夹中的详细信息,如果不加/则是查找当前目录往下的指定目录 而且linux中不要看后缀名,只能看前边d才是目录-表示文件
其实-a大多都是将.隐藏文件都查看出来了
3.cd
-
作用:用于切换当前工作目录,即进入指定目录
-
语法:cd [dirName] (注意cd itcast | cd itcast/ | cd ./itcast含义都一样,用第一个即可)
-
说明:
-
. 表示目前所在的目录
-
.. 表示目前目录位置的上级目录
-
~ 表示用户的home目录
-
-
举例:
-
cd .. 切换到当前目录的上级目录
-
cd ~ 切换到用户的home目录(普通的用户目录,而且展示也是~)
-
cd /usr/local 切换到/usr/local目录
-
cd - 切换到上一次所在目录
-
用户类型 | 主目录(Home Directory)路径 | 与 /home 的关系 |
---|---|---|
普通用户(如 user1 ) |
/home/user1 |
主目录是 /home 的子目录 |
root 用户(管理员) | /root |
主目录与 /home 完全独立 |
4.mkdir
-
作用:创建目录
-
语法:mkdir [-p] dirName
-
说明:
-
-p:确保父目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
-
-
举例:
-
mkdir itcast 在当前目录下,建立一个名为 itcast 的子目录
-
mkdir -p itcast/test 在 itcast 目录中创建 test 子目录,若 itcast 目录不存在,则建立一个
-
5.rm
-
作用:删除文件或者目录
-
语法:rm [-rf] name
-
说明:
-
-r:将目录及目录中所有文件(目录)逐一删除,即递归删除
-
-f:无需确认,直接删除
-
-
举例:
-
rm -r itcast/(/也可以省略,只不过tab补全时自动加上了) 删除名为 itcast 的目录和目录中所有文件,删除前需确认
-
rm -rf itcast/ 无需确认,直接删除名为 itcast 的目录和目录中所有文件
-
rm -f hello.txt 无需确认,直接删除 hello.txt 文件
-
6.history
查看历史记录,方便我们复制之前写过的指令
文件操作命令
注意以下命令不能对目录进行操作
1.cat
只适合查看小文件,否则容易刷屏,而且不能查看目录
-
作用:用于显示文件的所有内容
-
语法:cat [-n] fileName
-
说明:
-
-n :由1开始对所有输出的行数编号 可以打印行号
-
-
举例:
-
cat /etc/profile 查看/etc目录下的profile文件内容
-
2.more
-
作用:以分页的形式显示文件内容
-
语法:more fileName
-
操作说明:
-
回车键 向下滚动一行
-
空格键 向下滚动一屏
-
b 返回上一屏
-
q或Ctrl+C 退出more
-
-
举例: more /etc/profile 以分页方式显示/etc目录下的profile文件内容
3.head
-
作用:查看文件开头的内容
-
语法:head [-n] fileName
-
说明:
-
-n :输出文件开头的n行内容
-
-
举例:
-
head 1.log 默认显示1.log文件开头的10行内容
-
head -20 1.log 显示1.log文件开头的20行内容
-
4.tail
-
作用:查看文件末尾的内容
-
语法:tail [-nf] fileName
-
说明:
-
-n :输出文件末尾的n行内容
-
-f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出,比如我们的log4j就是追加模式写入日志
-
-
举例:
-
tail 1.log 默认显示1.log文件末尾10行的内容
-
tail -20 1.log 显示1.log文件末尾20行的内容
-
tail -f 1.log 动态读取1.log文件末尾内容并显示(实时刷新)
-
5.echo
echo 111111111111111111 >> tlias.log 可以向指定文件输入内容
拷贝移动命令
1.cp拷贝
注意只是拷贝所以文件没有移动即没有消失,仍然可以ls查看到
-
作用:用于复制文件或目录
-
语法:cp [-r] source dest
-
选项:
-
-r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
-
-
举例:
-
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目录下
-
2.mv移动或重命名
-
作用:为文件或目录重命名、或将文件或目录移动到其它位置(第二个参数是已存在的目录执行移动)
-
语法:mv source dest
-
举例:
-
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 目录中,并改名为 hello.txt
-
mv itcast/itheima/ 如果 itheima 目录不存在,将 itcast 目录改名为 itheima
-
mv itcast/itheima/ 如果 itheima 目录存在,将 itcast 目录移动到 itheima 目录中
-
打包压缩命令
tar
-
作用:对文件进行打包、解包、压缩、解压
-
语法:tar [-zcxvf] fileName [files]
-
说明:
-
包文件后缀为.tar表示只是完成了打包,并没有压缩
-
包文件后缀为.tar.gz表示打包的同时还进行了压缩
-
-
选项:
-
-z:z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-
-c:c代表的是create,即创建新的包文件 打包
-
-x:x代表的是extract,实现从包文件中还原文件 解包 (打包和解包互斥)
-
-v:v代表的是verbose,显示命令的执行过程
-
-f:f代表的是file,用于指定包文件的名称
-
打包
通常打包的时候就包含压缩了, 而且如果不想输出详细信息,-v可以省略,而且此时这些指令有顺序
-
tar -cvf hello.tar hello
:将当前目录下所有文件打包,打包后的文件名为hello.tar
-
tar -zcvf hello.tar.gz hello
:将当前目录下所有文件打包并压缩,打包后的文件名为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
虽然vi也可以,不过vim相当于升级版,并且编辑内容有醒目提醒
注意: vim 文件如果不存在,也会自动在当前目录创建
-
输入vim后是处于命令模式状态(可以输入命令模式指令),此时不能直接编辑文件
-
然后i,a,o随便输入一个进入插入模式开始编辑,写完之后需要先按下ESC退出到命令模式
-
此时按下:进入底行模式然后可以输入命令了(注意此时:wq等就是一个整体,输入:后此时不会消失)
-
底行模式想退出,可以把:删掉或者ESC都可以
查找命令
1.find
-
作用:根据文件属性在指定目录下查找文件
-
语法:find dirName -option fileName
-
举例:
-
find . -name "*.log" 在当前目录及其子目录下查找.log 结尾文件
-
find /itcast -name "*.log" 在 /itcast 目录及其子目录下查找.log 结尾的文件
-
-
一般根据name也就是文件名进行查找即可,也可以根据权限等不过用的不多
2.grep
-
作用:从指定文件中查找指定的文本内容 (比cat更灵活一些,比如可以方便我们查找异常以及上下文)
-
语法:grep [-inAB] word fileName
-
选项:
-
-i:检索的关键字忽略(ignore)大小写
-
-n:显示关键字所在的这一行的行号
-
-A:输出关键字所在行及之后(After)的几行记录(如:-A5 表示输出关键字所在行之后的5行记录)
-
-B:输出关键字所在行及之前(Before)的几行记录(如:-B5 表示输出关键字所在行之前的5行记录)
-
-
举例:
-
grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
-
grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
-
grep -in -A5 -B5 'exception' tlias.log 注意: 单引号也可以不加,不过如果有特殊字符$空格等则必须加上
find 与 grep 都是查找命令,两者之间的区别:
-
find 命令是根据文件的属性(如:文件名)来查找文件的
-
grep 命令是根据指定的关键字,来查找文件内容的
安装 JDK(只不过是清楚一下基本的步骤,因为用docker安装更加简单方便)
操作步骤: 1、使用 FinalShell 自带的上传工具将 jdk 的二进制发布包上传到 Linux [jdk-17.0.10_linux-x64_bin.tar.gz] 2、解压安装包,命令为 tar -zxvf jdk-17.0.10_linux-x64_bin.tar.gz -C /usr/local 3、配置环境变量,使用 vim 命令修改 /etc/profile 文件,在文件末尾加入如下配置
-
export JAVA_HOME=/usr/local/jdk-17.0.10
-
export PATH=$JAVA_HOME/bin:$PATH
4、重新加载 profile 文件,使更改的配置立即生效,命令为 source /etc/profile 5、检查安装是否成功,命令为 java -version
防火墙操作
Ubuntu 默认使用 ufw(想要适用就安装firewalld)所以下方命令不适用,不过centos适用
-
查看防火墙状态(systemctl status firewalld、firewall-cmd --state)
-
关闭防火墙(systemctl stop firewalld)
-
开启防火墙(systemctl start firewalld)
-
永久关闭防火墙(systemctl disable firewalld)
推荐做法:
-
开放指定端口(firewall-cmd --zone=public --add-port=8080/tcp --permanent)
-
关闭指定端口(firewall-cmd --zone=public --remove-port=8080/tcp --permanent)
-
立即生效(firewall-cmd --reload)
-
查看开放的端口(firewall-cmd --zone=public --list-ports)
注意:
-
1、systemctl 是管理 Linux 中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
-
2、firewall-cmd 是 Linux 中专门用于控制防火墙的命令
-
3、为了保证系统安全,生产服务器的防火墙不建议关闭
项目部署
以下是传统方式,如果用docker更加便捷
nginx 启动、停止、重新加载操作 ?
-
启动:sbin/nginx
-
停止:sbin/nginx -s quit
-
重新加载:sbin/nginx -s reload
后端项目部署
-
执行maven的父工程中的package生命周期,对项目进行打包 【打包之前,先连接上服务器数据库,先测试通过】。
-
在linux服务器的/usr/local目录下,创建一个目录tlias-app,将jar包上传到服务器的 /usr/local/tlias-app 目录中。
-
然后在命令行执行命令,运行jar包 :java -jar xxxxxx.jar
上述执行运行jar包之后,会占用前台窗口,窗口关闭服务也就停了。可以使用 nohup 指令,后台运行服务,执行指令: nohup java -jar xxxxxx.jar &> tlias.log &
查看进程:ps -ef | grep xxxx
Linux 中的特殊符号:
-
|:管道符。将前面命令的输出,作为后面命令的输入。如:ps -ef | grep java
-
与 >> :重定向符号。将前面的文本内容,输出到后面的文件中(> :覆盖重定向,>> :追加重定向)。 如:echo 'Hello Linux' > 1.log
更多推荐
所有评论(0)