Linux 基本使用

简介: Linux 基本使用

一. Linux 常用指令

1.1 [root@device ~]#

•  root 是当前用户名


•  device 是当前主机名,每个用户的用户名是不同的


•  ~ 表示当前所在的目录 ,~ 在 linux 中有特定的含义,表示 home(用户数据存放的目录里) 目录


•  # 表示当前权限是管理员, $表示当前权限是普通用户

1.2 ls

语法 : ls [选项] [目录或文件]

功能:  列出当前目录/指定目录 中都有哪些文件,相当于,双击了某个目录,查看里面的内容

常用选项:

•  -a 列出目录下的所有文件,包括以 . 开头的隐含文件


•  -d 将目录像文件一样展示, 而不是显示其下的文件. 如: ls -d 指定目录


•  -k 以k 字节的形式表示文件的大小. ls -alk 指定文件


•  -l 列出文件的详细信息


•  -r对目录返乡排序


•  -t 以时间排序


•  -R列出所有子目录下的文件(递归,包含孙子文件等..)

举例:

ls -l

注:白色的是文件, 蓝色的是目录 , 红色的是安装包,绿色的是可执行程序

拓:

•  ls / : /表示 linux 的"根目录", 对标 windows 中的"此电脑", 云服务器上任何一个文件,都是从属于 / 目录的


•  ls /root  这个指令的效果和直接敲 ls 是一样的, 因为 root 的用户的 home 目录就是 /root,也就是当以 root 身份登录后,默认所在的目录, /root 就是 root 用户的 ~目录


1.3 cd

change directory

Linux 系统中 ,磁盘的文件 和目录被组成一颗目录树,每个节点都是目录或文件

语法: cd 目录名

功能: 改变工作目录. 将当前工作目录改变到指定的目录下

举例:

•  cd . . : 返回上级目录

•  cd ~ :进入用户目录

•  cd - : 返回最近访问目录

cd 后面跟上你想要切换的目录路径(路径,可以是绝对路径,也可以是相对路径 )

•  绝对路径是以 / 开头的

•   . 成为当前目录

•   .. 成为当前目录的上级目录

•  cd 后面不加任何选项/路径,此时就会回到 home 路径

1.3 pwd

语法: pwd

功能: 显示用户当前所在的目录的完整路径

1.4 touch

语法: touch [选项]... 文件...

功能: touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

举例:

touch test.txt

1.5 cat

语法: cat [选项] [文件]

功能: 查看目标文件的内容(针对短小的文件还好,如果文件很大,很长,就力不从心了)

常用选项:

-n 对输出的所有行编号

举例:

cat test.txt

1.6 man

语法: man linux命令

功能: 查看linux 的命令是干什么的

举例:

man cat

1.7 echo

echo "...": 用于把内容打印到控制台上

echo "..." > text.txt 把内容写入到指定文件中(但是每次进行 echo + 重定向,会清空原有内容)


">" 大于号 在linux中相当于重定向


1.8 vim

vim 相当于 Windows 的记事本,只不过功能比记事本强大一些.

1) 创建文件/打开文件

vim [文件名]

2)进入插入模式

vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊通能的快捷键.(例如按下 j 并不是输入字母 "j" .而是表示光标往下移动一行)需要进入插入模式才能进行文本编辑.


使用 i 键 可以进入到插入模式(左下角提示 --INSERT --)然后就可以像记事本一样正常编辑了


3) 保存


在插入模式下不能保存文件,需要先回到 普通模式,按下 Esc 回到普通模式


在普通模式下输入: w , 再按下回车,即可保存文件


4) 退出


在插入模式下不能退出,需要先回到 普通模式


在普通模式输入: q, 再按下回车,即可退出.


也可以直接使用 wq 同时保存和退出


注:可以直接在终端输入 vimtutor 进入官方教程.

1.8 mkdir

语法:  mkdir [选项] dirname...

功能: 在当前目录下创建一个名为"dirname" 的目录

常用选项:

-p ,--parents 可以是一个路径名称.此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录

举例: mkdir

mkdir -p test/test1  : 递归建立多个目录

1.9 rm

语法: rm [选项] [dirName/dir]

功能: 删除文件或目录

常用选项:

•  -f 即使文件属性为只读(即写保护),亦直接删除

•  -i 删除前注意询问确认

•  -r 删除目录即其下所有文件

举例:

rm text.txt

rm -r : 删除目录即目录中的子目录

rm -rf * : 删除 目录中的所有内容,且不递归询问

重要注意事项:

千万不要运行 rm -rf / , 尤其是在公司的生产服务器上. 这个目录直接将根目录删除了

1.10 cp

语法: cp [选项] 源文件或目录 目标文件或目录


功能: 复制文件或目录


说明: cp 指令用于复制文件或目录, 如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中. 若同时指定多个文件或目录,且最后的目的地并非一个已存在的目录,则会出现错误信息.如果指定一个文件或目录,且最后的目的地是一个并不存在的目录,则会创建该目录,并重命名为给定的目录

常用选项:


•  -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在


•  -i 或 --interactive 覆盖文件之前先询问用户


•  -r 递归处理, 将指定目录下的文件与子目录一并处理. 若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理


•  -R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理

举例:

cp test1.txt test2.txt

1.11 mv

语法: mv [选项] 源文件或目录 目标文件或目录

功能:


1. 视mv 命令中的第二个参数类型的不同(是文件还是目录), mv命令文件重命名或将其移至一个新的目录中


2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名文为给定的目标文件名


3  当第二个参数是已经存在的目录名时,源文件或目录参数有多个,mv命令将各参数指定的源文件均移至目标目录中    


常用选项:

• -f : force 强制的意思, 如果目标文件已经存在,不会询问而直接覆盖

• -i : 若目标文件已经存在时,就会询问是否覆盖

对比 mv 和 cp ,cp 是比较慢的~~,尤其是 cp 比较大的目录或者文件~~ 需要大规模读写硬盘.mv 则是非常快的~~ ,即使mv 移动的目标很大,也是瞬间完成.对于文件系统中,每个文件的"路径"就是一个简单的属性.mv 就只是修改了这个路径属性而已.


注:由于linux 中没有回收站,通常会创建一个目录,用来当做回收站,使用mv 来模拟回收站

1.12 grep

语法: grep [参数]... [文件]...

功能: 用于查找文件中是否包含指定字符串, 并显示对应的行

选项:

•  -n <行数> 显示的行数


•  -w 全字匹配, 要求整个单词都完全相同的结果才能匹配出来,而不仅仅是一个单词的一部分


•  -r 递归查找. 可以搜索多级目录下的所有文件.


•  --color 高亮查找到的结果


•  --include 指定查找某些文件


•  --exclude 指定排除某些文件

举例:

grep "hello"  text.txt

1.13 ps

语法: psi[参数]...

功能: 用于查看当前操作系统上运行的进程

选项:  

•  a 显示一个终端的所有进程

•  u 一用户为主的格式显示程序状况

•  x 显示所有程序, 不以终端机来区分

举例:

ps aux  # 显示系统上所有的进程

ps aux  | grep "进程名"

ps aux  | grep "进程id"

1.14 netstat

语法: netstat [参数]...

功能:  查看系统上的网络状态

选项:  

•  -a 显示所有正在或不在侦听的套接字

•  -n 显示数字形式地址而不是去解析主机, 端口或用户名

•  -p 显示套接字所属进程的 PID和名称

举例:

netstat -anp

netstat -anp | grep "进程名"

netstat -anp | grep "端口号"

二 web 程序部署

2.1 linux安装jdk

yum 相当于我们手机上的应用商店,不同的是此处我们是通过命令行的方式进行安装的


常用命令:


yum list :查看当前的软件包有哪些,使用时一定要搭配grep 使用,否则加载时间会特别长


yum install : 安装指定的软件包.


yum list | grep jdk  

就会出现下面的很多版本的jkd.

yum install java-1.8.0-openjdk-devel.x86_64

执行上述命令行就能够安装了

安装完毕后可以通过 javac 命令来查看是否安装成功

2.2 linux 下安装 Tomcat

1. 下载压缩包:

•  注意: 一定要先安装号jdk 后再安装 Tomcat,因为Tomcat是java写的程序,需要jdk运行


• 下载 Tomcat 首先去官网下载对应的Tomcat 压缩包,然后直接往linux中要下在的目录拖过去就行了


• 注意:有的可能会失败,需要 yum install lrzsz.


• rz 是把文件从 windows 上传到linux,sz 是把文件从linux传给 windows.


• 直接往上拖,其实就是自动指定了 rz


2. 解压缩压缩包


• 完成上述操作后,我们只需要解压缩就行了


• 注意: 当我们执行 unzip apache-tomcat-8.5.91.zip时,可能会报错:unzip: command not found


• 此时我们只需要安装unzip 就行了: yum install -y unzip


3. 赋予权限


• 我们解压缩后的Tomcat是没有执行权限的,需要我们在bin目录下运行: chmod +x *.sh


• 当我们运行ll 后,会发现所有的.sh 为后缀的文件都变绿了,证明权限赋予成功了


4. 启动 tomcat


• 先检查下 tomcat 的端口是否已经被占用了.(新的机器一般不涉及)

当我们执行命令后,发现是上述结果,说明两个端口是空闲的.

• 在bin 目录中,使用 sh startup.sh 启动tomcat

• 检查 tomcat 的运行状态: netstat -anp | grep 8080

• 查看进程: ps aux |grep tomcat


• 也可以通过在浏览器 通过访问tomcat欢迎页面来查看是否运行成功  


但是新的服务器,在浏览器可能会访问不到,因为 8080 这个端口默认情况下是被防火墙给保护起来了! 需要我们打卡云服务器的防火墙~~, 把8080 端口开放出去.不同的云服务器厂商配置方式不一样,以下以阿里云服务器为例:

1) 首先找到我们的服务器设备:

2) 点击相应的设备查看更多

3)点击安全组进行配置(轻量应用服务器中是防火墙,而ECS中是安全组)

4)手动添加,然后进行保存就行了

2.3 linux 下安装 mysql

CentOS 7 通过 yum 安装 MariaDB - 知乎 (zhihu.com)

三 linux 下部署web程序

3.1 微调代码,保证代码能够连得上云服务器上的数据库

3.2  建库建表

通过 mysql -uroot 进入数据库

3.3 打war包,将打好的war 包拖到tomcat中

将打好的war包拖到webapps中,linux会自动解压缩,通过在浏览器上输入地址就可以访问到了

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
存储 缓存 网络协议
Linux系统之ARP命令的基本使用
【7月更文挑战第2天】Linux系统之ARP命令的基本使用
105 2
|
6月前
|
Linux
Linux系统之date命令的基本使用
Linux系统之date命令的基本使用
74 3
|
4月前
|
监控 Linux Shell
Linux系统之nice命令的基本使用
【7月更文挑战第10天】Linux系统之nice命令的基本使用
75 2
|
4月前
|
网络协议 Ubuntu Linux
Linux系统之mtr命令的基本使用
【7月更文挑战第5天】Linux系统之mtr命令的基本使用
176 3
|
4月前
|
缓存 监控 Linux
Linux系统之smem命令的基本使用
【7月更文挑战第1天】Linux系统之smem命令的基本使用
112 2
|
5月前
|
安全 Unix Linux
linux系统的基本使用
Linux系统是一种开源和社区开发的操作系统,基于POSIX和UNIX标准,具有多用户、多任务、多线程和多CPU支持的特点。
63 3
|
6月前
|
Linux 测试技术 开发工具
Linux系统之advcpmv工具的安装和基本使用
【5月更文挑战第21天】Linux系统之advcpmv工具的安装和基本使用
74 2
|
6月前
|
存储 监控 Ubuntu
Linux系统之GoAccess实时Web日志分析工具的基本使用
【5月更文挑战第22天】Linux系统之GoAccess实时Web日志分析工具的基本使用
196 1
|
6月前
|
网络协议 关系型数据库 MySQL
Linux系统之dig命令的基本使用
Linux系统之dig命令的基本使用
383 2
Linux系统之dig命令的基本使用
|
6月前
|
缓存 网络协议 Unix
Linux系统之ip命令的基本使用
Linux系统之ip命令的基本使用
58 1
Linux系统之ip命令的基本使用