Linux学习2.0(非markdown编辑)

教程   linux自学300集(感觉讲的比较全,还不错)        黑马ubuntu                  Linux系统教程 C语言中文网 写的很全面的感觉

公众号秀拓跋阿秀的总结  2.6W字系统总结,带你实现 Linux 自由!

操作系统:是沟通软件和硬件的桥梁,你在软件中产生了一种操作,那么操作系统就会调动cpu、内存、磁盘等来实现你的操作。Linux是一种操作系统核心。     一般一个产品分为客户端和服务端,客户端就是app、网页、游戏等等,服务端一般用的都是Linux。

Linux系统组成:  各种应用软件、命令、服务            命令解释器shell(bash)             linux内核

Linux分类:红帽系列:RHEL、CentOS(服务器很多都是CentOS,所以要会用yum命令)、Fedora、Rocky Linux       Debian系列:Debian系统、Kali、Ubuntu系统(可视化窗口做的好看,但企业级不会用,因为占资源)

       自学服务器操作的话,要是没有服务器可以用虚拟机创建一个服务器搭一个Linux系统,然后再远程连接这个系统。一般都是远程操作的,直接操作一般都是服务器坏了。

远程连接:起码需要知道 ip地址、用户名(root)、密码。远程连接软件不要找破解的,很可能有木马病毒。Ubuntu默认没有安装SSH,所以想远程连接Ubuntu那边需要先装SSH。 可以买云服务器,然后用本地的增强终端直接通过ssh连买好的云服务器,一样的。

远程连接工具
Windows Xshell/SecureCRT/Putty/FinalShell/MobaXterm
Mac SecureCRT/lterm2/FinalShell ……
Android JuiceSSH
IOS Termius

IP地址:每个网络地址

  • 公网IP (外网IP):数量限制,比较稀少,只要有网络的地方就可以连接与使用公网ip。比如百度的公网ip可以在cmd里用ping baidu.com来查看,然后这个IP就是公网ip,输入浏览器就直接能访问百度网页。不过像百度这种公网IP会经常变,这个另说。
  • 内网(局域网IP):只能在局部使用。  10.0.xx.xx    192.168.xxx.xx   172.16.xxx.xxx

端口:用于区分不同服务,大部分服务都有自己默认的端口号。一般远程连接服务的端口是22。

Bash概述:是命令解释器 (shell),替我们运行、解析命令。

  • 执行命令
  • 特殊符号
  • 运行脚本(代码)

服务器分类

虚拟机  Vmware ESXI
云服务器

国内:阿里云,腾讯云,华为云,Ucloud     国外:aws(亚马逊),GCP(谷歌云),Azure(微软云)

物理服务器  价格昂贵,性能较好:华为,联想,浪潮, Dell

Linux用户和用户组管理:Linux用户管理

        Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。例如,某台 Linux 服务器上有 4 个用户,分别是 root、www、ftp 和 mysql,在同一时间内,root 用户可能在查看系统日志、管理维护系统;www 用户可能在修改自己的网页程序;ftp 用户可能在上传软件到服务器;mysql 用户可能在执行自己的 SQL 查询,每个用户互不干扰,有条不紊地进行着自己的工作。与此同时,每个用户之间不能越权访问,比如 www 用户不能执行 mysql 用户的 SQL 查询操作,ftp 用户也不能修改 www 用户的网页程序。

       用户组是具有相同特征用户的逻辑集合。简单的理解,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有 10 个用户的话,就需要授权 10 次,那如果有 100、1000 甚至更多的用户呢?显然,这种方法不太合理。最好的方式是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中。那么,所有用户就具有了和组一样的权限,这就是用户组。

       创建新用户    新用户创建      新用户创建2   新用户创建3(讲的不错)
       用户切换      用户切换1(包含su和sudo命令)      用户切换2(包含su和sudo命令)

       当我们只需要短时间内使用其他用户的身份完成某个命令,可以使用 sudo 命令。sudo命令使用前需要先修改配置文件/etc/sudoers,获得使用权限。在不知道 root 密码的情况下,我们作为 root 用户管理员要授权其他普通用户去执行 root 权限的命令操作,sudo 命令可以帮我们实现这一功能。关于 sudo 命令与 su 命令不同之处,使用 root 权限下的命令时 sudo 命令只需要知道自己用户的密码,而 su 命令需要 root 用户的密码,因此 sudo 命令比 su 命令更加安全。

        切换用户  su ysy或者su - ysy( 直接进入ysy家目录 ),切换回root也一样。

Linux系统下的文件目录结构

ubuntu没有盘符这个概念,只有一个根目录/,所有文件都在它下面。

在这里插入图片描述在这里插入图片描述
只有一块硬盘,home下面的三个对应三个用户,python这个用户存了很多个个人文件。
我从根目录进入,双击home进入home发现有个ysy文件夹,这个文件夹就相当于上面图中的python用户。11111

 Linux主要目录速查表:

在这里插入图片描述

/:根目录,所有的东西都是从这里开始。

/root : 该目录为系统管理员的家目录,root是具有超级权限的用户。

/home:新增用户时用户的家目录都在/home下面。   root 超级管理员账户的主目录为 /root,普通用户的主目录为 /home/yourIDname。

~:表示当前用户的家目录,如果当前用户是系统管理员root,那么~就是进入了/root文件夹;如果当前用户是普通用户,那么~就进入了用户自己的家目录,也就是自己的文件夹里,假如当前用户是ysy(一个普通用户的名称),那么 ~ 就代表当前所在文件夹为 /home/ysy。

~ysy:表示用户ysy的家目录。

Linux终端命令

1. Linux刚问世的时候并没有图形界面,操作全靠命令完成。
2. 大量服务器维护工作都是远程靠SSH客户端完成,没有图形界面
(在当虹实习的时候体会到了,既然不在本地用Linux,那么就可以在win系统里用增强终端来控制远程的Linux服务器)


Linux 小技巧(快捷键)

1.终端界面放大ctrl shift = 缩小ctrl -
2. linux区分大小写
3. 在敲出文件/目录/命令的前几个前几个字母后,按下tab键可以自动补全,按两下可以提示。
4. 按方向键上/下可以在之前用过的命令里来回切换。
5. 如果想退出选择,或者不想执行当前的命令了,按ctrl+c,多按几次是终止。


 Linux中指令的前缀 和 命令格式  指令的前缀&命令格式

1.命令前缀:即终端每一条命令前的内容,例如:[root@centosGuli bin]#

       这个前缀的完整格式[用户@主机名 当前路径]用户提示符。

root: 代表当前的登录用户(是Linux管理员,因为Linux管理员账号是root)

@: 没有意义

centosGuli: 代表当前计算机的主机名(Linux默认主机名是localhost)

bin 代表当前所在目录为 bin 目录。需要注意的是,如果当前用户在自己的家目录则当前路径将变成 ~:什么意思呢?就是例如当前用户是 root,如果当前所在文件夹为 /root,那么当前路径为 ~;同理如果当前用户是 drdajie(一个普通用户的名称),如果当前所在文件夹为 /home/drdajie,那么当前路径为 ~。

# 代表当前用户身份的提示符:

  • #: 代表当前用户是超级用户(root)
  • $: 代表当前用户是普通用户

2.命令格式:命令 [选项] [参数]

个别命令使用不遵循此格式 命令: linux实现各种功能指令。
选项分为简化选项和完整选项,简化选项用 - 调用,完整选项用 – 调用 选项 :option 同一个命令的不同功能(条件)
一条命令可以没有选项和参数 参数: 对象(处理文件,目录。。。。)
一条命令也可以同时有多个选项,需要写在一起 例子: 命令    选项        参数
             rm       -f           /oldboy/lidao.txt

Linux 常用命令(后面要加空格)

序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容   ls /etc看指定文件夹   ls   -l   /tmp 显示详细信息
02 pwd print work directory 查看当前所在文件夹
03 cd change directory 切换文件夹
04 touch touch 如果文件不存在,新建文件   touch /home/ysy/test.txt
05 mkdir make directory 创建目录(新建文件夹)   mkdir -p a1/b1/c1 表示在当前目录下创建a1,再在a1里创建b1…
06 rm remove 删除指定的文件,删除文件夹是rm -r(直接从磁盘里删掉,恢复不了
07 clear clear 清屏
08 ip   a 可以查看ip地址
09 cat 显示、查看文件内容

Linux以  .  开头的文件是隐藏文件(一般都是一些配置文件),ls需要加-a才能显示 ls -a ,ls -l -h (或者ls -lh)是显示包括文件大小的详细信息。ls  -la
. 表示当前目录   . .表示上一级目录
cd 和 cd ~都是返回家目录,cd . .返回上一级目录,cd . 是原地踏步,在复制的时候有用。
mkdir -p a1/b1/c1 表示在当前目录下创建a1,再在a1里创建b1…

相对路径和绝对路径

相对路径:  在输入路径时最前面不是/或者~,表示相对当前目录所在的目录位置。cd命令可以直接进入当前文件里面的文件夹,不需要从/home开始写。
绝对路径:  在输入路径时最前面是/或者~,表示从根目录/家目录开始的具体目录位置。~表示/home/ysy。

拷贝和移动文件

序号 命令 对应英文 作用
01 tree [目录名] tree

以树状图列出文件目录结构,使用前需要先安装。 
Ubuntu下使用#apt get-intall tree安装
Fedora和RedHat以及CentOS下使用#yum install tree安装

tree -L 1 /root 只显示root下的一层目录

02 cp 源文件 目标文件 copy 复制文件或者目录 ,例cp ~/Documents/readme.txt ./readme.txt这条命令把Documents里的文件复制到了当前目录里。加-i是覆盖提示          或者cp /etc/hosts       /tmp/ 指把etc里的hosts文件复制到tmp里。  如果想复制目录要加-r选项
03 mv 源文件 目标文件 move 移动文件或目录,文件或目录重命名(mv ./readme.txt ./demo.txt,重命名)。加-i是覆盖提示

gedit是linux里一款文本编辑器


vi编辑器(系统自带)

       vi编辑器类似于win系统的记事本,可以用来修改配置文件。vim是vi的升级版,兼容vi所有指令但是要自己安装。  vi 和vim 的区别

流程:例如,编辑/oldboy/oldboy.txt 文件,并写入内容
01.    /o1dboy/这个目录必须存在,.txt文件如果不存在vi会自动创建
02.    vi    /oldboy/oldboy.txt 编辑这个文件
03.    修改文件内容
04.    保存并推出

[root@oldboy79-01 ~]# mkdir /oldboy       vi编辑器用法

[root@oldboy79-01 ~]# ls -l  /oldboy          vi编辑器用法2

[root@oldboy79-01 ~]# touch /oldboy/oldboy.txt  先创建这个文件

vi /oldboy/oldboy.txt   然后编辑这个文件,默认进入的是非编辑状态,改不了内容。需要按 i 进入编辑模式

esc退出编辑模式,按  :wq 保存退出。  :q 没有修改文件,仅退出     : q! 强制退出不保存。  按:是进入命令模式,wq这些就是命令。:wq!是保存然后强制退出。

可以用cat   /oldboy/oldboy.txt  来查看文件内容


通过yum安装软件 yum到底是干什么的?

       yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
       基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。    使用需要联网,可以用ping baidu.com来看看是否有联网,停止这个命令要用ctrl+C。

yum和apt-get的区别                              apt 和 apt-get的区别

通过apt安装或者卸载软件   

        apt(advance packaging tool),是linux下一款安装包管理工具。可以在终端中方便地安装、卸载、更新软件包。apt-get能够用于运做deb包,deb包  主要应用于Debian系列包括如今比较流行的Ubuntu等发行版上。
        sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。用sudo安装完软件后系统中所有的用户都能使用这个软件。

作用 命令
安装软件 sudo apt install 软件包
卸载软件 sudo apt remove 软件包
更新已安装的包 sudo apt upgrade

更换软件源   换软件源

        可以更换成国内的镜像源。

wget命令 – 下载网络文件     

         我的理解是只要网页上那个链接点开来可下载,就可以用这条指令下载。wget命令非常稳定,下载失败会不断的尝试重连,直至整个文件下载完毕。   wget命令

 例如,wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh

打包压缩

不同的操作系统中,常用的打包压缩方式是不同的。

系统 打包压缩方式
windows rar
Mac zip
Linux tar.gz

tar命令只负责打包不负责压缩   用gzip压缩tar打包后的文件,扩展名一般用XXX.tar.gz。在tar命令中可以用-z直接调用gzip。
tar -cvf打包文件     tar -zcvf压缩文件
tar -xvf解包文件     tar -zxvf解压缩文件

tar与bizp2命令结合也可以实现打包压缩,扩展名为XXX.tar.bz2
tar -jcvf压缩文件
tar -jxvf解压缩文件

        Ubuntu 可以使用 xdg-open 命令快速打开某个文件。 xdg-open 命令       需要注意的是假如我用这个命令打开一幅图 xdg-open cattest.png,那么当前目录必须在那幅图的路径下,不然打不开;我试了一下用绝对路径但是不行,可能是中文的原因吧不太清楚。


管理员权限

        Linux 系统为了安全性考虑,使得许多系统命令和服务只能被 root 管理员来使用,通过一些命令可以切换或暂时切换 root 权限。
        su:不退出登录的情况下,切换用户身份,格式为su -用户名称。注意到命令中间有个 - 符号,这意味着完全切换到新的用户,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。用户名称可以是普通用户,也可以是 root。由普通用户切换至 root 需要输入管理员密码。

$ su - root
Password:  #此处输入管理员密码

        sudo:代表 Superuser do,给普通用户提供额外的权限,格式为 sudo [参数] 用户名称。最常用的是为当前用户暂时提供 root 权限,此时不需要输入管理员密码,只需要当前用户密码。该命令可以避免显式输入管理员密码,但有效时间仅有 5 分钟。

$ sudo su
Password:  #此处输入当前用户密码

        此外,sudo 还可加在其他命令前面,以获取高权限的执行,常用的有包管理命令。


给无可视化界面的Linux系统配环境    服务器环境配置

           详情请移步至Linux系统配置Python环境_咬树羊的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_47441391/article/details/128580227