第三周-Linux5命令

常见os和各操作系统特点

  1. Windows直观、高效,易学易用,不安全不稳定
  2. Linux自由开放源代码,强大的网络功能和图形操作界面,支持多种平台,真正的多任务操作系统,完整的开发平台
  3. Mac不会中病毒,系统内置App StoreiTunes无需另行下载,系统独家xcode,不怕丢失

Linux启动过程

     第一阶段:BIOS      硬件自检(POST,有问题会发出不同含义的蜂鸣)——启动顺序(排在第一的储存设备)

  第二阶段:主引导记录   第1-446字节:调用操作系统的机器码

              第447-510字节:分区表(partition table

              第511-512字节:主引导记录签名(0x550xAA

  第三阶段:硬盘启动

  第四阶段:操作系统   控制权交给操作系统后,内核首先被载入内存

           

Linux基本命令

      目录管理             文件操作             文本查看命令     用户管理     权限管理     

      系统设置命令      磁盘管理命令      网络通信命令     备份压缩     通用命令

vi命令

      i 进入编辑模式 esc退出编辑 wq保存退出  q强制退出 文件不会被保存

     o 跳到下一行 空行    a当前光标右移   s删掉字符  backspace 左移

     vi 带两个文件名 编辑两个文件  n切换到下一个文件   N返回上一个文件

              命令模式command mode /一般模式)按“ESC”进入

    文本输入模式input mode /编辑模式)

    末行模式last line mode/指令命令模式)也称ex转义模式,执行完自动回到命令模式

     

             vi 文件名 如果文件存在,则直接进入,如果不存在,则表示新建一个文件

             vi +2 文件名 进入文件的第二行

    末行模式下,ctrl+6 切换两个文件

            vim -o 文件1 文件2 分横屏

            vim -O 文件1 文件2 分竖屏

    复制粘贴yy复制一行 p粘贴 nyy复制n

    剪切删除dd删除一行 ndd删除光标后的n

    以上两种是在命令模式下

            %s全部文档  1,10表示110替换%s//目标替换/g  显示行号set un(末行模式)

rm命令

            rm-rf 强制删除,不询问

            rm -i 删除文件或目录给予提示

 wc命令

           wc  -c 统计字节数

                  -m统计字符数

                  -l统计行数

                  -L打印最长行的长度

                  -w统计字数(带有空白)

文本查看命令

       cat  显示文件内容,可以同时显示多个文件,一次全显示

               -n 显示行数

               -b 显示行数,但是空白不显示   

      head 输入文件最前面的几行

                -行数 文件名

      more 分页显示 q退出

              -num 每页显示多少行

              +num 从第几行开始显示

      tail 用的最多 从尾部读取指定行数 不加-n默认显示10条

            tail -f -n 50 filename   动态查看文件后50条记录

      less 分页浏览,可以向前,向后翻页

              p 退出     d 下翻页      u 上翻页

   Find命令    命令在目录结构中搜索文件,并执行指定操作

           find     -name 按照文件名查找

                      -perm 按照文件权限

                      -user  按照文件所属的用户查找

                      -group 按照文件所属的组查找

                     -mtime -n/+n 按照文件的更改时间,-n表示更改时间距现在n天内,+n表示前

                     -type 查找某一类型的文件   d 目录    l 软连接    f 文件   c 字符设备   b 块设备

                                    可以多条件组合 如,find ./ -size -1M -o -mtime 0 find ./ -not -type f

                                    查询文件大小小于1M或者文件的修改时间在24H

   sort命令

                 sort 文件名 正序

                sort -r 文件名 倒序

      Grep命令

              grep     -c  只输出匹配行的计数

                           -i  不区分大小写

                          -h  查询多文件时不显示文件名

                           -l   查询多文件只输出包含匹配字符的文件名

                          -n   显示匹配行及行号

                          -s   不显示不存在或无匹配文本的错误信息

                          -v   显示不包含匹配文本的所有行

     参数可以重叠使用

 通配符

       * 匹配任意字符    ?匹配任意1字符    [] 匹配括号内的    [-] -匹配范围

stat命令

       stat 文件名 查看文件的创建时间,修改时间和更改权限时间

 用户目录管理命令

              /etc/passwd  用户账号相关信息           /etc/group   组账号相关信息

             /etc/shadow  用户密码及相关属性          /etc/gshadow  组密码及相关属性

 useradd  tester1 添加用户tester1  (也可以倒过来 adduser tester1

               -f 缓存天数      指定在密码过期后多少天立即关闭该账号

               -g 群组          指定用户所属的群组

              -G 群组         指定用户所属的附加群组

              -m              自动建立用户的登入目录

              -M              不要自动建立用户的登入目录

              -n               取消建立以用户名称为名的群组

              -r               建立系统账号

              -s shell           指定用户登入后所使用的shell 

             -u UID           指定用户ID

             -p               加密型的密码,查看使用tail -1 /etc/shadow

 passwd tester1 tester1 用户设置密码 

     不能太简单(连续两次enter,强制进入) 重置次数不能超过三次

 设置密码建议:

               使用数字、大写字母、小写字母及特殊字符至少3

              使用非规律密码且够长

              定期更换

cat  /etc/passwd 查看所有用户

cat  /etc/passwd | grep tester1  tester1过滤出来

        

              每个冒号就是一个分割点 总共有7个字段

    名称 密码 UID GID 对用户的信息说明(注释) 用户的家目录 用户的shell

cat  /etc/shadow | grep tester1  

      

    名称 密码 最后更密码的时间(从1970.1.1开始) 密码变更锁定天数 密码使用期限

    密码变更前警告期 密码过期宽限时间 账号失效日期 保留字段

usermod 修改用户账号

        -c 备注    修改用户账户的备注文字

        -d 登入目录    修改用户登入时的目录

        -e 有效期限    修改账号的有效期限

        -f 缓存天数     修改在密码过期后多少天关闭该账号

        -g 群组        修改用户所属的群组

        -G 群组        修改用户所属的附加群组

        -l 账号名称     修改用户账号名称

        -L              锁定用户账号名称

        -s shell          修改用户登录后使用的shell  

        -u UID          修改用户ID

        -U              解除密码锁定

  

userdel 删除用户账号

        -r 账号 删除用户账号及home目录,不加参数仅删除用户账号

groupadd 建立用户组

         -g  ID号 组名   指定组ID

         -o              允许创建ID重复的用户组

         -r              创建系统用户组 低于499系统账号

  使用/etc/group 即可查询组员

groupmod 更改群组识别码或名称

            -g 群组识别码   设置欲使用的群组识别码

            -o              重复使用群组识别码

            -n 新群组名称   设置欲使用的新群组名称

  Linux用户类型ID分配:     UIDuser IDGIDgroup ID

      系统管理员ID0root用户ID

      普通用户ID1-655

      系统用户ID1-499CentOS 61-999CentOS 7

      登录用户ID500~ CentOS 6100~ CentOS 7

groupdel 删除群组

    需要先将群组中的用户删除才能删除群组

Linux权限管理

ls-l

    -a  显示所有  

   -F  在每个输出行追加文件类型标识符,文件为普通文件时不输出任何符

          *表示具有可执行权限的普通文件   /表示用@表示符号链接   |表示命令管道FIFO         =表示sockets套数字

  -file-type  F相同,但是不显示“*

  -k  kB显示文件大小

  -l  以长格式显示内容列表

chmod 修改文件权限

   chmod 权限 文件名   即可修改

         + 添加指定权限

         - 删除指定权限

   如,[root@localhost]$ chmod u+x* 文件名  修改文件拥有者权限

       [root@localhost]$ chmod g+rx* 文件名  修改文件所属组的权限

chown  修改文件所有者和所属组

        -R 递归修改,修改目录及其子目录

        所有者:所属组 都改  :所属组 只改组  所有者  只改所有者

chgrp 修改所属用户组

       同上,但是修改所属用户组比较方便,楼上修改用户组需要加:

diff 比较两个文件的不同 

       diff 文件1 文件2

               -u 文件1 文件2(合并格式)      ---表示变动前的       +++表示变动后的         以@为首尾分界

              -c 文件1 文件2(上下文格式)    +后者文件比前者多       —后者比前者少                               !两者有差别的行

history 可以查找历史命令

         history | grep find  从历史命令中查找特定的命令

file 文件名 检测文件类型

which 查找命令是否存在及命令的存放位置,只可以查找PATH

whereis 只用于搜索程序名 且只搜索二进制文件、man文件(-m)和源代码文件(-s

alias(系统设置命令) 

      [root@localhost]$ alias rm= ‘rm -i’    给命令起别名  别名放前面

      [root@localhost]$ unalias rm        删除别名

echo  (系统设置命令)

  显示文本行或变量取值 或者把字符串输入到文件中

  对于linux系统,必须使用-e是转义符生效

    \c  不换行  \t制表符  \n换行

  e.g  echo -e “hello\tboy”   输出   hello boy

     echo “\ “\” “   输出“”         输出特殊字符需要用\(转义符号)

export(系统设置命令)

  设置环境变量 var_name=value;export var_name

  查看环境变量取值  echo $var_name

  删除某个变量      unset var_name     (只会从当前用户进程中删除,不会从/etc/profile删除)

source 脚本名 是变量生效

cmp

    cmp 文件1 文件2     比较两个文件是否有差异,若有差异会标明第一个不同和编号

        -cprint-chars     除标明差异的十进制也显示该字符所对应的字符

        -i 字符数          指定一个数目

        -lverbose        标出不一样的地方

        -s-quiet-silent  不显示错误信息

      内容上以多的作为基准来比较,输出少的,空行也算字符

  diff显示内容,cmp显示差异处,若有相同的则不会显示

猜你喜欢

转载自www.cnblogs.com/viannenana/p/8949507.html