zoukankan      html  css  js  c++  java
  • Linux笔记01—linux基础入门

    什么是操作系统

    操作系统(Operating System)是应用程序运行的基础支撑环境;

    操作系统的作用是管理和控制计算机系统的硬件与软件资源;

    Intel x86架构上常见的操作系统有:windows、Linux、unix等。

    有种特殊的Linux支持ARM架构,称为ARM Linux,与标准Linux并不兼容,以下内容以intel X86架构下的linux为例。

    Linux操作系统

    Linux是开源的基于Intel x86架构的类unix多用户操作系统;

    Linux是目前最主要的服务器端操作系统;

    互联网大厂都在使用Linux作为服务器主要操作系统。

     

    Linux系统之父:

    Linux读音:

    标准读音、本人读音(芬兰口音)

    欧美读音

    中国读音(受到unix读音影响) 

    Linux为什么受欢迎?

    免费使用,自由传播;支持多任务、多用户、多CPU;高效而灵活;

    兼容任意 x86架构计算机;强大易用的系统命令;完整的应用软件生态。

    Linux发行版本:

    Linux系统内核(kernel)提供了Linux 操作系统的核心功能;

    不同开发商在内核基础上扩展封装,形成了不同发行版本;

    常见的发行版本:Red Hat Linux(红帽收费)、centos(红帽免费开源)、Ubuntu(桌面系统)、SUSE等

    Linux发行版选择建议:

    桌面系统➡️Ubuntu

    服务器操作系统➡️Centos、Red Hat Linux

    特定需求➡️Debian(音:滴遍)稳定性、Fedora(音:翡刀rua)新特性、麒麟Linux(国产,用于政府机关,银行等) 

    Centos - 社区企业操作系统:

    基于Red Hat Enterprice Linux 的开源企业级Linux发行版本;

    各版本centos都会获得十年的支持,与RHEL保持同步更新;

    centos采用社区支持,同时修正了RHFL许多bug。(因为开源,全世界的Linux工程师都在找centos的bug,centos也会越来越完善)

    centos版本选择:

    centos 5/6 :历史版本已经淘汰

    centos7 : 主流版本,稳定成熟,大多数服务器的首选版本

    centos8 : 全新版本,基于最新内核,不排除存在漏洞隐患

    centos 7 运行要求:

    CPU: 1核,建议2核以上

    内存:1G ,建议2G以上

    硬盘:预留20G可用空间 

    Linux目录结构

    linux区分绝对路径相对路径

    不同目录下的数据可分布在不同磁盘,所有目录按规则组织与命名。

    蓝色是常用目录:

    绝对路径

    用途 备注
    / 根目录 所有目录的顶点
    /bin 常用的二进制命令所在目录 如ls、cp、mkdir...
    /boot linux内核与系统引导程序目录 不要随意操作
    /dev  设备文件的目录,比如声卡、磁盘、光驱 包含相关设备的操作入口,不是存储驱动程序的目录
    /etc yum、rpm方式安装的应用程序默认存储配置文件的路径  
    /home 用于存放用户的数据 用户私人数据,类似windows中我的文档
    /var 系统与软件服务运行日志目录  
    /lib 启动系统与运行命令所需的共享库文件与内核模块目录 类似maven库存放依赖和jar包
    /proc 系统运行时,进程信息与内核信息存放在此目录  
    /root linux超级用户目录 类似windows的administrator
    /sbin 系统管理命令存放目录,是超级用户root可执行命令的存放地  
    /usr 存放用户应用程序的目录,包含两个重要子目录  
    /usr/local 编译方式安装程序的默认目录  
    /usr/src

    程序源码目录

     

    远程管理Linux

    可以提供良好的设备环境和海量带宽。

    通过SSH客户端可以实现。

    SSH客户端

    什么是SSH: 专为远程登录和其他网络服务提供的安全性协议。

    版本:分为两个不兼容版本1.x和2.x,默认通过SSH2.x连接。

    工具:基于SSH远程连接工具有很多,最常见的是Xshell和SecureCRT。

    Xshell与Xftp

    Xshell是著名的Linux客户端,常用于在windows下远程访问;

    Xshell同时还支持Telent、Rlogin、Serial等其他连接方式;

    Xftp是Xshell配套组件,用于向服务器上传/下载文件。

    查看linux系统ip,用于远程连接

    左上角应用程序➡️系统工具➡️终端,输入命令:ifconfig

    xshell配置:

    Linux操作命令

    Linux命令格式

       命令 [参数选项] [文件或路径] 

    核心命令:

    clear 清屏

    cd .. 回到上一级目录 

    ls 只有目录

    ll 目录的详细列表

    mkdir 默认只会在已有目录下创建目录(绝对/相对都可)

    mkdir -p 目录  可以创建多级目录

    mkdir -p -v 目录 可以看到创建的执行过程

    mkdir --help  可以看到这个命令能使用的参数

    多参数直接用空格分隔或拼在一起(如:-p -v 或 -pv 都是可以的) 

    cp 文件 目录   将文件复制到对应目录下(绝对/相对路径皆可)

    cp -r 目录1 目录2  将目录1及其中全部内容复制到目录2中

    mv 文件 新名字  文件重命名

    mv 文件 路径  移动文件到指定目录(剪切)

    mv 目录1 目录2 将目录1及其中全部内容移动到目录2中

    rm 文件  删除某文件(每次都会询问是否确认删除)

    rm -f 文件  强制删除某文件(不会再次询问)

    rm -rf  目录 强制迭代删除(多级)目录,但轻易不要使用!!比如在目录的第一个/后不小心多了个空格,就会把根目录下所有内容删除。

    find 目录 -name *.exe  在目录下按名称查找扩展名为exe的文件

    tips:输入部分,按table键可以自动补全剩下的。 

    vim文本编辑器:

    1)啥是vim

    vi是Linux重要的系统自带文字编辑工具(类似windows中没有界面的记事本),vim是它的增强版。

    vim用于在远程环境下用命令形式对文本进行在线编辑。

    2)格式: vim [选项] [文件]

    3)vim三种模式

    普通模式:默认模式,文本只读,不可编辑。

    编辑模式:编辑文本模式,普通模式下按ℹ️键进入,esc键推出。

    命令模式:执行保存、搜索、退出等操作。

    4)vim常用命令

     

    vim 文件名  查看文件

    home 跳转到行首

    end 跳转到行为 

    按ℹ️进入编辑模式后,

    backspace可以从右向左删,按delete从左向右删

    使用鼠标右键可以进行内容到复制/粘贴

    按esc回到普通模式,

    输入/[内容] 查找内容,按n定位到下一处,按Shift+n定位到上一处

    u撤回上一步操作

    :% s/旧字符串/新字符串/g 全局替换  (要注意影响范围)

    :wq 保存并退出

    :wq! 强制保存并退出(用于文件本身只读的情况)

    :q 退出(文件没有任何修改)

    :q! 放弃保存,强制退出(文件有修改)

    dd 删除整行

    Linux常用文本工具:

    echo “字符(串)”   回车后会打印出引号内字符串

    echo “字符(串)”  > 文件.扩展名  将引号内字符串输出到文件中

      >的含义:将左侧命令所产生的结果重写至右侧对应的文件
      >>的含义:将左侧命令所产生的结果追加至右侧对应的文件,多次运行多次追加 
    cat 文件.扩展名  查看文件内容

    cat -n 文件.扩展名 查看文件内容,并在前面显示序号

    cat -nE 文件.扩展名 查看文件内容,并在前面显示序号,结尾显示$表示该行结束,某行只有一个$表示该行是一个空白行

    cat 文件1 文件2... >> 文件3  将多个文件的内容合并并输出到文件3中

    cat > 文件 << 文件结束标识(常用EOF) 开启输入流,将输入内容重写入文件中,输入结束符退出

    tail 文件 查看文件最后几行 

    tail -n 2 文件 查看文件倒数两行

    tail -f 文件  动态查看文件倒数几行,当文件内容增加,会自动打印出尾部新追加的内容

    grep 要查找的文本 文件  显示出文件中包含要查找文本的行

    grep 要查找的文本 文件1 > 文件2   将文件1中包含要查找文本的行输出到文件2

    grep -v 要查找的文本 文件  显示出文件中不包含要查找文本的行 

    tips:要查找的文本可以是正则表达式

    通道:|左边的结果送入到右侧进行加工处理

    ll | grep 文件   会把当前目录下符合文件名的目录打印出来

    ll | grep -E “正则表达式”  会把当前目录下符合扩展正则表达式的目录打印出来

     

    文件打包(tar)与压缩(gzip):

    1)Linux压缩程序-gzip

    gzip是Linux系统的文件压缩程序;

    gzip压缩包文件扩展名.gz;

    大流量的网站(如微博)默认都在使用gzip进行数据压缩传输,节省带宽。

    2)tar打包与压缩

    tar是Linux系统将多个文件打包和压缩的工具;

    tar本质是打包软件,扩展名.tar;

    tar课结合gzip或其他压缩工具实现打包压缩,扩展名.tar.gz。

    压缩命令:

      tar zcvf tomcat.tar.gz /usr/local/tomcat

    解压命令:

      tar zxvf tmomcat.tar.gz -C /usr/local/tomcat

      如果不加-C和目录  表示解压到当前目录

    tar常用可选项: 

       

    tips:输入命令后连按两下table键,会把当前目录下所有内容及目录列出

    安装与卸载应用程序

    1)为centos安装第三方应用程序的两种方式:

    rpm命令:red hat公司提供的软件包管理器,适用于红帽linux企业版和centos,相当于应用程序安装文件的执行者。简单但不适用所有平台。

    编译安装:用户自己从网站下载程序源码进行编译安装。兼容性高,安装过程需要更多命令。

    2)yum与rpm

    rpm安装过程中,需要用户自己解决依赖问题;

    yum通过引入软件仓库,联网下载rpm包及依赖,并依次自动安装(类似maven);

    yum是rpm但前端程序,目的就是简化rpm的安装过程。

    3)yum常用命令

    yum search 应用名  在仓库中查询是否存在指定应用

    yum install -y 应用名  全自动下载安装应用及其依赖(-y的意思是遇到所有的询问,默认都用y来回答)

    yum info 应用名 查看软件详细信息,包括发行商、大小等

    yum list installed 应用名  查看已安装的应用程序

    rpm -ql 应用名  查看安装后输出的文件清单

    yum remove -y 应用名   全自动卸载指定应用(-y的意思是遇到所有的询问,默认都用y来回答)

    4)利用yum 安装tree

      tree可以一次性获取某个目录下的所有文件以及该目录下的子文件夹。

      执行search命令后,会依次访问以下三个仓库

      

          base 基础库 访问速度最快

      extras 扩展仓库

      updates 更新仓库 用于存放升级包

      

       在搜索结果中找到应用名称。

      安装:  

      

      

      安装好后就可以使用tree命令查看目录了

       

      tree --help可以查看tree的其他命令 

      安装成功后tree这个命令安装到哪了呢?

      which 命令名称  可查看可执行文件的位置 

      

      安装tree都安装了哪些文件呢?

      rpm -ql 应用名   可以查看都安装了哪些文件

      

        yum list installed  查看当前系统已经安装的命令 

      yum list installed  *tree* 查看当前系统已经安装的包含tree的命令

      

      卸载应用程序:

      yum remove 应用名字 

    5)编译方式安装应用程序

    如果yum仓库为提供rpm,往往需要采用编译安装方式;

    编译安装是从应用官网下载源码后,对源码进行编译后使用;

    编译命令:

    make  使用对应编译器对源码编译生成可执行文件。

    6)yum与编译安装比较

    7)编译安装Redis

    1⃣️解压源码压缩包

       tar zxvf 文件名

    2⃣️进入redis安装目录/src目录,可以看到许多.c、.h文件,这些都是用c语言编写的源码

    3⃣️编译源代码

      make

    第一次执行这个命令的时候会报错,找不到cc命令等

    因为make本身没有编译功能,make是通过调用第三方编译工具来完成对源码的编译

    因此,在使用make之前,要先安装gcc

    gcc是c语言源代码的编译工具包

      yum install -y gcc

    再次执行make

    又会产生其他错误

    因为第一次执行make失败会产生一些垃圾文件或其他文件残留,再次运行时就可能会报错

    这时,只要回到上一级目录,将redis安装目录删除,重新解压

      rm -rf 目录名

      tar zxvf 文件名

    再进入解压好的redis目录,执行make,就ok了

    看到以上提示表示编译安装成功。

    yum安装会在usr/bin目录下自动生成可执行命令,但编译安装不会,只能在当前编译的目录中生成应用程序。

    在redis目录下的src目录中可以看到redis-server命令

    在redis目录中可以看到redis.conf文件,这是redis核心配置文件,在启动redis-server时需要先加载这个文件

    执行上述命令即可执行redis,但这样启动后就不能使用其他linux命令了,按ctrl + c 会退回到命令状态,但redis也被停止了。 

  • 相关阅读:
    iframe和href中target属性的应用
    跨页面实现多选
    微软EPG老大发给员工的mail
    WebSerivce[连载]
    测试MSSQL保留字
    检正email的格式
    正则常用表达式
    企业库DAAB基本用法
    为什么覆写了Equals,还要覆写GetHashCode呢
    深入熟悉C# (待续)
  • 原文地址:https://www.cnblogs.com/superjishere/p/13779780.html
Copyright © 2011-2022 走看看