[Linux] 系统基本指令

基本指令

本篇博客主要讲解具体的指令与操作含义:

打开CentOS 7操作系统,右键点击 “打开终端” ,进入终端.
在这里插入图片描述

进入终端后,在屏幕上出现这么一段字符,我们就可以在这里输入指令进行操作了,这段字符具体讲解如下:

  1. 用户名: 用户设置的使用者名称
  2. 分隔符: 单纯的分隔一下用户名和主机名~
  3. 主机名: 如果不设置,默认就是localhost.
  4. 当前目录: 表示当前home目录
  5. 提示符: 表示用户现在处于输入情景,可以开始输入了(可以变为#代表root用户身份)
  6. 光标: 这个黑条状光标会闪烁,表示用户现在可以用键盘进行指令输入

以下开始讲解具体指令

  • ls 罗列
    list的缩写,具体罗列出当前目录中中包含的文件
    在这里插入图片描述

这里的蓝色文件为目录文件,显然 目录中既可包含文件,也可以包含目录.

  • ll 也是罗列
    来自缩写: list -l.
    那么这个-l是什么? -l是一个命令行参数 ,类似于cmd命令中关机命令shutdown -s -t中的-s/-t,为了使这一句指令的作用区间更加详细
    在这里插入图片描述

通过结果的分析可以直观的看到,llls表示的信息更加全面.
详细信息有很多,但最核心的就是第一列的权限,即图中的drwxr-xr-x
具体举例解释其中的一段信息:
在这里插入图片描述

  1. 文件类型: 这里的d意为目录文件,表示它是一个目录,里面可以存放更多的二级文件与目录.
  2. 用户权限: 这里有三组各个表示:
    r读权限 (read)
    w写权限 (write)
    x:可执行权限

第一组rwx用户对应当前文件的(users)拥有者/创建者权限
第一组rwx用户对应当前文件的(group)拥有者的用户组的权限
第一组rwx用户对应(others)其他用户的权限

root用户可以给予三个用户这三个权限,也可以收回,权限可以影响用户的操作结果,之后具体解释
3. 文件占存大小: 它的单位是Byte
4. 最后修改时间: 无论什么操作,执行后都会改变文件的最后操作时间

  • cd 切换目录
    来自缩写:change directoy.
    可以改变用户所处的当前目录,对不同目录具体操作.
  1. cd .. 切换回上级目录
    切换目录到当前目录的上一级目录
  2. cd / 切换到根目录
    相当于Windows中的此电脑.
  3. 切换到当前用户的home目录
    1. cd ~
    2. cd home
    3. cd + 回车
  4. cd - 回到上层目录
    返回刚才的目录,这个操作是可逆的,可以互相来回切换.

这里既然说到了 根目录 ,就要提及Linux的目录的树形结构
在这里插入图片描述
Windows中为:
在这里插入图片描述

  • Ctrl + insert 复制

  • shift + insert 粘贴
    (这两句指令有的电脑需要配合fn一起使用)

  • Ctrl + c 取消当前指令
    而不是Windows中的 复制 指令,在Linux环境下要辨析这一点

  • Ctrl + l清屏
    如果界面过于繁杂,用户希望可以清理使得界面整洁一些,可以使用这个指令

  • touch 创建一个"空文件"(在此目录下)
    在这里插入图片描述
    这时我们发现系统并没有像Windows一样给我们一个成功或者失败的反馈,但无伤大雅,因为在Linux环境下
    no news is good news.
    没有消息就是最好的消息,说明这时候a.txt文件已经创建完毕了.我们ll展示一下文件属性:
    在这里插入图片描述
    这里-rw-rw-rw-中首部的-表示普通文件,与前面的d的目录文件同类型.

  • cat 显示文件具体内容
    在这里插入图片描述
    我们发现同样是像touch一样没有给出反馈,但二者意义不同
    cat反馈为空,意为:空文件,里面并没有实质内容.
    那么想查看到具体内容应处于什么情况下呢?引出我们下一句指令

  • echo 显示内容,打印一个字符串
    先直接在home目录下echo一个字符串:
    在这里插入图片描述
    结果很明显,它如我们所料打印了具体内容,那希望打印文件中的内容应该如何实现?
    在这里插入图片描述
    注:
    1." " 中为希望写入的字符串.
    2.> 意为重定向,即将echo + 内容重定向在a.txt中,得以在a.txt中显示
    3.后面的 a.txt 为重定向的目标
    这三个元素与echo指令相结合,就构成了把内容"写入"文件的操作.

  • rm 删除文件
    来自缩写:remove
    它的内涵是物理删除.
    1.rm -r递归式删除目录
    2.rm -i确认是否删除
    提示询问是否删除时,输入y表示确认删除,非y表示否定,不删除文件
    当删除目录时,首先会询问用户是否进入二级目录,所以我么可以知道操作系统删除文档时是先进入目录,在逐步删除目录中文件的.

  • mkdir 创建目录
    来自缩写:make directory
    如果需要创建多级目录时使用:mkdir -p

例如: mkdir -p a/b/c/d

  • pwd查看当前目录对应的绝对路径
    来自缩写:Print Working Directory
    即从根目录输出至目前目录的路径

相对路径: 一个路径以.或者..开头
绝对路径: 一个路径以/开头

如果必须在绝对路径与相对路径做一个抉择,那么首选相对路径

因为同样一句指令如果需要在其他终端上运行,那么相对路径就不用考虑用户电脑中是否有同名的上级目录,可以直接从当前目录进行操作,简单快捷.

  • su 切换到管理员(root)用户

切换root用户需要知道root用户的密码

切换成功提示符就会从$变为#
在这里插入图片描述
注:
切换到root用户进行操作很危险!!!

因为一不小心就会删除掉系统文件或者其他影响系统运作的操作,例如删除了根目录或者系统文件,甚者可能直接导致系统无法再次运行,诸多功能无法使用等等,所以在root用户下一定要谨慎操作!

  • mv 重命名/移动文件
    来自缩写:move
    在这里插入图片描述
  • man 查看用户手册
    区段1:用户指令
    区段2:系统调用
    区段3:程序库调用

例如:
man printf:默认区段1 对应其中用户指令printf
man 3 printf:指区段3 程序库中C语言中的printf
二者是不同的用法与含义

  • cp 复制/拷贝一份文件
    来自缩写:copy
  1. cp a.txt b.txta.txt在当前目录拷贝一份b.txt文件
  2. cp a.txt a/a目录下拷贝一份a.txt文件

注意:cp的对象是文件,如果想针对目录操作应该如何输入指令?
指令为: cp -r a b
即为针对a目录拷贝一份b目录

  • date 显示日期/计算时间戳
    date -d + 时间戳就可以计算其对应的日期了
    在这里插入图片描述

  • chmod 修改权限
    来自缩写:change mode

我们就用ls指令来演示:

  1. 首先查找到ls指令位于的目录
    这里需要使用whereis指令,找到目标的位置
    在这里插入图片描述

  2. 拷贝一份ls到当前目录下,通过ll指令查看一下是否拷贝成功
    在这里插入图片描述
    在这里插入图片描述
    我们发现,目录中已经有了一个带有绿色(可执行权限)的ls
    通过相对路径执行一下当前目录下的ls
    在这里插入图片描述
    我们发现执行结果都是黑色的,
    而直接使用ls使用的是路径use/bin/ls的系统中的ls功能,所以二者本质上是两个不同的文件,所以执行的结果不相同.

  3. 接下来可以修改权限了
    在这里插入图片描述

第一步我们先查看一下当前目录下的ls有什么权限.
第二步我们取消了ls可执行操作x

如果chmod指令 直接使用 -x/-r/-w , 则它的对象是全部的三个用户

最后我们再次ll查看,可以明确的看到当前目录的ls已经没有执行权限了,首部的x全部都取消掉了,说明三个之中任何一个用户都对他没有执行权限了

一个文件能否被执行有两个充要条件:

  1. 具有可执行权限
  2. 文件是一个可执行文件
  • 如果只想给一个用户授权或者回收权限,就要在指令中加上约束:
  1. chmod o+x ls (o代表others,其他用户)
    在这里插入图片描述
    图中可以清晰地看到 当前目录中的ls对于其他用户的可执行权限已经加上了

  2. chmod g+x ls (g代表group,所有者的用户组)
    在这里插入图片描述

  3. chmod u+x ls (u代表users,所有者)
    在这里插入图片描述

除了chmod o/u/g + r/w/x这样的授权/收权操作,Linux还有一种抽象的修改权限的方法,仅供知晓

  • 权限在操作系统中以3个八进制数来表示的
    一个八进制数相当于三个二进制数,所以:
    < chmod 777 ls相当于给所有三个用户全部授权 >
    在这里插入图片描述
    在这里插入图片描述
    举一反三,同样可以对不同用户的不同权限进行修改,这里就不一一演示了.

  • 文件:
    1.文件没有权限,不能cat
    2.文件没有权限,不能通过echo指令配合重定向进行修改
    3.文件没有执行权限,不能执行

  • 目录
    1.目录没有权限,不能ls查看目录中包含什么文件或者目录
    2.目录没有权限,不能向目录中新增/删除文件
    3.目录没有执行权限,不能通过cd切换至该目录下

  • file 查看文件格式

  • history 查看输入指令的历史

这里常见丰富的指令与快捷键就介绍差不多了,其他还有很多不常用但是很高效的指令大家有兴趣可以了解一下
但是linux指令的学习绝对不是靠的,而是靠
熟能生巧,而不是死记硬背!

猜你喜欢

转载自blog.csdn.net/qq_42351880/article/details/85134822