重启命令

  • 立刻重启(root用户使用)

      reboot
      shutdown -r now
      init 6
    
  • 10分钟后自动重启(root用户使用)

      shutdown -r 10 
    
  • 在时间为20:35时候重启(root用户使用)

      shutdown -r 20:35 
    
  • 如果是通过shutdown命令设置重启的话,可以取消重启

      shutdown -c
    

关机命令

  • 立刻关机(root用户使用)

      halt
      poweroff
      shutdown -h now
      init 0
    
  • 10分钟后自动关机

      shutdown -h 10 	
    

hostname命令

  • 查看主机名

      hostname
    
  • 设置主机名

    • 临时修改

        hostname 主机名
      
  • 永久修改

      vi /etc/hostname
    

网络服务

  • 查看IP信息

      ip a
    
      ifconfig
    
  • 网络连通性测试

      ping [选项] 目标主机
    
  • 设置网络信息

      vi /etc/sysconfig/network-scripts/ifcfg-ens33
    
  • 重启network网络服务

      service network restart
    

防火墙设置

  • 查看防火墙状态

      systemctl status firewalld 
    
  • 关闭防火墙

      systemctl start firewalld
    
  • 禁止开机启动

      systemctl disable firewalld
    

主机映射文件

  • 修改主机名与IP映射关系

      vi /etc/hosts
    

目录操作命令

  • 查看工作目录(Print Working Directory)

      pwd
    
  • 切换工作目录(Change Directory)

      cd [目录位置]
    
  • 列表(List)显示目录内容

      ls	[选项]... [目录或文件名]
    
  • 常用命令选项

      -l :详细信息显示
      -a:显示所有子目录和文件的信息,包括隐藏文件
      -A:类似于“-a”,但不显示“.”和“…”目录的信息
      -R:递归显示内容
    
  • 创建新的目录(Make Directory)

      mkdir [-p] [/路径/]目录名
    
  • 统计目录及文件的空间占用情况(estimate file space usage)

    du [选项]... [目录或文件名]

    • 常用命令选项

        -a:统计时包括所有的文件,而不仅仅只统计目录
        -h:以更易读的字节单位(K、M等)显示信息
        -s:只统计每个参数所占用空间总的大小
      

文件操作命令

  • 新建空文件,或更新文件时间标记

    touch 文件名

  • 查看文件类型

    file 文件名

  • 复制(copy)文件或目录

    cp [选项] 源文件或目录… 目标文件或目录

    • 常用命令选项

        -r:递归复制整个目录树
        -p:保持源文件的属性不变
        -f:强制覆盖目标同名文件或目录
        -i:需要覆盖文件或目录时进行提醒
      
  • 删除(Remove)文件或目录

      rm [选项] 文件或目录
    
  • 常用命令选项

      -f:强行删除文件,不进行提醒
      -i:删除文件时提醒用户确认
      -r:递归删除整个目录树
    
  • 移动(Move)文件或目录

      mv [选项]... 源文件或目录… 目标文件或目录
    

如果目标位置与源位置相同,则相当于改名

  • 显示系统命令所在目录

      which <选项> command(命令名称)
    
  • 常用命令选项

    -a:将所有由PATH路径中可以找到的指令均列出,而不止第一个被找到的指令名称

  • find查找

      find <路径> <选项> [表达式]
    
      常用命令选项
      -name 根据文件名查找
      -user 根据文件拥有者查找
      -group 根据文件所属组寻找文件
      -perm 根据文件权限查找文件
      -size 根据文件大小查找文件
      -type 根据文件类型查找(f-普通文件,c-字符设备文件,b-块设备文件,l-链接文件,d-目录)
      -o 表达式或
      -and 表达式与
    

find查找的特点 从指定路径下递归向下搜索文件 支持按照各种条件方式查找 支持对查找到的文件再进一步的使用指令操作 (例如:删除、统计大小、复制等)

文件内容操作命令

  • 显示出文件的全部内容

      cat 
    
  • 全屏方式分页显示文件内容

      more
    
  • 交互操作方法

      按Enter键向下逐行滚动
      按空格键向下翻一屏、按b键向上翻一屏
      按q键退出
    
  • 与more命令相同 less

  • 查看文件开头的一部分内容(默认为10行)

      head -n 文件名
    
  • 查看文件结尾的少部分内容(默认为10行)

      tail -n 文件名
    
  • 统计文件中的单词数量(Word Count)等信息

      wc [选项] 目标文件
    
      常用命令选项
      -l:统计行数
      -w:统计单词个数
      -c:统计字节数
    
  • 查找文件里符合条件的字符串

      grep [选项] <关键字> <文件…>
    
      常用选项
      -c:计算匹配关键字的行数
      -i:忽略字符大小写的差别
      -n:显示匹配的行及其行号
      -s:不显示不存在或不匹配文本的错误信息
      -h: 查询多个文件时不显示文件名
      -l:查询文件时只显示匹配字符所在的文件名
      –color=auto:将找到的关键字部分加上颜色显示
    

压缩命令

  • 压缩(解压)文件或目录,压缩文件后缀为gz

      gzip [选项] 压缩(解压缩)的文件名
    
      常用选项
      -d将压缩文件解压(decompress)
      -l显示压缩文件的大小,未压缩文件的大小,压缩比(list)
      -v显示文件名和压缩比(verbose)
      -num用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6
    
  • 压缩(解压)文件或目录,压缩文件后缀为bz2

      bzip2 [-cdz] 文档名
    
      常用选项
      -c将压缩的过程产生的数据输出到屏幕上
      -d解压缩的参数(decompress)
      -z压缩的参数(compress)
      -num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6
    
  • 压缩、解压文件

      tar [cvf]...	压缩名 文件名(压缩文件)
      tar [xvf]...	文件名.tar(解压文件)
    
      常用命令选项
      -c:创建 .tar 格式的包文件
      -x:解开.tar格式的包文件
      -v:输出详细信息
      -f:表示使用归档文件
    

文本编辑器

  • vi编辑器

      类Unix系统中默认的文本编辑器
      vi可以执行输出、删除、查找、替换、块操作等众多文本操作, 而且用户可以根据自己的需要对其进行定制
      维护Linux系统中的各种配置文件
    
  • vim编辑器

      vi编辑器的增强版本,习惯上也称为vi
    
  • 插入命令

image.png

  • 定位命令 image.png

  • 删除命令

      dd:删除当前行
      ndd:删除光标所在当前行向下数n行
      D:删除当前行光标所在的位置后面的字符
      x:向后删除光标所在位置的字符
      X:向前删除光标前面的字符
      nX:删除前面的n个字符,光标所在的字符将不会被删
    
  • 复制和粘贴命令

      yy或Y:复制当前行
      nyy或nY:复制以下n行
      p:在光标后面插入buffer中的内容
      P:在光标前面插入buffer中的内容
    
  • 替换和撤销命令

      r:取代光标所在处的字符
      R:从光标所在处开始替换字符,按esc结束
      u:撤销上一步操作
    
  • 定位命令

      h:左移一个字符
      l:右移一个字符
      j:下移一行
      k:上移一行
      $:移至行尾
      0:移至行首
      nG:移到第n行
    
  • 替换操作

      : s /old/new 将当前行中查找到的第一个字符“old” 串替换为“new”
      : s /old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”
      :#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
      :% s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”
      :%s/old/new 查找文件中所有行第一次出现的old,替换为new
    
  • 其他命令

      :W[文件路径]保存当前文件
      :q 如果未对文件做改动则退出
      :q! 放弃存储名退出
      :wq或:x 保存退出
    

可视模式

    v:可视模式
    V:可视行模式
    Ctrl+v:可视块模式
    注意:
    在所有可视模式中,d和x键可以用删除选定的内容
    在可视块模式中,选中所需行,按I键输入内容,之后按两次esc键,可在所有选定行光标处添加同样的内容。

用户和组

配置文件

  • 保存用户信息的文件:

      /etc/passwd
    

    用于保存用户的帐号基本信息

    每一行对应一个用户的帐号记录,一行有7个段位,用“:”隔开 image.png

  • 保存密码的文件:

      /etc/shadow
    

    用于保存密码字串、密码有效期等信息

    每一行对应一个用户的密码记录 image.png

  • 保存用户组的文件:

      /etc/group
    

    保存组账号基本信息

    文件每一行表示一组记录,包括组名、GID和组的成员,(组成员显示次组成员) image.png

  • 保存用户组密码的文件:

      /etc/gshadow
    
      保存组帐号的密码信息
      用户组
      用户组密码,如果是空或者有“!”,表示没有密码
      用户组管理者
      组成员,用逗号“,”隔开
    
  • 用户配置文件:

      /etc/default/useradd
    
  • 用户角色

    root用户,系统唯一,可以操作系统任何文件和命令,拥有最高权限,UID=0

    虚拟用户(系统账户),不具有登录系统能力,但却是系统运行不可缺少的用户。如:bin、daemon、ftp、mail等,UID为1—499之间

    普通真实用户,可以登录系统,权限有限,靠管理员创建,UID为500—60000之间

用户管理

  • 添加用户命令

      useradd
    
      -u 指定组ID(uid)
      -g 指定所属的组名(gid)
      -G 指定多个组,用逗号“,”分开(Groups)
      -c 用户描述(comment)
      -e 失效时间(expire date)
    
  • 设置密码

      passwd   [选项]  <用户名>
    
      -d:清空用户的密码,使之无需密码即可登录
      -l:锁定用户帐号
      -S:查看用户帐号的状态(是否被锁定)
      -u:解锁用户帐号
      -x: 最大密码使用时间(天)
      -n: 最小密码使用时间(天)
    
  • 修改用户命令

      usermod
    
      -l 修改用户名 (login)usermod -l a b(b改为a)
      -g 添加组 usermod -g sys tom
      -G添加多个组 usermod -G sys,root tom
      –L 锁定用户账号密码(Lock)
      –U 解锁用户账号(Unlock)
    
  • 删除用户命令

      userdel   [选项]  用户名
    
      -r 删除账号时同时删除目录(remove)
    

组管理

  • 添加组

      groupadd
    
      -g 指定gid
    
  • 修改用户组的属性

      groupmod [选项]  <用户名>
    
      -g:设置想要使用的GID
      -o:使用已经存在的GID
      -n:设置想要使用的群组名称
    
  • 添加/删除组成员

      gpasswd  [选项]  组帐号名
    
      -a:向组内添加一个用户
      -d:从组内删除一个用户成员
      -M:定义组成员列表,以逗号分隔
    
  • 删除组账号

      groupdel   <组账号名>
    

    只能删除那些没有被任何用户指定为主组的组

  • 显示用户所属组 groups [用户名]

  • 权限和权限值

    读( r ):读取文件的内容;列出目录里的对象

    写( w ):允许修改文件;在目录里面新建或者删除文件

    执行( x ):允许执行文件;允许进入目录里

    除了用字母rwx来表示权限,还可以使用3位数字来表 达文件或目录的权限

    读:4

    写:2

    执行:1

  • chmod命令

      chmod [ugoa] [+-=] [rwx] file/dir 或 chmod nnn file/dir
    
      u:属主 g:属组 o:其他用户 a:所有用户
      +:添加权限 -:删除权限 =:赋予权限
      nnn:三位八进制的权限
      -R 递归修改指定目录下的所有子文件及文件夹的权限
      -f 强制改变文件访问特权;如果是文件的拥有者,则得 不到任何错误信息
    
  • chown命令

      chown 属主 file/dir 
      chown :属组 file/dir
      chown 属主:属组 file/dir
    
      -R:递归的修改指定目录下所有文件、子目录的归属
    

软件包管理

RPM命令使用

    rpm

    -i:安装应用程序(install)
    -e:卸载应用程序(erase)
    -vh:显示安装进度;(verbose hash)
    -U:升级软件包;(update)
    -qa: 显示所有已安装软件包(query all)
  • YUM命令

    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

      yum  install  gcc-c++
      yum  remove  gcc-c++
      yum  update  gcc-c++