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
    

      

  • 相关阅读:
    Delphi程序流程三(2)(while)PS:最简单的任务管理器( 组件LISTVIEW的用法 增加LISTVIEW的读取 删除)
    Delphi 编译错误信息表(转载自万一博客)
    Delphi程序流程三(1)(while)PS:顺便写了个最简单的任务管理器(包含申明API 自己申明参数为结构型API 组件LISTVIEW的用法)
    Delphi程序流程二(for)
    内核编程 warning C4273: 'PsGetProcessId' : inconsistent dll linkage
    简单的SEH处理
    【转】VC6.0各个文件说明
    【转】两篇关于__security_cookie的介绍
    完美解决 error C2220: warning treated as error
    【转】IDA 与VC 加载符号表
  • 原文地址:https://www.cnblogs.com/liya1014/p/13732043.html
Copyright © 2011-2022 走看看