linux day03 基础知识学习

1.权限掩码
   满权限,一个文件的满权限是666, 一个文件夹的满权限是777
   公式: 创建文件默认权限 = 满权限 - 权限掩码
   格式: umask  权限掩码
   练习: 把权限掩码修改成022后,创建文件和目录的权限是多少,umask 022,创建文件的默认权限变成644,创建目录的权限变成755
   
2. find查找文件 (重)
    格式: find 目标目录(哪里查) 查找规律(怎么查)
    格式: find . -name 关键字
    练习: 请查找整个linux系统中 的所有passwd文件。 sudo find / -name passwd
    格式:find -size 大小    ;用c,k,M,G,T单位使用
   注意: 如果需要多个条件连接,-and 并且关系。 -or 或者关系
    练习: 请查找出 linux系统中,所有大于100k并且小于10m的文件 find -size +100c -and -size -10M 
   格式: find -user  属主;   按照属主查找文件 ; sudo find ~ -user danny
   格式: find -atime 时间; 在多少天内访问过的文件
   格式:find -mtime 时间; 多少天内修改   ???

3.tar 打包和解包(不做压缩)(重)
   格式:tar  -cvf  目标包(*.tar) 源文件/目录  ; 给文件打包
   格式:tar -tvf 目标包 ; 查看包中的内容
   格式:tar -xvf 目标包 -C 目标地址; 解包到指定位置
   格式:tar -Avf  包1  包2; 把包2中的内容追加到包1中
   格式:tar -rvf 目标包  源文件 ; 请把danny文件追加到刚才的danny.tar

4.解压缩 工具
   格式:tar -zcvf 目标包( *.tar.gz)  源文件   ;压缩文件    ,gzip压缩
   格式:  tar -zxvf  目标包( *.tar.gz) -C 位置  ;解压缩
   格式:tar -jcvf  目标包( *.tar.gz)  源文件   ;压缩文件  bzip2压缩
   格式:tar -jxvf  目标包( *.tar.gz)   ;解压缩文件  bzip2压缩   

5.shutdown 关机命令  (重)
  格式:shutdown -t 时间 ;在多少分钟后关机
  格式:shutdown -r 时间; 重启
  格式:shutdown -f 强制关机
  格式: shutdown -c 取消关机;
 
 6.clear 清空屏幕

 7.who   当前用户是谁
   显示名称 登录时间  使用的串口 全部显示
  
 8.whoami    只显示用户名称

 9. date 时间日期(重)
    作用:用命令显示和设置系统时间
    格式: date   ; day当前的日期 时间
    格式: date  '+%c'   ;显示时间和日期,但时间用中文表示
    格式: date ‘+%x’ ; 只中文显示年月日
    格式: date ‘+%X’ ;中文显示时间
    格式: date ‘+%T’;只显示时间,用冒号24小时格式显示
    格式: date ‘+%D’; 用斜杠的格式表示日期

10.info 网页的形式查看帮助信息
   格式: info + 命令  (man 命令;命令 --help)

11.ps 查看进程(process)
   格式: ps -aux   ; 查看所有进程
              ps  -au  ;  打印进程
    信息:  USER ----进程拥有者
                PID-------进程id
               CPU-------cpu使用率
               MEM------内存使用率
               VSZ -------虚拟内存
               STAT-------进程状态  (R 表示在运行,T表示暂停  S堵塞)
               START------进程开始时间
               TIME-------执行时间
               COMMAND 用哪个命令执行的
                
12 kill 杀死进程(发送信号)
    格式: kill -9 PID;

13 pstree
    作用:讲所有进程以树状图形式显示,树状图会以pid或者init为基本进程的根来展现。


14网络命令
    1> ifconfig   打印网卡的信息 (linux下)
         ipconfig  在windows打印网卡信息

    2>.Link encap:本地环回  --表示自己的ip地址,用127.0.0.1表示
    3> 硬件地址:也叫mac地址:网卡地址,例如 00:0c:29:94:12:b1  共48位(6个字节),前24位和后24位,前24位给厂商。后24位给个人。mac是全世界唯一。
    4>逻辑地址:ip地址,点分十进制:例如 192.168.5.4,ip地址的每个10进制最大是255.
    5> 网关:不同局域网之间通信的中间设备。例如:192.168.5.1 最后一位是1.这个ip地址就是网关地址。
   
----------------------------------------------------------------------------------------------
1.网络命令(重)
  6>子网掩码:用来区分网络地址和主机地址部分,基于子网掩码,网络管理员可以 将网络划分为若干个子网
  每个ip地址分为主机地址部分 网络地址部分。子网掩码中,1对应ip地址中的网络地址部分,0表示主机地址部分。
  案例:子网掩码为255.255.255.0而ip地址为192.168.125.10;
             ip转换成2进制:   11000000 .10101000.11111101.00001010
            子网掩码的2进制    11111111. 11111111.11111111.00000000

     7>地址分类
       A类地址:第一个字段是网络地址(最高位是0),剩下三个字段是主机地址,子网掩码255.0.0.0
       B 类地址:网络地址和主机地址分别2字段(最高两位是10)子网掩码:255.255.0.0
       C 类地址:三个字段的网络地址,1个字段主机地址,最高三位是110.  255.255.255.0 (192.168.5.1)
       D 类地址:可以用来做组播地址
       E 类地址:用来做测试,实际生活中不使用

      8>动态地址DHCP
          ip地址分为ipv4和ipv6;因为ipv4不够用,所以开发出ipv6地址。
          ipv4只有32位。ipv6地址128
          DHCP:动态主机配置协议,实现动态分配ip地址资源。

      9> DNS: 域名解析协议,把域名(网址)解析成ip地址或者反解析。
      
     
二、shell脚本
  1、shell:贝壳,是用户空间和内核空间交互的中间件,shell脚本是shell命令的集合,他解释型语言。c是编译型语言。
  2.为什么学shell
           1>服务器管理或者系统配置
            2> 新的系统安装后,需要软件的配置和安装
           3>为了提高效率,是维护更方便快捷。
  
  3.shell脚本的编程步骤(解释执行)
    1>使用vim编写shell脚本,shell脚本时*.sh后缀
    2>修改脚本的执行权限; chmod 777 *.sh   或者 chmod a+x  *.sh
    3> 执行 ./脚本名。   例子:./goog.sh
 
  4.定义变量(可以修改的量)
    1>定义变量:在shell中变量定义不需要类型  name=123
        使用变量:$变量名   或者 ${变量名}
        打印内容: echo 
       
   2>输入  read
      格式: read 变量名,如果没有输入则会一直堵塞(等待)
       注意:已经定义好的变量可以重新定义,并且可以使用变量赋值
   3>unset 变量名   取消变量的定义,取消定义后变量不可以重新使用,除非重新定义。
   4>readonly 不允许变量修改
       格式: readonly 变量=值
       注意:readonly变量不可以unset
    练习: 请定义三个变量,年龄,性别,姓名   用echo打印
   5>变量命名规则
       命名中只可以是字母下划线数字,不可以是其他特殊符号
        变量名中间不可以用空格   ac dd 是两个变量
       不能使用标点符号
       不能使用shell中的关键字
       不可以数字开头,只可以是下划线和字母开头
  6>字符串:一串字符连接起来
    两种表示方式:用单引号 ‘adsfad${name}’   双引号“adasd${name}”
                  注意:如果是单引号,会照常输出,变量也会当次字符串内容
                           如果是双引号,会把变量替换,打印变量的值。
    字符串拼接: name='danny'${age}' good'
    字符串的长度:echo ${#string}   例如 name='danny'  echo ${#name}结果是5
    截取字符串: echo ${string:2:5}   ;其中2表示从第三个字符开始,5表示总共打印5个字符   
    内容注释:可以用#做单行注释。(注释对电脑来说就是空白,给人看的)

  7> 预定义变量
     定义:预先在shell脚本中定义好的,具有特殊意义,可以直接使用的变量。
    $0:   表示当前sh的文件名和路径
    $1:   第一个参数的内容    比如在终端执行shell的时候   ./good.sh  abc def  则$1表示abc
    $@:表示所有的参数内容 
    $#   :表示参数的个数
   $*    :表示所有参数
   $?  :表示上一个指令是否成功 如果成功则为0 如果失败 为非0
   $$ : 当前进程的id

8>系统环境变量(域名)
9> 数组

10>功能性
    1> 输入 语句
     read:从键盘输入的内存存入到 变量中
     多个读取: read 变量1 变量2 变量3
     练习:请从键盘输入3个值,连接到一起后打印出来。
       read name age sex
       echo $name$age$sex
   2>expr 算数语句
      expr:用来做加减乘除的整数运算。
      使用: expr 变量 运算符 变量
       使用: `expr $a + $b`  
                  `expr $a \* $b`      表示乘法  
                   `expr $a / $b`
                   `expr $a % $b`
       注意: 乘号运算符需要用\* ,(转义字符)
                  反单引号在esc下面
    

作业1:自学linux系统是怎么启动的?先启动什么进程,再启动什么进程。 (
第一步:加载内核
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
操作系统接管硬件以后,首先读入 /boot 目录下的内核文件

第二步:启动初始化进程
内核文件加载以后,就开始运行第一个程序 /sbin/init,它的作用是初始化系统环境

第三步:确定运行级别
许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
init进程的一大任务,就是去运行这些开机启动的程序。但是,不同的场合需要启动不同的程序,比如用作服务器时,
需要启动Apache,用作桌面就不需要。Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。
也就是说,启动时根据"运行级别",确定要运行哪些程序

第四步:加载开机启动程序(系统初始化)
前面提到,七种预设的"运行级别"各自有一个目录,存放需要开机启动的程序。不难想到,如果多个"运行级别"需要启动同一个程序
,那么这个程序的启动脚本,就会在每一个目录里都有一个拷贝。这样会造成管理上的困扰:如果要修改启动脚本,岂不是每个目录都要改一遍?

第五步:用户登录
开机启动程序加载完毕以后,就要让用户登录了。

1)命令行登录

(2)ssh登录

(3)图形界面登录

第六步:进入login shell
所谓shell,简单说就是命令行界面,让用户可以直接与操作系统对话。用户登录时打开的shell,就叫做login shell。


作业2:用三个变量保存姓名年龄和性别,然后拼接成一个字符串后,打印出字符串的长度以及第二个字母到第7个字母的内容。
作业3:输入三个参数 对输入的内容做计算,例如 ./good.sh 1 + 2  的在屏幕上打印3 只计算加和减。
预习: shell的 系统环境变量  数组定义  关系运算符使用   if 语句  for循环  while循环 和函数。


 
   

           
   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值