Linux常用命令

说明:毕竟我们现在更多精力会放到后端开发,很多linux相关知识我们都只需要会简单的就可以了,深入用法不会花太多时间去学习,有了这些基础,也算是入门了。希望大家以后工作中遇到不懂的多去查询学习,慢慢就会熟练起来的

基本得记住,面试java工程师的时候中也会常考一部分基本linux内容
1. 什么是linux?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

总结:linux是一个操作系统
2.为什么学习linux
操作系统不是有windows了吗?为什么要学习linux系统,下面来看看它比较windows优点
1.安全性:
与 Windows 作为病毒和恶意软件攻击的首要目标不同,Linux Server 只有管理员或特定用户才有权访问 Linux 内核,而且 Linux 服务器(相较 Windows 而言)不会经常受到攻击,并且被发现的任何漏洞都会在第一时间由大批 Linux 开发人员修复。
2.硬件要求:
当将 Linux Server 与 Windows Server 在硬件方面进行比较时,Windows 需要经常对硬件进行升级以满足各方面性能需求。而 Linux 对硬件的需求则很低,也不需要频繁对硬件进行升级更新,并且无论系统架构或处理器如何,都能表现得非常出色。
3.开源免费:
Linux Server 相较 Windows Server 领先的首要原因是完全免费且可用作开源用途。通过开源方式,您可以轻松查看用于创建 Linux 内核的代码,也可以对代码进行修改和再创作。通过许多编程接口,您甚至可以开发自己的程序并将其添加到 Linux 操作系统中。还可以对 Linux Server 操作系统进行自定义,以满足使用要求,这是 Windows 无法实现的
4.稳定性
Linux 系统一直以其稳定性而闻名,它们可以连续运行多年而不发生任何重大问题。事实上,很多 Linux 用户都从未在自己的环境中遇到过系统崩溃的情况。相对 Windows 而言,挂起和崩溃完全是一种常态。
尽管 Windows 也可以很好地执行多任务处理,但 Linux 可以在处理各种任务的同时,仍能提供坚如磐石的性能。
当将 Linux 与 Windows 进行对比时,对每项系统配置的更改都需要重启 Windows Server,而 Linux 更改大多数配置时都无需重启服务器即可生效,这也确保了 Linux 服务器最短的停机时间。

Windows系统因为需要很多后台的支撑,而linux作为服务器很单纯,导致效率比不上linux
Windows系统日志什么的,导致不能长时间待机,而linux开机几年不出现宕机是正常情况
优点还有很多这里不一一列举了,当然也有缺点,比如没有windows直观,操作方便等

基于以上优点:

1.商业服务器基本都是linux
2.IT开源软件基本都是先支持linux系统
3.大数据分析,机器学习首选linux
4.linux无处不在(比如路由器,安卓手机)
3.常见发行版本
Linux内核是Linux操作系统创始人主持的网站 www.kernel.org 上发布的那套操作系统的最基本的那些东西。Linux发行版则是前述那些东西的基础上添加了一些工具软件的基础上构成的一套庞大复杂的操作系统。虽然内核都是一样的,但添加部分各不相同,这就构成了不同的发行版本。

Linux本身指的是一个操作系统内核,只有内核是无法直接使用的。我们需要的,可以使用的操作系统是一个包含了内核和一批有用的程序的的一个集合体,这个就是Linux发行版

什么debian() 小红帽,红旗,麒麟什么的自己去百度了解下就可以了。

最流行的是ubuntu与centos,我们学习centos

4.基本说明(知道)
1.linux没有.exe程序
2.linux文件大小写是要区分的
3.linux一切皆文件
4.linux文件后缀名不重要(仅仅是为了区分方便)
5.虚拟机介绍安装
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统

白话:通过软件技术,在电脑上安装另一个操作系统,而不影响原系统
常见虚拟机:

我们使用virtualbox
6. virtualbox与xshell安装
给大家提供官网地址(可用课程提供的配套资料)

请老师带领学生安装
安装完成如图所示:

7.安装centOS
打开virtualbox点击新建

选择自己的iso镜像地址(课程配套资料有提供)

点击黑框鼠标进入 ,弹出鼠标用enter下面的ctrl键

Ok安装成功!!!
8.云服务器介绍
一种基础云计算服务。它能帮助您快速的构建更稳定、安全的应用,提高运维效率,降低IT成本,使您更专注于核心业务创新。云服务器说白了就是远程不知放在哪个机房的一台电脑,可以通过远程控制部署自己的项目。云服务器相对传统的服务器而言,在部署项目时您无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器ECS实例。在使用过程中,随着业务的扩展,您可以随时扩容磁盘、增加带宽。如果不再需要云服务器,也能随时释放资源,节省费用。
云服务器可以安装windows、linux等操作系统,常见的IT方面,linux系统较多
所以云服务器与我们本机安装的linux最核心的就是多了一个公网IP 也就是外网可以访问,
所以我们把linux学会,云服务器就是选择配置,付费看文档的事情
常见的有
阿里云,腾讯云,百度云,网易蜂巢等

9.设置centOS网络
默认禁用了网络,首先输入
Ip addr

查看网卡文件 我这儿是enp0s3
2.编辑上面的网卡文件,打开网络,输入
Vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
进入文件

然后按 i键进入编辑状态

然后按esc键
输入:wq 按enter退出

重启网络:
Service network restart

安装网络工具:
yum install net-tools
提示的时候输入y即可
然后输入ifconfig查看ip

10.替换源
源:就是放了很多的软件的资源,默认使用的是国外的,替换为国内163的速度更快,输入以下网址提供了安装步骤:
http://mirrors.163.com/.help/centos.html
我们在11章一起来安装吧!
11.使用xshell操作黑框框

因为黑框框操作起来很不方便,xshell就是使我们更加方便的操作linux系统
打开xshell
输入
ssh root@你的ip

这样就可以在xshell中操作了

替换源:
1.安装wget命令
yum install wget -y
输入y
当然每次提示很麻烦 可以使用参数(-y)
yum install wget
2.然后复制
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
粘贴到xshell命令行,按enter就可以了
3.输入
cd /etc/yum.repos.d/
4.

5.wget 刚才复制的链接地址

6.复制两个命令
yum clean all
yum makecache

去xshell执行就可以了

7.安装编辑器vim 可以看到速度更快了
yum install vim

  1. ssh协议
    SSH:安全外壳协议,建立在应用层基础上的安全协议。可靠,专为远程登录绘画和其他网络服务提供安全性的协议
    刚才我们通过xshell去操作我们的虚拟机,就是因为他们之间有ssh协议
    然后如果以后到公司了,买了云服务器,我们不可能去阿里操作啊,这里就需要ssh协议让我们能在本机操作远程云服务器

    Ssh是典型的服务端(centOS)、客户端模式(xshell)
    1>服务端安装(一般的操作系统都默认安装好了,但是我们还是了解下命令)
    1.网络安装服务
    yum install openssh-server
    2.启动
    service sshd start
    3.设置开启运行
    chkconfig sshd on
    2>客户端
    客户端常见的有xshell、putty、secureCRT等 都很简单的 我们使用xshell

    3>链接命令
    ssh 用户名@ip
    刚才我们已经使用过了:ssh root@ip 然后输入密码
    退出时exit

13.ssh config配置
在企业开发的时候,云服务器一般都是运维在管理,而且同时管理很多台,我们可能拿到的不是ip,而是给我们一个别名(host),接下来,一起来了解一下别名的配置

1.执行
ssh localhost 输入yes
2.cd ~/.ssh/
3.touch config:创建文件
4.vim config
输入I o 进入编辑
5.
6.现在可以用
ssh xmcc 进行链接了

上班遇到这种也要知道咋回事哦,config中可以配置很多个的 都是这种格式
14.ssh免密登录
1.客户端生成公私钥
本地客户端生成公私钥:(一路回车默认即可)
ssh-keygen
上面这个命令会在用户目录.ssh文件夹下创建公私钥
cd ~/.ssh
ls
下创建两个密钥:
id_rsa (私钥)
id_rsa.pub (公钥)

2.上传公钥到服务器

这里测试用的服务器地址为:172.18.37.96
用户为:root

ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.18.37.96
上面这条命令是写到服务器上的ssh目录下去了
cd ~/.ssh
vim authorized_keys
可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。

3.测试免密登录
ssh root@172.18.37.96就不用输入密码了
15.linux常用命令(重要)
1>软件管理命令
安装软件: yum install xxx
卸载软件: yum remove xxx
搜索软件: yum serach xxx
清理缓存:yum clean packages
列出安装列表: yum list
查看软件包信息: yum info xxx
比较简单这儿不演示了,同学们自行练习
2>服务器硬件资源(了解即可,基本都是运维人员使用)
1.free –m:查看内存使用情况
2.df –h:硬盘使用情况
3.w/top:查看负载
3>文件目录介绍(标红的需要记住)

/dev 设备目录
/etc/ 系统配置及服务配置文件,比如我们之前修改网卡配置
/proc 显示内核及进程信息的虚拟文件系统
/tmp 临时文件目录,可以删除的文件
/home 普通用户家目录 :在公司中开发人员能拿到的都是普通用户,运维人员会创建很多普通用户,那么这些用户的信息就放在这下面
/root 超级管理员家目录
/var 变化的目录,一般是日志文件(/var/log),cache目录。/var/log/messages,/var/log/secure
/usr 用户程序及数据,帮助文件,二进制命令等目录(usr/local/),一般我们安装jdk、mysql、maven等都是放在这儿
/bin 普通用户命令的目录
/sbin 和/usr/sbin/:超级用户命令的目录
4>文件操作命令
ls:查看目录下面的文件
ls –a 把隐藏目录查看
更加友好的展示的是 ll
touch:新建文件
mkdir:新建文件夹
mkdir –p xxx/xxx递归创建文件夹
rm:删除文件
rm –r 递归删除文件夹
rm –rf 强制递归删除文件夹(f不提示)
cd:进入目录
cd ~ 进入当前登录用户的家目录
cd / 进入根目录
cd …/ 进入上一级目录
pwd:查看当前目录
cp:复制,不能复制文件夹

mv:移动命令
mv xxx test/xxx 把xxx移动到test下面
小练习:在~目录下创建xmcc文件,并更名为xmcc1

5>vim文本编辑器
安装 yum install vim

vim简单教程可以参考:
http://www.runoob.com/linux/linux-vim.html
cd /tmp 进入临时目录
vim xmcc.txt 创建xmcc.txt并编辑

按 i、o、a三个键 进入编辑模式:下面出现insert即可输入

按esc退出编辑模式
退出编辑模式后
大写的G 跳到行尾
小写的gg 跳到行首
小写的dd 删除一行
小写的u 撤销删除
复制光标所在行:
1.在光标所在行 yy
2.光标移动到要复制行 p
3.撤销复制 u

在esc模式下输入
:q! 按enter 表示不保存刚才的更改,退出

:wq 按enter 表示保存更改,退出

基本的使用就这些,有兴趣的同学可以到我们刚才的网址,去继续学习其他命令

6>文件搜索、查找、读取命令
Ctrl+c退出查看
1.tail 表示从尾部读取 tail –F 才能滚动
首先打开两个xshell

2.head xxx从头部读取

3.cat读取整个文件

4.more从头部开始

5.less xxx (注意这里时按q退出)
可以按住上下箭头移动读取
7.grep xx xxx 在xxx文件中进行xx的模糊查询

加一个-n可以显示行数

8.统计个数wc命令

注意:管道命令,非常常用
很多命令都可以通过管道拼接,例如:行数

9.find命令,查找文件
刚才的网址截图如下,我们展示一下前面两个

大家只需要记住前三个就可以了

7>解压缩命令(这个笔试linux出现的概率有点高)

zxvf、zcvf:这几个参数解释需要掌握(笔试中出现过)
8>系统用户操作命令
添加用户(开发中能拿到的就是普通用户)
useradd\adduser
之前我们说过,普通用户的家目录是在/home下所以我们首先cd /home

尝试登录

删除用户userdel

9>防火墙
安装防火墙:
yum install firewalld
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall开机启动
systemctl status firewalld.service 查看状态

开放某个端口:(了解)

直接编辑/etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT
保存在前面部分
再重启:
service iptables restart

在实际开发中 没有这么暴力全部关闭,但是基本也不是我们做,我们学习的时候都是全部关闭,避免麻烦。
10>文件权限说明
在第八节中我们创建了用户,其实在实际中,用户很多的时候,运维管理员会创建很多分组,把用户归类管理
1.超级管理员
2.本人
3.当前用户所在的组
4.其它

有了这些概念 我们在来看文件权限
查看/tmp下文件

11>授权
chmod 777 –R /tmp/test xmcc
将/tmp/test文件所有权限授权给xmcc用户
12>文件上传下载
yum是从源中安装软件

wget是网上下载
1.安装wget命令

2.找到mysql网址在网上下载(有点慢,大家可以不尝试)
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

13>文件传输
一般网速不够快的情况下不会去网上下载,而是在windows下载好了拉进来。比如我们刚才的mysql,会在外面下载压缩包,传进linux解压就可以了

首先安装传输命令
yum install lrzsz

rz:传进去

sz:传出去

14>进程命令
ps -A #显示所有进程信息
ps -u root #显示指定用户信息
ps -ef # 显示所有进程信息,连同命令行
ps -ef |grep java #显示java 进程是否存在
#grep命令是查找,中间的|是管道命令 是指ps命令与grep同时执行
ps -aux |grep java #显示java 进程是否存在
#上面两个其实没有多大区别只是:aux可以查看进程的CPU占用率和内存占用率。ef可以查看进程的父进程ID和完整的COMMAND命令

kill -15 pid #让进程正常退出 。 既然信号 15 是退出进程的正确方式,那它也应该是最常用的方式,因而我们可以省略参数 -15。
kill -9 pid #当进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。所谓的非常手段就是传递信号 9 给目标进程!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值