zoukankan      html  css  js  c++  java
  • day58 Bash shell、Bash shell基础语法、Linux特性、绝对路径,相对路径、基础命令

    1. 什么是Bash shell?

    2. Bash shell 能做什么?

    3. 平时怎么使用Bash shell?

      3.1 单条命令执行

      3.2 多条命令 --> 脚本

    4. 登录Linux Bash提示符([root@主机名 ~]#)

    5. Bash shell 基础语法

    6. Bash shell 特性

    7. 文件管理

    什么是Bash shell?

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

    Bash shell 能做什么?

      文件管理

      软件管理

      用户管理

      权限管理

      网络管理

      . . . . . . . .

    平时怎么使用Bash shell?

      单条命令:

        

    useradd gdx
    

      

      脚本:    

        [root@pythonedu ~]# cat useradd.sh 
        #!/usr/bin/bash
    

      

        创建多个用户:

          for i in {1..100}
          do
            useradd gdx_$i
          done
    

      

    登录Linux Bash提示符 

      [root@pythonedu ~]#

      root: 表示当前登录Bash Shell窗口的用户是..
      pythonedu: 当前系统的主机名称
      ~: 当前用户所处的路径 ~ 表示的是当前用户的家目录
      #: 提示符 # 表示超级管理员
      $ 表示普通用户

    Base shell 基础语法

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

    Base shell 特性?

    tab补全:
    		命令补全
    		路径补全
    	
    	history: 执行的命令历史
    		-c:   清空
    		-d:   删除指定的一条记录
    		-w:   将历史记录落到指定的文件中
    		
    	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 
    
    	unalias: 临时取消别名
    		[root@oldboy-pythonedu ~]# unalias cat_network
    		
    	快捷键:
    		ctrl+ a,e,c,l,d,w,k,u,r
    
    		ctrl+a:  命令行光标跳转到行首
    		ctrl+e:  命令行光标跳转到行尾
    		ctrl+l:  清屏, clear
    		ctrl+c:  中断bash窗口 前台正在运行的程序
    		ctrl+u:  删除光标之前的
    		ctrl+k:	 删除光标之后的
    		ctrl+w:  按照单词删除
    		ctrl+ <--> 按照单词跳转光标
    

    文件管理

    1. 目录结构

    Windows:  多根    c:  d:  e:
    		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. 路径定位

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

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

    touch: 
    [root@oldboy-pythonedu ~]# touch /home/hello.py
    [root@oldboy-pythonedu ~]# ls -l /home/hello.py 
    -rw-r--r--. 1 root root 0 9月  25 11:48 /home/hello.py

    2. 将 /home/hello.py文件

    cp: 复制文件或者目录
    	-v:  显示拷贝的结果.
    	-r:  递归拷贝
    	-i:  
    	[root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/				#直接拷贝
    	[root@oldboy-pythonedu ~]# cp /home/hello.py /tmp/test.py		#拷贝后修改名称

    3. 将 /home/hello.py文件删除

    rm: 删除文件或者目录
    	-f: 强制删除,不提示
    	-r: 递归删除 [ 删除目录 ]
    	[root@oldboy-pythonedu ~]# rm -f /home/hello.py
    	[root@oldboy-pythonedu ~]# rm -fr /tmp/etc

    4. 查看 /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
    [root@oldboy-pythonedu ~]# head -1 /etc/passwd
    
    tail: 查看文件内容: 仅查看尾部10行.
    	-f: 实时追踪文件尾部的变化
    	
    [root@oldboy-pythonedu ~]# tail -f /var/log/messages
    
    lessmore 分页查看
    [root@oldboy-pythonedu ~]# less /etc/services
    [root@oldboy-pythonedu ~]# more /etc/services

    5. 将 /tmp/hello.py 拷贝到 /opt/python_dir/hello.py

    mkdir	#创建目录
    	-p:  递归创建
    	-v:  显示创建的过程
    [root@oldboy-pythonedu ~]# mkdir /opt/python_dir
    [root@oldboy-pythonedu ~]# mkdir -pv /opt/dir1/dir2/dir3/dir4

    6. 将 /tmp/hello.py拷贝到 /opt目录下

    mv: 移动文件或目录
    [root@oldboy-pythonedu ~]# mv /tmp/hello.py /opt/

    7. 命令的全路径???怎么查找

    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

    8. 上传和下载

    下载:
    	1.从互联网下载资源到服务器
    	2.从服务器下载资源到本地
    	
    上传:
    	从本地上传内容到服务器
    		
    
    rz 从本地电脑上传文件到server			( 只能上传文件,不能上传目录或文件夹,    最大限制4G )
    sz 从server下载文件到本地电脑
    
    [root@oldboy-pythonedu ~]# yum install lrzsz -y
    
    wget  获取互联网上的资源至本地
    yum install wget -y
    wget http://nginx.org/download/nginx-1.16.1.tar.gz
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    

      

  • 相关阅读:
    洛谷p1017 进制转换(2000noip提高组)
    Personal Training of RDC
    XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Eurasia
    XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Peterhof.
    Asia Hong Kong Regional Contest 2019
    XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Siberia
    XVIII Open Cup named after E.V. Pankratiev. Ukrainian Grand Prix.
    XVIII Open Cup named after E.V. Pankratiev. GP of SPb
    卜题仓库
    2014 ACM-ICPC Vietnam National First Round
  • 原文地址:https://www.cnblogs.com/liya1014/p/13732043.html
Copyright © 2011-2022 走看看