赞
踩
我们所熟知的计算机是由硬件和软件组成。
硬件:计算机系统中由电子,机械和光电子元件等组成的各种物理装置装置的统称;
简单来说硬件就是看得见摸得到的。
软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件和计算机进行交流。而我们要学习的Linux就是软件的一类。
一个完整的计算机:
操作系统是计算机软件的一种,它主要作为用户和计算机之间的桥梁,调度和管理计算机硬件进行工作。而计算机如果没有操作系统就是一堆无法使用塑料而已。
当计算机拥有了操作系统,就相当于有了灵魂,操作系统可以
a. 调度CPU进行工作
b. 调度内存进行工作
c. 调度硬盘进行数据存储
d. 调度网卡进行网络通讯
e. 调度音响发出声音,打印机打印内容
......
"用户使用操作系统,操作系统安排硬件干活"
a. PC端操作系统:Windows、Linux、MacOS
b. 移动端操作系统:Android、IOS、HarmonyOS
Linux创始人:林纳斯 托瓦兹
Linux诞生于1991年,作者上大学期间
由于创始人在上大学期间经常浏览新闻和处理邮件,发现现有操作系统不好用,于是决心自己写一个保护模式下的操作系统,这就是Linux原型,当时他21岁,后来经全世界网友的支持,现在能够兼容多种硬件,成为最主流的服务器操作系统之一。
Linux系统由Linux系统内核和系统级应用组成
1)内核提供系统最核心的功能,如:调度CPU、调度内存、调度系统文件、调度IO等.
2)系统级应用程序,可以理解出厂自带程序,可供用户快速上手操作系统,如文件管理器,任务管理器,图片查看,音乐播放等。
如:播放音乐,无论用户是用自带音乐播放器或者是自行安装的第三方播放器,均是由播放器程序,调用内核提供的相关功能,由内核调度硬件CPU进行解码,音响发生等。
内核是免费的、开源的、这也就代表了
1)任何人都可以获得并修改内核、并且自行集成系统级程序
2)提供了内核+系统级程序的完整封装,称之为Linux发行版
任何人都可以封装Linux、目前市面上有非常多的Linux发行版、常用的如下
其中在国内CentOS使用最多,国外ubuntu很受欢迎
今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。
目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。
借助虚拟化技术,我们可以在系统中,通过软件模拟计算机硬件,并给虚拟机硬件安装真实的操作系统。这样就可以在电脑中虚拟出一个完整的电脑,以供我们学习Linux系统。
- command [-option] [parameter]
- command:命令本身
- option:[可选,非必填]命令的一些选项,可以通过选项控制命令行为细节
- parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等
- 示例1
- ls -l/home/haha
- 意思是以列表的形式,显示/home/haha目录下的内容
- ls是命令本身,-l是选项,/home/haha是参数
-
- 示例2
- cp -r test1 test2
- 意思是复制test1成为test2
- cp是命令本身,-r是选项,test1和test2是参数
作用:列出目录下的内容
- 1.格式:ls [-a -l -h] [Linux路径]
- -a -l -h是可选的选项
- -a:表示all的意思,即列出全部文件(包括隐藏的文件/文件夹)
- -l:表示以列表(竖向排列)的形式展示内容,并展示更多信息
- -h:表示以易于阅读的形式,列出文件大小,如K,M,G;且必须搭配-l一起使用
- Linux路径是此命令可选的参数
- 注:当不使用选项和参数,直接使用ls命令本体,表示:以平埔的形式列出当前工作目录下的内容
- 2.语法中的选项是可以组合使用的(表示同时拥有):
- 如-a和-l的组合(表示同时拥有-l和-a的功能)可以按照ls -a -l 或 ls -la 或 ls -al方式书写
- 3.语法中的选项组合后还可以和参数一起使用:
- 如ls -al / 表示以列表的形式展示根目录下的所有(包括隐藏的)文件/文件夹
-
- 当前目录?
- Linux系统的命令行终端,在启动的时候,默认会加载:
- 当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容
- HOME目录:每个Linux操作用户在Linux系统的的个人账户目录,路径在:/home/用户名
- 如下图中的Linux用户是tom,其HOME目录是:/home/tom
cd命令来自英文:Change Directory
pwd命令来自英文:Print Work Directory
- 1.语法:cd [Linux路径]
- cd命令无需选项,只有参数,表示要切换到哪个目录下
- cd命令直接执行,不写参数,表示回到用户的HOME目录
- 2.语法:pwd
- 作用:查看当前所在的工作目录
- pwd命令,无选项,无参数,直接输入pwd即可
相对路径:以根目录位起点,描述路径的一种写法,路径描述以/开头
绝对路径:以当前路径为起点,描述路径的一种写法,路径无需以/开头
如果是普通用户的话:cd /home/zh/Desktop
. 表示当前目录,比如cd./Desktop表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致
.. 表示上一级目录,比如cd.. 即切换到上一级目录,cd../..切换到上二级的目录
~ 表示HOME目录。比如cd~ 即可切换到HOME目录或cd~/Desktop,切换到HOME内的Desktop目录
mkdir来自英文:Make Directory
- mkdir [-p] Linux路径
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续的多层级目录
- 参数必填,表示Linux路径,既要创建的文件夹的路径,相对路径或绝对路径均可
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要再HOME外操作,因为涉及到权限问题,HOME外无法创建成功。
- 1. touch Linux路径
- touch命令无选项,参数必填,表示要创建的文件路径。相对、绝对、特殊路径字符均可以使用
- 2. cat Linux路径
- cat同样没有选项,只有必填参数,参数表示:被查看文件路径。相对、绝对、特殊路径字符均可以使用
- 3. more Linux路径
- more同样没有选项,只有必填参数,参数表示:被查看文件路径。相对、绝对、特殊路径字符均可以使用
-
- 2和3的区别
- cat是直接将内容全部显示出来
- more支持翻页,如果文件内容过多,可以一页一页的展示
使用more命令查看路径为:/etc/services的文件
再查看过程中,通过空格翻页;
通过q退出查看
cp来源于英文单词copy
mv来源于英文单词move
- 1. cp命令复制文件\文件夹
- 语法:cp [-r] 参数1 参数2
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,Linux路径,表示要复制去的地方
-
- 2. mv命令
- 用于移动文件\文件夹
- 语法:mv 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
-
- 3. rm命令
- 用于删除文件\文件夹
- 语法:rm [-r -f] 参数1 参数2 ...参数N
- -r选项,可选,用于删除文件\文件夹
- -f表示force,强制删除(不会弹出提示确认信息)
- 注:普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示,所以一般普通用户用不到-f选项
- 参数1、参数2...参数N表示要删除的文件或文件夹路径,用空格隔开
-
- 4.通配符" * "用来模糊匹配
- *表示通配符,即匹配任意内容(包括空)
- 示例
- text*,表示匹配人何以test开头的内容
- *test,表示匹配任何以test结尾的内容
- *test*,表示匹配任何包含test的内容
-
复制文件
复制文件夹
移动文件,移动目标存在
移动文件,移动目标不存在,进行改名
删除文件
删除文件夹
删除所有以test开头的文件夹
rm是一个危险的命令,特别是在处于root(超级管理员)用户的时候,请谨慎使用!!!
如下命令,请千万不要在root管理员用户下使用
rm -rf/
rm -rf/*
效果等同于在Windows上执行C盘格式化
grep作用:从文件中通过关键字过滤文件行
- 1. grep命令
- 语法:grep [-n] 关键字 文件路径
- 选项 -n,可选,表示在结果中显示匹配的行的行号
- 关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用" "将关键字包围起来
- 文件路径,必填,表示过滤文件内容的文件路径,可作为内容输入端口
-
- 2. wc命令
- 语法:wc [-c -m -l -w] 文件路径
- -c 统计bytes数量
- -m 统计字符数量
- -l 统计行数
- -w 统计单词数量
- 文件路径,被统计的文件,可作为内容输入端口
-
- 3. 管道符|
- 含义:将管道符左边的结果,作为右边命令的输入
通过touch命令在HOME目录创建haha.txt,通过图形化页面编辑并保存如下内容
My name is haha.It comes from China.
Xixi very handsome and smart.
先创建一个文件名为test.txt,通过图形化页面编辑并保存如下内容
Zhang San is a student,he is very smart.
Li Si is a student,he is the monitor.
- 1. which命令
- 前面的一系列命令,他们的本体其实就是一个个的二进制可执行程序,就像windows系统中的.exe文件,是一个意思,我们可以通过which命令,查看所使用的一系列的程序文件存放在哪里
- 语法:which 要查找的命令
- 2. find命令
- 在图形化中,我们可以通过系统提供的搜索功能,搜索指定的文件
- 同样,在linux系统中。我们可以同通过find命令去搜索指定的文件
- *按照文件名搜索
- 语法:find 起始路径 -name "被查找文件名"
- 注:也可以搭配通配符使用
- *按照文件大小搜索
- 语法:find 起始路径 -size + |-n[KMG]
- +、-表示大于小于
- n表示大小数字
- KMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB
- 例
- 查找小于10kB的文件:find / -size -10k
- 查找大于100MB的文件:find / -size +100M
- 查找大于1G的文件:find / -size +1G
-
- 为了示例演示,获取最大权限,可以在整个系统完成搜索我们可以切换到root用户
- 命令:su -root
- 输入密码:******
- 1. echo:在命令行内输出指定内容
- 语法格式:echo 输出内容
- 无选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围
- 注:若输出内容带有空格或\等特殊符号,建议使用双引号包围
-
- 2. 反引号`
- 问题提出:在命令行输入echo pwd输出的时pwd,但我们的本意是想输出当前工作目录
- 解决方案--->使用反引号(飘号),被`包围的内容会被当作命令去执行
- echo `pwd`
-
- 3. 重定向符:>和>>
- >,将左侧命令的结果,"覆盖"写入到符号右侧指定的文件中
- >>,将左侧命令的结果,"追加"写入到符号右侧指定的文件中
-
- 4. tail:查看文件尾部内容,跟踪文件的最新更改
- 语法:tail [-f -num] Linux路径
- 选项,-f,表示持续跟踪
- 选项,-num,表示,查看尾部多少行,不填默认是10行
-
vi/vim时visual interface的简称,是Linux中最经典的文本编辑器
同图形化界面中的文本编辑器一样vi是命令行下对文本文件进行编译的绝佳选择
vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,而且还具有shell编程的功能,可以不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性
1)命令模式(Command mode)
命令模式下,所敲的案件编辑器都理解为命令,以命令驱动执行不同的功能
此模式下,可以对文件内容进行文本编辑
2)输入模式(Insert mode)
也就是所谓的编辑模式、插入模式
此模式下,可以对文件内容进行自由编辑
3)底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出
模式 | 命令 | 描述 |
命令模式 | i | 在当前光标位置进入输入模式 |
命令模式 | a | 在当前光标位置之后进入输入模式 |
命令模式 | I | 在当前行的开头,进入输入模式 |
命令模式 | A | 在当前行的结尾,进入输入模式 |
命令模式 | o | 在当前光标下一行进入输入模式 |
命令模式 | O | 在当前光标上一行进入输入模式 |
输入模式 | esc | 任何情况下输入esc都能回到命令模式 |
模式 | 命令 | 描述 |
命令模式 | 0 | 移动光标到当前行的开头 |
命令模式 | $ | 移动光标到当前行的结尾 |
命令模式 | paguap(pgUp) | 向上翻页 |
命令模式 | pangdown(PgDn) | 向下翻页 |
命令模式 | / | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | M | 向上继续搜索 |
- 语法格式:
- vi 文件路径
- vim 文件路径
- vim兼容全部的vi功能,后续将全部使用vim命令
-
- 注:
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
通过vi/vim命令编辑文件,会打开一个新的窗口,此时这个窗口就是命令模式窗口命令模式是vi编辑器的入口和出口;
进入vi编辑器会进入命令模式,然后通过命令模式输入键盘指令,可以进入输入模式;
最后输入模式需要退回到命令模式,然后通过命令可以进入底线命令模式
步骤
1)使用 vim hello.txt,编辑一个新文件,执行后进入的是命令模式
按回车键
2)在命令模式内,按键盘i,进入输入模式
3)在输入模式内输入:Hello Linux
4)输入完成后,按esc回退到命令模式
5)在命令模式内,按键盘:进入底线模式
6)在底线模式内输入:wq,保存文件退出vi编辑器
7)查看文件内容
内容已被写入
1)无论是Windows、MacOS还是Linux均采用多用户的管理模式进行权限管理。
2)在Linux系统中,拥有最大权限的账户名为root(超级管理员),而在前期我们一直用的都是普通用户zh
3)root用户有最大的系统操作权限,而普通用户在很多地方的权限是受阻的
例如,当我们使用普通用户在根目录下创建文件/目录时,会提示我们“权限不够,无法创建文件/目录“
普通用户的权限,一般在其HOME目录内是不受限的
一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su来源于英语单词:Switch User
语法
- 语法:su [-] [用户名]
- -符号是可选的,表示是否在切换用户后加载环境变量(后续将会讲解),建议带上
- 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d
注:
1)使用普通用户,切换到其他用户需要输入密码,例如切换到root用户
2)使用root用户切换到其他用户,无需密码,可直接切换(毕竟是超级管理员)
在我们得知root密码时,可以通过su命令切换到root得到最大权限;但是不建议长期使用root用户,避免带来系统损坏。此时我们可以使用sudo命令,为普通用户授权,临时以root身份执行
语法:
- 语法:sudo 其它命令
- 在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
- 但并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证:
a. 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
b. 在文件最后添加:zh ALL=(ALL) NOPASSWD:ALL
c. 最后通过wq保存
d. 切换回普通用户,在根目录下创建haha文件夹测试
可以发现本来只能在超级用户进行的操作,通过使用sudo命令,普通用户也可进行操作
1)Linux系统中可以配置多个用户、用户组(用户可以加入多个用户组中)
2)Linux中关于权限的管理级别有两个级别,分别是:针对用户的权限控制,针对用户组的权限控制;比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。
1)创建用户组
语法:
groupadd 用户组名
2)删除用户组
语法
groupdel 用户组名
3)创建用户
语法:
- useradd [-g -d] 用户名
- 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
- 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
4)删除用户
语法:
- 语法:userdel [-r] 用户名
- 选项-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
5)查看用户所属组
语法:
- id [用户名]
- 参数:用户名,被查看的用户,如果不提供则查看自身
6)修改用户所属组
语法:
usermod -aG 用户组 用户名,将指定用户加入指定组
(1,表示文件、文件夹的权限控制信息;2,表示文件、文件夹所属用户;3,表示文件、文件夹所属用户组)
1)解析序号1,权限细节
权限细节共分为10个槽位:
-表示文件 d表示文件夹 I表示软连接 | 所属用户权限 | 所属用户组权限 | 其它用户权限 | ||||||
-或d或I | r或- | w或- | x或- | r或- | w或- | x或- | r或- | w或- | x或- |
注:“ - ”表示无此权限
2)rwx的含义
r(read),表示读权限
w(write),表示写权限
x(Execute permission),表示执行权限
3)针对文件、文件夹的不同,rwr的含义有细微的差别
rwx | 针对文件 | 针对文件夹 |
r | 可以查看文件内容 | 可以查看文件夹内容,如ls命令 |
w | 可以修改此文件 | 可以在文件夹内:创建、删除、改名等操作 |
x | 可以将此文件作为程序执行 | 可以更改工作目录到此文件夹,即cd进入 |
4)示例:drwxr-xr-x
1)d,表示这是一个文件夹
2)rwx,表示该文件夹所属用户对该文件有rwx权限,即有读、写、执行权限;
3)r-x(第一个),表示该文件夹所属用户组对该文件有r-x权限,即有读,执行权限;无写权限;
4)r-x(最后一个),表示其他用户对该文件夹的权限是r-x,即有读,执行权限;无写权限;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。