学习链接:https://www.bilibili.com/video/av75607667
1. 为什么要在Linux下做开发呢?
学习目标
- 了解操作系统
- 了解Linux系统的发展史
- 能够说出Linux和Windows文件目录的区别
- 熟练掌握Linux常用命令
- 能够进行Linux系统用户管理
- 理解并能够修改Linux文件权限
先来一个一目了然(结合图片下面操作系统的作用)
操作系统的作用:
- 现代计算机系统中,最基本和最重要的系统软件
- 是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
- 主要作用是管理好硬件设备,并未用户和应用程序提供一个简单的接口,以便于使用
- 其他注入编译程序、数据管理程序,以及大量的应用软件,都直接依赖于操作系统的支持
不同领域主流的OS
桌面操作系统:
- Windows系列 - 用户群体大
- macOS - 适用于开发人员
- Linux - 应用软件少
服务器操作系统:
- Linux - 安全、稳定、免费 - 占有率高
- Windows Server - 付费 - 占有率低
嵌入式操作系统:
- Linux
移动设备操作系统:
- IOS
- Android(基于Linux)
为什么不统一用Windows?CMD终端命令行。
思考题:我们为什么要做自己的操作系统?
Linux内核版本:
- 内核(kernel)是系统的心脏,是运行程序和管理硬件设备的核心程序,它提供了一个裸设备与应用程序之间的抽象层。
单用户操作系统:
- 指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源。Windows XP之前都是单用户操作系统。
多用户操作系统:
- 指一台计算机在同一时间可以由多个用户使用,多个用户共同享用系统的全部硬件和软件资源。Unix和Linux的设计初衷就是多用户操作系统。
Windows文件系统:
- 在WIndows下,打开计算机,看到的是一个个驱动器盘符
- 每个驱动器都有自己的根目录结构,这样就形成了多个树并列的情形
Linux文件系统:
- Linux下,没有驱动盘符,只能看到文件夹(目录)
- Ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面
Linux主要目录速查表
为啥要学习Linux终端命令?
原因:
牢记于指尖,以下为常用的命令:
序号 | 命令 | 作用 | 对应英文 |
1 | ls | 查看当前文件夹下的内容 | list |
2 | pwd | 查看当前所在文件夹 | print work directory |
3 | cd [目录名] | 切换文件夹 | change directory |
4 | touch [文件名] | 如果文件不存在,创建文件 | touch |
5 | mkdir [目录名] | 创建目录 | make directory |
6 | rm [文件名] | 删除指定的文件名 | remove |
7 | clear | 清屏 | clear |
小技巧:
- 在敲出 文件/目录/命令的前几个字母之后,按下tab键可以自动补全
- 按上/下 光标键可以再曾经使用过的命令指尖来回切换
- 如果想要推出选择,不想执行当前命令,可以按ctrl+c
- 帮助信息 --help
- 清屏:clear,也可以使用快捷键ctrl+l("l"为字母L的小写)
查看文件信息:ls
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,类似于DOS下的dir命令。Linux文件或者目录名称最长可以有265个字符,"."代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
参数 | 含义 |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l 以人性化的方式显示文件大小 |
通配符:允许使用通配符
切换工作目录:cd
在使用Unix/Linux的时候,经常需要切换工作目录,cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感
命令 | 含义 |
cd | 切换到当前用户的主目录(/home/用户目录),用户登录时,默认的目录就是用户的主目录 |
cd ~ | 切换到当前用户的主目录(/home/用户目录) |
cd . | 切换到当前目录 |
cd .. | 切换到上级目录 |
cd - | 切换到上次所在的目录 |
cd / | 切换到系统根目录 |
显示当前路径:pwd
- 使用pwd命令可以显示当前所在的工作目录,简单常用,直接输入pwd即可。
创建目录:mkdir
- 通过mkdir命令可以创建一个新的目录。参数-p可以递归创建目录。需要注意的是创建新目录的名称不能与当前已有的目录或者文件同名,并且目录创建这必须对当前目录具有写权限。
删除文件:rm
- 可以通过rm删除文件或者目录。使用rm命令要小心,因为删除后不能恢复文件。为了防止文件误删,可以再rm后使用参数-i以诸葛确认要删除的文件。
参数 | 含义 |
-i | 以交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加这个参数 亦可以rmdir删除一个空目录 |
拷贝:cp
cp命令的功能是将给出的文件或者目录复制到另一个文件或目录中,相当于DOS下的copy命令。
选项 | 含义 |
-a | 该选项通常在复制目录时使用,它保留链接、文件属性、并递归复制目录。简单而言,保持文件原有属性。 |
-f | 已经存在的目录文件不提示。 |
-i | 交互式复制,在覆盖目标文件之前提示要求用户确认。 |
-r | 若给出的源文件是目录文件,zecp将递归复制该目录下所有文件和子目录。 目标文件必须为一个目录名。 |
-v | 显示拷贝进度 |
移动、重命名文件:mv
用户可以移动文件或目录,也可以给文件或者目录重命名。
选项 | 含义 |
-f | 禁止交互式操作,如有覆盖也不会提示 |
-i | 确认交互方式操作。 |
-v | 显示移动速度 |
创建文件:touch
用户可以通过touch来创建一个空的文件
查看系统版本
方式一:发型号版本 lsb_release -a
方式二:内核版本及系统位数 uname -a
方式三:内核版本及gcc版本 cat /proc/version
需要了解的用户及相关权限命令
- chmod
- chown
- who
- whoami
- passwd
- sudo -s
- exit
修改文件权限:chmod
- 使用ls -l可以查看文件&目录的权限
- 使用chmod可以修改文件权限
- 有两种使用格式:数字法与字母法
字母法修改权限:rwx
- chmod u/g/oga +/-/= rwx 文件
数字法修改权限:421
“rwx”这些权限也可以通过数字来代替
用户账户操作
用户密码管理:passwd
查找文件:find
文本搜索:grep
- Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
- grep的一般格式为:
grep [选项] ‘搜索内容串’ 文件名
- 在grep命令中输入字符串参数时,最好引用引号或者双引号括起来
例如:
从某个文件搜索
grep 'a' 1.txt
搜索当前目录所有文件
grep 'for' *
两个手册网站:
Linux命令大全:http://man.linuxde.net/
菜鸟Linux命令:https://www.runoob.com/linux/linux-command-manual.html