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
    less\more
    
    

# 24.使用创建文件的命令一次性批量创建(oldboy1,oldboy2,oldboy3,oldboy4,oldboy5)这几个文件
    mkdir -v oldboy{7..10}


# 26.解释linux系统下“绝对路径”和“相对路径”的区别
    绝对:  必须从/开始的
    相对:   相对于当前

# 27.在windows电脑桌面新建一个名为1.txt的文件,并想办法上传到linux系统的家目录
    rz

 

posted @ 2020-09-25 19:49  iR-Poke  阅读(282)  评论(0编辑  收藏  举报