Linux基本命令介绍

213 阅读9分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

基本指令

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

打开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用户可以给予三个用户这三个权限,也可以收回,权限可以影响用户的操作结果,之后具体解释

  1. 文件占存大小: 它的单位是Byte

  2. 最后修改时间: 无论什么操作,执行后都会改变文件的最后操作时间

  • cd 切换目录 来自缩写:change directoy. 可以改变用户所处的当前目录,对不同目录具体操作.
  1. cd .. 切换回上级目录 切换目录到当前目录的上一级目录

  2. cd / 切换到根目录 相当于Windows中的此电脑.

  3. 切换到当前用户的home目录

    1. cd ~
    2. cd home
    3. cd + 回车
  4. cd - 回到上层目录 返回刚才的目录,这个操作是可逆的,可以互相来回切换.

  • 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 重命名/移动文件
  • 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. 文件是一个可执行文件

将Windows操作系统中的可执行文件在Linux系统中是无法正常运行的

例如将Windows操作系统中的C语言编译出的.exe文件在Linux系统中执行就会报错:无法执行的二进制文件. Windows可执行程序的格式 :PE Linux可执行程序的格式 : ELF 双方不能兼容!!

  • 如果只想给一个用户授权或者回收权限,就要在指令中加上约束:
  1. chmod o+x ls (o代表others,其他用户)

  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指令的学习绝对不是靠的,而是靠的 熟能生巧,而不是死记硬背!