zoukankan      html  css  js  c++  java
  • [Linux] 三, 常用命令 [ 1 ]

    课程大纲 {
     *1 文件处理命令  [ ls, cp, mv, rm, cat, ln]
     *2 权限管理命令  [ chmod  u + r g - w o = x,  chown, chgrp, umask ]
     *3 文件搜索命令  [ which, find, locate, updatedb, grep ]   
     *5 压缩解压命令  [ gzip, gunzip, tar, zip, bzip2]
     *6 网络通信命令  [ write, wall, ping, ifconfig] 
     *4 帮助命令          [ man, info, whatis  apropos, help]
     *7 系统关机命令  
     *8 Shell应用技巧
    }
    文件命名规则和命令格式 {
      1), 除了 / 之外,所有的字符都合法。 但是不要给自己带来麻烦! a b  ;   用  .  开头的文件是隐藏文件!!!
      命令格式 : 命令 -选项 参数
      例 : ls -la /etc  说明 : 两个特殊的目录 . 和 .. , 分别代表当前目录和当前目录的父目录!!
    }
    文件处理命令 { 
     #1 
      ls, cd[命令所在路径:shell内置命令], pwd[/bin/pwd], touch[/bin/touch], cp[/bin/cp], mv...
      -- 1* 命令名称 : ls  2* 命令英文原意 :list 3* 命令所在路径 : /bin/ls 4* 执行权限 : 所有用户 5* 功能描述 : 显示目录文件
      语法 : ls 选项[-ald] [文件或目录]
      -l  显示详细信息。 -d 查看目录属性。 ls -ld 自己试一试吧!只是这个目录。。
     扩展常知识 『
       root : { /sbin 和 /usr/sbin }
       All users : {  /bin 和 /usr/bin }
       bin - binary / usr - user / sbin - super binary
      *** ls -l {  drwxr-xr-x 2 hp hp 4096 2012-12-25 16:18 dlinux
      第一部分 {
       文件类型 d 目录directory
              - 二进制文件
              l 软链接文件link
        rwx         r-x        r-x  
       所有者u      所属组g     其他人o
       user        group      others
       (所有者可以转让)
      }
      第二部分 { 2 - 硬链接数 }
      第三, 四部分 {
      hp           hp
      所有者       所属组
      }
      第五部分 {
       4096 - 文件大小 [不是很准确,标记目录本身的大小,不是目录总大小] 数据块(512字节1单位)
       组织管理数据的方式,每种OS都有自己的,比如 NTFS, ext3 ...
       存储数据的最小单位就叫做数据块,这一这样理解!!
       文件向。。。存储的时候,至少要占用一个数据块。  (你就 60斤,也得做一个椅子,200斤做一个,600斤可能做两个!)
       分你做什么,数据块越小存取速度越小,数据块越大存取的时候浪费空间越大。
       分你做什么,调数据块多大合适。。。有个别时候!!
      }
      第六部分 { 创建的时间,或者最后的修改时间! }
      第七部分 : 文件目录的名称
     』
     ----------------
     #2 cp [复制]
        cp /etc/xady /test      复制普通文件
        cp -R /home/neil /test  复制目录
     #3 mv [功能 : 剪切 / 更名]
        mv file1 file3       更改名字
        mv file1 /tmp        剪切
        mv file1 /tmp/file3  剪切+更改名字
     #4 rm 删除文件   rmdir (删除空目录(只))
        rm file1    删除文件 (有提示),  rm -f file1 (无提示,强制,但是这样很危险!)
        rm -r file2 删除目录 [特别能问,提示]  rm -rf file3(目录名称)
     #5 cat 查看文件内容  [最好是不是很长的文件]
      * more 分页显示文件内容
          { (空格/f) 显示下一页  Enter 显示下一行 q/Q 退出 }
      * head -num [查看文件前几行,默认10行]
      * tail -num [文件名]  【 -f 动态显示 】
     #6 ln -s [源文件] [目标文件] 
         -s 软链接
        软链接文件的权限很特殊 lrwxrwxrwx  --> 10 (很小,只是一个符号链接) 指向到源文件
        软连接的文件类型是 l
        : 类似于 windows 快捷方式! 软连接跨文件系统!!
        **
        ln [源文件] [目标文件]   “硬链接”
        硬链接相当于拷贝,但是和拷贝还有所不同。(不同的是同步更新)
        cp -p ... 可以保留原始的时间值
        echo "this is a test" >> file2
        删除源文件的话,硬链接依然是同步的!
       --------- 为什么能同步更新呢? --------
       内核只认识 数字 1 2 3 4 ... , 不认识 a b c d...
       每个文件都有一个数字标识
       在linux中要处理,用户,用户要有uid, 要处理,组,要有组 id
       要处理 进程,进程要有 pid, 都要有个数字标识,内核就是根据这些标识来处理对象的
       文件的数字标识是 : inode
       内核处理任何方式都要有个标识
       每个文件必须有一个 i节点,没有的话就没法访问了!
       硬链接与源文件拥有相同的 inode, 所以可以同步更新!
     **----你要知道linux的文件系统存储数据实际上都分为两个部分:inode和data。inode存储的是数据的属性(例如rwx等),
             data里面存储的是数据。硬链接就是在inode里面加了一个指向同一个数据的标记。删除的时候只是把这个标记删除了,
             所以硬链接还可以打开。
        不同的分区文件系统不一样 ... 硬链接不跨文件系统。
    ------------------------------------------------------
    权限处理命令 {
     chmod  u + r
            g - w
            o = x
     u - 所有者
     g - 所属组
     o - 其他人    可以 chmod g=rwx file1
     授权的方法简单而直观,很好 !
     rwxr-xr--   对应数字  754
     chmod 数字 文件名
     rwx 的深入理解 {
       /home/hp/file1
       /home/hp  777
       /home/hp/file1 000   但是现在可以删除这个文件,普通用户就可以!
     }
     文件 
     r - cat, more, head, tail
     w - echo, vi.   [并不代表你可以删除这个文件]
     x - 命令,脚本
     目录
     r - ls
     w - touch, mkdir, rm  可以对这个目录 创建删除文件
     x - cd
     chown 命令 { 可以改变所有者
       nobody 系统自带的用户
       chown nobody file1
       -- chgrp 改变所属组 --
     }
     添加用户 {
       useradd
       passwd
     }
     创建文件和目录的时候有一个默认的权限 {  
       umask,  umask -S  可以查看缺省的文件权限
       0022  第一个 0 - 特殊权限位
       022 - 用户权限位[权限掩码值]    777 - 022 = 755
       755 - 111 = 644
       644 linux权限默认规则 ;
        缺省创建的文件不能被授予可执行x权限
        
       如果你一定要更改也可以,你想改成 750,你觉得合理!
       umask 027  可以改变!!
     }
    文件搜索命令: {
     #1 which
       功能描述:显示系统命令所在目录  [不同的是可以显示别名]
       范例:$ which ls
       whereis  [不同是可以看到命令所在帮助文档位置]
     #2 find
       命令所在路径 : /usr/bin/find
       语法:find [搜索路径] [搜寻关键字]
       功能描述:查找文件或目录
     -1-
       范例:
       $ find /etc -name init*  在目录/etc中查找init开头的文件
       $ find / -size +204800  在根目录下查找大于100MB的文件 block=512B
                      大于 : +, 小于 : - , 等于 : 不写 +, -;
       $ find / -user sam      在根目录下查找所有者为sam的文件
       find 原则 - 尽量节省系统资源
     -2-
       ##1 天     ctime, atime, mtime
       ##2 分钟   cmin , amin,  mmin
       c-change 改变, 表示文件属性被修改过,所有者,所属组,权限
       a-access 访问
       m-modify 修改, 表示文件内容被修改过
       -之内, +超过
       find /etc -mmin -120
       我们刚讲了 4 个find的选项,其实不下 40 个!要学会看文档!
      -3- 连接符  -a and 逻辑与 -o or 逻辑或
       $ find /etc -ctime -1   在/etc下查找24小时内被修改过属性的文件和目录
       $ find /etc -size +163840 -a -size -204800    在/etc下查找大于80MB小于100MB的文件
       $ find /etc -name init* -a -type f [ 二进制文件 ]
       $ find /etc -name init* -a -type l [ 软链接文件 ]
        -type 文件类型  f 二进制文件  l 软链接文件  d 目录
        连接符 find ..... -exec 命令 {} \;
                               {} find 查询的结果  \ 转义符 【ls \ls】
      $ find /etc -name inittab -exec ls -l {} \;
                在/etc下查找inittab文件并显示其详细信息
      $ find /test -name testfile3 -exec rm {} \;
      $ find /etc -name inittab -ok ls -l {} \;  能询问一下 -ok
      $ find /etc -name inittab -a -type f -exec ls -l {} \;
      文件名很奇怪的文件 rm -- -abc rm "a b"
      $ find . -inum 16 -exec rm {} \;
     ------------------------------------------------------------------------------------------
     #3 locate [linux特有的 在文件数据库中查找 很快]
          语法:locate [搜索关键字]  功能描述:寻找文件或目录  范例: $ locate file  ** 列出所有跟file相关的文件
     #4 updatedb  执行权限:root  语法:updatedb  功能描述:建立整个系统目录文件的数据库  范例:# updatedb
     #5 grep  功能描述:在文件中搜寻字串匹配的行并输出  范例:# grep ftp /etc/services
    }
    帮助命令 {
     #1 man   man [会调用more] 
      范例: $ man ls  查看ls命令的帮助信息
      $ man services  查看配置文件services的帮助信息 【只能是配置文件】
      如果都有的话,会优先命令再配置文件
      帮助分多种 :第一种是命令,第五种是配置文件
      man 5 passwd  man passwd  man 1 passwd
     #2 info [linux特有的,和 man 只是呈现形式略有差别]
      语法:info [任何关键字]
      范例: $ info ls  查看ls指令的帮助信息
     #3 whatis  apropos
      指令所在路径:/usr/bin/whatis apropos   /usr/sbin/makewhatis
      执行权限: All User,   All User,   root
      语法: whatis apropos [任何关键字]
      功能描述: 获得索引的简短说明信息
      范例: $ whatis ls
           $ apropos fstab
        相当于man -k
      帮助指令:whatis
      范例: #make whatis
      建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立
     #4 help [查看shell内置命令的帮助]
         硬件 - 内核 - shell
         man bash[一个内置命令就行] 告诉你当前 shell 有哪些内置命令
    }
  • 相关阅读:
    /etc/init.d/functions: No such file or directory报错问题
    在Linux上安装Python3.7.1
    python 使用openpyxl实现读写xlsx文件
    Git 撤销本地修改
    element的el-table表格自定义表头,slot="header"内,数据不更新的问题
    记录下本地修改文件名称大小写问题线上说找不到文件
    解决国内访问github慢的问题笔记
    vue项目中使用echarts实现疫情地图
    uni-app项目搭建
    uniapp引入uni-ui组件报错TypeError: this.getOptions is not a function
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787054.html
Copyright © 2011-2022 走看看