Linux - 基础篇

课程传送门:003_韩顺平Linux_概述_哔哩哔哩_bilibili

Linux 内核下载地址:https://kernel.org/

发行版本

linux内核一样,个别发行版本不一样:

  • 乌班图
  • 红帽
  • Centos

VM和Centos

学习Linux需要一个环境,需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习 

  • 先安装virtual machine 
  • 再安装linux Centos
关系图

网络连接的三种方式

桥接模式:虚拟系统可以和外部系统相互通讯,但是容易造成ip冲突

NAT模式:网络地址转换模式,虚拟系统可以和外部系统通讯,而且不造成IP冲突

主机模式:独立系统,不与外界发生通讯

Linux目录结构

linux的文件系统是采用及层式的树状目录结构,在此结构的最上层是根目录"/",然后在此目录下再创建其他目录

linux会把硬件映射成为一个文件来管理在linux世界里,一切皆文件

  • 目录树如下:
  • /                   根目录
    • root       root用户(系统管理员)的目录
    • home    存放普通用户的主目录,在linux中每个用户都有自己的目录,一般该目录名是由用户的账号命名
    • bin        存放着最经常使用的指令
    • etc        配置文件,环境设置文件
    • usr        用户的很多应用程序都和文件都是放在此目录下
      • local         给主机额外安装软件所安装的目录
    • boot       存放的是启动linux时使用的一些核心文件,包括一些连接文件和镜像文件
    • lib         系统开机所需要最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库
    • proc       【不能动】是一个虚拟目录,是系统内存的映射,访问此目录获取系统信息
    • srv          【不能动】service的缩写,存放一些服务启动之后需要提取的数据
    • sys          【不能动】系统文件
    • temp        存放一些临时文件
    • lost+found           一般情况下为空目录,当系统非法关机后,就会存放一些文件
    • dev           类似设备管理器,所有的硬件用文件的形式储存
    • media        自动识别一些设备,U盘等,识别后,会把设备挂载到此目录下
    • mnt            临时挂在别的文件系统
    • opt             约定俗成,给主机额外安装软件所存放的目录
    • var              目录存放不断扩充着的东西,经常被修改的目录,日志文件等
    • selinux        是一种安全的子系统

linux远程登录和远程文件传输

公司开发时,具体运用场景:

  1. linux服务器是开发小组共享
  2. 正式上线的项目是运行在公网
  3. 因此程序员需要远程登录到linux进行项目管理或者开发
  4. 远程登录客户端有Xshell- 登录,Xftp6 - 上传下载

vi和vim

Linux系统会内置vi文本编辑器,类似于记事本.txt

  • vi  : 查看编辑文件命令
  • vim : 是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计,代码补完,编译以及错误跳转等方便编程的功能

vi的模式

正常模式:可以查看,删除内容,无法输入内容

编辑模式:可以查看,删除,输入内容

命令行模式:可以 :wq  保存退出文件, :q  退出文件 或 :q!  强制退出不保存文件

 快捷键

正常模式,从光标开始计算:

  • yy ,拷贝当前行,5yy 拷贝当前行往下计算5行 ,p 根据光标位置粘贴行
  • dd , 删除当前行,5dd 删除当前行往下计算5行
  • G , 定位到文件最后一行; gg  定位到文件首行
  • u , 撤销操作,当输入了不必要的字符,粘贴错误,可以按u撤销
  • number + Shift +g ,  快速定位到number行

命令行模式

  • 在命令行中输入 关键字 并回车,即可以查找文本的关键字,输入n 查找下一个
  • set nu  ,设置文件行号 ;  set nonu ,取消设置行号

关机,重启,登录注销命令

关机,重启

双重保险:无论是关机还是重启,都要先执行sync!

  • shutdown -h now ,立刻进行关机
  • shutdown -h 1  ,1分钟后关机
  • shutdown -r now  ,重新启动
  • halt  , 关机
  • reboot ,重新启动
  • sync  ,内存数据同步到磁盘

登录注销

  1. 登录时尽量少用root 账号,因为是管理员,最大权限,
  2. 可以普通用户登录后使用su - 用户名 命令切换用户身份
    1. su - root 切换管理员身份
  3. 在提示符下输入logout即可注销(退出)当前用户
  4. 退出终端 exit

 用户管理

linux是多用户多任务的操作系统,任何一个要使用系统资源的用户,都需要想系统管理员申请一个身份,然后以这个账号的身份进入系统

用户增删改查

添加用户:

  • useradd 用户名 ,增加一个用户,默认家目录
  • useradd -d 目录,增加一个用户,指定家目录

指定,修改密码:

  • passwd 用户名, 给该用户设置密码,没有填写用户则修改当前账号的密码

删除用户:

  • userdel 用户名,删除用户,但保留用户家目录
  • userdel -r 用户名,删除用户,并删除用户家目录(慎重使用)

查询用户信息

  • id 用户名,显示用户的uid,gid组
  • who am i ,显示目前登录到该系统的账号

用户组

系统可以对有共性/权限的多个用户进行统一管理

用户组增删查

新增组:groupadd 组名

删除组:groupdel 组名

组和角色

增加用户时加上组:useradd -g 组名 用户名

修改用户的所在组:usermod -g 组名 用户名

用户和组的相关文件

/etc/pwasswd文件:
  • 用户(user)的配置文件,记录用户的各种信息
  • 每行的含义:  用户名:口令:用户标识号:组标识号:注释性描述:家目录:登录Shell
/etc/shadow文件:
  • 口令的配置文件
  • 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group文件:
  • 组的配置文件,记录Linux目前拥有的组的信息
  • 每行的含义:组名:口令:组标识号:组内用户列表

运行级别

运行级别说明:

  • 0 :关机
  • 1 :单用户【找回丢失密码】
  • 2 :多用户状态没有网络服务
  • 3 :多用户状态有网络服务
  • 4 :系统未使用保留给用户
  • 5 :图形界面
  • 6 :系统重启

init [123456] ,切换不同的运行级别

文件目录管理

目录

查询,切换

  • pwd ,显示当前工作目录的绝对路径
  • ls ,显示目录下的文件,文件夹
    • -a ,显示所有文件和目录,包括隐藏
    • -l ,以列表的形式显示信息
  • cd  路径, 切换目录
    • ~ ,家目录
    • / ,根目录
    • .. ,上一级目录

创建

  • mkdir 目录名 ,创建目录
    • -p ,创建多级目录

删除

  • rmdir 目录名,删除空目录
    • -rf , 删除有内容的目录

文件

创建

  • touch 文件名,创建空文件

拷贝

  • cp 文件名 目的路径,复制文件到目的目录 
    • -r ,递归拷贝文件夹,将目录下的所有内容拷贝到目的目录
    • \cp -r ,强制覆盖不提醒拷贝

删除

  • rm , 移除文件或目录
    • -r ,递归删除整个文件夹
    • -f ,强制删除不提示

移动

  • mv 文件名 新文件名,移动文件或者目录或重命名
    • 同目录下 : mv 文件名 新文件名 ,文件重命名
    • 不同目录下 : mv 文件名 路径/新文件名,移动文件

查看

  • cat 文件名,查看文件内容
    • -n , 显示行号
    • cat Xxx.txt | more ,分页查看
      •  | , 管道命令 ,将前面得到的结果交给下一个命令
      • more ,全屏分页查看功能
  • less 文件名,可以根据需要显示,动态加载,文件较大情况下可以使用,分屏查看文件
  • head 文件名, 默认显示显示文件开头前10行部分
    • -n number, 选择显示前number行
  • tail 文件名,输出文件尾部部分
    • -n number ,查看文件最后number行
    • -f , 实时追踪文件的更新

输出

  • echo 输出内容到控制台
    • echo $环境变量
    • echo "XXXX"
  • > 重定向 ,新增内容覆盖文件
    • ls -a > 文件名
  • >> 追加 ,文件末尾追加内容
    • echo "XXXX" >> 文件名

日期

  • date ,显示日期
    • +%Y , 显示年份
    • date "+%Y-%m-%d %H:%M:%S" ,显示年月日时分秒
    • -s , 修改当前系统的时间
  • cal ,显示本月日历

查找

  • find , 从指定目录递归遍历子目录,将满足条件的文件或目录显示
    • -name , 按文件名查找
    • -user , 按用户查找
    • -size , 按文件大小查找
  • grep ,过滤查找

压缩和解压

gzip

  • gzip [文件] ,  压缩文件,将文件压缩为*.gz文件
  • gunzip [文件] , 解压文件

zip

  • zip  [选项]XXX.zip ,压缩文件和目录
    • -r :递归压缩,即压缩目录
  • unzip [选项]XXX.zip ,解压缩文件
    •  -d :解压后文件存放的位置

tar

  • tar [选项]XXX.tar.gz ,打包tar.gz文件
    • -c , 产生.tar打包文件
    • -v , 显示详细信息
    • -f , 指定压缩后的文件名
    • -z , 打包同时压缩
    • -x , 解包.tar文件

管理组和权限管理

在Linux中的每个用户必须属于一个组,不能独立于组外,在Linux中每个文件有所有者,所在组,其他组的概念

所有者 :

  • ls -ahl ,查看文件的所有者,所在组
  • chown 用户名 文件名 , 修改文件的所有者
    • chown -R  用户名 目录名, 目录下的文件递归修改所有者

所在组

  • chgrp 组名 文件名  , 修改文件所在组
    • chgrp -R  用户名 目录名, 目录下的文件递归修改所有者

其他组

  • usermod -g 组名 用户名 , 改变用户所在组
  • usermod -d 目录名 用户名 , 改变该用户登录的初始目录
    • 特别说明:修改后的用户,需要有进入到新目录的权限

rwx权限

rwx作用到文件

r :  read , 可读权限,查看文件内容

w : write , 写入权限,可以修改,注意:删除文件需要用户在此文件所在的目录拥有w权限才能删除

x :  execute , 执行权限 ,可以执行文件

rwx作用到目录

r :  read ,可查看目录内的文件

w : write , 可以修改目录内容,例:目录内进行创建,删除,重命名目录

x :  execute ,  可进入该目录,可以cd 进入目录

 

权限用数字表示

r = 4 , w = 2 , x = 1

内容说明:

-rwxrw-r-- 1 root root 1213 Frb 2 09:39 abc.txt

  • 0位 :确定文件类型
    • - : 普通文件
    • I :连接,相当于window的快捷方式
    • d :目录,相当于window的文件夹
    • c :字符设备文件,鼠标,硬盘
    • b :块设备,硬盘等
  • 1-3位 :文件所有者,对该文件的权限
  • 4-6位 :文件所属组,对该文件的权限
  • 7-9位 :其他非组内用户,对该文件的权限

-rwxrw-r-- 1 root root 1213 Frb 2 09:39 abc.txt

    • 文件:硬连接数 
    • 目录:子目录/文件总数

-rwxrw-r-- 1 root root 1213 Frb 2 09:39 abc.txt

第一个:文件拥有者

第二个:文件所属组

-rwxrw-r-- 1 root root 1213 Frb 2 09:39 abc.txt

1213  : 文件名

Frb 2 09:39  : 最后修改日期

abc.txt  : 文件名

修改文件权限 chmod 指令

u 所有者 , g 所在组 , o其他组

  • chmod u=rwx,g=rx,o=x 文件名/目录名
    • 给文件所有者读写执行权限,所在组读执行权限,其他组执行权限
  • chmod o+w 文件名/目录名
    • 为其他组用户增加写入权限
  • chmod a-x 文件名/目录名
    • ​​​​​​​所有用户取消执行权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值