一、基础概念

Q:linux是什么?

   Linux是一种基于UNIX的操作系统,它基于Linux内核,常被用作服务器的操作系统。

Q:UNIX和LINUX有什么区别?

  • Unix:收费的,商用的,拥有许多不同的商业版本。
  • Linux:免费的,开源的,旨在为大众提供非适当的操作系统。

Q:什么是BASH?

  BASH是Shell命令行的一种版本,目前为运行Linux的默认shell

Q:什么是Linux内核?

  Linux内核是一种低级系统软件,其主要作用是为用户管理硬件资源。它还用于为用户交互提供界面

Q:什么是root帐户

  定义系统管理员帐户,允许你完全控制系统,拥有命令的最高权限

  功能:可以创建和维护其他用户帐户,为每个帐户分配不同的权限,也是安装Linux时的默认帐户。

Q:什么是CLI和GUI

  • CLI:命令行界面,以命令行的方式实现与计算机的交互。
  • GUI:图形用户界面,以图像和图标作为与计算机通信的方式。

Q:什么是守护进程?

  定义:守护进程是一类在后台运行的特殊进程,用于执行特定的系统任务。(例子:JVM中的GC进程)

  功能:其主要任务是监听服务请求,并执行特定的系统任务。服务完成后,它将断开连接并等待进一步的请求。

Q:Linux下的权限有哪些?

  Linux下有3种权限:

  • 读取(r):用户可以读取文件或列出目录
  • 写入(w):用户可以写入新文件到目录的文件
  • 执行(x):用户可以运行文件或查找特定文件一个目录

Q:什么是Linux的环境变量?

  环境变量是控制shell功能以及其他Linux程序功能的全局设置。环境变量的另一个常用术语是全局shell变量

Q:Linux的常见发行版有哪些?

  • CentOS7
  • openSUSE等
  1. ##查看linux发行版信息
  2. cat /etc/os-release

Q:linux如何安装软件?

  • yum (直接yum对应需要安装的包名)【可以在线下载包并安装,机制类似于maven下载依赖】
  • rpm(下载后缀名为.rpm的包后,cd到对应目录用命令进行安装)【只能安装本地的包】
  • 源码包解压

二、常用命令

文件的权限

  1. #显示文件的属性以及文件所属的用户和组。
  2. ll
  3. ls l
  4.  
  5. #变更文件属组
  6. chgrp oracleGroup xxx.log #更改文件的属组
  7.  
  8. #更改文件属主,也可以同时更改文件属组
  9. chown root xxx.log #更改文件的属主
  10. chown root:root xxx.log #更改文件的属主和属组
  11.  
  12. #更改文件9个属性(属主权限,属组权限,其他用户权限)【r:4,w:2,x:1】
  13. chmod 777 xxx.log #数值方式设置
  14. chmod u=rwx,g=rx,o=r xxx.log #符号方式设置 【u:属主,g:属组,o:其他用户】

文件和目录管理

  1. #列出目录
  2. ls
  3. #切换目录
  4. cd plugins/ #切换到plugins目录
  5.  
  6. #显示目前的目录
  7. pwd
  8. #创建一个新的目录
  9. mkdir newDir
  10.  
  11. #删除一个空的目录
  12. rmdir newDir
  13.  
  14. #复制文件或目录
  15. cp [-r] plugins/ plugins2 #不加-r只拷贝文件,加了以后拷贝整个目录及子目录
  16.  
  17. #移除文件或目录
  18. rm [-rf] plugins2 #不加-rf只能删除文件,加-r可以删除目录及文件,加-f可以直接删除目录和文件,且不需要询问并确认
  19.  
  20. #移动文件与目录,或修改文件与目录的名称
  21. mv xxx.log aaa.log #mv 文件名 文件名 :将源文件名改为目标文件名
  22. mv xxx.log dir #mv 文件名 目录名 : 将文件移动到目标目录
  23. mv dir newDirName #mv 目录名 目录名 : 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
  24.  
  25. #查看各个命令的使用文档
  26. man cp #查看“cp”命令的使用文档
  27. #创建空文件或者修改文件/目录的时间属性
  28. touch file #(file不存在时)创建一个名为“file”的新的空白文件
  29. touch existFile #(existFile已经存在时)修改“existFile”的时间为当前系统时间

文件内容查看

  1. #由第一行开始显示文件内容
  2. cat xxx.log
  3.  
  4. #从最后一行开始显示,可以看出 tac 是 cat 的反写
  5. tac xxx.log
  6.  
  7. #显示的时候,输出行号
  8. nl xxx.log
  9.  
  10. #一页一页的显示文件内容
  11. more xxx.log
  12.  
  13. #与 more 类似,但是比 more 更好的是,他可以往前翻页
  14. less xxx.log
  15.  
  16. #只看头几行
  17. head -5 xxx.log #查看xxx.log文件的头5行
  18.  
  19. #只看尾巴几行
  20. tail -5 xxx.log #查看xxx.log文件的尾部5行
  21.  
  22. #查找文件中的字符
  23. grep '测试' xxx.log #在xxx.log文件中搜索有字符‘测试’的地方

rpm命令

  1. ##rpm 命令是linux的后端软件包管理器,用于管理套件,以“.rpm”结尾的文件是linux的一种软件包名称
    ##【PS:rpm 只能安装已经下载到本地机器上的rpm包
  2.  
  3. #安装软件
  4. rpm -ivh jdk-8u144-linux-x64.rpm #-ivh为安装并显示详细信息和安装过程等功能
  5.  
  6. #卸载软件
  7. rpm -e jdk-8u144-linux-x64.rpm
  8.  
  9. #更新软件
  10. rpm -Uvh jdk-8u144-linux-x64.rpm #-Uvh为更新并显示详细信息和更新过程等功能

yum命令

  1. ##yum 命令是linux的前端软件包管理器,基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
  2. ##【-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)】
    ##【PS:yum 可以在线安装指定的rpm包以及其相关的依赖
  3.  
  4. #下载并安装
  5. yum install jdk-8u211-linux-x64
  6.  
  7. #重新安装
  8. yum reinstall jdk-8u211-linux-x64
  9.  
  10. #搜索
  11. yum search jdk
  12.  
  13. #显示yum包的信息
  14. yum info java-1.6.0-openjdk.x86_64
  15.  
  16. #更新
  17. yum update jdk-8u211-linux-x64 #若不跟具体的yum包名字则更新所有安装的yum包
  18.  
  19. #卸载
  20. yum remove jdk-8u211-linux-x64
  21.  
  22. #列出当前系统中安装的所有包 (包特别多...)
  23. yum list
  24.  
  25. #清除缓存目录(/var/cache/yum)下所有缓存的软件包
  26. yum clean all

压缩和解压

  1. #.zip类文件操作
  2. zip file1.zip file1 #把“file1”文件压缩成zip格式的压缩包
  3. unzip file1.zip #解压名为“file1.zip”的压缩包
  4.  
  5. #.bz2类文件操作
  6. bzip2 XXX.log#压缩
  7. bunzip2 XXX.bz2 #解压
  8.  
  9. #.gz类文件操作
  10. gzip XXX.log #压缩
  11. gunzip XXX.gz #解压
  12.  
  13. #.rar类文件操作【a 表示添加文件到压缩文件】
  14. rar a log.rar XXX.log #创建一个叫做 'log.rar' 的包
  15. rar x file1.rar #解压rar包 #rar命令的写法
  16. unrar x file1.rar #解压rar包 #unrar命令的写法
  17.  
  18. #tar压缩、解压文件操作【-c表示打包,-z表示压缩,-x表示解包,-f表示不提示】
  19. tar -cfz log.tar.gz XXX.log 压缩XXX.log文件为log.tar.gz
  20. tar -xfz log.tar.gz 解压gz类型的压缩文件

用户和群组

  1. #组相关
  2. groupadd 组名 #创建一个新用户组
  3. groupdel 组名 #删除一个用户组
  4. groupmod -n 新组名 旧组名 #重命名一个用户组【-n 表示需要设置新组名】
  5.  
  6. #用户相关
  7. useradd ZH #创建一个新用户
  8. userdel [-r] ZH #删除一个用户【-r表示删除用户及用户下文件,若不加参数,则仅删除用户帐号,而不删除相关文件】
  9. usermod -g oracleGroup ZH #修改用户属性 【-g 表示修改群组,-c 表示修改备注,-d 表示修改用户登入目录】
  10.  
  11. #口令(密码)相关
  12. passwd #修改口令(密码)
  13. passwd ZH #修改一个用户的口令 (只允许root执行)

关机、重启、登出

  1. #关闭系统【-h 表示休眠,后面接秒数时表示延迟多久后休眠】
  2. shutdown -h now
  3.  
  4. #关闭系统
  5. init 0
  6. telinit 0
  7. #重启
  8. shutdown -r now
  9. reboot
  10.  
  11. #注销
  12. logo

linux学习(九)Linux知识点汇总的更多相关文章

  1. Linux学习之三-Linux系统的一些重要配置文件

    Linux学习之三-Linux系统的一些重要配置文件 1.网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 说明: DEVICE=eth0        ...

  2. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  3. Linux 学习 (一) Linux简介

    Linux达人养成计划 I 学习笔记 Linux 内核官网:www.kernel.org 内核版本说明:主版本.次版本.末版本,如2.6.18 Linux 主要发行版本 RedHat: 服务器领域,部 ...

  4. 【Linux学习】Linux文件系统4—Linux文件硬链接与软连接

    Linux文件系统4-Linux文件硬链接与软连接 inode:索引节点 (连接文件)link 一.文件硬链接 1.Linux文件系统中,inode只相同的文件是硬链接文件 2.不同文件名,inode ...

  5. 【Linux学习】Linux文件系统2—linux常用目录结构、绝对路径、相对路径

    Linux文件系统2-linux常用目录结构.绝对路径.相对路径 一. 常见目录结构总结 Linux目录结构就是"树形结构",常见的目录结构: /bin  系统需要的命令位于此目录 ...

  6. Linux学习之四-Linux发行版及版本比较

    Linux发行版及版本比较 三大家族: Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本.相比RHEL,Fedora打包了显著的更多的 ...

  7. Linux 学习 (九) 网络基础

    Linux网络管理 学习笔记 ISO/OSI 七层模型 ISO :国际标准化组织 OSI :开放系统互联模型 应用层.表示层.会话层服务于用户 传输层.网络层.数据链路层.物理层服务于实际数据传输 帧 ...

  8. Linux学习之查找命令汇总

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:        which  查看可执行文件的位置.       whereis 查看文件的位置.         ...

  9. 【Linux学习九】负载均衡

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.高并发 随着应用访问量的增加,带来高并发处理问题. 具体有两个: ...

  10. 【Linux学习 】Linux使用Script命令来记录并回放终端会话

    一背景 二script命令简介 1 什么script命令 2 script命令操作 21 file选项 22 options选项 23 退出script 三Script命令结合实际使用场景 1 先在终 ...

随机推荐

  1. Linux环境安装Docker入门教程

    安装 下载 wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.1-ce.tgz 解压 tar -xvf ...

  2. openVswitch(OVS)源代码分析之工作流程(flow流表查询)

    原文链接: openVswitch(OVS)源代码分析之工作流程(flow流表查询)

  3. CentOS7 系统基于Vim8搭建Go语言开发环境

    链接:https://pdf.us/2018/11/10/2194.html 问题1:vim-go: could not find 'gopls'. Run :GoInstallBinaries to ...

  4. springSecurity初识-练气初期

    1.写在前面 Spring Security是一个框架,提供针对常见攻击的身份验证,授权和保护.通过对命令式和反应式应用程序的一流支持,它是保护基于Spring的应用程序的事实标准. Spring S ...

  5. 区块链入门到实战(28)之Solidity – 介绍

    Solidity语言是一种面向合约的高级编程语言,用于在以太坊区块链网络上实现智能合约.Solidity语言深受c++.Python和JavaScript的影响,针对以太坊(Ethereum)虚拟机( ...

  6. 区块链入门到实战(17)之以太坊(Ethereum) – 是什么

    以太坊的作用:构建基于区块链的分布式应用. 以太坊是什么:可编程的虚拟币. 以太坊(Ethereum)是一个可编程的虚拟币,它是一个基于公共区块链的分布式计算平台,可用于构建基于区块链的分布式应用. ...

  7. GitBook 常用插件

    目录 必看说明 插件说明 page-treeview 目录 code 代码 pageview-count 阅读量计数 popup 图片点击查看 tbfed-pagefooter 页面添加页脚(简单版) ...

  8. 那些jdk中坑你没商量的方法

    前言:jdk作为我们每天必备的调用类库,里面大量提供了基础类供我们使用.可以说离开jdk,我们的java代码寸步难行,jdk带给我们的便利可谓是不胜枚举,但同时这些方法在使用起来也存在一些坑,如果不注 ...

  9. 跳转语句 break 和 continue

    break跳出循环体,结束本次循环. continue结束本次循环. for(var i=0; i<5; i++){ if(i == 3) break; document.write(" ...

  10. PJSIP 机器人

    摘要: 最近再研究PJSIP,有一个需求,再适当的时候,需要给远程客户端放音,比如:播放一段广告.或者一段音乐.需要采用API来实现. 正文: 最近想用PJSIP做一个机器人,想法比较简单就是获取客户 ...