Linux基础命令详解

长久以来呢,Linux操作系统以其稳定、高效且可靠等优点被大量的应用于企业服务器领域。
大部分对Linux服务器的管理和维护都是通过远程登录的方式来进行的。
而绝大部分的管理维护操作都是基于Linux命令来实现的,所以Linux命令在工作中就显得至关重要。
在将Linux命令之前,先得了解它的工作原理
原理很简单,其实就是我们用户输入一串字符命令,由shell将这条命令“翻译”为系统内核能够懂的“语言”,然后系统内核便根据这条命令去执行相关操作。
Linux基础命令详解_第1张图片
讲完原理之后,我们了解一下Linux命令有哪些类型
其实很简单,Linux命令有两种,内部命令和外部命令
具体区别如下
Linux基础命令详解_第2张图片
了解了Linux命令类型,我们再了解一下命令的结构
一条Linux命令,一般由三个部分组成,分别为:命令字选项参数
在这三个部分中,命令字是最关键的一部分,也是不能缺少的,另外两个部分根据具体情况是可以不要的
选项,分为长格式选项和短格式选项,长格式选项用“--”符号引导,一般后面接单词代表一个功能;短格式选项用“-”符号引导,一般后面接单个字母为一个功能。
参数,是命令字的处理对象,可以是文件名、目录名或用户名等,数量可以是零到多个
Linux基础命令详解_第3张图片
在介绍基础命令之前,我们先了解一些Linux命令行的辅助操作,熟练掌握这些操作能够帮我们更好的使用Linux命令哦。

Tab键:自动补齐
反斜杠“\”:强制交换
快捷键Ctrl+U:清空至行首
快捷键Ctrl+K:清空至行尾
快捷键Ctrl+L:清空屏幕
快捷键Ctrl+C:取消本次命令编辑

tab键的自动补齐功能是我最喜欢的辅助操作,当你输入参数时,发现这个目录名太长,此时你只用输入前几个字母,按下tab键,就能自动帮你补齐目录名,比如我想输入“sysconfig”这个目录名,我只用输入“sysco”后面直接tab键就能自动补齐
Linux基础命令详解
Linux基础命令详解
反斜杠“\”是用来强制换行的,如果我要输入vim /etc/sysconfig/network-scripts/ifcfg-ens33这条命令,我可以在中间任意地方用“\”来强制换行
Linux基础命令详解_第4张图片
Ctrl+U清空至行首,简单来说就是删除光标前面的字符
Linux基础命令详解
Linux基础命令详解
Ctrl+K清空至行尾,简单说就是删除光标后面的所有字符
Linux基础命令详解
Linux基础命令详解
Ctrl+L清空屏幕,不是说删除之前输入的命令,而是当你输入的命令太多占据了所有用户界面,它可以让你重新从用户界面的第一行开始输入
Linux基础命令详解_第5张图片
Linux基础命令详解_第6张图片
Ctrl+C取消本次命令编辑,用来终止命令的。例如我用ping命令检查网络是否互通时,它会一直持续发送数据包过去,当我想停止时就可以使用Ctrl+C
Linux基础命令详解_第7张图片
除了这些辅助操作,当我们忘了某条命令,或者不知道某条命令是什么意思时,可以获取命令帮助,具体方法如下:
内部命令help

  • 查看Bash内部命令的帮助信息。你只需要输入“help”就能查看一些命令和它的功能,但并不是包括所有命令。
    Linux基础命令详解_第8张图片
    命令的“--help”选项
  • 适用于大多数外部命令。当你突然忘了一个命令的功能,或是忘了选项的功能,都可以直接在这个命令后面直接加“--help”,查看命令的具体功能。
    Linux基础命令详解_第9张图片
    使用man命令阅读手册页
  • 使用“向上键”、“向下键”滚动文本
  • 使用Page Up和Page Down键翻页
  • 按Q或q键退出阅读环境、按“/”键查找内容
    因为我安装Linux时,安装了图形化界面,而很多服务器在安装时是不会安装图形化界面的,这时你用“--help”查询是不能滚动的界面,很多内容看不到。
    Linux基础命令详解_第10张图片
    所以这时可以用“man”命令来弥补“--help”命令这方面的缺点。应为“man”命令可以进入一个阅读环境,能够滚动、翻页。
    Linux基础命令详解_第11张图片

在我们在输入命令时,前面会有一串字符[root@localhost ~]# ,这些字符具体代表什么呢,下面我会逐个说明

root:当前系统登录用户,可以用su 加上用户名切换用户
localhost:主机名称,可以用hostname命令查看,用hostnamectl set-hostname 加上新的主机名来更改主机名
~:当前所在的位置(“~”代表家目录)
#:代表当前是管理员身份
$:代表当前是普通用户身份

了解前面这些,下面我们开始讲解Linux基础命令
第一条命令:“pwd”查看当前工作目录
“pwd”用来查看当前所在的目录,记住查看的是绝对路径,比如我在sysconfig目录底下用“pwd”查看目录,会显示绝对路径/etc/sysconfig
Linux基础命令详解
讲到绝对路径,那就说一下,路径分为绝对路径和相对路径。绝对路径较简单是以根目录“/”为开头,以根目录为起点,一直到当前所在目录。
相对路径表现形式有一下几种:
Linux基础命令详解_第12张图片
第二条命令:“cd”切换工作目录
“cd”用来切换工作目录的,例如我想进入/etc/sysconfig/network-scripts这个目录
就可以直接输入“cd /etc/sysconfig/network-scripts”就能进入这个目录了。
Linux基础命令详解
除了切换到指定的工作目录,“cd”命令还有几个选项功能:

  • “cd ~”或“cd”:切换到当前用户的宿主目录
    Linux基础命令详解_第13张图片
  • “cd -”切换到上次执行“cd”命令的目录
    Linux基础命令详解_第14张图片
  • “cd ..”返回到当前目录的上一级目录
    Linux基础命令详解_第15张图片

第三条命令:“ls”显示当前目录的内容(“dir”命令与它功能差不多,但很少用,一般都用“ls”),后面常用的选项有“-l”、“-a”、“-A”、“-d”、“-h”、“-R”、“--color”
Linux基础命令详解_第16张图片
“ls”只是单纯的显示当前目录的内容,当后面加上不同选项,又能实现不同的功能,下面我将详细介绍:
“ls -a” 列出目录下的所有文件(显示隐藏文件),包括以 “.”、“..”开头的隐藏文件,而“ls -A”也是显示隐藏文件与“ls -a”的唯一区别就是不显示“.”、“..”开头的隐藏文件。
Linux基础命令详解_第17张图片
“ls -d”是将目录象文件一样显示,而不是显示其下的文件
Linux基础命令详解
“ls -l”是显示目录下文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
Linux基础命令详解_第18张图片
“ls -h”将目录下文件的大小以带单位的形式显示出来,如果只用“ls -l”文件大小的单位统一都是“字节”,具体还得我们自己进行单位换算。
Linux基础命令详解_第19张图片
“ls -R”将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现。
Linux基础命令详解_第20张图片
“ls -color”是用不同颜色将不同格式的文件区分开来,一般默认情况下就已经执行了此命令,下面介绍一下常见的颜色代表的文件类型:

黑色------数据文件
绿色------可执行文件
红色------压缩文件
深蓝色------目录(文件夹)
天蓝色------软链接文件(快捷方式)
粉色------图片

除了这些常见的选项,还有通配符“?”、“*”

“?”是匹配文件名中的一个未知字符,例如你想用“ls”命令查看一个文件,文件名其中几个字母不确定就可以用“?”代替
Linux基础命令详解_第21张图片
”是匹配文件中的任意多个字符,例如你想用“ls”命令查看一个文件,但你只记得其中一个字母,就可以用这个字母加上“”来进行查找
Linux基础命令详解_第22张图片
第四条命令:“alias”设置别名
当你觉得一条命令输入太麻烦,而这条命令你要经常得用,此时你可以给它设置一个简单的别名,方便输入。
例如你想将“ls -alh”设置个别名为“myls”,就可以输入“alias myls='ls -alh'”
Linux基础命令详解_第23张图片
第五条命令:“du”统计目录及文件空间占用情况
“du”命令有三个常用选项“du -a”、“du -h”、“du -s”
“du -a”统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
Linux基础命令详解_第24张图片
Linux基础命令详解_第25张图片
“du -h”以更人性化的方式显示出统计结果,默认以KB为计数,但不显示单位
Linux基础命令详解_第26张图片
Linux基础命令详解_第27张图片
“du -s”只统计所占空间总的大小,而不统计每个子目录、文件大小
Linux基础命令详解
当然这些选项也可以结合起来用,例如你想统计/var/log/目录的总大小,同时显示出具体单位就可以输入
“du -sh /var/log/”来进行统计
Linux基础命令详解
第六条命令:“mkdir”创建新目录
如果你想在当前目录下创建一个新目录aaa,你可以输入“mkdir aaa”即可
Linux基础命令详解
同时创建多个目录,只用在目录之间加上空格即可例如“mkdir 111 222 333”
Linux基础命令详解
“mkdir -p”可以实现一次性创建嵌套的多层目录,不然的话只能先创建一个目录,再通过“cd”命令进入这个目录才能接着创建子目录
Linux基础命令详解_第28张图片
第七条命令:“touch”创建空文件
“touch”命令当你不指定创建文件的目录时,它会默认创建在当前目录下,同时创建多个文件时只需用空格将文件隔开即可。
Linux基础命令详解_第29张图片
“touch”命令创建的文件是空文件,当我们想直接在创建文件时将内容一起添加进去时,我们可以用“echo”命令,例如我想在/root/aaa/bbb/目录创建一个文件bbb01.txt,内容为“this is bbb01”,我可以输入“echo “this is bbb01” > /root/aaa/bbb/bbb01.txt”。
Linux基础命令详解_第30张图片
第八条命令:“ln”创建链接文件
在讲“ln”命令之前先了解一下链接文件,链接文件就是类似于Windows系统的快捷方式。链接分为两种,软链接(又称符号链接)、硬链接,下面介绍一下两种链接:
Linux基础命令详解_第31张图片
(未完待续。。。)