Linux学习笔记

1、Linux简介:一种开源的、免费的操作系统,安装在计算机硬件上、用来管理计算机的硬件和软件资源的系统软件。

         Linux注重安全性、稳定性、高并发处理能力,但缺乏优异的可视化界面。

2、Linux发行版本:Linux在1991年开发,Linux的内核程序,后来很多软件开发组织以及软件公司在内核程序基础之上,陆续推出了很多不同版本的Linux操作系统:Ubuntu(乌班图)、RedHat(红帽)、CentOS

3、安装Linux操作系统:

  1)、虚拟机:可以用软件模拟出一套具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

  2)、安装Linux:Linux的镜像

      可视化界面比较单薄,很少使用;使用Linux多数都是基于终端命令使用Linux指令操作计算机。

4、Linux的目录结构:

  1)、Linux只有一个根目录。/

  2)、层级式的目录结构:

      bin->user/bin:系统的可执行文件,可以在任何目录下执行

         user/local/bin:用户自己的可执行文件,可以在任何目录下执行

      etc:存放配置文件。配置环境变量(/etc/profile)

        home:每一个用户的根目录,用来保存用户私人的数据,默认情况下,目录名和自己的用户名相同。

     opt:存档额外安装的软件。相当与Window系统中的Program files目录。

5、vi和vim:是Linux中的文本编辑器,用来在Linux中创建、查看或者编辑文本文件,就好像windows中的记事本一样。vim是vi的增强版本,vi的绝大多数用法在vim都适用。

        vi和vim的使用:

        一般模式:用vi或者vim命令打开文件(vim test.txt),进入了一般模式;

               可以查看文件的内容,并且可以通过上下左右键移动光标,查看文件某一部分;

               但是不能编辑文件内容;

           编辑模式:在一般模式下,按a或i键,进入编辑模式;

             可以编辑文件内容;

                    但是不能保存编辑的内容;

               按ESC键,可以回到一般模式;

         命令模式:在一般模式下,按shift+:,进入命令行模式;

              输入:q!-------不保存强制推出编辑器

                    wq-----保存并且推出编辑器

                 q-------只是退出编辑器

             vi和vim编辑器的快捷键:

             1)、复制当前行:在一般模式下,按yy,把光标所在行复制到剪切板

                        按p,把剪切板中的内容粘贴到光标所在的下一行

           2)、复制当前行往下5行:在一般模式下,按5yy把光标所在行往下5行复制到剪切板

                            按p,把剪切板中的内容粘贴到光标所在的下一行

           3)、在文本文件中查找关键字:在命令模式下,输入/关键字,回车

                         按n表示光标查找下一个关键字

         4)、删除光标所在的当前行:在一般模式下,按dd,删除光标所在的当前行

         5)、删除光标所在行的往下5行:在一般模式下,按5dd

         6)、撤销上次编辑的内容:在一般模式下,按u

6、Linux中的用户管理:

  1)、任何使用Linux的系统资源的用户,必须使用一个合法的账号和密码;

     root是Linux系统安装时默认创建的系统管理员账号,由root创建普通账号。

       2)、添加用户:useradd 用户名

          在/home目录下创建用户的根目录,目录名称默认跟用户名相同

          在Linux中任何一个用户至少都属于一个组,新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。

          useradd -d /home/ww 用户名  创建用户的同时,指定用户的根目录

       3)、设置用户密码:passwd 用户名

  4)、删除用户:userdel 用户名

           userdel -r 用户名 删除一个用户的同时删除它的主目录

     5)、查看用户信息:id 用户

  6)、切换账号:su 用户名

              从权限高的用户切换到权限低的用户,不需要密码验证,反之则需要。

7、Linux中的组管理:

  1)、Linux中的组相当于角色的概念,可以对有共性的用户进行统一管理。

     每一个用户至少属于一个组,不能独立与组存在,也可以属于多个组。

     新建用户时如果不指定组,则会新建一个组,组名跟用户名相同,并且把该用户添加到该组中。

        2)、添加组:groupadd 组名  例如:groupadd dev

   3)、删除组:groupdel 组名

   4)、把用户添加到组中:gpasswd -a 用户名 组名  例如:gpasswd -a zhangsan dev

   5)、把用户从组中移除:gpasswd -g 用户名 组名

   6)、添加用户时,指定所属的主组:useradd -g 组名 用户名

8、Linux中的系统操作命令:

  关机:shutdown now 立即关机

     shutdown -h xxx 定时关机

     shutdown -r now 立即重启

9、Linux中的帮助命令:

  1)、用来查看Linux系统手册上的帮助信息:man 命令  例如:man ls

      分屏显示、回车下一行、空格翻页、按q退出查看

   2)、用来查看命令的内置帮助信息:help 例如:help cd

10、Linux中的文件和目录操作的命令:

   1)、查看当前所在的目录:pwd

   2)、查看指定目录下所有的子目录或者文件列表:ls   例如:ls /home

     ls 查看当前目录下所有的子目录或者文件列表

     ls -l /home:以列表形式显示

     ls-a /home:显示指定目录下的所有子目录和文件(包括虚拟的目录)

     ls-al /home:以列表形式显示指定目录下的所有子目录和文件(包括虚拟的目录)

    3)、切换目录:cd 目录名

          绝对目录或相对目录

          ~:当前用户的根目录。在任何目录下执行:cd~,进入当前用户的根目录

          ..:当前目录的上级目录,从当前目录开始寻找它的上一级目录

           .:当前目录

     4)、创建目录:mkdir 目录名

          绝对目录或相对目录

          mkdir -p 目录:递归创建目录

   5)、删除一个空目录:rmdir 目录名

      6)、创建一个或者多个空文件夹:touch 文件名列表(文件名之间用空格隔开)

   7)、复制文件:cp source(源) dest(目标目录)

               cp t1.txt test2   //把t1.txt文件复制到test2目录中

            cp -r test2 test5  //把test2目录复制到test5目录中(递归地复制目录)

   8)、删除文件或者目录:rm 文件名或者目录名

            rm t1.txt:提示删除

            rm -f t2.txt:强制删除文件

            rm -r test2:提示递归删除目录

            rm -rf:强制递归删除目录

   9)、移动目录或者文件:mv source(源) dest(目标目录)

             mv t3.txt  t3_new.txt:文件重命名

   10)、echo:输出系统变量或者常量的值到命令行终端

         echo $PATH

           echo Hello World

    11)、把前一个查看命令的结果输出到指定的文件中,如果目标文件不存在,则新建一个文件:查看命令>文件名

         *如果目标文件不存在,则新建一个文件

         *如果文件已存在,则覆盖 

            ls > ret.txt

11、Linux中关于日期和时间的操作命令:

    1)、查看或者设置系统的日期或者时间

      date 查看系统当前的完整日期和时间

      date +%Y:系统安前年份

      date +%m:系统安前月份

      date +%d:系统安前日期

      date '+%Y-%m-%d %H:%M:%S':格式化时间

      date -s ‘2022-08-11 16:34’:设置系统当前时间

      2)、查看系统日期:cal

12、Linux中关于搜索文件或者目录的命令:

         1)、find [搜索范围] [搜索标准] 关键字

      |-> name:默认按名称搜索(文件或者目录所在的路径也在搜索范围内)

      |-> size:按文件大小搜索

      |-> user:按文件的所有者搜索

      find *.txt 搜索当前目录下,所有的.txt文件

      find *e* 搜素当前目录下,所有名称中包含e的文件或者目录

      find /etc *.txt 搜索/etc目录下所有 .txt文件

      find /etc -size -5k 搜索/etc目录下所有小于5k的文件

      find /etc -user zhangsan 搜索/etc目录下所有所有者是zhangsan的文件和目录

    2)、locate:在整颗目录树中搜索文件或者目录,都是根据名称搜索,效率高

       updatedb 更新树结构

       locate 关键字

    3)、搜索过滤命令,在前一个搜索命令的结果中进行按名称进一步过滤

       find *.txt |grep new 搜索当前目录下,所有包含new的 .txt文件

13、Linux中关于压缩和解压的命令:

    1)、压缩或者解压单个文件:gzip 文件名:压缩单个文件,生成一个.gz的压缩包,并且会把原来的文件删除  例:gzip ret.txt

                   gunzip .gz文件:解压.gz压缩包,并且会把原来的.gz压缩包删除 例:gunzip ret.txt.gz

       2)、压缩(打包)或者解压多个文件和目录:zip目标压缩包名称(通常使用.zip压缩包)文件或者目录列表   例:zip test.zip ret.txt t1.txt test2

                          unzip 压缩包名(.zip) -d 解压目录名:将指定的.zip压缩包解压到当前目录(或者指定目录)例:unzip test.zip -d test3

    3)、压缩(打包)或者解压多个文件和目录:tar [选项] 目标压缩包名称(xxx.tar.gz)文件或者目录列表

                            tar -zcvf xxx.tar.gz 文件或者目录列表   例:tar -zcvf mytar.tar.gz mytest.zip ret.txt t1.txt test2

                            tar -zxvf xxx.tar.gz -C 解压目录名     例:tar -zxvf mytar.tar.gz -C /opt/testDir/test5            

14、文件或者目录与组:

    1)、文件或者目录于组的基本介绍

     在Linxu中,每一个用户至少都属于一个组,用户不能独立于组存在,一个用户可以属于多个组

     在Linux中,每一个文件或者目录也必须属于一个组,而且只能属于一个组

     文件或者目录通过组来控制哪些用户可以对它进行哪些操作,即文件或者目录的访问权限

     在文件或者目录看来,Linux系统中所有的用户分为三类

      所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改

      同组用户:跟文件或者目录属于同一个组的用户

      其他组用户:既不是文件或者目录的所有者,也不是同组用户

    2)、查看文件的所有者和所在的组:ls -l

    3)、修改文件的所有者:chown 新的所有者 文件名  例:chown zhangsan t1.txt

                 chown 新的所有者:新的组 文件名 例:chown zhangsan:dev t1.txt

                 chown -R zhangsan:dev test2 递归修改幕落的所有者和组

    4)、修改文件或者目录得所在组:chgrp 新的组 文件名或者目录名 例:chgrp dev t2.txt

15、Linux中关于文件或者目录的权限管理:

    1)、文件或者目录的三种权限:

    在Linux中,任何文件或者目录都有三种权限:读(read)、写(write) 、执行(execute)

     对于文件而言:

      读:可以读取、查看文件的内容    比如:cat、more、less、head、tail

      写:可以修改文件内容      比如:vi、vim

      执行:如果文件是可执行文件(.sh),可以直接运行   比如:./xxx.sh

     对于目录而言:、

      读:可以读取、查看目录下的内容   比如:ls

      写:可以修改目录中的内容,删除子目录、创建文件、删除文件、重命名文件或者目录

      执行:可以进入该目录,      比如:cd

    2)、文件或者目录的权限控制

      在Linux中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其它组用户权限。

        第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限,使用r、w、x分别表示读、写、执行的权限。比如:rwx表示拥有读写执行的权限,---表示没有任何权限

        第二部分权限:同组用户权限

        第三部分权限:其他组用户权限

        

    3)、查看文件或者目录的权限:

        ls-l

    4)、修改文件或者目录的权限:chmod      

      用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有用户修改权限 

      用+、-、=分别表示给指定的组增加、减小、设置指定的权限

      用r、w、x分别表示读、写、执行的权限

       例:给同组用户增加写的权限 chmod g+w test2.txt

       例:给同组用户增加写的权限,给其他组用户增加执行权限 chmode g+w,o+x test2.txt

       例:给同组用户读、写、执行权限 chmod g=rwx t5.txt

       例:删除所有用户的读权限 chmod a-r t5.txt 

     5)、使用数字的方式修改文件或者目录的权限:

        每一个权限都可以用一个数字来表示

        r、w、x

        4、2、1

        2^2 2^1 2^0

       例:给所有组用户都赋予读、写、执行的权限 chmod 777 t5.txt

16、Linux中的网络管理:

  在Linux的配置文件:vim /etc/sysconfig/network=scripts/ifcfg-ens33  

    BOOTPROTO="static"

    ONBOOT="yes"

    IPADDR=192.168.11.128

    GATEWAY=192.168.11.2

    DNS=192.168.11.2

  重启Liunx:reboot

17、Linux中的进程管理

  查看进程:ps

    ps  //只会显示应用进程

    ps -e  //显示所有进程

    ps -ef //以全格式的形式显示所有进程

    ps -ef |grep mysql //查看某一程序是否启动

  关闭进程:

    使用ps命令查看进程的PID

    使用命令kill -9 PID

18、Linux中服务管理

  操作服务:

    systemctl [start|stop|restart|reload|status|enbale] 服务名称   

    systemctl status firewalld 查看防火墙状态     

    systemctl enable firewalld 设置防火墙开机启动

 19、Linux中软件包的管理:
  1)、RPM包管理:
    a)、RPM:一种Linux的软件包的打包和安装工具,它操作的软件包都是.rpm结尾
    b)、使用RPM:rpm命令
      查看当前系统中存在的rpm安装包:rpm -qa|grep firefox
      卸载rpm安装包:rpm -e firefox
      安装rpm安装包:rpm -i vh xxx.rpm
  2)、YUM包管理:是一种基于RPM的软件包管理工具,它能够从指定服务器上自动下载RPM包并且自动安装,可以自动处理软件包之间的依赖关系
    a)、查看当前系统中已经安装RPM包:yum list installed |grep zip
    b)、卸载RPM包:yum remove 程序名称
    c)、安装RPM包:yum install firefox
20、Linux环境下部署.net Core程序
  1)、安装.NET Core的依赖环境    

    注册Microsoft密钥:sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

    更新yum库:sudo yum update

    安装 .NET Core 运行时:sudo yum -y install aspnetcore-runtime-3.1

    安装 .NET Core SDK 运行时:sudo yum -y install dotnet-sdk-3.1

    查看Dotnet 信息:dotnet --info

    查看Dotnet 版本:dotnet --version

posted @   小毛备忘录  阅读(369)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示