Linux基础必知必会(一)

文章目录

  • 前言
  • 一、初识Linux操作系统
  • 二、网络配置原理
  • 三、虚拟机网络配置原理
  • 四、虚拟机网络环境配置
  • 五、远程工具Xshell
  • 六、Linux目录结构讲解
  • 七、Linux常用的命令讲解
  • 八、用户和用户组的管理
  • 结语

前言

为什么要学习Linux系统?
很多人会疑惑,当前可视化操作系统这么好用,为什么还要学习底层系统呢?就像我们学习python一样,也许都不懂库的源码,我们也可以很好的工作和使用这些既成成果,但是永远无法在此方向上有什么更加深入的发展,直到所谓的30岁魔咒,被更年轻的人取代

Linux也是一样,我们学习的过程中不管是Mysql,hadoop,Pysaprk之类的大数据或者数据挖掘,人工智能的操作,使用的都是本地,最多弄个虚拟机,但是生产环境基本上都是在服务器上操作,所以为了更好的职业发展,我们还是有必要学习点一些Linux知识的,不求精深,至少基本操作必须熟知吧!即便自己学习,需要使用虚拟机这些基础知识也是需要了解的!

一、初识Linux操作系统

1、常见的操作系统:

  • windows,面向普通用户的操作系统
  • MacOS,面向普通用户的操作系统
  • Linux,定位并不是给普通用户使用的操作系统

2、Linux是免费的,并且是开源的操作系统,用于服务器系统

3、Linux内核版和发行版本

  • 内核版网站
  • 内核版本 -> 二次开发 -> 加入自定义的功能 -> 作为发行版本发行

4、Linux操作系统的应用场景

  • 服务器:追求的稳定性和安全性
  • 嵌入式开发:ATM取款机、空调遥控器、电梯系统等
  • 移动端的操作系统:安卓系统和iOS系统

5、常见的发行版本的Linux操作系统

  • CentOS(免费)
  • RedHat(红帽,收服务费)
  • Ubantu(企业中几乎不会使用,优化图形化漂亮)

6、Linux操作系统下载地址

二、网络配置原理

Linux基础必知必会(一)_第1张图片

三、虚拟机网络配置原理

Linux基础必知必会(一)_第2张图片

四、虚拟机网络环境配置

1、修改网卡配置文件

  • 在Linux操作系统里,任何的硬件都是一个文件

  • 编辑网卡文件命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

  • 修改 ifcfg-ens33 文件,如下:

    BOOTPROTO=static		#静态IP
    ONBOOT=yes				#开机自动启动网卡服务
    IPADDR=192.168.211.10 	#IP地址
    NETMASK=255.255.255.0	#子网掩码
    GATEWAY=192.168.211.2	#网关IP
    DNS1=192.168.211.2		#域名解析服务器,和网关IP地址一样
    
  • 保存并退出网卡文件:shift + :,然后输入:wq按回车

  • 重启网卡服务,使配置生效,命令:systemctl restart network.service

  • 查看IP地址,命令:ifconfig

2、修改主机名

  • 使用命令:hostname 查看当前主机名
  • 修改主机名:vi /etc/hostname

3、配置IP映射

  • 配置IP映射文件:vi /etc/hosts
    server1 192.168.211.10

五、远程工具Xshell

自行从xshell官网下载安装
也可以用其他远程工具,阿里云可以网页版直接连接

六、Linux目录结构讲解

1、bin目录:普通用户能执行的命令,都存储在这个目录里

2、sbin目录:root用户能执行的命令,存储在这里

3、boot目录:存储了和启动相关的服务

4、dev目录:存储了硬件的信息

5、etc目录:和系统相关的配置文件,都在这个目录下

6、home目录:普通用户的家目录

7、root目录:root用户的家目录

8、lib和lib64:系统所依赖的代码库

9、media目录:媒体目录,比如插入U盘,内容就会在这个目录下显示

10、mnt目录:磁盘挂载目录

11、opt目录:我们自己安装的软件,全部放在这个目录下

12、proc目录:进程目录,linux系统的程序进程

13、tmp目录:临时目录,注意:这个目录不要存储重要的文件,系统重启可能导致文件丢失

七、Linux常用的命令讲解

命令的格式:命令 [-选项] [参数]

1、ifconfig

  • 功能:查看网卡配置信息

2、clear

  • 功能:清空屏幕
  • 快捷键:ctrl + L

3、pwd

  • 功能:打印当前所在的目录(绝对路径)

4、cd

  • 功能:移动到指定目录下
  • 示例:cd /etc/sysconfig/network-scripts/

5、ls

  • 全拼:list
  • 功能:查看目录下的所有文件
  • 示例1:ls #如果不指定目录,则查看当前目录下的所有文件
  • 示例2:ls /etc/sysconfig/network-scripts/ #查看指定目录下有哪些文件
  • 示例3:ls -l / #-l的全拼是long,表示以详细信息查看文件
  • 示例4:ll / #ll是ls -l的别名,以后我们通常都会使用ll代替ls -l
  • 示例5:ls -al / #-a的全拼是all,表示查看所有文件(包括隐藏文件)

6、mkdir

  • 全拼:make directory
  • 功能:创建目录
  • 示例1:mkdir dir1 #如果没有指定路径,则在当前目录下创建dir1
  • 示例2:mkdir /opt/dir2 #指定在/opt目录下创建dir2
  • 示例3:mkdir -p parent/son #在创建son目录时,如果parent目录不存在,添加-p选项,表示递归创建

7、touch

  • 功能:创建文件
  • 示例1:touch file1 #如果没有指定路径,则在当前目录下创建文件
  • 示例2:touch /opt/file2 #指定在/opt目录下创建file2

8、cp

  • 全拼:copy
  • 功能:拷贝文件或目录
  • 示例1:cp /opt/file2 ./dir1 #把/opt/file2拷贝到/tmp/dir1目录下
    • ./ 表示当前目录
    • …/ 表示上一级目录
  • 示例2:cp -r dir1 parent #复制dir1目录,然后粘贴到parent目录。注意:拷贝目录需要加-r

9、mv

  • 全拼:move
  • 功能:移动文件或目录,并且支持重命名的功能
  • 示例1:mv file1 dir #移动file1文件到dir目录下
  • 示例2:mv /opt/file2 ./dir/file2.copy #移动/opt/file2文件到dir目录下,并且重命名为file2.copy
  • 示例3:mv dir1 dir #把dir1目录移动到dir目录下

10、rmdir

  • 全拼:remove directory
  • 功能:删除空目录
  • 示例:rmdir dir1/dir2 #删除dir2目录

11、rm

  • 全拼:remove
  • 功能:删除文件或目录
  • 注意:删除目录的时候需要加-r选项,-f选项表示强制删除,不再询问
  • 示例1:rm file1 #删除文件
  • 示例2:rm -r dir1 #删除目录,需要加-r选项
  • 示例3:rm -rf dir2 #加-f表示强制删除

12、cat more less head tail

  • 功能:查看文件
  • 示例1:cat /etc/passwd #适合查看小文件
  • 示例2:more /etc/services #适合查看大文件,支持向下翻页(按空格键)
  • 示例3:less /etc/services #适合查看大文件,支持向下翻页(按空格键),还支持向上和向下翻页(上下方向键)
  • 示例4:head -10 /etc/services #查看文件头10行
  • 示例5:tail -10 /etc/services #查看文件尾10行

13、poweroff reboot(重启)

  • 功能:关机

八、用户和用户组的管理

1、linux用户种类

  • root 超级用户
  • 普通用户
  • 系统(伪)用户

2、查看Linux系统当前拥有哪些用户

cat /etc/passwd

返回信息如下:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
#返回信息解读,以第一个为例,后面类似
root:x:0:0:root:/root:/bin/bash
- 第一列:用户名root
- 第二列:密码标记位,x代表用户拥有密码
- 第三列:用户ID,也叫做UID
	root用户的UID就是0
	系统用户的UID取值范围是:1~999
	普通用户的UID取值范围是从1000起
- 第四列:用户组ID,也叫作GID
- 第五列:用户的描述信息
- 第六列:用户的家目录
- 第七列:用户所使用的shell

4、man命令查看帮助信息

man rm		#查看命令的帮助信息

5、用户基本操作命令(重点)

# 添加用户
useradd zhangsan
# 设置密码
passwd zhangsan
# 删除用户
userdel -r zhangsan #推荐加-r,表示删除用户的同时把用户的家目录一并删除
# 切换用户
su - zhangsan

6、查看Linux系统拥有哪些用户组

 cat /etc/group

7、用户组基本操作命令

  • 添加用户组
groupadd teacher
  • 删除用户组
groupdel teacher

结语

就像文章开始说的,当前时代的数据大爆发,基本生产环境都是搭建在服务器上的,所以一些基本的Linux知识还是需要了解一下的。另外,虚拟机和服务器还是有一些区别的,有条件的话,建议弄一台服务器玩玩也是不错的!

下一篇:《Linux基础必知必会(二)》

你可能感兴趣的:(计算机原理和系统,1024程序员节,linux,centos)