Linux命令

Linux

注意,此篇文章只是简单介绍linux,因为博主主要是java方向的
java程序员学linux主要是把写好的网站部署到互联网上,可以让其他用户访问到
这里我的linux是centos7
Linux是一个操作系统(搞管理的软件),和windows并列
Linux准确的来说是一个统称,或者可以认为是一个“操作系统内核”
一个完整的系统=操作系统内核(linux)+配套的应用程序
linux是一个免费的开源工具,于是就有很多企业基于linux内核,搭配了不同的应用程序,从而诞生了不同的操作系统,这些操作系统由于都是基于linux的,于是统称linux

环境搭建

主要有四种:

  1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好. [不推荐].
  2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. [非常不推荐]
  3. 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows
    系统内集成了一个 Linux. 但是目前这个技术还不够成熟. [暂时不推荐].
  4. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. [墙裂推荐]
    使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真的去给别人去使用.能够在外网被访问是非常有意义的. 这样我们以后面试的时候就可以提前部署好项目, 现场给面试官演示了.

使用云服务器

我们以腾讯云为例, 其他的服务器厂商也是类似.

  1. 进入官方网站腾讯云(直接在百度上搜 “腾讯云校园计划”)
  2. 登陆网站(可以使用 qq 或者 微信 登陆)
    Linux命令_第1张图片
    3.右侧的操作系统选择 CentOS 7.6 64位. 购买时长根据需要选择(建议1年), 点击立即购买即可. 这个步骤需要实名认证, 否则会提示
    Linux命令_第2张图片
    4.点击立即认证, 按照系统提示, 完成实名认证即可(认证速度很快).
    购买完成后, 可以在控制台中找到自己买的服务器. 点进去能够看到服务器的 IP 地址.
    Linux命令_第3张图片
    Linux命令_第4张图片
    Linux命令_第5张图片
    在这个环节我们最重要的是得到三个信息:
  3. 服务器的外网 IP
  4. 服务器的管理员账户 (固定为 root)
  5. 管理员账户密码(在腾讯云网站上设置的)
    这三个信息是我们登陆到 Linux 上的必要条件.

使用终端软件连接到linux

终端软件是一类工具软件, 可以和远程的主机建立网络连接, 从而对主机进行一些操作.这里使用的是xshell
XShell 提供了两种授权方式.
企业版: 收费.
家庭/教育版: 免费.
我们选择 家庭/教育 版即可. 下载的时候需要填一下名字和邮箱. 下载链接会被发送到填写的邮箱中.
Linux命令_第6张图片
使用 XShell 登陆主机
左上角打开,然后新建会话
Linux命令_第7张图片
在 XShell 终端下输入
ip 为腾讯云后台页面中看到的 外网 IP.
如果网络畅通, 将会提示输入用户名密码. 输入即可正确登陆.
备注: 这里的用户名为 root, 密码是在最初购买服务器的时候设置的密码.

Linux常用命令

Linux命令_第8张图片
以后我们就用管理员的方式就行了
在linux上,操作的时候都是靠输入命令的方式来进行的,不像windows那样有一个图像化的界面
其实linux也是有图形化界面的,但是在实际工作中,一般不会使用,甚至不会安装
接下来的命令,都是属于linux上最常用的命令,其中相当一部分都是和文件/目录相关的操作

ls

ls–list
列出当前目录/指定目录中都有哪些文件,相当于双击了某个目录,查看里面的内容
在这里插入图片描述
其中蓝色的是目录,白色的是普通文件,红色的是压缩文件
ls后面跟上一个具体的目录,就可以看到指定目录中的内容
在这里插入图片描述
Linux命令_第9张图片
在xshell中,用ctrl+l来清屏

常用选项

1.-l 列出文件的详细信息。 (可以用ll来替换ls -l)
-l分为加了/和没加/
没加/ 相当于文件平铺式的排列(第一种)
加了/就相当于取消文件格式的排列(第二种)
Linux命令_第10张图片

2.-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
3.-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
4.-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
5.-r 对目录反向排序。
6.-t 以时间排序。
7.-R 列出所有子目录下的文件。(递归)
其他不多做解释,自己演示
这些选项也叫做命令行参数,参数和参数之间至少用一个空格来分割,这些选项都不需要去记

cd

change directory切换目录
相当于在文件资源管理器中,双击某个目录
cd后面,跟上你要切换的目录的路径,可以是绝对路径也可以是相对路径
linux上的绝对路径是以/开头的
相对路径也是以./(当前目录)和…/(当前目录的上一级目录)开头的
Linux命令_第11张图片
在这里插入图片描述
随着cd的进行,当前所在的目录就会发生变化
在输入命令/输入文件目录的时候,可以使用tab来补全

直接使用cd,后面不加任何选项/路径,此时就会回到home目录
Linux命令_第12张图片

pwd

防止用户迷路的,有时候cd太多了,都不记得当前处在哪个路径中了,就可以用pwd查看当前的完整路径是啥

touch

创建一个空的文件

cat

cat–concatenate
读取文件内容
cat针对简单短小的文件还好,如何文件很大很长,cat就不方便了

man

用户命令手册,去查一些命令以及它的用法的
比如我输入一个man cat
Linux命令_第13张图片

就会出现
Linux命令_第14张图片
查完了可以按q退出

echo

echo是回显的意思,可以回显到控制台上
在这里插入图片描述
也可以写入文件里面
Linux命令_第15张图片
但是如果再往这个文件里写新的内容,再用cat读取的时候,文件里的内容就会变成新写入的内容了
Linux命令_第16张图片
因此每次进行exho+重定向就会清空原有内容,这样就有点麻烦,有的时候我们想在中间加点儿内容啥的,用echo就不行
因此cat和echo这样的命令只适合针对简单的文件进行操作,如果文件复杂或者编辑的需求复杂,就不太适合了

echo和cat并不是没有用,当我们需要使用脚本批量处理很多操作的时候可以用到
假设有一个服务器集群,有百八十台机器,每个服务器上都有一个数据文件,这个数据文件上记录了一个信息(比如,记录了当前可执行程序的版本号),就可以写一个脚本,通过这个脚本,自动登录到这些机器上,并且读取文件内容,获取到版本号

vim

vim就可以针对复杂的文件,进行复杂的编辑
vim是linux上自带的文本编辑器,相当于windows的记事本
vim的功能非常复杂,但是这里只介绍最最最基本的三个功能’
1.打开文件
使用vim 文件名/文件路径
2.编辑文件
为了追求编辑效率,vim引入了大量的快捷键,默认情况下,键盘上的按键都是按照快捷键的方式来进行作用的,此时,键盘上的每个按键都被赋予了特殊的含义,就都不再是单纯的输入文本了
vim中分模式
默认情况下,vim处于normal mode(普通模式),此时按键都是快捷键
要想编辑,需要切换到insert mode(插入模式),此时键盘按键才是输入文本,进入插入模式的有很多,这里只说一个,就是按以下键盘上的 i 这个小写字母
按了之后,你就会在vim的左下角页面看到了INSERT
Linux命令_第17张图片
这个时候就可以用键盘来进行编辑了
在这个模式下,vim的行为就和记事本基本一致了
为什么说基本一致呢,当然不是完全一样的
在linux中,复制是ctrl+insert 粘贴是shift+insert
如果你的电脑没有insert,可以在xshell中设置快捷键,但是不要设置成ctrl+c和ctrl+v,因为这两个在linux中有其他的含义

3.保存退出
当你编辑完成之后,这个时候没有x让你退出,也不要按ctrl+s保存,这个是xshell的冻结功能,有时候终端上显示内容太快了,你来不及看,就可以使用ctrl+s来冻结,如果想解冻,就是strl+q
在vim中退出分三步
(1).先回到普通模式,按esc
(2).输入 “:wq” 然后再按回车
(输入 : 的时候,光标来到了最下面的一行,此时vim处在命令模式,接下来输入的wq就是vim命令,w–write,q–quit)
对于java程序员来说,掌握上述vim的三个操作就足够了

mkdir

mkdir–创建目录
mk–make
dir–directory
相当于windows右键新建目录

rm

删除文件/目录
如果是删除文件就直接rm
如果是删除文件就得rm -r进行递归删除,因为删除目录的时候还要删除里面所有的文件和子目录
Linux命令_第18张图片
上图这里,你每删除一次,都需要你确认一次,如果这个目录有好几万个文件呢》你需要确认好几万次吗?
当然不是,可以输入“rm -rf 要删除的目录”强制删除,不需要确认
或者rm -rf *,就是把当前目录的所有都删了
但是这个操作是个非常危险的操作,linux的命令行中,没有回收站这个概念
Linux命令_第19张图片
Linux命令_第20张图片

cp

copy复制
可以指定文件复制,可以复制当前文件
Linux命令_第21张图片
cp不光可以复制文件,还可以复制目录,但是复制目录的时候,必须要加上一个 -r选项(r表示递归)
Linux命令_第22张图片
拷贝文件,有的时候是非常危险的,如果拷贝的目标文件已经存在,并且文件里的内容非常重要,就会出现覆盖的情况
Linux命令_第23张图片

mv

move 移动
Linux命令_第24张图片
除了去移动文件位置,还可以给文件重命名
Linux命令_第25张图片
linux中没有单独的命令来重命名,就是靠mv来完成的
cp是比较慢的,尤其是cp比较大的目录或文件,需要大规模读写硬盘,mv则是非常快的,即使mv移动的目标很大,也是瞬间完成,文件系统中,每个文件的“路径”,就是一个简单的属性,mv只是修改了这个路径属性而已,时间复杂度是O(1)
由于linux没有回收站,经常会使用mv来模拟回收站的效果,想要删除某个东西,并不是直接rm,而是通过mv移动到一个单独的目录中在mv里,在mv中,上级目录没法移动到下级目录中

grep

字符串匹配命令
快速搜索某个文件里是否包含特定字符串
如果加了 -n,就会告诉你找到的这串字符串在第几行
Linux命令_第26张图片
grep可以同时在很多文件中进行搜索
Linux命令_第27张图片

ps

process show查看进程的命令
Linux命令_第28张图片
很多时候,不会关心所有的进程,只关心咱们想看到的进程
配合grep就可以快速筛选了
Linux命令_第29张图片

netstat

查看网络状态
要搭配 -anp来使用
Linux命令_第30张图片
通常用ps来查看进程的pid,用netstat来查看进程的端口号

你可能感兴趣的:(linux,运维,服务器)