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与操作系统进行交互的。

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为执行,-代表没有该权限】

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

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

6代表rw- 7代表rwx

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

  • 文件权限修改方法一:

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

  • 文件权限修改方法二:

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

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

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 测算一个命令(即程序)的执行时间

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值