zoukankan      html  css  js  c++  java
  • day58:Linux:BashShell&linux文件管理&linux文件下载上传

    目录

    1.BashShell

    2.Linux文件管理

    3.Linux文件下载和上传

    4.Linux相关练习题

    BashShell

    1.什么是BeshShell?

    命令的解释,用来翻译用户输入的指令

    2.BashShell能做什么?

    文件管理

    软件管理

    用户管理

    权限管理

    网络管理

    3.如何使用BashShell?

    在使用BashShell时,要分为单条命令和多条命令

    单条命令

    [root@oldboy-pythonedu ~]# useradd gdx

    多条命令

    for i in {1..100}
        do
            useradd gdx_$i
            echo "gdx_$i is ok!!"
        done

    4.登录Linux Bash的提示符

    [root@oldboy-pythonedu ~]#

      root: 表示当前登录Bash Shell窗口的用户是root

      oldboy-python: 当前系统的主机名称

      ~: 当前用户所处的路径 ~ 表示的是当前用户的家目录

      #: 提示符 # 表示超级管理员
           $ 表示普通用户

    5.BashShell基础语法

    ls            # 命令                 查看当前目录下的所有文件
    ls -l         # 命令 + 选项           选项 可以改变命令输出结尾呈现的方式
    ls -l /tmp    # 命令 + 选项 + 参数     具体看哪个路径下的所有文件,默认看当前目录.

    6.BashShell特性

    # 1.tab补全:
        命令补全
        路径补全
        
    # 2.history: 执行的命令历史
        -c:   清空
        -d:   删除指定的一条记录
        -w:   将历史记录落到指定的文件中
            
    # 3.alias: 别名
    '''临时操作'''
    alias cat_network='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
    '''永久生效  ( 落到某个文件中 ) ''' 
    [root@oldboy-pythonedu ~]# echo "alias cat_network='cat /etc/sysconfig/network-scripts/ifcfg-ens32'" >> /etc/bashrc 
    
    # 4.unalias: 临时取消别名
    [root@oldboy-pythonedu ~]# unalias cat_network
            
    # 5.快捷键:
        ctrl+a:  命令行光标跳转到行首
        ctrl+e:  命令行光标跳转到行尾
        ctrl+l:  清屏, clear
        ctrl+c:  中断bash窗口 前台正在运行的程序
        ctrl+u:  删除光标之前的
        ctrl+k:     删除光标之后的
        ctrl+w:  按照单词删除
        ctrl+ <--> 按照单词跳转光标

    Linux文件管理

    0.引入

    我们可以对文件进行哪些操作呢?

      创建 删除 压缩 移动 复制 编辑 查看 查找

    1.目录结构

    Windows目录结构:多根 C: D: E:

    Linux目录结构:单根 /

    Linux下的目录结构

    '''
    bin:    普通用户可以执行的命令
    sbin:   管理用户可以执行的命令
    home:   普通用户的家目录:  /home/USERNAME 
    root:   管理员用户的家目录
    boot:   存放的启动系统时要加载的文件    grub引导菜单,内核文件
    dev:    设备 ( 硬盘 光盘 终端 )
        /dev/random: 产生随机数 (摇钱树)
        /dev/null:  黑洞
    etc:    配置  网卡配置,系统配置,服务配置
        /etc/hostname:    主机名称
        /etc/sysconfig/network-scripts/:   #网卡的配置信息
    lib  
    lib64
    proc    实时反馈当前系统的状态. [ 汽车的仪表盘 ]
    tmp        临时目录,谁上传只能谁删除   [  ]    
    usr      
        bin
        sbin
        local  --> C:Program Files
        tmp    ---> /var/tmp
    var        可变的目录  
        log
        pid:  存放服务进程的ID    --->  python   ---> 30119  -->  /var/pid/python.pid  ( 30119 )
    '''

    2.路径定位

    通过路径对文件进行定位.  一个完整的路径,就包含了文件的路径.

    3.文件管理命令

    文件管理命令总览

    '''
    cd
    pwd
    ls        -l,
    mkdir     -p
    touch 
    cp        -r
    mv
    rm        -r  -f
    cat       -n  -A
    head 
    tail       -f
    less
    more
    rz
    sz
    wget        -O 
    echo
    '''

    文件管理命令详细介绍

    1.在/home/下创建一个hello.py文件 touch

    [root@oldboy-pythonedu ~]# touch /home/hello.py

    2.查看创建的hello.py详情参数  ls

    [root@oldboy-pythonedu ~]# ls -l /home/hello.py

    3.复制   cp

    将/home/hello.py 复制到 /tmp  [ 最好能修改一下名称为 /tmp/test.py ]

    cp:复制文件或者目录

      -v:显示拷贝的效果

      -r:递归拷贝

      -i:如果文件覆盖,会有提示

    [root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/                #直接拷贝
    [root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/test.py        #拷贝后修改名称

    4.将/home/hello.py 文件删除  rm

    rm:删除文件或者目录

      -f:强制删除,不提示

      -r:递归删除【删除目录】

    [root@oldboy-pythonedu ~]# rm -f /home/hello.py
    [root@oldboy-pythonedu ~]# rm -fr /tmp/etc

    5.查看/tmp/test.py中的内容

    查看有五个指令:cat head tail more less

    cat:查看文件内容

      -A:查看是否有特殊字符

      -n:查看文件的行号

    [root@oldboy-pythonedu ~]# cat /tmp/hello.py

    head:查看文件内容:仅查看头部10行

    [root@oldboy-pythonedu ~]# head /etc/passwd
    
    ''' 查看1行 '''
    [root@oldboy-pythonedu ~]# head -1 /etc/passwd

    tail:查看文件内容:仅查看尾部10行

      -f: 实时追踪文件尾部的变化

    [root@oldboy-pythonedu ~]# tail -f /var/log/messages

    less/more:分页查看

    [root@oldboy-pythonedu ~]# less /etc/services
    [root@oldboy-pythonedu ~]# more /etc/services

    6.创建目录  mkdir

    mkdir:创建目录

      -p:递归创建

      -v:显示创建的过程

    [root@oldboy-pythonedu ~]# mkdir /opt/python_dir
    [root@oldboy-pythonedu ~]# mkdir -pv /opt/dir1/dir2/dir3/dir4

    7.移动  mv

    将/tmp/hello.py 移动到/opt目录下

    mv:移动文件或目录

    [root@oldboy-pythonedu ~]# mv /tmp/hello.py /opt/

    8.查找命令的全路径 which

    which:查找一个命令的绝对路径

    [root@oldboy-pythonedu ~]# which cat
    '''/usr/bin/cat'''
    [root@oldboy-pythonedu ~]# which head
    '''/usr/bin/head'''

    whereis:也可以查找路径

    [root@oldboy-pythonedu ~]# whereis -b head
    '''head: /usr/bin/head'''

    Linux文件下载和上传

    下载:

      1.从互联网下载资源到服务器

      2.从服务器下载资源到本地

    上传:

      从本地上传内容到服务器

    rz:从本地电脑上传文件到server( 只能上传文件,不能上传目录或文件夹,最大限制4G )

    sz:从server下载文件到本地电脑

    想要完成linux的上传和下载,必须先下载一个模块

    [root@oldboy-pythonedu ~]# yum install lrzsz -y

    wget:获取互联网上的资源至本地

    想使用这个功能,也需要先下载一个模块

    [root@oldboy-pythonedu ~]# yum install wget -y

    获取互联网上的资源至本地

    [root@oldboy-pythonedu ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
    [root@oldboy-pythonedu ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

    Linux相关练习题

    # 4.如何快速从当前目录切换到家目录?
        cd
        cd ~
        cd /root                # root用户
        cd /home/USERNAME          # 普通用户
        
    
    # 5.如何快速返回上一次所在的目录?
        cd -
    
    # 6.在家目录下创建一个名为oldboy的目录,然后进入该目录
        cd
        mkdir oldboy
        cd oldboy/
    
    # 7.在oldboy目录下进入根目录下的etc目录下的yum.repos.d目录
        cd /etc/yum.repos.d/
    
    # 8.在当前所在的yum.repos.d目录快速返回到当前目录的上级目录(根目录下的etc目录)
        cd ..        #上级目录
        cd .        #当前目录
    
    # 9.在oldboy下创建一个名为student.txt的文件
    [root@oldboy-pythonedu yum.repos.d]# cd ~/oldboy/
    [root@oldboy-pythonedu oldboy]# pwd
    /root/oldboy
    [root@oldboy-pythonedu oldboy]# touch student.txt
    
    # 10.在家目录下创建oldboy目录下名为oldboyedu的目录,然后将先前创建的名为student.txt的文件复制到家目录下
    [root@oldboy-pythonedu oldboy]# mkdir oldboyedu
    [root@oldboy-pythonedu oldboy]# ls
    oldboyedu
    [root@oldboy-pythonedu oldboy]# touch student.txt
    [root@oldboy-pythonedu oldboy]# cp student.txt ~
    [root@oldboy-pythonedu oldboy]# ls /root/
    student.txt
    
    
    # 11.在家目录下创建一个名为job的目录,并将先前创建的名为oldboy目录及目录下的文件一次性复制到job目录下
    [root@oldboy-pythonedu oldboy]# cd ..
    [root@oldboy-pythonedu ~]# mkdir job
    [root@oldboy-pythonedu ~]# cp -r oldboy/ job/
    
    
    # 12.将根目录etc下的resolv.conf和hosts文件一次性复制到job目录下
    [root@oldboy-pythonedu ~]# cp /etc/resolv.conf  /etc/hosts  ~/job/
    
    
    # 13.返回到家目录,删除家目录下oldboy目录及该目录下的所有文件
    [root@oldboy-pythonedu ~]# rm -rf ./oldboy/
    
    # 14.查看根目录下etc下passwd文件所有内容
        cat /etc/passwd
    
    # 15.分页查看passwd的所有内容
        less /etc/passwd
        more /etc/passwd
    
    
    # 16.只查看passwd文件头部5行内容
        head -5 /etc/passwd
    
    # 17.只查看passwd文件尾部5行内容
        tail -5 /etc/passwd
    
    # 18.在根目录“/”下用ls查看根目录下的所有目录,并解释每个目录对应的作用
    
    /boot                # 启动时需要加载的grub菜单,内核文件
    /etc                # 配置文件的目录
    /usr/                # C:Program Files
        /usr/local    
        /usr/bin        # 普通用户执行的命令
        /usr/sbin        # 管理管理员执行的命令
    /bin                # 链接关系
    /sbin                #
    /tmp                # 临时目录  任何用户都可以写
    /var                # 日志目录  会随着时间的推移发生变化
    /root                # 超级管理员root的家目录
    /home                # 普通用户的家目录   /home/USERNAME
    /proc                # 实时反馈当前系统的状态,  命令获取状态.
    
    
    # 20.如何检查当前系统登录终端,以及登录的是什么用户
        tty
        
    [root@oldboy-pythonedu ~]# whoami 
    root
    
    [root@oldboy-pythonedu ~]# cat /tmp/test.sh 
    Login=$(whoami)
    if [ $Login != root ];then
        echo "请使用root执行脚本"
        exit
    fi
        echo "欢迎使用超级管理员权限"
    
    # 23.列出至少10个你学会的linux基础命令
    
        mkdir
        touch
        cp
        mv
        cat
        cd
        pwd
        rm
        ls
        vi
        head
        tail
        lessmore
        
        
    
    # 24.使用创建文件的命令一次性批量创建(oldboy1,oldboy2,oldboy3,oldboy4,oldboy5)这几个文件
        mkdir -v oldboy{7..10}
    
    
    # 26.解释linux系统下“绝对路径”和“相对路径”的区别
        绝对:  必须从/开始的
        相对:   相对于当前
    
    # 27.在windows电脑桌面新建一个名为1.txt的文件,并想办法上传到linux系统的家目录
        rz
  • 相关阅读:
    Java-注解(@Annotation)
    面试(三)---volatile
    面试(二)---synchronized
    Linux使用技巧(一):vim中选中多行、复制和粘贴
    Git——学习Git
    【Linux】Linux下cp ~中关于“~”的疑问
    【Linux】Linux中cd test和cd /test以及类似命令的区别
    【Linux】Linux系统中/opt 和 /usr目录
    【Linux】Linux的文件权限
    读《大数据时代下半场-数据治理、驱动与变现》--1
  • 原文地址:https://www.cnblogs.com/libolun/p/13732119.html
Copyright © 2011-2022 走看看