Linux简单指令


Linux简单指令

目录结构

目录简介
/bin Binary的缩写,存放最经常使用的命令
/sbin s代表Super user,存放系统管理员使用的系统管理程序
/home 存放普通用户的主目录,每个用户都有专属的目录且一般以用户名命名
/root 为系统管理员所有,也称作超级权限者的用户主目录
/lib 系统开机所需最基本的动态连接共享库,其作用类似于Windows里的DLL文件
/lost+found 此目录一般情况下是空的,当系统非法关机后,才存放一些文件
/etc 所有系统管理所需的配置文件和子目录,例如安装mysql数据库-my.conf
/usr 非常重要的目录,存放用户的应用程序和文件,类似于Windows的program files
/boot 存放启动Linux时使用的核心文件,包括链接、镜像文件等
/proc 虚拟的目录,系统内存的映射,通过访问此目录以获取系统信息
/srv service的缩写,存放一些服务启动之后需要提取的数据
/sys Linux2.6内核的一大改动,该目录安装了2.6内核中一个新文件系统 sysfs
/tmp 存放临时文件
/dev 类似于windows的设配管理器,只不过Linux将所有的硬件都用文件的方式存储
/media Linux系统会自动识别一些设备,如U盘、光驱等,识别后将其挂在于此目录
/mnt 系统提供此目录用以临时挂载别的文件系统,用户可以将外部的存储挂载于/mnt
/opt 系统提供用以安装其他软件,如安装ORACLE数据库等,默认为空
/usr/local 系统提供用以使用编译源码方式安装程序的目录
/var 该目录存放经常被修改的文件及目录,例如各种日志文件
/selinux 系统的一种安全子系统,控制程序只能访问特定文件,有三种可设置的工作模式

 

关机&重启命令

指令简介
shutdown -h now 立刻进行关机
shutdown -h 1 1分钟后进行关机
shutdown -r now 立即进行重启
halt 关机
reboot 现在重新启动计算机
sync 将内存数据同步到磁盘上

注意:不论是重启系统或者关闭系统,都应先手动运行sync命令进行内存数据同步

即使目前的shutdown/reboot/halt等命令均在关机前进行了sync命令,但应谨慎为上

 

用户管理

用户登录和注销

  • 尽量少使用root账户登录,因为它是系统管理员,拥有最大的权限。为了避免误操作,一般使用普通账户登录,如若需要相应的权限,可以使用su - root命令临时切换为系统管理员身份。

  • 在提示符下输入logout即可注销账户

添加用户

基本介绍:Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账户,然后用这个账号的身份进入系统

  • 基本语法

    • useradd 用户名

      • 当创建用户成功以后,会自动的创建和用户名同名的家目录

      • 也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

  • 指定/修改密码

    • passwd 用户名

删除用户

  • 基本语法

    • userdel 用户名

      • 默认保留home目录,仅删除用户

      • user -r 用户名 ,删除用户以及用户home目录

查询用户

  • 基本语法

    • id 用户名 ,即可显示用户信息

    • 说明,当用户不存在时,返回无此用户

切换用户

  • 基本介绍

    • 在Linux系统中,如果当前用户的权限不够,可以通过su - 更高权限用户,切换用户执行

  • 基本语法

    • su - 切换用户名

      • 细节说明

        • 从高权限用户切换到低权限用户,不需要输入密码,反之需要

        • 当需要返回原来用户时,使用exit/logout指令

查看当前用户

  • 基本语法

    • whoami/who am i

用户组

介绍: 类似于角色,系统可以对有共性/权限的多个用户进行统一管理

  • 新增组

    • groupadd 组名

  • 删除组

    • groupdel 组名

  • 创建用户时指定用户组

    • useradd -g 用户组 用户名

    • 如果创建用户时,并未指定用户组,则默认与用户名同名的用户组

  • 修改用户组

    • usermod -g 用户组 用户名

  • 用户和组相关文件

    • /etc/passwd

      • 用户(user)的配置文件,用于记录用户的各种信息

      • 每行含义: 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell

    • /etc/shadow

      • 口令的配置文件

      • 每行含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时时间:失效时间:标志

    • /etc/group

      • 组(group)的配置文件, 记录Linux包含的组信息

      • 每行含义: 组名:口令:组标识号:组内用户列表

指定运行级别

基本介绍

运行级别说明:

  • 0 : 关机

  • 1 : 单用户(找回丢失密码)

  • 2 : 多用户状态没有网络服务

  • 3 : 多用户状态有网络服务

  • 4 : 系统未使用保留给用户

  • 5 : 图形界面

  • 6 : 系统重启

    说明: 常用运行级别是3和5, 也可以指定默认运行级别

    命令: init[0123456]

    • 通过init来切换不同的运行级别

CentOS7运行级别说明

在/ect/inittab文件中进行了简化, 如下:

  • multi-user.target: analogous to runlevel 3

  • graphical.target: analogous to runlevel 5

  • -# To view current default target, run:

    systemctl get-default

  • -# To set a default target, run:

    systemctl set-default TARGET.target

 

重置root密码

如何找回root密码

  1. 首先, 启动密码, 进入开机界面, 在界面中安"e"进入编辑界面

  2. 进入编辑界面, 使用键盘上下键移动光标, 找到以"Linux16"开头内容所在的行数, 行末输入: init/bin/sh

  3. 输入完成后,直接按快捷键: Ctrl+x, 进入单用户模式

  4. 在光标闪烁位置中输入: "mount -o remount,rw/", 完成后按下回车键

  5. 在新的一行末输入: "passwd", 按下回车键, 接着输入密码与确认密码, 显示passwd......样式,说明密码修改成功

  6. 在鼠标闪烁位置(最后一行)输入: touch /.autorelabel, 按下回车

  7. 继续在光标闪烁的位置中, 输入: exec /sbin/init, 完成后按下回车键, 等待系统自动修改密码, 这个过程时间可能有点久, 需耐心等待, 完成后系统自动重启, 新密码生效

 

帮助指令

  • man获得帮助信息

    • man [命令或配置文件] (功能描述: 获得帮助信息)

    • 例如: 查看ls命令的帮助信息 man ls (在Linux系统中, 隐藏文件是以"."开头)

  • help指令

    • help 命令 (功能描述: 获得shell内置命令的帮助信息)

    • 例如: 查看cd命令的帮助信息 help cd

 

文件目录

  • pwd

    • pwd ,显示当前工作目录的绝对路径

  • ls

    • ls [选项] [目录或是文件]

    • 常用选项

    • -a : 显示当前目录所有的文件和目录, 包括隐藏文件

    • -l : 以列表的方式显示信息

  • cd

    • cd [参数] (功能描述: 切换到指定目录, 绝对路径,相对路径皆可)

    • cd ~ 或者 cd : 回到自己的家目录, 例如当前用户为root, 则cd ~ 切换到/root

    • cd.. 回到当前目录的上一级目录

  • mkdir

    • mkdir [选项] 创建的目录

    • mkdir -p 创建多级目录

    • 例如(下例中仅/home/目录存在):

      • mkdir /home/dog 创建/home/dog目录

      • mkdir -p /home/animal/cat 创建/home/animal/cat目录

  • rmdir

    • mkdir的反向操作, 用于删除目录

    • rmdir [选项] 要删除的目录

    • rmdir /home/dog 删除/home/dog目录

    • 上例仅能删除空目录, rm -rf 要删除的非空目录

      • rm指令能够删除文件和目录

      • 选项r表示递归删除目录

      • f表示强制删除, 不会显示删除确定提示

    • rmdir -p 要删除的目录, 是当子目录被删除后使它也成为空目录的话,则顺便一并删除

  • touch

    • 创建空文件

    • touch 文件名称

  • cp

    • 拷贝文件

    • cp [选项] source dest

    • source: 源文件

    • dest: 目标目录

    • 常用选项: -r, 用于递归复制整个文件夹

  • rm

    • 删除文件或目录

    • rm [选项] 要删除的文件或目录

    • 常用选项:

      • -r : 递归删除整个文件夹

      • -f : 强制删除不提醒

    • 应用实例:

      • rm /home/HelloWorld.java : 删除/home/HelloWorld.java

      • rm -rf /home/dir_java : 递归删除/home/dir_java目录

        • 提示: 删除的目录有多个文件或目录时, 加上-f选项, 避免不必要的删除确认提示

  • mv

    • 移动文件与目录或者重命名

    • mv oldFileName newFileName (当前目录下, 执行重命名操作)

    • mv /temp/sourceFile /opt/destFile (移动文件)

  • cat

    • 查看文件内容

    • cat [选项] 要查看的文件

    • 常用选项: -n, 显示行号

  • more

    • 其是基于vi编辑器的文本过滤器, 以全屏幕的方式按页显示文本文件的内容

    • more 要查看的文件

    • 详细操作:

      操作功能说明
      空格键(space) 表示向下翻页
      回车键(Enter) 表示向下一行
      q 退出more指令
      Ctrl + F 向下滚动一屏
      Ctrl + B 返回上一屏
      = 输出当前行号
      :f 输出文件名和当前行号
  • less

    • less指令用来分屏查看文件内容, 功能与more指令类似, 但比more指令更加强大, 支持各种显示终端.

      使用less指令查看文件内容时, 并不是一次性将整个文件加载到内存, 而是按需动态加载内容, 使用查看较大的文件

    • less 要查看的文件

    • 详细操作

      操作功能说明
      空格键 向下翻动一页
      [pagedown] 向下翻动一页
      [pageup] 向上翻动一页
      /字符 向下查找[字符], n : 下一个匹配字符, N : 上一个匹配字符
      ?字符 向上查找[字符], n : 上一个匹配字符, N : 下一个匹配字符
      q 退出less
  • echo

    • 输出内容到控制台

    • echo [选项] [输出内容]

      • echo $PATH : 输出环境变量

      • echo hello, world! : 输出hello, world!

  • head

    • 用于显示文件开头部分的内容

    • head 文件 : 查看文件前10行内容(默认为10行)

    • head -n 5 文件 : 查看文件前5行内容

  • tail

    • 用于输出文件尾部内容, 默认情况下显示文件的后10行内容

    • tail 文件 : 查看文件后10行内容

    • tail -n 5 文件 : 查看文件后5行内容

    • tail -f 文件 : 实时追踪该文档的所有更新

  • >和>>

    • .> : 输出重定向, >> : 追加

    • ls -l > ls.txt : 将列表的内容写入文件ls.txt中(覆盖写)

    • ls -al >> lsa.txt : 将列表的内容追加到文件lsa.txt的末尾

    • cat 文件1 > 文件2 : 将文件一的内容覆盖写到文件2中

  • ln

    • 软连接也称为符号连接, 类似于Windows里的快捷方式, 用于链接其它文件

    • ln -s [原文件或目录] [软链接名] : 给原文件创建一个软链接

    • 说明: 使用pwd指令查看目录时, 仍然是软链接所在的目录

  • history

    • 查看已经历史命令, 也可以再次执行历史命令

    • 应用实例:

      • history : 显示所有的历史命令

      • history 10 : 显示最近使用过的10个命令

      • !5 : 执行历史编号为5的命令

 

时间日期

  • date

    • 显示当前日期

      指令功能说明
      date 显示当前时间
      date +%Y 显示当前年份
      date +%m 显示当前月份
      date +%d 显示当前是哪一天
      date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒
    • 设置日期

      • date -s 字符串时间

  • cal

    • 查看日历指令

    • cal [选项] : 不加选项, 显示本月日历