Linux快速入门之一(基础)
一.学习方式:1.认识Linux2.掌握常用的命令(文件管理、文件属性、目录管理、Vim编辑器、账号管理、磁盘管理)3.软件的安装和部署(本章描述java、tomcat、docker的安装和部署)总结:Linux的本质:一切皆为文件:对文件的操作,无非就是读、写、控制文件的权限。二、为何要学习Linux?在服务器端,在开发领域Linux是越来越受欢迎,很多程序员都觉得不懂点Linux都觉得不好意思
该篇解析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靠这些还远远不够
更多推荐
所有评论(0)