【python笔记】linux指令相关-黑马程序员Python教程_前100集_2024.7.27-2024.7.28

avatar
作者
筋斗云
阅读量:0

 对应视频链接:01-课程安排_哔哩哔哩_bilibili:0-100

目录

常见终端命令

cd 切换命令

通配符

相对路径和绝对路径

创建和删除

拷贝和移动文件

文件内容命令

echo和重定向

管道 | 相当于同时处理两个信息

电脑相关命令

关机重启

查看配置网卡信息

SSH远程管理

scp远程拷贝文件

用户权限

确定用户权限

修改文件权限

系统信息

其他命令

find 查找文件

tar 压缩和打包

apt-get 软件安装



  • 常见终端命令

    完整的流程

    echo “Hello world” > a         直接创建a 文件并将helloworld 给a

    cat a         查看a 文件内容

    • cd 切换命令

      • cd 回到家目录home/pc

      • pwd 查看当前目录

      • cd - 在最近两次的路径进行切换

    • 通配符

      • touch 233.txt 创建文件命令
      • ls -lh        看到文件详细信息
      • ls 1*      其中星号代表任意字符,可以找到以1开头的所有文件
      • ls *1.txt         找到以1结尾的所有txt文件
      • ls *3 *          可以找到以3结尾的所有文件
      • ls ?2?.txt             其中?只能代表一个字符,找到中间为2的所有txt文件
      • ls [123456]23.txt            只要是以23结尾,前面符合【】内的内容,都会被显示
      • ls [1-3]23.txt            可以显示出以23结尾,123开头的内容
    • 相对路径和绝对路径

      绝对路径以/或~开始,所有文件从根目录/开始,~表示家目录

      相对路径是相对当前路径的路径

    • 创建和删除

      touch 文件名       创建一个新的文件,或者修改文件的末次修改时间

      mkdir 创建新的目录            注意:文件名不能和当前目录下的文件同名

      rm             直接删除文件,不能恢复

      rm -r 文件夹名             删除该文件夹下的所有文件夹

      rm -f 文件夹名         强制删除,如果没有也不会报错

      rm *1.txt         删除所有以1结尾的文件

      不要到/根目录里面删除,一般就在~里面

      • 如果要创建a/b/c, mkdir -p a/b/c
    • 拷贝和移动文件

      tree 文件名              以树状图显示目录结构 .表示当前文件夹目录

      tree -d   文件名                 只显示文件夹,不显示文件夹内部文件

      cp 源文件 目标文件

      cp -i 源文件 目标文件          覆盖文件前会问你,是否覆盖,输入y or n

      cp -r 源文件夹 目标文件夹           将源文件夹下的所有文件夹,复制到目标文件夹

      mv -i 源文件 目标文件                   移动文件时会提示,是否移动

      mv 源文件 目标文件                 如果两个文件在同一个路径下,但文件名不同,可以起到重命名的作用(文件夹同理)

    • 文件内容命令

      cat 文件名                    查看文件内容,创建文件夹,文件合并、

      cat -b 文件名             在内容中显示非空的行号 ——>nl和cat -b 效果等价

      cat -n 文件名               所有行的行号显示出来

      more 文件名             分屏显示文件内容 b往前看显示前一页内容,q退出目前查看格式

      cat一次性显示所有内容(适合内容少的)           more一次只显示一页(适合内容多的文件)

      grep 文本内容  想要搜索文本内容对应的文件名                     文本搜索

      grep -n  文件名        显示文本及行号

      grep -v   文件名        显示不包含文本的所有行

      grep -vn  文件名         显示不包含文本的所有行及显示行号

      grep -i   文件名          忽略大小写 如果是两个单词,应该用引号进行连接

      gerp ^a 文件名            搜索以a开头的行,判断指定的文本必须出现在指定的行首

      gerp ke$ 文件名            搜索以ke结束的行

    • echo和重定向

      echo 文字内容 将文件内容在终端显示出来(和重定向连用,就是将终端的内容输入到对应的文件)

      echo 文字内容 > 文件名          输出,覆盖文件名中原有内容

      echo 文字内容 >> 文件名         追加,加到文件末尾

      ls -lh           显示当前文件夹下的所有信息

      ls -lha         显示包括隐藏文件的所有文件

      ls -lh > a          将ls -lh输出的信息,全部覆盖到a文件中

    • 管道 | 相当于同时处理两个信息

      左边塞输出 | 右边取东西作为输入 常见more grep

      ls -lha ~ | more     将所有文件信息,以列表的形式进行分屏显示

      ls -lha ~ | grep mo    在显示家目录的所有文件信息中,查找文件名中有mo的文件


  • 电脑相关命令

    • 关机重启

      shutdown 1min中后关机电脑

      shutdown -c 取消关机

      shutdown -r now 立刻重新启动

      shutdown 20:20

    • 查看配置网卡信息

      网卡:负责电脑通信的硬件设备(插网线)相当于SIM卡

      IP:电脑地址信息,相当于电话号,每台电脑不能相同

      端口号找到计算机中运行的程序,相当于手机的app

      ifconfig 查看电脑网卡信息

      物理网卡常用ensXX

      ens33和lo不需要看网卡名称 127.0.0.1专门测试本地网卡是否工作

      ifconfig | grep inet ,显示不同的网卡对应的ip

      ping ip地址/域名           成功连接到目标ip

    • SSH远程管理

      win需要安装SSH客户端

      域名:www.baidu.com是ip的另一种表示

      SSH服务器默认端口号:22

      Web服务器默认端口号:80

      HTTPS默认端口号:443

      FTP服务器默认端口号:21

      通过域名或者ip找到对应的服务器,通过端口号找到web服务器中的软件,在web程序中找到对应的网址输入给计算机

      ssh [-p port ] user@remote

      user:远程机器的用户名

      remote:远程机器的地址(ip地址或域名或别名)

      port:SSH端口号

      连接步骤:

      1.在想要连接的电脑中输入 ifconfig | grep inet,找到inet地址

      2.在想要操控的这台电脑输入ssh -p 22 远程电脑用户名@IP地址

      exit退出当前用户登录

    • scp远程拷贝文件

      scp [-P port ] user@remote(如果SSH服务器端口不是22,则要用port ,否则可以不用)

      scp -P port 源文件 user@remote:远程目录 把本地源文件复制到远程目录

      scp -P port user@remote:远程源文件地址 本地文件 将远程的源文件复制到本地文件中

      scp -r demo user@remote:Desktop 将本地demo文件夹复制到远程的Desktop文件夹中

      scp -r user@remote:Desktop demo 将远程的Desktop文件复制到当前的demo文件夹

  • 用户权限

    • 确定用户权限

      • 给文件目录权限:可读(r),可写(w),可执行(x)

      • 给不同的人(但有相同需求的)设置成一个组,给组一个权限

        ls -l 查看文件下的详细信息

      • 第一个显示的-表示文件,d表示文件夹,后面三个字符一组。

        rwx表示可读(阅读文件内容),可写(修改文件内容),可执行(执行终端)

        python拥有者的权限为rwx;第二个python是组的名称,也是rwx;第三个r-x为其他用户权限

        python用户名和权限夹着的1、2、3表示硬链接数,表示有几种方式可以打开目录/文件 (子目录数越多,硬连接数越多)

        chmod +/-rwx 文件名或目录名      给文件名或目录名增减权限

        gedit a.txt            可以打开a文件

        chmod -rw a.txt           将a文件的读和写权限都删除

        sudo            使用超级用户权限,以root用户进行操作

        sudo             输入密码后能够保证5min内,无需输入命令而可以直接进行任何操作

        用户信息保存在etc/passwd

        组信息保存在etc/group

      • shell就是可以输入终端命令的窗口

        sudo usrmod -s /bin/bash 用户名 (修改用户默认登录的shell为bash)

        Xshell在dash(Ubuntu在dash)中不好用,

        which ls 查找命令所在的位置

      • 总结:一般后期软件在bin、usr/bin中,系统所在的位置常常有s

        whoami 确定当前用户名

        su - 用户名         切换到用户的家目录

        su 用户名         直接切换用户

        exit       退出当前用户,回到上一层用户

    • 修改文件权限

    • chown 修改文件拥有者(第一个python)

    • chown 用户名 文件名/目录名

      chgrp 修改组(第二个python)

      chgrp -R 组名 文件名|目录名

      chmod 修改权限(第一列权限)

      chmod -R 775 文件名|目录名(7表示文件拥有者权限,5表示组成员权限,5表示其他用户权限,-R表示文件夹及以下所有文件)

      可读4,可写2,可执行1

    • 系统信息

      ssh 登录到服务器进行操作,只能使用命令,没有图形化界面

      date      系统时间

      cal     系统日历 cal -y 显示12个月完整日历

      df -h  【目录名】  disk free      查看磁盘剩余空间     重点看磁盘根目录/内有多少剩余空间

      du -h 【目录名】     disk use查看目录磁盘的空间占用情况

      进程:当前正在执行的程序

      ps aux process status      查看当前用户启动的程序列表

    • top 动态显示进程,并根据占用cpu情况进行排序,按q退出

      取消进程的具体步骤:

      ps au 找到不用的终端端口

      kill -9 端口号 删除(-9表示强行删除)

      不要杀死root开启的进程,可能会导致崩溃

    • 其他命令

      • find 查找文件

        find 【路径】 -name “*.py”       查找指定路径下扩展名为py 的文件,包括子目录,如果没有路径,则表示在当前路径下

        ln 建立软链接:类似于快捷方式

        ln -s 被链接的源文件(绝对路径) 连接文件名(相当于快捷方式名)

        注意:没有-s建立的是硬链接(硬链接不会受到源文件的改变而改变),想要创建链接的文件必须使用绝对路径,防止之后移动链接文件后出错

        linux中文件名和文件数据保存在不同位置,软连接的文件名—→软链接文件数据对应的源文件名——>找到对应的文件数据,如果删掉源文件名,则无法通软链接找到文件内容;硬链接相当于文件名的第二个名字;删掉源文件的文件名,文件内容不会受到影响

      • tar 压缩和打包
        tar只负责打包,不负责压缩
        • tar -cvf    文件名       命名一个打包文件名.tar 被打包的文件、路径
        • tar -xvf 打包文件.tar

          gzip压缩tar打包后的文件,扩展名为xxx.tar.gz    先tar打包后gz压缩

        • 对文件进行打包和压缩

      • tar -zcvf 打包文件名.tar.gz      被压缩的文件、路径

        tar -zxvf 打包文件.tar.gz

        tar -zxvf 打包文件.tar.gz -C 目标路径      (解压缩到指定的目标目录,要求该目录必须存在)

        bzip2压缩tar打包后的文件,拓展名xxx.tar.bz2

        tar -jcvf   打包文件.tar.bz2    被压缩的文件、路径

        tar -jxvf 打包文件.tar.bz2

        apt-get 软件安装

        sudo apt install 软件包

        sudo apt remove 软件名

        sudo apt upgrade

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!