该篇解析Linux的基础理论和常用基本的命令操作


一.学习方式:

1.认识Linux(理解目录结构)

2.掌握常用的命令(文件管理、文件属性、目录管理、Vim编辑器、账号管理、磁盘管理)

3.软件的安装和部署(本章描述java、tomcat、docker的安装和部署)

总结:Linux的本质:一切皆为文件:对文件的操作,无非就是读、写、控制文件的权限。

二、为何要学习Linux?

在服务器端,在开发领域Linux是越来越受欢迎,很多程序员都觉得不懂点Linux都觉得不好意思,Linux在开源社区的地位依然岿然不动。
     尤其是作为一个后端程序员,是必须要掌握Linux的,因为这都成为了你找工作的基础门槛了,所以不得不学习

总结:大势所趋!非常热门,经常用到的技术。

三、Linux简介

 Linux内核最初只是由芬兰人林纳斯.托瓦兹在赫尔辛基大学上学时出于个人爱好而编写的。
 Linux是一套免费使用和自由传播的类Unix操作系统(类似苹果的Mac系统),是一个基于POSIX (可移植操作系统接口)和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
 Linux能运行主要的UNIX工具软件(多数是开源的不收费)、应用程序和网络协议。它支持32位和64位硬件。Linux 继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

四、Linux发行版

发行版就是将Linux内核与应用软件做一个打包

版本图分支图:

本章使用CentOS7版本。

五、Linux应用领域

今天各种场合都有使用各种Linux发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位。

通常服务器使用两种组合方式:

  • LAMP(Linux + Apache + MySQL + PHP)
  • LNMP(Linux + Nginx + MySQL + PHP)

Linux对比Windows

六、搭建环境

1.本地安装(占用资源)
环境:虚拟机VMware Workstation Pro 15.2+CentOS 7

Linux的安装步骤比较繁琐(操作系统本身也是一个软件), 如果嫌弃搭建麻烦,可以买一台云服务器用来学习使用。

1.安装CentOS7

  • 通过镜像安装,下载镜像。(链接:阿里云开源镜像站资源目录)
  • 打开VMware,点击文件选项,点击新建虚拟机。选择下载好的镜像路径即可安装。

--------------------------------------------------------------------------------------------------------------------------------

2.购买云服务器(推荐,资源占用小,搭建速度快)

详细请看:阿里云服务器购买指南_caixukun1的博客-CSDN博客_阿里云

七、走近Linux系统

1. 开机
 会启动许多程序。它们在Windows叫做’服务" ( service ) , 在Linux就叫做"守护进程" ( daemon)。
一般来说,用户的登录方式有三种:
 ●命令行登录
 ●SSH登录(远程)
 ●图形界面登录
 最高权限账户为root,可以操作一切!

2.关机(不常用,但是也要知道)

 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。
 关机指令为shutdown

sync #关机前先执行该指令,将数据由内存同步到硬盘中。防止数据丢失。
shutdown #关机指令,你可以看一下帮助文档。例如你可以运行如下命令关机:
shutdown -h 10 #这个命令告诉大家,计算机将在10分钟后关机
shutdown -h now#立马关机
shutdown -h 20:25 #系统会在今天20:25关机
shutdown -h +10 #十分钟后关机
shutdown -r now #系统立马重启
shutdown -r +10 #系统十分钟后重启
reboot #就是重启,等同于shutdown -r now
halt #关闭系统,等同于shutdown -h now和poweroff

总结:以上的命令。带h的是关机,带r的是重启。不管是重启还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中,执行命令之后没有返回消息则表明运行成功。

3.看懂Linux系统目录结构

记住,一切皆为文件。并且Linux文件没有后缀名。

“/”为根目录,所有文件都挂载在该节点上

输入ls /命令,看到多个目录。

ls:该命令为查看当前目录下的东西。(ls命令相当于我们的眼睛)

ls命令拓展详解:

语法:ls[参数][文件名]

命令参数
可以使用帮助命令查看详细命令参数:man ls或ls --help(这个需要有一定的英语阅读理解)

  • -a, --all
  • do not ignore entries starting with .(列出目录下的所有文件,包括以.开头的隐含文件)
  • -A, --almost-all
  • do not list implied . and …(列出除了.及…以外的所有文件)
  • –author
  • with -l, print the author of each file(打印出每一个文件的作者)
  • -b, --escape
  • print octal escapes for nongraphic characters(不能输出的字符用反斜杠加字符编号的形式输出)
  • –block-size=SIZE
  • use SIZE-byte blocks.(使用SIZE-byte的大小的字节为单位)
  • -B, --ignore-backups
  • do not list implied entries ending with ~(不列出任何以波浪号结束的项目)
  • -c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime
  • (输出文件的ctime(文件状态最后更改的时间),并根据ctime排序)
  • -C list entries by columns(由上至下的列出项目)
  • –color[=WHEN]
  • colorize the output. WHEN defaults to ‘always’ or can be ‘never’ or ‘auto’. More info below(控制是否使用色彩分辨文件。WHEN可以是always、never或者auto其中一个)

小总结:带“-”符号为参数,最右边的是文件名。命令看不懂或者想知道更多,就man ls或ls --help。(任何命令都可以试一试。只要英语阅读理解优秀)

---------------------------------------------------------------------------------------------------------------------------------

这是目录的树状结构图

各个目录详解(标了红色的是比较重要的目录,乱动该目录会产生严重后果)

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。(例如ls,mv等命令。如果闲的蛋疼把这个目录删了,后果就是输入ls,mv等命令,无法正常使用)
  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不要动)
  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。(插入U盘,能在该目录下看到U盘里面的信息)
  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。(redis、mysql的配置文件放在该目录)
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。(和windows的C盘用户目录一样的性质)
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。(redis、mysql安装路径放在这个目录下)
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp:这个目录是用来存放一些临时文件的。 用完即丢的文件可以放在这个目录下
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin: 系统用户使用的应用程序。
  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src: 内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
  • /www:存放服务器网站相关的资源,环境,网站的项目。

八、常用的基本命令(基本操作)

1.理解绝对路径和相对路径

绝对路径和相对路径

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。

其他目录(例如插入U盘的目录)通过挂载可以将它们添加到树中,通过解除挂载可以移除它们

绝对路径:

路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

相对路径:

路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:     cd . /man 这就是相对路径的写法。

--------------------------------------------------------------------------------------------------------------------------------

2.处理目录的常用命令


ls: 列出目录
常用选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)cd:切换目录
cd 绝对路径(以/开头)
cd 相对路径(寻找当前目录下,以..开头)pwd:显示目前的目录mkdir:创建一个新的目录rmdir:删除一个空的目录cp: 复制文件或目录rm: 移除文件或目录mv: 移动文件与目录,或修改文件与目录的名称

​下面描述以上命令的用法

--------------------------------------------------------------------------------------------------------------------------------

3.pwd命令

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

--------------------------------------------------------------------------------------------------------------------------------

4.mkdir (创建新目录)和rmdir(删除目录)

语法:mkdir  [-mp]  目录名称

rmdir [-p] 目录名称

如果想要创建新的目录的话,那么就使用mkdir (make directory)。

创建多层目录

目录删除

小结:

mkdir [-mp] 目录名称

选项与参数:

-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 。

-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

rmdir只能删除空目录。如果要删除多层目录,请加-p参数

--------------------------------------------------------------------------------------------------------------------------------

5.cp ( 复制文件或目录 )

语法:cp 原来的目录 目标目录

小技巧:长按Tab键有惊喜,会自动补全文件名

把test4文件复制到usr目录

cp命令选项与参数:

-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-r:递归持续复制,用於目录的复制行为;(常用)

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination !

--------------------------------------------------------------------------------------------------------------------------------

6.rm ( 移除文件或目录 ,不要乱用,有危险!)

语法:rm [-fir] 文件或目录

选项与参数:

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

-i :互动模式,在删除前会询问使用者是否动作(加了这个参数,不问你,直接删除)

-r :递归删除!最常用在目录的删除了!这是非常危险的选项!(删库跑路专用命令:rm -rf /*)

使用命令删除test4文件

---------------------------------------------------------------------------------------------------------------------------------

7.mv 命令(移动文件与目录,或修改名称 )

语法:mv [fiu] 移动文件 目标路径

选项与参数:

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

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

  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

使用mv命令给test1文件改名

使用mv命令将as移到test2目录下

---------------------------------------------------------------------------------------------------------------------------------

以上皆为基操,精通Linux靠这些还远远不够

Linux快速入门之一(基础)相关推荐

  1. 《嵌入式 Linux应用程序开发标准教程(第2版)》——第1章 Linux快速入门 1.1 嵌入式Linux基础...

    本节书摘来自异步社区<嵌入式 Linux应用程序开发标准教程(第2版)>一书中的第1章,第1.1节,作者 华清远见嵌入式培训中心,更多章节内容可以访问云栖社区"异步社区" ...

  2. Linux快速入门(操作基础)

    Linux快速入门(操作基础) 一.Linux操作系统 Shell简介: shell的原意是外壳,用来形容物体外部的架构.Linux系统的shell作为操作系统的外壳,为用户提供了使用操作系统的接口. ...

  3. 180天Linux小白到大神-Linux快速入门

    01.Linux快速入门 01.Linux快速入门 1.计算机组成原理 1.1 什么是计算机 1.2 为什么要有计算机 1.3 计算机五大组成部分 1.3.1 CPU 1.3.2 内存/硬盘 1.3. ...

  4. web快速入门之基础篇-js:3_3、简易购物车

    目录 一.前言 二.js代码实例演示 1.简易购物车01_数量变化 (1)实例代码 (2)效果演示 2.简易购物车02_数量价格同步 (1)实例代码 (2)效果演示 一.前言 上一篇介绍了DHTML对 ...

  5. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  6. web快速入门之基础篇-html:2、基本标签之标题标签、段落标签、换行标签

    目录 一.前言 二.简单实例介绍 实例代码 运行效果 三.要点说明 1.h1到h6 标题标签 2.p 段落标签 3.br 换行标签[单标记] 一.前言 上一篇文章我整理以前上学的笔记是初见 html ...

  7. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  8. Linux快速入门打开你的学习之道

    相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣 ...

  9. Linux 快速入门到实战【二】

    一.Linux用户与权限 1. 用户和权限的基本概念 1.1.基本概念 用户 是Linux系统工作中重要的一环, 用户管理包括 用户 与 组 管理 在Linux系统中, 不论是由本级或是远程登录系统, ...

  10. python基础一入门必备知识-Python快速入门指南基础知识详细说明

    随着人工智能大火,我们身边几乎处处充满着AL的气息,就连停车,都是机器人值班了. 可是很多人都不知道人工智能是由什么开发的,各种相关联的框架都是以Python作为主要语言开发出来的. Python本身 ...

最新文章

  1. hadoop优化之操作系统优化
  2. 3306 端口 要不要修改_zabbix 自动发现并监控所有端口
  3. css实现图片动画效果
  4. 网络编程学习笔记(UDP的connect函数)
  5. 为预防软件质缺陷应该做点儿什么
  6. maven pom指定jdk版本及utf-8字符编码
  7. JavaScript——分时问候
  8. HttpCLient工具使用讲解
  9. [css] flex与其他有什么不同,用它有什么好处?
  10. java学习(11):Java数据类型转换
  11. jupyterLab+R,让你更优雅的探索数据
  12. 嵌入式驱动工程师开发学习路线
  13. plsql报错:Not logged on
  14. 基于图书管理系统的需求分析之威胁建模
  15. FCPX视频剪辑Final Cut Pro X v10.5.4中文版 Macbook支持Silicon M1 附详细安装教程
  16. 路径规划学习之地图生成(二)
  17. 计算机技术辅助笔迹鉴定,GB∕T 37239-2018 笔迹鉴定技术规范(高清版).pdf
  18. 纽约大学计算机和信息科学专业排名,纽约大学计算机科学与信息系统世界排名2021年最新排名第21(QS世界排名)...
  19. XGBOOST + LR 模型融合 python 代码
  20. ue4 Authority和server的区别

热门文章

  1. 使用Eclipse统计自己项目程序代码量【实测可用】
  2. 手机c语言编译器ide文件位置,C语言编译器IDE
  3. Java数据库课程设计-招聘人才管理系统
  4. BP神经网络公式推导
  5. php控制flash播放视频教程,Flash AS3教程:如何利用按钮控制选择播放动画
  6. ICMP数据包结构(转)
  7. 大智慧加密指标源码恢复,指标破解工具
  8. 面向对象程序设计概念
  9. 整人小程序【转自CSDN】
  10. 《查理·芒格的100个思维模型》