zoukankan      html  css  js  c++  java
  • 2

    Linux-day02

    bash特性

    #1. tab键补全
    	命令补全
    [root@qls ~]# user
    useradd     userdel     usermod     usernetctl  users
    
    	选项补全
    	
    	参数补全
    [root@qls ~]# ls  /etc/sys
    sysconfig/          sysctl.conf         sysctl.d/           systemd/            system-release      system-release-cpe
    
    #2.快捷键
    Ctrl键+c		#终止当前的操作
    Ctrl键+d		#退出当前所登录的用户
    Ctrl键+l		#清屏
    Ctrl键+a		#将当前光标所在位置移动到命令行的行首
    Ctrl键+e		#将当前光标所在位置移动到命令行的行尾
    Ctrl键+u		#删除当前光标所在位置向前的所有字符
    Ctrl键+k		#删除当前光标所在位置向后的所有字符
    Ctrl键+y		#粘贴剪切板上面的内容
    Ctrl键+w		#删除当前光标所在位置向前的一组字符串
    Ctrl键+方向键	#向左或者向右移动一组字符串
    delete		#从前往后删除一个字符
    Ctrl键+r		#搜索历史命令
    Ctrl键+z		#把当前的任务放到后台运行
    Ctrl键+s		#锁屏
    Ctrl键+q		#解锁
    esc键+.		#使用上一条命令的最后的参数
    !!			#执行上一条命令
    !ls			 #执行最近的一次以ls开头的命令
    
    #3.历史记录history
    
    	选项:
    		-c		#清空的历史命令
    		-d		#指定删除历史命令,id
    		-w		#命令写入到文件中
    		
    #4.别名
    [root@qls ~]# alias tong='ping baidu.com'
    [root@qls ~]# tong
    PING baidu.com (39.156.69.79) 56(84) bytes of data.
    64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=29.8 ms
    64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=30.8 ms
    ^C
    --- baidu.com ping statistics ---
    3 packets transmitted, 2 received, 33% packet loss, time 2004ms
    rtt min/avg/max/mdev = 29.849/30.346/30.844/0.527 ms
    [root@qls ~]# unalias  tong
    
    #系统自带的别名
    [root@qls ~]# alias 
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    
    

    查看命令的帮助信息

    man		#查看命令的详细的帮助信息
    
    help	#查看内置命令的帮助信息,help  直接查看所有的内置命令
    
    #使用选项查看帮助信息
    [root@qls ~]# ss --help
    Usage: ss [ OPTIONS ]
           ss [ OPTIONS ] [ FILTER ]
       -h, --help          this message
    
    info	#显示命令帮助信息
    
    #网站命令帮助
    http://man.linuxde.net
    ​
    http://liunx.web3.xin
    ​
    http://linux.51yip.com
    
    

    关机和重启的命令

    关机

    shutdown   -h    0		#立刻关机  或者  now
    shutdown   -h    1		#1分钟之后进行关机,是以分钟为级别的
    shutdown   -h    11:00  #在11:00的时候会执行关机的命令
    
    shutdown  -c		#取消当前的关机操作
    
    poweroff 		#关机
    
    halt			#关机,只会关闭系统,不会关闭电源
    	-p			#关闭电源
    	
    init  0			#切换运行级别进行关机	
    
    

    重启

    shutdown   -r    0		#立刻重启  或者  now
    shutdown   -r    1		#1分钟之后进行重启,是以分钟为级别的
    shutdown   -r    11:00  #在11:00的时候会执行重启的命令
    
    reboot			#重启
    
    init  6    #重启
    
    

    注销

    logout		#注销
    Ctrl键+d		#快捷键注销
    exit		#退出当前用户
    
    

    显示ip地址的命令

    
    ip		#显示ip地址
    [root@qls ~]# ip address	#显示所有的ip地址
    [root@qls ~]# ip a
    
    [root@qls ~]# ip address  show  eth0	#显示某块网卡的ip地址
    [root@qls ~]# ip a s eth0
    
    ifconfig		#查看ip地址的命令
    
    [root@qls ~]# ifconfig   #查看所有的ip地址
    
    [root@qls ~]# ifconfig  eth0	#显示某块网卡的ip地址
    
    hostname		#本身显示主机名的命令
    
    [root@qls ~]# hostname  -i
    fe80::52f8:a673:eea3:dc47%eth0 fe80::e6c7:9516:7898:2bcb%eth1 10.0.0.100 172.16.1.100
    [root@qls ~]# hostname  -I
    10.0.0.100 172.16.1.100 
    
    

    文件管理

    目录结构

    一切以根为顶点的目录
    
    /bin		#普通命令的目录
    /usr/bin
    /sbin		#超级管理员所使用的命令目录
    /usr/sbin
    
    /boot		#引导目录
    
    /dev		#设备目录
    /dev/cdrom sr0	#光驱。光盘
    /dev/random		#产生随机数
    /dev/zero		#源源不断产生数据
    /dev/pts/		#虚拟终端
    /dev/sd*		#磁盘分区
    /dev/stderr		#错误输出 2
    /dev/stdin		#标准输入 0
    /dev/stdout		#标准输出  1
    /dev/null		#黑洞
    
    
    /etc		#配置文件
    /etc/sysconfig/network-scripts/ifcfg-eth*		#网卡配置文件
    /etc/hostname		#主机名配置文件
    /etc/resolv.conf	#本地的dns配置文件
    /etc/fstab			#挂载设备配置文件
    /etc/sysconfig/selinux	#安全策略
    /etc/motd			#登录系统前显示内容
    /etc/hosts		#本地域名解析的文件
    
    /home		#所有普通用户的家目录  /home/username
    /root		#超级管理员的家目录
    
    /lib		#库文件	32位
    /lib64		#库文件    64位
    lib -> usr/lib
    lib64 -> usr/lib64
    
    /media		#挂载点,可移动的设备
    
    /mnt		#临时挂载点
    
    /opt		#早期第三方软件安装目录
    
    /proc		#虚拟的信息,存放系统实时状态信息
    
    /run		#程序运行产生的pid文件存放点
    
    /srv		#物理设备的信息
    
    /sys		#物理设备
    
    /tmp		#文件的临时的存放点
    
    /usr		#安装软件目录
    /usr/local		
    
    /var		#可变的目录
    /var/run	#pid文件
    /var/log	#日志
    /var/log/messages	#系统日志
    /var/log/secure		#用户登录日志
    
    

    路径的定位

    linux中一个点和两个点是什么意思?
    
    .	#表示的是当前目录
    ..	#当前目录的上一级目录
    
    什么是绝对路径,什么是相对路径?
    
    以根为开头的路径就是绝对路径,以~开头也是绝对路径
    不是以根开头的路径就是相对路径
    
    [root@qls ~]# cd  /etc/sysconfig/					#绝对路径
    [root@qls /etc/sysconfig]# cd  network-scripts/		#相对路径
    
    

    文件管理的基础命令

    cd   	#切换目录
    
    cd   /		#切换到根目录
    cd	.		#保持当前目录
    cd ..		#切换到当前目录的上一级目录
    cd	~		#切换到当前用户的家目录下
    cd			#默认切换到当前用户的家目录下
    cd  -		#切换到上一次所在的目录
    
    pwd		#显示当前所在位置
    
    tree	#以树状形显示目录结构,yum install  -y tree
    
    选项:
    	-a		#显示隐藏文件
    	-d		#只显示目录
    	-f		#只显示文件
    	-F		#给目录加个标识符
    	-L		#查看目录的深度,层级,后面跟的是正整数
    
    
    ls		#显示目录列表
    
    选项:
    	-a		#显示所有文件,包括隐藏文件
    	-l		#以长格式显示目录列表,带属性信息
    	-d		#只显示目录本身信息
    	-i		#显示inode号
    	-h		#以人类可读的形式文件大小
    	-F		#给显示出来的目录加个标识符
    	-S		#根据文件大小排序
    	-t		#根据时间进行排序
    	-r		#倒序排序
    	-1		#显示列表
    
    mkdir		#创建目录
    
    选项:
    	-p		#递归创建
    	-v		#显示创建过程
    	-m		#创建给目录设置其他权限
    	{}		#生成序列,创建多个目录
    	mkdir  oldboy{a..z}
    	mkdir  oldboy{1..10}
    	mkdir  old{frank,tank,egon}
    	
    touch		#创建文件
    
    	1.在一个路径下,不能出现同名的文件,会改变原文件的时间戳
    	2.使用{},创建多个文件,区分大小写。
    	
    cp		#复制,拷贝
    
    选项
    	-r		#递归复制
    	-p		#保持属性
    	-d		#保持软连接
    	-t		#把原目标和目标位置进行替换
    	-a		=-pdr
    	-i		#交互式询问,系统自带别名
    	
    mv		#移动
    
    选项
    	-f		#强制覆盖
    	-t		#把原目标和目标位置进行替换
    	-i		#交互式询问,系统自带别名
    
    rm		#删除
    
    选项
    	-f		#强制删除
    	-r		#递归删除
    	-i		#交互式询问,系统自带别名
    	
    别名
    [root@qls ~]# alias   rm='echo rm command bny'
    [root@qls ~]# rm -rf  /opt/
    rm command bny -rf /opt/
    
    
    

    命令练习题

    1.如果我在当前在/目录下,之后执行了以下操作,请告诉我,最后我所在的目录位置
    ​
    cd /etc/sysconfig/
    ​
    cd ..
    ​
    cd ..
    ​
    cd -
    ​
    cd ~
    ​
    cd ..
    
    / 或 /home
    
    2.当前用户是root用户,当前所在位置是/usr/local ,输入cd命令后,当前所在目录是哪里?
    ​
    /root   ~
    
    3.显示当前所在位置信息
    
    pwd
    
    4.批量创建oldboy01,oldboy02,...oldoby05这几个目录
    
    mkdir  oldboy{01..05}
    
    5.显示/oldboy 下面所有文件(包含隐藏文件)的详细信息
    
    ls  -la
    
    6.在/oldboy目录下创建以你名字的目录。(已知oldboy目录不存在,请用一条命令实现)
    
    mkdir  -p   /oldboy/frank
    
    7.在你名字的目录下面创建两个文件,分别为test.txt,test.log
    
    touch  /oldboy/frank/test.{txt,log}
    
    8.把test.txt文件移动到/tmp目录下面
    
    mv   /oldboy/frank/test.txt   /tmp
    
    9.把test.log文件重命名为test.sh
    cd  /oldboy/frank/
    
    mv  test.log   test.sh
    
    10.删除test.sh这个文件
    
    rm  -f  test.sh
    
    11.删除oldboy这个目录
    
    rm -rf  /oldboy
    
    12.切换到/tmp目录下,查看当前的工作位置,同时创建data1、data2、data3、共三个目录。
    
    cd  /tmp
    
    pwd
    
    mkdir data{1..3}
    
    13.接上一题,分别在data1、data2、data3三个目录下创建3个文件,名字为oldboy1、oldboy2、oldboy3.然后查看/tmp目录的整个目录结构情况,最后检查下data1和oldboy1两个对象的属性。
    
    touch  /tmp/data{1..3}/oldboy{1..3}
    
    tree  /tmp
    
    ll  /tmp/data*/oldboy1
    
    ll -d  /tmp/data1
    
    
    14.把/etc/hosts文件复制到/tmp/data1目录下,然后把data1目录复制到/opt/目录下。
    cp  /etc/hosts   /tmp/data1
    cp  -a   /tmp/data1  /opt
    
    
    15.将/tmp/data1目录移动到/root目录下,然后删除/opt/data1目录下的hosts文件,最后删除/opt目录下的data1目录。
    
    mv  /tmp/data1  /root 
    rm -rf /opt/data1
    
    
    

    查看文件命令

    echo 		#所见即所得
    
    选项
    	-e		#支持特殊符号的含义
    			
    	换行符
    					tab键
    [root@qls ~]# echo $PS1
    [u@h W]$
    [root@qls ~]# echo '$PS1'
    $PS1
    [root@qls ~]# echo "$PS1"
    [u@h W]$ 
    
    单引号	强引用,所见即所得
    双引号	所见即所得,支持变量,会解析变量
    不加引号	所见即所得,出现空格不会看做是个整体,会解析变量,支持通配符
    反引号		先执行反引号里面的命令,把结果交给外面的命令。和$()作用一样
    
    [root@qls ~]# echo  hello  world  > oldboy.txt
    echo命令可以创建文件,也可以写入内容到文件中
    
    cat    #查看文件内容
    
    选项
    	-n		#给显示内容加上行号
    	-A		#给每行的结尾加上标识符
    
    #使用cat创建一个新文件。可以写入内容
    
    [root@qls ~]# cat  >oldboy.sh<<EOF
    > oldboy
    > egon
    > EOF
    
    cat >>oldboy.sh<<"EOF"
    tank
    $jason
    EOF
    
    more 		#分页显示文件内容,文件结束时,会自动退出文件
    
    选项	
    	-n(数字)  指定一页显示多少行
    	+n(数字)	指定从第几行开始显示
    	
    内部命令
    	空格或f	向下翻页
    	b		  向上翻页
    	回车		下一行
    	/		 搜索
    	=		 显示当前光标所在行
    	q		 退出
    
    less		#分页显示文件内容,文件结束时,不会自动退出
    
    选项
    	-N		#显示的时候加上行号
    	
    内部命令
    	空格或f	向下翻页
    	b		  向上翻页
    	回车		下一行
    	/		 搜索,会高亮显示,n向下查找,N向上查找
    	=		 显示当前光标所在页,第几行到第几行,会显示字节大小
    	q		 退出	
    	
    head 		#显示文件头部信息,默认显示前十行内容
    
    选项
    	-n  (数字)		#取消默认输出,指定显示几行
    	-n(数字)			#指定显示文件头部几行信息
    	-c					#显示头部几个字符
    
    tail		#显示文件尾部信息,默认显示十行内容
    
    选项
    	-n		#取消默认输出,指定显示几行 简写 -数字
    	-c		#显示尾部几个字符,最后一个是换行符
    	-f		#实时查看文件的更新
    	-F		#实时查看文件的更新,文件不存在时,不会退出,会一直尝试读取该文件
    	
    tailf		#实时查看文件的更新,在磁盘不更新时,不会读取磁盘,减少磁盘的读写。
    
    grep		#文本处理工具,过滤,加上颜色
    
    选项
    	-i		#忽略大小写
    	-v		#排除
    	-n		#给过滤出来的内容加上所在文件中的行号
    	-c		#统计过滤出来的内容总共几行
    	-w		#精确匹配,只过滤要过滤出来的字符,而不是包含该字符串的字符
    	-o		#只显示过滤出来的内容
    	-E		#支持使用扩展正则
    	-A		#匹配过滤的内容,在向下匹配n行
    	-B		#匹配过滤的内容,在向上匹配n行
    	-C		#匹配过滤的内容,在向上和向下各匹配n行
    	
    正则
    	^		#以什么开头
    	$		#以什么结尾
    	^$		#空行
    	.		#匹配任意一个字符
    	*		#前面一个字符出现0次或者0次以上
    	.*		#所有
    	[]		#整体,包含[]里面的字符
    	|		#或者
    	
    
    
  • 相关阅读:
    Day22:异常处理、socke基于TCP协议编程
    Day21:面向对象的软件开发、反射、对象的内置方法
    Day20:绑定方法与非绑定办法、多态和多态性
    Day19:继承实现的原理、子类中调用父类的方法、封装
    Day18:类的抽象、类的组合应用
    Day17:类的继承、派生、组合和接口
    Day16:面向对象编程——类和对象
    数据结构
    python爬虫篇之 性能相关
    scrapy-redis
  • 原文地址:https://www.cnblogs.com/chenwang-23/p/11854473.html
Copyright © 2011-2022 走看看