Linux基础必知必会(一)_linux 应知应会_诡途的博客-程序员秘密

技术标签: 1024程序员节  linux  centos  计算机原理和系统  

前言

为什么要学习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操作系统下载地址

二、网络配置原理

在这里插入图片描述

三、虚拟机网络配置原理

在这里插入图片描述

四、虚拟机网络环境配置

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基础必知必会(二)》

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35866846/article/details/109253964

智能推荐

Windchill 位号校验工具类_windchill里的位号是什么_tyt1002的博客-程序员秘密

import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.regex.Pattern;/** * 位号校验 * * @author tyt 位号不能是中划线和逗号结尾 */public class CtCheckFitPlaceTool {// CtChe..

Linux-安装Oracle_oracle.install.db.cluster_nodes=_纳扎的博客-程序员秘密

一、 环境1. CentOS Linux release 7.5.1804 (Core)2. Python 2.7.53. libc 2.174. libstdc++.so.6.0.19二、 下载下载到系统/data/software/oracle/database路径下三、 基础配置1. 创建用户和用户组groupadd oinstallgroupadd dbauseradd -g oinstall -G dba -p password -d /home/oracl

用kotlin写的android Log的几乎完美封装_kotlin logutils 封装_hotapk_cn的博客-程序员秘密

支持显示行号支持显示类支持跳转至Log所在位置支持log数据保存sd卡支持设置log文件大小保存sd卡结合上一章 用kotlin写的android FileUtils使用github地址欢迎访问个人博客85F011AA-9E0F-4DE1-92D2-46004F149344.pngimport android.util.Logimport java.io.Fileimp

杭电2010 水仙花数_若水cjj的博客-程序员秘密

Problem Description春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。 Input输入数据有多组,每组占一行,包括两个整数m和n(100 Output对于每个测试

python 数据生成_高清人的博客-程序员秘密

1.绘制简单的折线图#1.绘制简单的折线图import matplotlib.pyplot as pltsquares = [1,4,9,16,25]plt.plot(squares)plt.show()首先导入pyplot,并给他指定了别名plt,以免反复输入pyplot。plt.show()打开matplotlib查看器2.修改标签文字和线条粗细#1.绘制简单的折线图import matplotlib.pyplot as pltsquares = [1,4,9,

Android开发小技巧:怎样在 textview 前面加上一个小图标。_android 在textview前添加图标_ZhangJiQun&MXP的博客-程序员秘密

                     <TextView                        android:drawableLeft="@mipmap/icon_unhook_time"                        android:drawablePadding="5dp"                        android:id="@+id/tv...

随便推点

BASH BUG:cve-2014-6271验证与利用_svdata的博客-程序员秘密

来源:[email protected]网络攻防实验室Stephane Schazelas最近发现BASH的一个BUG,问题在于BASH在处理环境变量的时候,这个漏洞影响bash版本1.14 - 4.3,受影响的发行版本包括:    Red Hat Enterprise Linux (versions 4 through 7) and the Fedora distribution    C

js +css3 实现水平导航,垂直导航线条跟随鼠标移动动画。_能c能v的博客-程序员秘密

1.样式不重要,重要的是怎么实现,主要涉及mouseover,mouseleave鼠标移入移出事件,移入的时候线条display为block,移出时为none,在css里面加transition: all .3s; 实现一个动画过渡的效果,线条会根据内容改变自己的宽度和高度。horizontalLine.style.width = target.offsetWidth + 'px';s...

iOS-响应链_weixin_33901641的博客-程序员秘密

先说一下响应链是什么?在我们点击屏幕时候,iOS操作系统回去用户的点击行为,把这个写包含点击事件的信息包装成UItouch和UIEvent形式的实例,然后找到当前运行的程序,从appDelegate逐级寻找能够响应这个事件的对象,知道没有响应者为止,这个过程就是事件响应链。响应者在iOS中,能够响应事件的对象都是UIResponder的子类对象。UIResponder提供了四个用户点击的回调方法,...

老铁们来来来,实战STM32_40岁适合学单片机吗_程序员小哈的博客-程序员秘密

大家好,我是程序员小哈。小哈哥的知识星球「小哈和他的朋友们」,运营已经整整一年了,今天是第二期的第一天,新的一期,期待你的加入,对小哈哥的知识星球不了解的,可以点击查看之前的网文:一个优质的嵌入式学习圈运营了一年知识星球,我感觉很多东西对于新人来说,还是有些难度,加上彼此涉猎的知识领域不同,想交流、解决问题就比较难了。如果我们一同制作一个属于自己的开发板。同一个板子,我们一起玩,一起相互验证,一路同行,一起进步,那样岂不是爽歪歪。既然这样,小哈哥之前说的:嵌入式相关训练营 ,今天就开启啦,我们第一个综

iOS Xcode 忽略警告方法记录_strict prototypes_多肉饲养员的多肉的博客-程序员秘密

在TARGETS中选择对应的target选择Build settings输入:Other Warning Flags再把对应的忽略填上即可:$(inherited) -Wno-incomplete-implementation -Wno-unused-variable -Wno-undeclared-selector -Wno-format -Wno-strict-prototypes -Wno-unreachable-code -Wno-macro-redefined -Wno-d...

《Hadoop 3》--完全分布式集群的搭建_yk_3215123的博客-程序员秘密

一、完全分布式集群的安装步骤 准备工作: 三个主机 master,slave1,slave2 主机上的普通用户都是hyxy 管理目录~/apps/ master 192.168....

推荐文章

热门文章

相关标签