程序员最全的Linux命令,不全来找我随时更新!

一、引言

image-20191011200827437

1.2、Linux的诞生

    20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC。DOS显得简陋,且源代码被软件厂商严格保密;

    MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。

    Linux出现于1991年,是由芬兰赫尔辛基大学学生,Linus Torvalds和后来加入的众多爱好者共同开发完成。

image-20191011205611690
  1. bin (binaries):存放二进制可执行文件。
  2. sbin (super user binaries):存放二进制可执行文件,只有root才能访问。
  3. etc (etcetera):存放系统配置文件。
  4. usr (unix shared resources):用于存放共享的系统资源。
  5. home:存放用户文件的根目录。
  6. root :超级用户目录。
  7. dev (devices):用于存放设备文件。
  8. lib (library):存放跟文件系统中的程序运行所需要的共享库及内核模块。
  9. mnt (mount):系统管理员安装临时文件系统的安装点。
  10. boot 存放用于系统引导时使用的各种文件。
  11. tmp (temporary)用于存放各种临时文件。
  12. var (variable)用于存放运行时需要改变数据的文件。

二、Linux常用命令

2.1、Linux命令格式

2.2、ls

2.2.1、概述

    ls(list)命令用于显示文件和目录列表

2.2.2、常用参数

  1. -l(long):长格式显示文件和目录信息。 简写就是。
  2. -a(all):显示所有文件和目录。
  3. -R:递归显示指定目录下的文件清单,即会显示指定目录分支内各子目录中的文件清单。
  4. -h:人性化显示文件大小。

2.2.3、细节

image-20191011213625815

2.8.2、三种模式

vi编辑器有三种模式:

  1. 编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式。
  2. 输入模式:大部分机键动作都会理解为输入的字符。
  3. 末行模式:在末行模式,输入很多文件管理命令。

模式之间可以互相转换:

  1. 编辑模式–>输入模式:

    (1). i:在光标所在字符前开始插入。

    (2). a:在光标所在字符后开始插入。

    (3). o:在光标所在行的下面另起一新行插入。

    (4). s:删除光标所在的字符并开始插入。

    (5). I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入。

    (6).A:在光标所在你行的行尾开始插入。

    (7).O:在光标所在行的上面另起一行开始插入。

    (8).S:删除光标所在行并开始插入。

  2. 输入模式–>编辑模式:ESC(键盘左上方的按键)。

  3. 编辑模式—>末行模式:输入。

  4. 末行模式:–>编辑模式:ESC(键盘左上方的按键)(一次或者多次)

2.8.3、常用命令

  1. i:在光标前插入。

  2. I:在光标当前行开始插入。

  3. a:在光标后插入。

  4. A:在光标当前行末尾插入。

  5. o:在光标当前行的下一行插入新行。

  6. O:在光标当前行的上一行插入新行。

  7. :set nu:显示行号。

  8. :set nonu:取消行号。

  9. gg:到文本的第一行。

  10. G:到文本的最后一行。

  11. :n:到文本的第n行。

  12. u:undo,取消上一步操作。

  13. Ctrl + r:redo,返回到undo之前。

  14. :wq:保存退出。

  15. 按住shift:保存退出,与“:wq”作用相同。

  16. :wq!:强制保存退出

  17. :q:退出不保存。

  18. :q!:强制退出不保存。

  19. yy:复制光标所在行 (编辑模式)。

  20. 2yy 从光标行开始复制2行(编辑模式)。

  21. p::粘贴命令。

  22. u:撤销(编辑模式)。

  23. 1,$d:全部删除(末行模式)。

2.8.4、移动光标和翻屏操作

2.8.4.1、逐字符移动

  1. h:左移动。
  2. l:右移动。
  3. j:向下移动。
  4. k:向上移动。

2.8.4.2、行内跳转和行间跳转

  1. 0:跳转到行首。
  2. $:跳转到行尾。
  3. G::跳转行最后一行(需要在编辑模式下输入按键盘的G)。
  4. gg: 跳转到第一行(需要在编辑模式下按键盘两下gg)。
  5. ctrl+f:向下翻一页。
  6. ctrl+b:向上翻一页。

2.8.4、查找和替换

  1. /需要匹配的条件:从前往后查找。
  1. 要匹配的条件:从后往前查找。
  1. n: 下一个匹配的字符串(编辑模式)。
  2. N: 上一个匹配的字符串(编辑模式)。
  3. g:全局替换。
  4. i:忽略大小写

2.9、软件相关命令

2.9.1、rpm命令

2.9.1.1、rpm概述

    RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便,

2.9.1.2、rpm命令

rpm命令常用的参数:

  1. i(install):安装应用程序。
  2. e(erase):卸载应用程序。
  3. vh(verbose hash):显示安装进度。
  4. U(update) :升级软件包。
  5. qa(query all): 显示所有已安装软件包。

2.9.2、yum命令

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

2.10、用户和组相关命令

    用户的定义是一类用户具有访问某个资源或服务的能力。
    用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限

  1. whoami:查看当前用户。
  2. exit:退出用户。
  3. groupadd:添加组.
  4. groupdel:删除组。
  5. useradd:添加用户,可以带一个参数,指定组名称,如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
  6. passwd 用户名:设置用户密码。
  7. su 用户名:切换用户。

2.11、权限相关命令

    权限的定义是某一个特定的人资源或者服务的访问能力。
    Linux文件有典型的权限,。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。。

    r(read):表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
    w(write):表表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
    x(excute):表表示可写入,表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

2.12、搜索相关命令

2.12.3、文件相关

  1. whereis 命令名:搜索该命令所在路径及帮助文档所在位置。

image-20210427192443412
  1. find 搜索范围 搜索条件:find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。

2.12.4、字符串搜索

基本格式为:grep [选项] 字符串 文件名。

可选项为:

  1. -i:忽略大小写。
  2. -v:排除指定字符串。

2.12.5、find命令和grep命令的区别

find命令:在系统中搜索符合条件的文件名。

grep命令:在文件中搜索符合条件的字符串。

2.13、防火墙

    centos7的防火墙程序服务名为:firewalld,他的相关命令如下:

  1. 防火墙配置命令:firewall-cmd。
  2. 防火墙帮助:fireweall-cmd –help。
  3. 查看防火墙状态:firewall-cmd –state。
  4. 查看所有打开的端口:firewall-cmd –zone=public –list-ports。
  5. 开启端口:firewall-cmd –zone=public –add-port=端口号/tcp –permanent(–permanent参数为永久生效,不加则重启后失效)
  6. 更新防火墙规则:firewall-cmd –reload。
  7. 删除端口:firewall-cmd –zone=public –remove-port=端口号/tcp –permanent。

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux进阶新增用户25061 人正在系统学习中

程序员最全的Linux命令,不全来找我随时更新! 微信名片 程序员最全的Linux命令,不全来找我随时更新!

来源:钱难有~

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月22日
下一篇 2021年4月22日

相关推荐