Linux部分课堂笔记

一、Linux的背景

  1991年5月,Linux发明出来的,被誉为“Linux之父”。

二、Linux一切皆文件

  Linux系统中所有的都是文件,包括鼠标键盘等。

  Linux中一切没有消息的消息就是最好的消息。

三、基本命令的学习

  命令的组成:cmd【选项】【参数】

  手册的查看:man---->打开首次;man man---->具体使用命令。

  命令展示:

    【pwd】显示当前路径。

    【cd】切换工作路径

        注:Linux文件系统结构从“根”开始,用“/”表示。

          当路径从根开始算,表示绝对路径。

          当路径从当前路径开始算,表示相对路径,其中  .---> 当前路径   ..---->上一级路径

    【ls】列出目录内容

        【-a】:显示所有文件(加点的表示为隐藏文件)

        【- l】:单列输出

        【-d】:将目录名像其他文件列出来,但不显示它内容(显示指定目录)

        【-h】:大小带单位,不带单位的以字节形式表现

        【- i】:显示ID,同一文件目录下,文件ID是唯一的

    【cat】查看文件内容的全部

    【more】查看文件的内容

    【less】按屏显示文件内容,“/”+关键字: 搜索,按“Q”退出,较【more】命令更灵活。

    【head】/【tail】显示文件的前/后几行

    【cp】复制文件,文件夹加上【-r】表示目录文件

    【mv】剪切文件,格式为:【mv】+源文件+目的目录

        注:切勿切电脑的本身文件。

          【mv】+文件名+当前文件夹  ---->重命名

    【rm】删除文件,格式为:【rm】+源文件,【-r】--->目录【-f】--->强制删除

    【touch】创建空文件

    【mkdir】创建空目录

      关机命令都有:(1)shutdown   -h   now    (2)poweroff (3)init 0 (4)halt

      重启命令都有:(1)shutdown   -r    now (2)reboot  (3)init 6

    【uname   -r】内核版本

    【history】查看历史命令

四、文件管理

    包括文件属性(元信息)、文件查找、文件的打包压缩

  文件属性

    查看文件属性:(1)stat  +  文件的路径 --->查看文件的全部属性    (2)ls   -l   --->查看文件的部分属性

  文件类型

    Linux不易后缀名区分文件类型,它只有7种文件类型:

        -  ---> regular   普通文件
          d  ---> directory   目录文件
          c  ---> charactor  字符设备文件
          b  ---> block      块设备文件
          l   ---> link      符号链接文件
          p  ---> pipe       管道文件
          s  ---> socket      套接字文件

  文件权限

    非目录文件权限:r--->读    w--->写    x--->执行  

            8进制表示法:1--->r、w、x   0---> —  8进制以“0”开头

            eg:0635  6--->110——>rw-  3--->011——>-wx  5--->101——>r-x

    目录文件权限:u--->拥有者    g--->所属组    o--->其他用户

      权限对于root没有意义,但是对于普通用户意义很大。

      修改文件权限:(1)chmod   u/g/o   a(+/-) r/w/x   +文件名

             (2)chmod   +  8进制  +  文件名

      修改文件的拥有者和所属组:chown  +  拥有者:所属组   +  文件名

    目录文件中的r/w/x:

        -r     将当前目录显示到终端  eg:ls

        -w   写目录  eg:touch/mkdir/rm

        -x    可搜索,可进入  eg:cd

     【umask】文件屏蔽字,为防止产生权限过大文件。

            普通文件的权限都是0666,最终权限取决于屏蔽字的大小。

            mode & ~umask ---> 文件真正的权限

     【-s】特殊权限,当所有用户在执行passwd命令,【-s】权限会将用户变为拥有着的身份。

        sudo   cat   /etc/shadow

        gedit    /etc/sudoers

    文件的硬链接:一个文件,多了个名,用命令【cp  -l】  / 【 ln】  创建

        inode是同一分区文件的唯一标识,故不能跨分区。

    文件的软链接:即符号链接,就是给文件创建一个快捷方式。

        用【ln   -s】创建,用于存放文件的路径,可跨区。

    创建用户

      useradd  +  用户名  --->创建用户

      passwd  +  用户名  --->给定密码

      su -   +   用户名  --->切换用户

      userdel -r  +  用户名 ---> 删除用户

      exit   --->   登出用户

       用户信息:   /etc/passwd

    组信息:    /etc/group

    密码:     /etc/shadow
    创建组   
        groupadd   +  组名  --->组创建

     groupdel   +  组名 ---> 组删除
        gpasswd   -a   +   用户名  +  组名   --->用户添加到组内

     gpasswd   -d   +   用户名  +  组名   --->用户从组中删除

  文件大小

    【ls   -l】只是查看文件的所占字节,不属于占磁盘空间大小

    磁盘空间大小  --->(block)   1 block = 512  bytes   可用命令【stat】查看

    【du  -sh  +  文件名】  查看文件所占用磁盘空间的大小

    【du    -s】  访问磁盘大小

    【du    -f】   查看当前磁盘分区占用情况

  文件时间

    最后一次访问时间:access   time

    最后一次更改时间:modify   time  ---->内容改变 【ls  -l】

    最后一次改动时间:change  time   --->属性改变

   文件的查找:分为可执行文件和非可执行文件
      可执行文件:

      环境变量:echo  $PATH   --->是个路径

           which/whereis  +  路径   --->内部命令,是当前解释器能实现的

      非可执行:

         locate filepath   --->遍历数据库

           updatedb   --->  更新数据库

            find(遍历磁盘空间)
             find   +  路径  +  选项

          选项有:

            -name   按名字找     eg: find /etc/ -name "passwd"

            -size      按文件大小查找  eg: find /etc/ -size n(b/c/k)
               -mtime  修改时间        eg:find /etc/ -mtime n(天)

            -type   类型       eg:find /etc/ -type f/d/c/b/p/l/s

            -exec   对于查找到的结果执行     eg:find /etc/ -name "hello" -exec ls -l {} \;   --->  只对找到的文件执行ls -l结果,不打印路径

            -ok       执行之前会询问    eg:find /etc/ -name "hello" -ok ls -l {} \;   ---> 在执行ls -l之前会询问
                 -print    打印查找的结果     eg:   find /etc/ -name "hello" -print  -exec ls -l {} \;   ---> 对找到的文件执行ls -l结果,打印路径
               -a      连接多个查找选项    eg:   find /etc/ -type d -a -size +10k

   文件的打包与压缩

       压缩格式都有:【.gz】、【.bz2】、【.zip】

       文件压缩为【.gz】格式:  gzip  +  文件名    解压命令为:gunzip

       文件压缩为【.bz2】格式:bzip2  +  文件名   解压命令为:bunzip

       文件压缩为【.zip】格式: zip  +  文件名.zip  +  源文件名     解压命令为:unzip  +  文件名

         【.zip】是将多个文件放入一个压缩包中,其本身具有压缩打包的功能。

       【tar】命令:打包并压缩

          其格式为:【tar】+  选项  +  文件名.tar.格式  +  [*]--->表示当前目录下所有文件

          常用选项有:

            -c  --->创建包

            -v  --->过程可视化

            -f   --->压缩包文件名(置于选项命令最后)

            -z  --->生成.gz格式的压缩文件

            -j   --->生成.bz2格式的压缩文件

               -J  --->生成.xz格式的压缩文件

               -C --->指明压缩路径

               -t   ---> 不解压不解包的情况下,查看压缩包中的内容

            -r   ---> 向压缩包内追加文件,只允许向包中放入新文件

   文件的重定向

        当用户登陆登陆成功后,有三个文件依次打开:

          标准输入(0)、标准输出(1)、标准错误输出(2)

             0< 标准输入重定向

             1> 标准输出重定向

             2> 标准错误输出重定向

             >> 追加

          "|"   --->   管道

            【wc  -l】 (line) ---->统计行数   【wc  -c】(charactor)---->统计单词个数    【wc  -w】(word)---->统计单词个数

          【grep】:筛选文件内容

              -n   --->   确定内容在文件的第几行

              -i    --->   忽略大小写

              -w  --->   精确查找

   【vim】--->编辑器 

        【vim】  +  文件名    ---->   打开vim,进入vim的一般模式

        从一般模式进入编辑模式:按(“i” “I” “a” “A” “o” “O” “s” “S”)

        从编辑模式进入一般模式:按(“Esc” 或 “ctrl  +  c”)

        从一般模式进入命令行模式:按(“w”  --->  保存   “q”  --->  退出)

        在一般模式下的命令:

            yy--->复制,需要复制几行,在前面加行数。    

            p--->粘贴    

            dd--->剪切,需要剪切几行,在前面加行数。

            u --->撤销 

            ctrl  +  r  --->还原

            x/X  --->光标所在字符处开始删除   ==【delete】

            r/R  --->替换  【R】--->一直替换到Esc为止

            gg  --->首行,到第几行前面加数字

            G   --->末行

            /  --->搜索

        在命令行模式下的命令:(都需用 “  :” 开头)

            w  --->保存

            q  --->退出,加  !表示强制退出

            w  +  文件路径   ---> 另存为  ==  saveas

            set  number/nonumber   --->显示/不显示行号

            %s/oldstring/newstring/g    --->将所有的oldstring替换为newstring

         2,5s/oldstring/newstring/g  --->将第2行到第5行oldstring替换为newstring

         set nu    --->显示行号

         set ts=4 ---> 将Tab设置为4个字符宽度

            x  --->  加密

五、软件包的管理

    源码包:

  .tar.gz .tar.bz2 .tar.xz

  <1>下载并解压解包

  <2>编译make

  <3>make install

    二进制包(.rpm)

        【yum】 安装:(/etc/yum.repo.d/xxx.repo)

         yum install 文件名     --->安装 

         yum remove 文件名  ---> 卸载 

         yum repolist   ---> 查看仓库中有多少软件包

         yum list     --->列出所有的软件包

         yum provides /usr/bin/ls   --->查看文件对应的软件包

         yum update   --->更新

         yum clean all    --->清除缓存

             yum源所在路径:/etc/yum.repos.d/xxx.repo

      本地yum源配置:

        1.将镜像文件挂载到文件系统

        2.创建镜像的挂载点 mkdir /mnt/centos7

        3.光盘镜像在/dev/cdrom目录

        4.挂载光盘镜像

            mount -t iso9660 -o loop /dev/cdrom /mnt/centos7

        5.配置镜像的yum源

            vim /etc/yum.repos.d/my.repo

                 文件的内容:

                   [local_centos7]

                   name=centos7

                   baseurl=file:///mnt/centos7

                   enabled=1

                   gpgcheck=0

     已下载的【rpm】软件包,安装:

        rpm -ivh +包名  ---> 安装已下载的rpm包

        rpm -e +包名     ---> 卸载

        rpm -U +包名    ---> 更新

        rpm -qa   --->  查询系统中所有已安装的rpm包

        rpm -qf  + 路径  --->  查询对应的软件包

六、网络管理

   【ifconfig】   ---> 查看ip地址,将iP,mac,网关等都显示出来

   【iP  addr】  ---> 查看mac地址

   【ip  route】 ---> 查看路由表

   【systemctl  status   +  服务名】  ---> 查看服务状态

   【systemctl  stop  +  服务名】      ---> 关闭服务状态

     手动配置静态ip:

         1、关闭NetworkManager     命令:【systemctl stop NetworkManager】

         2、配置/etc/sysconfig/network-scripts/ifcfg-xxx

            DEVICE=eth0

            BOOTPROTO=none

            NM_CONTROLLED=no

            ONBOOT=yes

            TYPE=Ethernet

            IPADDR=172.16.60.1

            PREFIX=24

            GATEWAY=172.16.60.254 

         3、重启网络服务   命令:【systemctl restart network】

    防火墙

        【systemctl  status  firewalld】   --->  打开防火墙

        【systemctl   stop    firewalld】   --->  关闭防火墙

        【systemctl  disable firewalld】  --->  禁用防火墙

    文件共享

        安装: 【yum  install  vsftpd】

        启动: 【systemctl  status   vsftpd】

        开机自启动:【systemctl   enable  vsftpd】

        配置文件:  【/etc/vsftpd/vsftpd.conf】

    访问共享目录:

        下载安装:【yum install lftp】

        访问地址:【lftp 192.168.5.129】

        get      ---> 下载非目录文件

        mirror  ---> 下载目录文件

        lcd    ---> 切换下载路径

        bye     ---> 退出

    nfs远程挂载

        下载安装;:【yum install nfs-utils rpcbind】

        启动服务:

          【systemctl start nfs】

          【systemctl enable nfs】

          【systemctl start rpcbind】

 

 

 

 

 

   

 

 

 

         【systemctl enable rpcbind】

 

 

 

        

 

 

 

    编辑共享路径:

 

    

 

 

 

            

 

 

          【vim /etc/exports】

 

    

 

    

 

 

 

    

 

 

 

          【/var/ftp/pub *(ro,sync,no_root_squash)】

    客户端挂载:
          【mount 192.168.5.129:/var/ftp/pub /mnt】

七、进程管理

    【ps   aux】  --->  查看当前系统信息

    【kill    -l】    --->  列出当前系统中的所有信号

    【kill  -2  +  进程号】    --->  终止  ==  ctrl  +  c

    【kill  -9  +  进程号】    --->  干掉一个进程,只要是用户创建的均可以干掉

    【man    7   signal】     --->  查看信号和信号行为,默认为15

    【top】   --->   实时查看系统中进程的运行状态

          运行状态有: R ---> 运行  S  --->  睡眠,可中断  ---> 终端     Z  --->  僵尸状态(zombie)

八、虚拟机内安装python的步骤:

    1、根据  pyenv.txt  逐步安装。注意:将  my.repo  中用户自定义安装的包删除或重命名。

    2、重启虚拟机后,依次用命令【which  python】和【which   pip3】查看两个文件是否在同一目录下。

    3、打开网络,用命令【pip3   install  ipython】,升级python

    4、升级中用到的命令:【pip   install  --upgrade   pip】

    5、开机自启动 network :【systemctl   enable   network】

    6、命令: 【/ sbin / chkconfig  network  on】

    7、用命令【ipython】 打开  python,用【exit】退出

九、【git】命令

          1、创建仓库:登陆github帐号,创建远程仓库

          2、同步到本地:

          ssh-keygen

          cat ~/.ssh/id_rsa.pub   --->  将密钥复制到帐号的key

          打开远程仓库,找到SSH,创建SSH密钥并且复制密钥的链接

          返回终端:git clone git@github.com:zhangzongyan/python20181119.git

              其中:git@github.com:zhangzongyan/python20181119.git  表示本地仓库

           3、用命令【ls】查看github库是否链接到本地文件夹

           4、进入文件夹,查看是否有文件REDM,存在表示链接成功

     远程仓库与本地文件夹之间的上传与下载

             cd  git  init

          git   add --->跟踪

          git   status --->查看仓库状态

          git    commit  -m  ---> 备注提交到仓库

          git     push     --->  推上服务器

          git     pull       --->  从服务器上把文件拉到本地

     【git】的基本命令

          git log ----->查看仓库日志(id)

          git reset --hard id ----->切换到指定版本

          git reflog ----->查看最新版本日志

          git rm ----->删除

 

注:

(1)linux下主目录和根目录的区别

    Linux系统的根目录是/,是树状形式目录的根,只有一个。而Linux系统的主目录是用户的HOME目录,添加用户的时候指定的。对于不同用户,主目录不同。对于用户名为user的用户,缺省的HOME目录是/home/user,root用户例外,它的缺省HOME目录是/root。在其他地方调用主目录使用~/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生如路兮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值