第三讲、Linux常用命令

课题大纲
    文件处理命令
    权限管理命令
    文件搜索命令
    帮助命令
                      压缩解压命令
                      网络通信命令
                      系统关机命令
                      Shell应用命令
文件的命名规则
    除了/外,所有字符都合法
    有些字符最好不用,如空格、制表符、退格符、@#$()-等
    一般不用.作为文件的开头
    大小写敏感
命令格式: 命令  -选项  参数
    例:  ls   -ld   /etc
说明: 当多个选项时,可以放在一起; .当前目录  ..当前目录的父目录
这里写代码片

一、文件处理命令

1、ls(list)(/bin/ls)(执行权限:所有用户)(显示目录、文件)
    -aall)显示包括隐藏文件的所有文件
    -l  (long)显示详细信息
    -d  查看目录的属性
【知识介绍】
while+命令 : (可以查看命令存放在哪个文件下,并通过文件所在文件夹,判断出文件可以被哪些用户执行)

只有root用户能执行的命令一般放在下面的文件下:
    root:
        /sbin
        /sur/sbin
所有用户能执行的命令放在下面的文件下:
    all suers:
        /bin
        /usr/bin
其中:
    bin-binary 二进制
    usr-user
    sbin-super binary 超级二进制(超级用户)

【重点知识-必须掌握】
    执行下面命令: ls -l /   查看/目录下所有包含的文件、目录以及它们的详细信息,如下图所示:

这里写图片描述

上图的输出结果,分别对应:
    文件的类型以及权限  硬链接数  所有者  所属组  大小  创建/修改时间  文件/目录名
【详细介绍】
(1)文件的类型以及权限:dr-xr-xr-x  (一共有10个字符组成)
    其中:第一个字符表示文件的类型,文件的类型有下面三种:
        d  目录 directory  (表示是一个目录)
        -  (表示是一个二进制文件)
        l  (表示是一个软链接文件)link9个字符由rwx-组成,表示可读read、可写write、可执行execute
rwx以三个一组为单位,分别对应三种用户:
    u-文件的创建者、文件的所有者
    g-文件的所属组
    o-其他人
    【重点知识-必须掌握】rwx对于文件、目录具有不同的含义,下面看图:

这里写图片描述

【rwx执行权限总结】
    1、r的含义:对于文件肯定就是是否能查看,对于目录就是是否能查看目录中有哪些内容(比较容易理解)
    2、w的含义:对于文件,只是能否进行修改(并不能控制改文件是否能被删除,要判断改文件能否被删除,应该看改文件所在的父目录的w属性);对于目录而言,表示①是否能在该目录中创建或者移来文件;②该目录中的文件能否被删除、被移走。
    3、x的含义:对于文件,有一些可执行的文件;对于目录,表示该目录能否被进入,换句话说,能否cd改文件。
2、cd (change directory) (所在位置:shell内置命令) (所有用户) (切换目录)
    cd 目录
3、pwd (print working directory) (/bin/pwd) (所有用户) (显示当钱所在目录)
4、mkdir (make directory)(/bin/mkdir) (所有用户) (创建目录)
5、touch (touch)(/bin/touch) (所有用户) (创建空文件、改变已有文件的时间戳)
6、cp (copy) (/bin/cp) (所有用户) (复制文件)
    cp -选项 源文件/目录 目的文件/目录
       -r   处理目录
       -p   保持属性
示例:
    cp f1 f2 /data  一次性cp多个文件到目录下
    cp -r /data /test  复制目录
7、mv (move) (/bin/mv) (所有用户) (移动文件目录、改名rename)
    mv -选项 源文件/目录 目的文件/目录
8、rm (remove) (/bin/rm) (所有用户) (删除文件/目录)
    rm   文件
    rm  -r  目录
9、cat 显示文件内容
10、more  分页显示文件内容
    空格、f  显示下一页
    回车     显示下一行
    q       退出
11、head 显示文件的前num行
    head -n 10 oldboy.txt
12、tail 显示文件的后num行、查看文件后几行的状态(可以进行实时的监控文件的变化)
13、ln (link) 创建硬链接、软链接文件 (该命令只能处理文件,不能处理目录)
        ln      源文件  目标文件
        ln  -s  源文件  目标文件  (-s soft软)
【重点知识:必须掌握】软链接文件、硬链接文件的含义、以及二者的区别
用ls -l 命令去查看三个文件,结果显示如下图所示:
用ls -i 命令去查看三个文件的inode节点
    发现源文件和硬链接文件的i节点:相同
    发现源文件和软链接文件的i节点:不同

这里写图片描述

从结果可以看出:
    源文件、硬链接文件(除了文件名不同,其他的信息全部相同)
【注1】硬链接文件:相当于源文件的“拷贝”+可以和源文件进行同步的更新。
其中:硬链接文件不能跨系统(/ /swap /test)(相当于不能跨Windows中的C盘、D盘)
    硬链接文件创建的位置必须和源文件在“同一个盘的同一个分区内”,而软链接文件创建的位置与源文件没有任何联系和限制。
【疑问】为什么硬链接文件和源文件可以进行同步更新呢?
答:因为文件的名称在Linux下是以(i节点inode)进行标识的,硬链接文件和源文件的i节点一样,因此linux在进行修改其中一个文件时,先获取改文件的(i节点),之后修改(该i节点)的所有文件,因此硬链接文件和源文件可以进行同步更新。
    删除了源文件,硬链接文件不会消失,因此在企业开发中写脚本时,一般创建一个硬链接文件,进行备份。
【注2】软链接文件:相当于源文件的“快捷方式”,一旦源文件被删除,则软链接文件也就失去作用(相当于是个垃圾了)。

二、权限管理命令

【命令介绍】
添加用户、并设定密码
    useradd 用户名
    passwd  密码 
1、一个文件/目录有两个可以进行改变:所有者、所属组
(1chown (改变文件/目录的所有者)
语法:chowm 用户 文件/目录
(2)chgrp (改变文件/目录的所属组)

2chmod (change the permissions mode of a file) (改变某种用户u/g/o对文件/目录的rwx权限)
【改变权限有两种形式】
形式1chmod 用户ugo +-= rwx 文件/目录
    案例
        chmod o=r-- oldboy.txt、
        chmod u=rwx oldboy.txt
形式2chmod  [mode=421] oldboy.txt
【解读】mode由三个0-7的数字组成,为什么数字范围是0-7呢?
因为:r表示4,g表示2,o表示1,-表示0
因此一个0-7的数字就可以表示一种用户的权限!这样的处理方式很简单,也是企业开发中常用的形式。
    案例
        chmod  777 oldboy.txt  所有用户具有所有权限
        chmod  000 oldboy.txt  
        chmod  755 oldboy.txt  u:rwx、g:r-x、o:r-x
3umask 查看文件/目录的(“默认的”rwx权限)
【直观的方式查看默认权限】
    umask -S
【不直观的方式查看默认权限】
    umask

这里写图片描述

看上面图示结果,
umask -S得到的结果是0022
解析0022的含义:
    第一个位置为0,是特殊权限位
    022-用户权限位(此处是权限掩码值),022是怎么得来的呢?
        777
      - 022  权限掩码值
——————————————————————————
        755  实际的权限值    rwx r-x r-x

【注】linux中,
(1)默认创建的目录的权限是755
这里写图片描述
(2)默认创建的文件的权限是644
注:这是一个linux潜在的规定,默认情况下创建的文件,不具有可执行的x权限。
这里写图片描述

三、文件搜索命令

1、查找命令存放的路径
(1)which 
    存放文件的不同,可以划分为什么用户可以用,什么用户不可以用。
    /sbin-root用户
    /sur/bin所有用户
【注】别名信息
(2)whereis 
【注】帮助文档存放的路径

2、find  查找配置文件存放的路径
    find [搜索路径范围] [搜寻关键字+-]
查找文件和目录(在Windows下用“查找”查找文件/目录)
【查找的规则】占用系统的资源越少越好
【选项介绍】
(1)-name  文件名
    介绍两个通配符
            *  匹配多个任意字符
        ?或者-  匹配单个任意字符
(2)-size  文件大小(block数据块 512字节)
【大小怎么来写?】
    100M = ?block = 0.5KB
    100M = 102400KB = 204800block
【三种写法】 大于+  小于-  等于     
    find /test -size +2048003)-user  文件所有者
    find /test -user helen
(4)时间
以___为修改单位
    按 天 为单位:ctime、atime、mtime 
    按分钟为单位:cmin、amin、mmin
【注1】上面的c、a、m分别表示的含义:
    c - change改变,表示(文件属性,即ls -l看到的信息)被修改过,所有者、所属组、权限等
    a - access访问,被看过浏览过
    m - modify修改,文件正文内容被修改过
【注2】表示时间的数值
-多长时间之内,+超过多少时间,等于多少时间
    find /etc -mmin -120   查找120分钟之内,被修改过的文件/目录
【注3】两组范围应用的“连接符”
第一组: -a -o
    -a and 逻辑与
    -o or  逻辑或
find /etc -amin  -120 -a -amin +80   查找修改属性120>min>80的文件/目录
第二组: -exec 
    固定格式: find ________ -exec 命令 {} \;
             find ________ -ok   命令 {} \;
    区别:exec不会询问是否确认,ok会询问是否确认。
其中:
    {} 表示find查询的结果
    \  转义字符:使“符号或者命令”使用它本身
    ;  语句结束
例
find /etc -name *.txt -exec ls -l {} \;
find /etc -name *.txt -exec \rm  {} \;
find /etc -name oldboy -exec rm -rf  {} \;

第三组:使用“管道”
    find /test -name *test | xargs 命令

(5)type文件类型
    -type f 二进制文件
    -type d 目录
    -type l 软链接文件
(6)特殊案例:-inum 根据i结点进行删除
    find /tset -inum 16 -exec rm {} \;    查找i结点为16的文件/目录进行删除

3、locate (查找速度比find快)---此命令在unix中有时候不存在
【注】要配合updatadb命令进行使用
    updatedb 执行权限root 语法:updata 功能:建立整个系统目录文件的数据库
【介绍locate】
locate 执行权限:所有用户  功能:寻找文件/目录
    语法:locate [搜索关键字]
提示:locate虽然超找速度快,但是locate查找具有局限性,局限性表现在“查找范围”,locate只能查找系统目录文件的数据库中的文件/目录。
    因此,如果当前的“系统目录文件的数据库”没有及时更新,有些文件/目录是查找不到的。
    所以,要配合updatedb命令进行更新“系统目录文件的数据库”后再查找。一般情况下,Linux系统会自动定期执行updatedb命令进行及时的更新“系统目录文件的数据库”。

5、grep  文件的搜索工具:“过滤”(在文件中搜寻字串匹配的“行”并输出)
    grep [指定字串] [源文件]
【选项介绍】
    -v 忽略
    grep  -E(同时过滤多个字符串)
(1) 
    grep 'test' d*  在文件名为d*下搜索字符串为'test'的并打印出来
    find /data -name "da*" -type f | xargs grep 'ee'  搜索到多个文件,在查找文件中(而不是目录中)有关键字为'ee'的项,并打印输出
(2)
    grep -v 'test' oldboy.txt 不包含'test'的输出
(3)
    grep [^0-3] oldboy.txt   查找oldboy.txt中不包含0-3的内容
    grep ^[^0-3] oldboy.txt  查找oldboy.txt中不以0-3为开头的内容
(4)行首^    行尾$
    查找空白行  grep '^$' oldboy.txt
    查找以.结尾 grep '\.$' oldboy.txt
(5).一个元素    _*表0个_元素或者0个以上的_元素
例子
    grep 'QQQ*' oldboy.txt  查找两个或者两个以上的包含Q的内容(至少两个Q)
    grep g..d oldboy.txt   g和d中间只有两个任意元素
    grep g.*d oldboy.txt   g和d中间有任意个数的任意元素
    grep g'[0-9][0-9]*' oldboy.txt  g和d中间有任意个数的数字元素

三、帮助命令

0、makewhatis  
    建立whatis和apropos搜索时所使用的数据库,当使用whatis和apropos发生错误是,就是whatis和apropos所使用的的数据库没有简历,应该先用makewhatis建立下。

1、man (manual) 查看“命令、配置文件”的帮助信息
    man 命令/配置文件
提示:man会调用more命令进行浏览帮助文档
示例
    man ls  查看命令的帮助信息(作用、语法etc)
【注】查看配置文件的格式,man + 配置文件名称   
    man services  查看配置文件services的帮助信息
    man /etc/services  错误!因为man查看配置文件的信息时,只能加“配置文件的名字”,不能带上路径
【特别的:配置文件和命令同名的情况:】在查看配置文件的信息时,有一个关键字passwd很特殊,
因为我们知道:
    passwd是一个命令(它可以修改用户的密码),但是/etc/passwd是一个保存了用户相关信息的“配置文件”,因此:带来了下面的额问题————man passwd 表示的是查看pass命令的帮助信息?还是查看了/etc/pass配置文件的帮助信息?
    答:此时查看的是pass命令的帮助信息。那么怎么进行查看pass配置文件的帮助信息呢?
    【知识介绍】在进行用man查看帮助信息时,有个先后顺序:见下图

这里写图片描述

配置文件和命令同名的情况:
    1,也是默认情况下:命令
    5:配置文件
    man passwd
    man 5 passwd

2、info 只是和man的排版不一样
3、
(1)whatis  我只想知道某个命令是怎么用的,最基本的信息; 不需要像man查看出来的那么详细的帮助信息  (相当于man -k)
格式:
    whatis   命令       例:whatis  ls2)apropos  配置文件    例: 相当于man-k

4、命令 --help   (此时只是查看命令的“选项”)
    chmod --help

5help  查看shell内置命令的帮助信息
【注】有些命令用man可能查不到,它可能就是shell的内置命令。那么怎么查看某个命令是shell的内置命令?用:man bash,看下图中的红框中的内容全是内置命令!

    格式:
        help 命令  例:help cd
    help命令会显示被查询的shell内置命令“怎么使用”、“选项”

这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值