文章目录

  • 一、Linux基础
    • 1. 为什么要学习Linux?
    • 2. Linux学习方法
  • 二、Linux历史介绍
  • 三、Linux简介
    • 1. Linux和window系统有什么区别?
    • 2. Linux的内核版本和发行版本
      • 2.1 查看自己的内核版本号
      • 2.2 linux的发行版本
    • 3.桌面介绍
      • 3.1 开关机(尽可能通过这里)
      • 3.2 终端的打开
      • 3.3 怎么控制终端的大小
  • 四、Linux目录结构
    • 1. linux的文件目录结构图
    • 2. 常用目录介绍
    • 3. 绝对路径和相对路径的区别
  • 五、系统文件类型和文件权限
    • 1. 文件类型
    • 2. 文件权限的分类
    • 3. 修改文件权限
      • 3.1 文字设定法
      • 3.2 数字设定法
  • 五、常用命令
    • 1. 基础命令
      • 1.1 pwd
      • 1.2 cd
      • 1.3 ls
      • 1.4 man
      • 1.5 touch
      • 1.6 mkdir
      • 1.7 rmdir
      • 1.8 rm
      • 1.9 cp
      • 1.9 mv
        • 1.9.1:剪切(移动)文件,示例如下:
        • 1.9.2:文件重命名,示例如下:
      • 1.10 find
      • 1.11 grep
      • 1.12 管道 |
      • 1.13 wc
      • 1.14 sudo
      • 1.15 关机和重启
        • 1.15.1 关机
        • 1.15.2 releve
    • 2. 打包,解包,压缩,解压命令
      • 2.1 tar 将文件打包,或者解包
        • 2.1.1 tar打包:
        • 2.1.2 tar解包::
      • 2.2 gzip 对文件进行压缩或者解压
        • 2.2.1 gzip对文件进行压缩
        • 2.2.2 gzip对压缩文件进行解压
        • 2.2.3 通过tar命令对压缩文件进行一步解压
        • 2.2.4 通过tar命令对多个文件进行一步压缩

一、Linux基础

1. 为什么要学习Linux?

  • 对于绝大多数的企业来说,服务器一般安装在linux上
  • 现在主流的云计算包括大数据,等等都是默认支持linux系统
  • 面试岗位需求

2. Linux学习方法

  • 1.C语言可以当做是一门技能,大量的练习,但是Linux绝大部分的内容是需要理解,一般练习也就是
    基础命令的练习
  • 2.学习方法:理解记忆+看书 (上课理解,下课巩固+扩展),这样子可能学习效率更高

二、Linux历史介绍

linux(类unix系统):多用户多任务的操作系统

unix系统:贝尔实验室1969年开发,unix7系统时候,发现unix的商业价值,就开始收回授权,最终在1982年发布了第一个完全商业版本unix system 3

芬兰的一个教授因为unix的版权原因,就准备开发一个类unix 的操作系统,Minix(微型unix系统),主要是用来教学和教育机构。

linus(林纳斯·托瓦兹),学习Minix源代码,半年后,开发一个linux内核(最初的版本)。

GNU,革奴计划:理查德斯托曼,致力于开发一个完全免费,自由,开源的并且兼容unix系统的操作系统GNU,但是这个计划发展了10来年,唯独缺少一个内核,当然这个计划有内核,叫hurd(只不过,一直在开发中)刚好GNU缺少内核,Linux缺少配套工具,刚好合在一起就是一个完整的操作系统,所以有人认为linux应该叫做GNU/Linux

GPL协议:理查德斯托曼在89年和一群律师一起起草了 一份协议,这个协议规定linux 的派生版本必须也免费

linux的优点(公司,开发人员为什么选择LINUX)

1.强大的命令行
2.使用非常的安全
3.对开发者非常的友善
4.定期更新
5.强大的社区支持
6.功耗特别低
7.隐私性比较好
8.完全免费

三、Linux简介

1. Linux和window系统有什么区别?

  • Linux系统开源,Window不开源
  • Linux主要应用于服务器上,Window主要应用于个人电脑
  • Linux主要用命令行操作,Window主要用图形化操作界面
  • Linux免费,window免费
  • Linux是多用户系统,Window是单用户系统

2. Linux的内核版本和发行版本

Linux内核版本:www.kernel.org

2.1 查看自己的内核版本号

  • 5.代表主版本号,
  • 13是次版本号,
  • 0代表修订版本号,
  • 35代表修订版本的第几次微调(一般数字越大,内核越新)

2.2 linux的发行版本

  • 1.红帽子公司 全球最大的开源技术厂商,提供非常广泛的linux套件,提供全球技术支持(收费)。
    有企业版(RHEL),有社区版本(centos),还有一个桌面版本(Fedora)
  • 2.debian公司
    企业版本(debian) 社区版本(ubuntu)
    ubuntu系统一款基于debian派生出来的一个产品,对最新的软件兼容性很好,大多数认为ubuntu和fedora系统都是非常好的linux系统

优点:

  • ubuntu系统广泛应用于电脑,服务器,物联网,云…
  • 既适合家庭使用环境,也适合商业环境
  • ubuntu系统拥有良好的安装及操作系统
  • ubuntu系统承诺免费(没有技术支持)

3.桌面介绍

3.1 开关机(尽可能通过这里)

3.2 终端的打开

  • 在桌面上通过鼠标右边可以打开这个终端
  • ctrl+alt+t
  • stu:用户名
  • stu-virtual-machine:主机名
  • ~/Desktop 当前所在目录的路径
  • $ 代表普通用户 #超级管理员

3.3 怎么控制终端的大小

扩大 ctrl shift ‘+’
缩小 ctrl ‘-’
进入管理员权限 sudo su
退出管理员权限 ex

四、Linux目录结构

window:将存储空间分为多个盘符:C,D,E,F。。。。

linux:只有一个根目录,倒立的属性结构,所有文件都是从根目录开始向下存储

1. linux的文件目录结构图

2. 常用目录介绍

/bin 存放常用的命令(二进制可执行程序)(重点)
/boot 存放系统内核及启动相关的文件,类似于window里面的C盘,很重要,一般不会让别的人去挤压它的存储空间(重点)
/dev 存放我们的设备文件(重点)
/etc 存放系统配置文件(重点)
/home 家目录(所有普通用户的家目录)
/lib 存放库文件
/proc 存放虚拟文件系统目录,保存进程在内存中的信息(重点)
/usr 存放系统应用文档和程序 例如QQ微信(重点)
/var 存放系统运行中经常修改的文件,例如系统日志
/root 存放管理员的家目录
/mnt 临时挂载点
/tmp 存放临时文件,所有用户都可以访问

3. 绝对路径和相对路径的区别

绝对路径:就是从系统根目录开始向下遍历到指定位置(文件)的路径,中途用’/'隔开

  • 假设以绝对路径表示20220406这个目录里的main可执行程
    序:/home/stu/Desktop/SWAP/20220406/main
  • 假设以绝对路径表示用户stu的桌面的位置:/home/stu/Desktop

相对路径:就是从当前位置开始到执行位置的相对路径

  • 假设以相对路径表示的20220406这个目录里的main可执行程序(当前就在20220406这个目录
    里):./main
  • “.”:代表当前目录
  • “…”:代表当前位置上一层目录
  • 例如:./main 代表当前目录下的main文件

五、系统文件类型和文件权限

1. 文件类型

Linux上有一句话:一切皆文件

既然一切都可以看做文件,那么文件分为几种类型:

普通文件 “-”
目录文件 “d” (directory)
管道文件 “p” (piping)
链接文件 “l” (link)
设备文件 (块设备 ”b“ (block), 字符设备 ”c“ (char))
套接字文件 “s” (socket)

分别解释:

  • 普通文件
  • 目录文件
  • 管道文件:进程间通讯的一种手段
  • 链接文件:类似windows上的快捷方式(软链接),这里需要区分软链接(符号链接)和硬链接的

区别

  • 设备文件(块设备):是指可以从这个设备的任意位置读取任意长度的信息,例如磁盘,U盘,
    sd,tf卡
  • 设备文件(字符设备):是指只能一个字节一个字节的读写的设备,不能随机读取,读取数据需要
    按照先后顺序进行,字符设备是面向流的设备,例如鼠标,键盘等
  • 套接字文件:用于网络通讯使用

linux上不以我们文件的后缀名去区分文件类型,linux一般还是写后缀名,主不过这个后缀名是帮助用户选择对应的解析器使用的。

查看命令:ls -l

2. 文件权限的分类

符号 权限
r 读权限 read 4
w 写权限 write 2
x 执行权限 execute 1
- 无权限 0

例如:

u 表示文件属主的访问权限
g 表示文件同组成员的访问权限
o 表示其他用户的访问权限

3. 修改文件权限

这里用两种文件权限的修改方法:

  • 文字设定法
  • 数字设定法
  • 修改权限命令:chmod

3.1 文字设定法

u 表示属主(user)
g 表示属组(group)
o 表示其他人(other)
a 表示所有人(all)
+ 表示增加权限
- 表现减少权限
= 表示直接赋值权限

注意:如果需要对属主,属组,其他人同时进行不同的权限修改,用逗号隔开即可

例如:当前文件的权限如下

举例1:对于这个可执行文件main,的其他成员other,添加一个w写权限:

举例2:对于这个可执行文件main,的属主成员user,减少一个执行权限x:

举例3:对于这个可执行文件main,的所有成员all,都没有任何权限:

举例4:对于这个可执行文件main,的权限修改为rwxrwxr-x:

3.2 数字设定法

采用数字设定法时,权限通常由3个数字组成,每一个数字都代表一个角色的权限,每个角色的数字值由所具有的权限决定:

r 读权限 4 (100)
w 写权限 2 (010)
x 执行权限 1 (001)
- 没有权限 0 (000)

例如:

  • rwxrwxr-x: 775
  • r-xr-xr–:554
  • 修改权限的格式如下:chmod XXX filename(0<= X <=7)

例如:当前文件的权限如下:
举例1:将main权限通过数字设定法修改为r-x–x-w-:

举例2:将main权限通过数字设定法修改为rwxrwxr-x:

五、常用命令

1. 基础命令

1.1 pwd

显示当前位置的绝对路径,示例如下:

1.2 cd

切换目录,cd 后边加的参数 代表需要切换到的目的地,可以使用绝对路径或者相对路径,示例如下:

  • “.” 通过“cd .” 回到当前位置
  • “…” 通过“cd …” 回到当前目录的上一层位置
  • “-” 通过“cd -”回到上一次所在目录
  • “~” 通过“cd ~”回到当前用户的家目录
    示例如下:

1.3 ls

显示当前目录中的所有文件,示例如下:

1.4 man

帮助手册,用于查看命令,系统调用,库函数等帮助信息,示例如下:

例如:

  • 查看命令:man printf
  • 查询库函数:man fopen
  • 查询系统调用: man open
  • 查看命令: man 1 ls

1.5 touch

用于创建普通文件,示例如下:

1.6 mkdir

创建目录文件,示例如下:

1.7 rmdir

删除空目录,不能删除非空目录,示例如下:

1.8 rm

删除文件,删除非空目录事,加-r 参数即可,示例如下:

rmdir 只能删除空目录
rm 删除文件
rm -r 删除空目录和非空目录都可以(普通文件也可以)

注意:rm -r 非常危险,不会警告,直接会将整个目录递归删除掉。

1.9 cp

拷贝文件,拷贝目录文件加参数 “-r”,示例如下:

举例

  • cp -r dir1 dir2:第一次执行, dir2不存在,系统将dir2当成名字处理,则将dir1拷贝一份起名dir2
  • cp -r dir1 dir2:第二次执行, dir2存在,系统将dir2当成目录处理,将将dir1拷贝一份放到dir2里面

注意:如果拷贝普通文件时,目的路径下已经有一个和源文件同名的文件,则拷贝时,会将目的地的同名文件覆盖掉,windows上会警告提醒,到底是覆盖掉还是跳过,但是linux上不会提醒,直接覆盖掉。(Linux系统开发人员默认已经非常了解这个命令了)

示例如下

1.9 mv

1.9.1:剪切(移动)文件,示例如下:

1.9.2:文件重命名,示例如下:

1.10 find

在目录树中搜索指定的文件,也可以指定开始的搜索位置,示例如下:

1.11 grep

在文件中过滤出包含指定字符串的行,示例如下:

  • grep -c 只显示个数
  • grep -v 取反,将查找的数据之外的数据展示出来

1.12 管道 |

将上一个命令的输出数据 作为 下一个命令的输入数据,示例如下:

1.13 wc

统计文件中的单词个数(-w),字符个数(-c),行数(-l),示例如下:

1.14 sudo

su username 切换用户 username 不写的话,默认切换root
sudo 暂借root权限执行这一行命令
sudo su username 切换用户 username 不写的话,默认切换root

1.15 关机和重启

1.15.1 关机

shutdown -h now //立刻关机
halt //立刻关机
init 0 //立刻关机
shutdown -r now //立刻重启
reboot //立刻重启
init 6 //立刻重启

1.15.2 releve

系统运行等级的查看 runleve

0 关机
1 单用户模式
2 多用户无网络模式
3 完全的多用户 文本界面模式
4 未定义或者自定义模式
5 图形化界面模式
6 重启
init 3 这个模式就是工作中服务器用的模式

2. 打包,解包,压缩,解压命令

2.1 tar 将文件打包,或者解包

参数介绍:

c 创建包文件
f 指定目标是一个文件而不是设备
v 显示详细过程
t 显示包中的内容,但是不释放(解包)
x 释放包中的内容
z GNU版本添加,使得tar具有压缩和解压的功能

2.1.1 tar打包:

2.1.2 tar解包::

2.2 gzip 对文件进行压缩或者解压

2.2.1 gzip对文件进行压缩

  • 压缩之后的包,和压缩之前相比,大小变化很大

2.2.2 gzip对压缩文件进行解压

d 解压缩

2.2.3 通过tar命令对压缩文件进行一步解压

tar zxvf mytar.tar.gz

2.2.4 通过tar命令对多个文件进行一步压缩

tar zcvf my.tar.tar.gz A.txt B.txt dir1


Linux 1:基础知识和常用命令相关推荐

  1. 【Java从0到架构师】Linux 基础知识、常用命令

    Linux 基础知识.常用命令 Linux 基础知识 内核和发行版 常见的 Linux 发行版 Linux 的应用领域 Linux 与 Windows 的区别 Linux 常用命令 *系统目录结构 s ...

  2. Linux基础知识、常用命令

    一.Linux文件与目录管理 绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录. 相对路径: 路径的写法,不是由 / 写起,例如由 /usr/share/do ...

  3. Redis基础知识+安装+常用命令使用

    Redis NoSql概述 为什么用NoSql 单机MySQL的时代! 上古90年代,更多的是静态网页,动态交互类型的网站不多.一个基本网站访问量一般不会太大,单个数据库可以轻松应付. 现如今的大数据 ...

  4. Git的基础知识和常用命令

    源代码的管理从最原始的手工备份到后来的CVS, SVN和GIT的应用,经历了一个漫长的过程.GIT大概是除了linux内核以外, Linus Torvalds对信息技术发展的另一重要贡献啦. GITH ...

  5. zookeeper基础知识以及常用命令

    zookeeper简介 1.中间件,提供协调服务. 2.作用于分布式系统,发挥其优势,可以为大数据服务. 3.支持java,提供Java和c语言的客户端API. 什么是分布式系统 1.很多台计算机组成 ...

  6. Git基础知识与常用命令

    一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...

  7. Redis(三):Redis基础知识与常用命令

    1.基础命令 Redis默认有16个数据库,用的是第0个数据库,可以使用select进行切换数据库,使用DBSIZE查看DB大小(只针对当前数据库). 使用keys * 查看当前数据库下所有的key, ...

  8. Git—基础知识及常用命令(系列一)

    1.集中式和分布式区别 1.1 集中式   集中式版本控制系统,版本库是集中存放在中央服务器的.用户都是用自己的电脑,要先从中央服务器取得最新的版本,然后coding,最后把代码推送到中央服务器.   ...

  9. mysql中pi是什么意思_MySQL 基础知识与常用命令

    MySQL MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. MySQL在过去由于性能高.成本 ...

最新文章

  1. ruby File类
  2. linux下装windows驱动,linux下安装windows xp无线网卡驱动
  3. r语言的MASS包干什么的_怎么记住r语言这么多包?
  4. Avalonia跨平台入门第十四篇之ListBox折叠列表
  5. 【牛客 - 551C】CSL 的密码(后缀数组,后缀自动机,随机算法)
  6. 查看linux内存优化,Linux性能优化和监控系列(三) 分析Memory使用状况
  7. Python扩展库numpy中的布尔运算
  8. Unity中Camera的Clear flags,Culling Mask,Depth参数
  9. IT男出轨概率最高是哪家机构得出的统计结论?
  10. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 2
  11. html5微信mp3播放器代码,[微信音频播放器] html5 audio 制做的微信播放器
  12. iOS 页面切换控制
  13. 移动端app跳转百度地图
  14. 巴黎大皇宫办秀,本土设计师品牌LANYU想在天猫做什么?
  15. 优秀的汽车后市场门店应该具备的数字化能力
  16. r语言中将茎叶图旋转90度_R语言(02)绘图
  17. 解密Google Deepmind AlphaGo围棋算法:真人工智能来自于哪里?
  18. C++ 标准库之typeid
  19. 世界疫情实时动态 + pyecharts可视化
  20. 电子学会青少年软件编程 Python编程等级考试一级真题解析(选择题)2022年3月

热门文章

  1. 单击按钮使用jQuery复制到剪贴板
  2. 中国首家JW万豪侯爵酒店在上海开业
  3. 振动试验,振动测试,震动试验
  4. CPT302多代理人系统 个人笔记
  5. Linux命令行访问U盘内容
  6. 矩阵快速幂及斐波那契数列
  7. react pdf预览
  8. 上交计算机考研有多难,上海交通大学考研难吗?一般要什么水平才可以进入?...
  9. matlab电磁场图像如何画,利用matlab实现矩形波导电磁场分布图的绘制
  10. 鸿蒙2层怎么进去,鸿蒙大帝系统