Linux Shell从入门到精通之Linux 常用命令详解

目录

1. 前言

2. Linux命令格式

3. Linux目录与文件辨别

4. Shell命令行编辑技巧

5. Shell常用命令

5.1. 帮助命令

5.2. 文件和目录操作常用命令

5.3. 文件查看常用命令

5.4. 文件编辑常用命令

5.5. 文件搜索命令

5.6. 文件权限命令

5.7. 系统开关机命令


1. 前言

Shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。

Shell的定义:Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。

Shell处于操作系统内核与应用成语之间,与文件系统、系统程序/库共处在同一级别。下图是Linux的系统结构。

Linux Shell从入门到精通之Linux 常用命令详解_第1张图片

  • 我们常使用的Linux命令就是通过Shell与操作系统进行交互的。

2. Linux命令格式

命令字 [-选项...] [参数...]

  • 命令字:命令本身(功能)
  • 选项:调整命令功能的
    • 短选项:-l  -a  -d  -h(单个字符),短选项可以合并使用:-lad   -lh
    • 长选项:--help(单词),长选项通常是不能合并使用的
  • 参数:命令的执行对象,文件/目录/程序等
  • []:可选的
  • ...:可以同时有多个选项或参数

3. Linux目录与文件辨别

Linux的核心思想就是一切皆文件,在Liunx系统中我们看到的相关后缀其实只是为了方便我们进行辨识,对于系统来说都是一样的文件,同时为了便于操作,会用不同的颜色去代表不同类型的文件。

文件颜色

描述

蓝色

表示目录(类似windows系统里的文件夹)

白色

表示文件

浅蓝色

表示链接文件(类似于windows系统的快捷方式)

绿色

表示可执行文件(如脚本,命令程序文件)

红色

表示压缩文件

黄色

表示设备文件(硬盘、键盘、鼠标、网卡、CPU硬件设备都是以文件的形式存在的)

红色

闪动文件——>表示链接文件不可用

4. Shell命令行编辑技巧

键盘上下键调出历史命令

Ctrl + c:废弃当前命令行中的命令,取消当前执行的命令,例如ping

Ctrl + l,clear:清屏

tab建自动补齐:可补齐命令、参数、文件路径、软件名

esc + . :将上一条命令参数变成当前命令的执行对象

Ctrl + a:将当前光标移动至行首

Ctrl + e:将当前光标移动至行尾

Ctrl + u 清空至行首

Ctrl + w 删除一个单词

exit,logout:退出系统

5. Shell常用命令

5.1. 帮助命令

1.man 命令

  • man 命令用于查看系统命令的帮助信息,包括使用方法、选项、使用例子等,对比--help ,man 输出的信息更加详细
  • 命令格式:man [-选项]   命令
  • 常用快捷操作
    • 向下键向下移一行
    • 向上键向上移一行
    • [Page Down] 向下翻一页
    • [Page Up] 向上翻一页
    • /关键字   #搜索关键字,配合n(向下查询)、N(向上查询)
    • q 退出 

2.help命令

  • help命令用于查看shell内部命令的帮助信息,包括使用方法、选项等…
  • 命令格式:help [选项] 命令

5.2. 文件和目录操作常用命令

1.cd 命令

cd 命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

cd /home 进入 '/ home' 目录

cd .. 返回上一级目录

cd ../.. 返回上两级目录

cd 进入个人的主目录

cd ~user1 进入个人的主目录

cd - 返回上次所在的目录

2.pwd 命令

pwd 命令,显示工作路径

[root@mailvip ~]# pwd

/root

3.ls 命令

ls 命令,查看文件与目录的命令,list的意思

ls 查看目录中的文件

ls -l 显示文件和目录的详细资料

ls -a 列出全部文件,包含隐藏文件

ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

ls [0-9] 显示包含数字的文件名和目录名

4.cp 命令

cp 命令,用于复制文件,copy 的意思,它还可以把多个文件一次性地复制到一个目录下

-a :将文件的特性一起复制

-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份

-i :若目标文件已经存在时,在覆盖时会先询问操作的进行

-r :递归持续复制,用于目录的复制行为 //经常使用递归复制

-u :目标文件与源文件有差异时才会复制

使用示例: cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

5.mv 命令

mv 命令,用于移动文件、目录或更名,move 的意思

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件已经存在,就会询问是否覆盖

-u :若目标文件已经存在,且比目标文件新,才会更新

使用示例: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup //将CentOS-Base.repo更名为CentOS-Base.repo.backup

6.rm 命令

rm 命令,用于删除文件或目录,remove的意思

-f :就是force的意思,忽略不存在的文件,不会出现警告消息

-i :互动模式,在删除前会询问用户是否操作

-r :递归删除,最常用于目录删除,它是一个非常危险的参数

5.3. 文件查看常用命令

cat 命令,用于查看文本文件的内容,后接要查看的文件名,通常可用管道与 more 和 less一起使用

cat file1 从第一个字节开始正向查看文件的内容

tac file1 从最后一行开始反向查看一个文件的内容

cat -n file1 标示文件的行数

more file1 查看一个长文件的内容

head -n 2 file1 查看一个文件的前两行

tail -n 2 file1 查看一个文件的最后两行

tail -n +1000 file1 从1000行开始显示,显示1000行以后的

cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行

cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)

5.4. 文件编辑常用命令

常用的文件编辑命令有vi vim nano等,根据个人习惯进行选择自己使用舒服的即可,这里主要介绍vi与vim。

vi/vim命令共分为三种模式,分别是命令模式,输入模式和底线命令模式。

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下 i ,进入输入模式,但是 i 这个字符并不会被输入至文档中,而是被当作了一个命令执行。

以下是常用的几个命令:

i -------切换到输入模式,以输入字符。

x -------删除当前光标所在处的字符。

: -------切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式:

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符

ENTER,回车键 --------换行

BACK SPACE,退格键 -------删除光标前一个字符

DEL,删除键 -------删除光标后一个字符

方向键 -------在文本中移动光标

HOME/END -------移动光标到行首/行尾

Page Up/Page Down -------上/下翻页

Insert -------切换光标为输入/替换模式,光标将变成竖线/下划线

ESC -------退出输入模式,切换到命令模式

底线命令模式:

在命令模式下按下 :(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

q -------退出程序

w -------保存文件

wq -------保存并退出文件

q! -------不保存并退出文件

按ESC键可随时退出底线命令模式。

5.5. 文件搜索命令

find 命令用于在指定目录下查找文件和目录。它可以使用不同的选项来过滤和限制查找的结果。

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录

find / -user user1 搜索属于用户 'user1' 的文件和目录

find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件

find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件

5.6. 文件权限命令

1.chmod 命令

 作用:改变文件 / 文件夹权限

权限说明:

示例:-rw-r--r--

该权限需要拆分成四个部分 - 为第一部分 ;rw- 为第二部分 ;r-- 为第三部分;r-- 为第四部分

-【标识文件类型】

rw-【该文件的用户权限,从左往右依次为读、写、执行;r为读,w为写,x为执行,-代表没有该权限】

r-- 【该文件的所属组权限,从左往右依次为读、写、执行;r为读,w为写,x为执行,-代表没有该权限】

r-- 【该文件的其他用户权限,从左往右依次为读、写、执行;r为读,w为写,x为执行,-代表没有该权限】

Linux Shell从入门到精通之Linux 常用命令详解_第2张图片

除第一部分外,其余三个部分可以通过数字来标识其权限。定义如下:

0代表--- 1代表--x 2代表-w- 3代表-wx 4代表r-- 5代表r-x

6代表rw- 7代表rwx

所以我们常使用的777就是为该文件的用户、用户组、其他用户赋予该文件的读、写与执行权限。

  • 文件权限修改方法一:

我们可以通过我们实际情况进行灵活修改,比如,我们为该文件用户提供全部权限,所属组提供读写权限,其他用户仅有读权限,那么我们就可以用该命令进行修改 chmod 764 {文件名称}

Linux Shell从入门到精通之Linux 常用命令详解_第3张图片

  • 文件权限修改方法二:

文件所属用户权限用 u 表示;文件所属用户组权限用 g 表示;文件其他用户权限用 o 表示。

以上的权限赋予方法还可以用该命令进行修改chmod u+x,g+w {文件名称}

Linux Shell从入门到精通之Linux 常用命令详解_第4张图片

2.chown 命令

chown 命令,改变文件的所有者

chown user1 file1 改变一个文件的所有人属性

chown -R user1 directory1 改变一个目录的所有人属性并同时改变改该目录下所有文件的属性

chown user1:group1 file1 改变一个文件的所有人和群组属性

3.chgrp 命令

chgrp 命令,改变文件所属用户组

chgrp group1 file1 改变文件的群组

usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件

5.7. 系统开关机命令

shutdown -h now 关闭系统(1)

init 0 关闭系统(2)

telinit 0 关闭系统(3)

shutdown -h hours:minutes & 按预定时间关闭系统

shutdown -c 取消按预定时间关闭系统

shutdown -r now 重启(1)

reboot 重启(2)

logout 注销

time 测算一个命令(即程序)的执行时间

你可能感兴趣的:(Linux,Shell从入门至精通系列,linux,bash,运维)