Linux基础命令(三)

1、Linux中软件包的管理方式

第一种:用rpm命令管理.rpm结尾的包
       rpm包:依赖性强,不方便
       示例:挂载光驱
          # mount /dev/cdrom /media/
          光驱是只读的,不可写
       Linux中的软件针对的还是服务器领域比较多
       1、源码包
       2、二进制包(RPM包,系统默认包)
第二种:
       通过yum命令进行管理
       使用yum的前提,必须联接外网
       rpm的包都来自于本地-Packages目录 ls | wc -l
yum命令特点:
自动解析依赖,更方便快捷
列出系统中所有已经安装好的rpm包 # yum list   

image_1aksh3cba11no87o7tikse1gtr9.png-17.5kB

 列出筛选需要的包
 # yum list | grep httpd-tools
 其中末尾的仓库名前面如果有@符号,表示已经安装在系统上

image_1akshf0nr1s8e1kja19us1i6o1kbbm.png-15.7kB

 1、安装命令: install
  选项:-y 加上可以直接确认,不用手动确认

image_1akshmc2c1hlgtahdm1e9lr3013.png-31.2kB
image_1akshor1q4s97u4gso190c7hd1g.png-53.2kB

 2、卸载命令:remove  也可以加上: -y选项

image_1aksiipcv1au9ev75k56t01qqv1t.png-17.2kB

 yum和rpm
 安装和卸载包名后都不需要加.rpm
 但是rpm命令安装卸载就需要加.rpm
 
 yum包的来源都是来自互联网,所以需要连接外网
 比如:mirror.163或者开源中国等镜像网站

 了解yum仓库
 首先下载来的包需要一个仓库(位置)
 # ls /etc/yum.repos.d
 在Linux中以.repo结尾的就是仓库配置文件,前面的名称可以必须.repo才能生效该文件,否则无法识别。
 file://代表本地
 gpgcheck代表是否开启校验
 gpgkey代表是否开启公钥

2、Linux 系统管理命令

  1、ifconfig 查看网卡信息
  2、top查看系统整体资源,包含内存,CPU
     top命令是动态显示当前系统中的进程(CPU,内存),小写q退出
     swap:交换分区,类似windows中的虚拟内存,当物理内存消耗殆尽时,就可以使用虚拟内存。

image_1akskctfo1ktvv8a1c4c137s1b6q2a.png-37.4kB

  3、free 查看系统内存信息

image_1akskh3n81k5t1ns0126r1rcm11k72n.png-8kB

     # free -m  默认以M为单位

image_1akskighd1ffk19o61oq3r9b1q8034.png-14.4kB
4、查看系统当前进程 # ps -ef | wc -l
其中 -ef 表示查看详细信息

3、shell

  1、概述
    一方面,这是一个命令解释器
    起到了用户与计算机之间的交互作用,将输入的命令转换成计算机能够识别的语言(010101.......),再将返回结果转换成能够识别的字符.
    另一方面,是编程语言(解释执行的脚本语言,如PHP语言,简单理解,不需要再进行单独的编译,直接回车输出结果)
  2、shell语法分为两大类
    B shell
    C shell

image_1aksvr3t89va119v11gcj1u1ms49.png-13.2kB

   # cat /etc/shells,表示它们之间可以任意切换。
  3、变量
    shell中有四种变量
    环境变量
    位置变量
    预定义变量
    自定义变量
  3.1环境变量
     用户变量
    .bash_profile这个是针对某个用户来配置的环境变量配置文件(私有,不共享)
    /etc/profile是针对整个系统来说的
    简单理解:一旦配置就是全局生效(公共的,共享的)
    一般建议配置全局生效的环境变量
    查看用户环境变量位置
    # echo $PATH
  3.2 位置变量
   一般和脚本是联合使用的一种变量。将传递给脚本的参数保存在位置变量中。便于在脚本中引用这些参数。
   系统设置了9个位置变量:$1,...$9
   $0:代表脚本变量
 3.3 编写脚本规范
   #!bin/bash 这是所有脚本开头必须要写的一项。
   作用:声明这是一个脚本
   执行脚本方式:
   # sh 1.sh  sh加脚本名
   示例

image_1akt2gp4t1qqksdnred18ec1cia13.png-5.6kB

image_1akt2g1qn51u1hej1vl81m89h2rm.png-12kB

 3.4 预定义变量
   $0:脚本名称
   $1:表示进程的PID号,每一个进程有一个ID号
   $?:简单理解,表示一个判断
      判断结果如果是0,则命令执行成功
      如果是非0,是执行失败。
   $*:整体显示出所有内容
   $#:显示传递的参数的个数
   $$:
   $@:一般工作中,逐个读取
 3.5 自定义变量
      用户自己定义的变量,使用$来取值
      语法格式:name=[value]
      变量等号两边不能有空格。
      变量名相同,值不同,取后一次定义的变量值会覆盖前一次的变量的值

image_1akuni9r6rsbd6g1c0f5b7135i9.png-5.5kB

4、逻辑符号
      逻辑与:&& 
          示例: cmd1 && cmd2
          # cat /etc/passwd &&  mkdir /tmp/hdfs
          代表前面的命令执行成功了才会执行后面的命令
      逻辑或:|
          示例: cmd1 || cmd2 
           # cat /etc/passwddd ||  mkdir /tmp/hdfs1
          只有当前面的命令执行失败的才会执行后面的命令
      ; :表示无逻辑关系,先后执行,没有任何的逻辑关系
         注:/etc/init.d  存放系统脚本文件
         Linux系统都是由脚本搭建起来的
         在工作中可以命令连用,节省时间,提升效率
   5、shell运算
     $((....))  表达式

image_1akupn8d71op981m1mdj11e51mnn1m.png-14.5kB

     $[....]  表达式

image_1akuqg0pe150glqqjb81iln102q23.png-5.1kB

       运算 expr 5 + 2
       注意:运算符两边需要加上空格,否则相当于打印
       自定义变量,运算时必须加上$符号,表示取值

image_1akuqm25s1m8f1l4p1cf21f061pfh2g.png-3.2kB

  6、内置测试判断
     Test测试表达式
     数值比较
         -eq 等于则为zhen
         -ne 不等于则为真
         -gt 大于则为真
         -ge 大于等于则为真
         -lt 小于则为真
     赋值字符串 加上双引号,否则报错 # a="I am"。其实加上单引号也可以。
     示例:
     #  [ $a = $b];echo $?
     a取出的是两个字符串,同样b也是两个字符串
     
     涉及到字符串的就需要加上双引号
     # [ "$a" = "$b"];echo $?
     
     -o 或者,相当于 or
     根据操作行为判断
     示例: # ["$Yn"="Y" -o "$Yn"="y"];echo...
     通过比较字符串,取变量,和真实字符进行比较,判断结果
     
     -o 其中一个条件成立,则整个表达式成立
     -a 所有条件都成立,则整个表达式才成立
    
    文件测试判断
       前提:文件必须存在,格式选项后必须跟上文件名b
       -e 文件名 如果文件存在则为真 # [ -e /etc/passwd ];echo $?。目录也是类似的写法
       -r 文件名 如果文件存在且可读则为真
       -w 文件名 如果文件存在且可写则为真
       -s 文件名 如果文件存在且至少有一个字符则为真
       -d 文件名 如果文件存在且为目录则为真
       -f 文件名 如果文件存在且为普通文件则为真
       -c 文件名 如果文件存在且为字符型特殊文件则为真
       -b 文件名 如果文件存在且为特殊文件则为真
       
    权限测试 根据当前登录的用户进行判断
    # [ -w test10 ];echo $? 
    如果不在当前目录下,需要加上绝对路径
    # [ -r /home/senior02/test10 ];echo $?
    
    and “和”判断
    [ -e /etc/passwd -a 2 -eq 2 ];echo $?
    or “或”判断
    [ -e /etc/passwd -o 2 -eq -2 ];echo $?
  7、时间命令
      查看系统时间 date
      修改时间命令 -s  示例:# date -s "2016-06-11 15:08:28"
      获取时间格式 示例 # date "+%y%m%d%H%M%s"
                                 年月日时分秒
      时间回到7天前     # date -d '7 day ago' '+%y%m%d%H%M%s'
  8、如果命令丢失,需要安装:
      # which man 查找路径
      # rpm -qf /usr/bin/man 查找安装

4、shell控制语句

   #!/bin/bash 
       其中的‘#!’是固定写法,
       /bin/bash 声明的是它的环境
       一般脚本的后缀不一定非要加上 .sh 但最好加上
       脚本的核心内容其实就是一堆命令的集合

简单的脚本示例:

image_1akv5j90ccq71con14jan9usqp2t.png-7.3kB

执行后:

image_1akv5k54k1krr1jio1svt10v8o6g3a.png-6.5kB

注意: 执行脚本需要有x执行权限

 4.1 for循环

示例:
image_1akvbor0017hu15l1bqe1rps1ajf3n.png-4.2kB
执行结果:
image_1akvbplb31955cu9otanab1ct444.png-5.5kB

循环打印1-50
image_1akvcd86a1e831h2214q1122qmpf4h.png-3.6kB

创建50个目录
image_1akvctaa11kgvfge1dui1fts1vap4u.png-5.4kB
执行结果
image_1akvcudate6f2m8och15a573t5b.png-32.2kB

输出自然数1到10的和
image_1akvdj3qs1b424f4dre1qhf1juu5o.png-5.5kB
或者
image_1akvdu616dvbub41lm76qldst65.png-6.9kB

输出九九乘法表
image_1akveu6l71ahjpk11hlflb511gf7v.png-16.9kB
执行效果
image_1akvev2ehigm1q90hkf1asl12re8c.png-13.1kB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值