Linux shell常用命令

Linux shell常用命令_第1张图片

目录

  • 前言
  • Shell
  • Linux命令概述
    • Linux命令的分类
    • 命令行的格式
    • 获得命令帮助的方法
  • 目录和文件的基本操作
    • 查看及切换目录
    • 创建目录和文件
    • 复制、删除、移动目录和文件
    • 查找目录和文件

前言

我们都知道不管是Linux系统还是windows系统,它们都有命令行模式,这项技术使得我们可以通过一些相关字符去操作当前的操作系统。字符操作也是操作系统最原始的操作方式,图形化界面操作虽然降低了学习成本,更方便操作,但大多数时候操作效率还是没有命令行操作效率高。

Shell

在讲命令行之前我们先看看Shell。Linux命令行就是由Shell提供的。Shell其实是所有命令行程序的统称,而CentOS系统中默认使用的shell程序就是bash,它是linux系统中运行的一种特殊程序,其文件位于/bin/bash,用户在登录linux系统时,系统就会自动加载一个shell程序,在用户和内核之间充当“翻译官”。

这里要跟Shell 脚本(shell script)区分开,Shell 脚本是一种为 shell 编写的脚本程序,业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
Linux shell常用命令_第2张图片

Linux命令概述

Linux命令的分类

  • linux命令分内部命令和外部命令,外部是由第三方独立的程序提供的,比如vim,而内部命令就是由sell提供,比如常用的cd、mkdir、pwd等。
    Linux shell常用命令_第3张图片
    值得注意的是Linux系统将存放外部命令、程序的目录默认添加到 “搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置(相当于windows中的修改环境变量,以便我们使用)

命令行的格式

命令字 [选项] [参数]

  • 命令字是固定的

  • Linux命令环境中,对英文字符的处理是严格区分大小写的。

  • 参数:命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容,个数可以是零到多个。

  • 辅助操作

    • Tab键:可以提供选项补全命令
    • Ctrl+c:停止进程
    • Ctrl+U:删除光标之前的内容
    • Ctrl+K:删除光标之后的内容
    • Ctrl+L:清空你的终端屏幕
    • Ctrl + A:该快捷键将移动光标到所在行首
    • Ctrl + E:移动光标到行尾
    • Ctrl + Y:粘贴使用 Ctrl+U 和 Ctrl+K 快捷键擦除的文本

获得命令帮助的方法

  • 使用help命令 查看内部命令

    help cd

  • 使用 --help命令 查看外部命令

    vim --help

  • 使用man查看手则页

    man who

目录和文件的基本操作

基本的常用操作有:

  • 查看及切换目录
  • 创建目录和文件
  • 复制、删除、移动目录和为文件
  • 查找目录和文件

查看及切换目录

  • pwd显示用户当前所在的工作目录位置

    [root@localhost~]# pwd

    /root

  • cd将用户的工作目录更改到其他位置

 使用 mkdir 命令创建 runoob 目录
 [root@www ~]# mkdir runoob
 
 使用绝对路径切换到 runoob 目录
 [root@www ~]# cd /root/runoob/ 
 
 使用相对路径切换到 runoob 目录
 [root@www ~]# cd ./runoob/

 表示回到自己的家目录,亦即是 /root 这个目录
 [root@www runoob]# cd ~
  
 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..

注:相对路径的表现形式

表现形式 说明 示例
直接使用目录名或文件名 当前工作目录中的子目录、文件的位置 grub.conf
以一个点号“."开头 以当前的工作目录作为起点 ./grub.conf
以两个点号“…”开头 以当前目录的上一级目录(父目录)作为起点 …/vmlinuz
以“~用户名”形式开头 以指定用户的宿主目录作为起点 ~teacher
  • ls 列出目录

    选项与参数:

    • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来
    • -d :仅列出目录本身,而不是列出目录内的文件数据
    • -l :长数据串列出,包含文件的属性与权限等等数据
    • -h:显示文件大小

    将家目录下的所有文件列出来(含属性与隐藏档)

  • alias命令

    通过别名机制简化常用的、比较长的命令

    alias 命令别名=命令

    eg. alias myls=‘ls - alh’

    若想取消别名定义,则用unalias myls

  • du 统计目录及文件空间占有情况

    du [选项] [文件或目录…]

    选项 示例
    -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
    -h 显示出目录或文件的大小(KM),默认的大小单位为千字节(KB
    -s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小

创建目录和文件

  • mkdir 创建新的目录

    mkdir [选项] 目录位置及名称
    eg. mkdir -p /home/{A,B}/abc
    以上命令为在home下创建A,B两个文件夹及在其中创建abc文件夹

  • touch

    更新文件的时间标记

    经常用于创建多个新的空文件

    touch 文件…

  • ln 为文件或目录创建链接文件(相当于windows的快捷方式)

    当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

    ln -s (创建软链接) [源文件或目录] [链接目标文件或目录位置](要用绝对路径)

    Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

    不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

复制、删除、移动目录和文件

  • cp 即拷贝文件和目录

    cp [选项]… 源文件或目录 目标文件或目录

    选项 说明
    -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
    -i 覆盖目标同名文件或目录时提醒用户确认
    -p 复制时保持源文件的权限、属主及时间标记等属性不变
    -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
  • rm 删除指定的文件或目录

    rm [选项] 要删除的文件或目录…

    选项与参数:

    • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
    • -i :互动模式,在删除前会询问使用者是否动作
    • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
  • mv 移动目录或文件

    mv [选项]… 源文件或目录… 目标文件或目录

    选项与参数:

    • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

查找目录和文件

  • which 查找命令或文件存放目录,搜索范围由环境变量PATH决定

    which 命令|程序名
    which -a 命令|程序名

    eg.
    which ls
    which cd

  • find 采用递归的方式,根据目标的名称、类型、大小等不同属性进行精细查找

    find [查找范围] [查找条件表达式]

    查找类型 关键字 说明
    按名称查找 -name 根据目标文件的名称进行查找,允许使用“*”及“?”通配符
    按文件大小查找 -size 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB
    按文件属主查找 -user 根据文件是否属于目标用户进行查找
    按文件类型查找 -type 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等)

    各表达式之间使用逻辑运算符

    -a”表示 而且(and)
    件类型查找** | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等) |

    各表达式之间使用逻辑运算符

    -a”表示 而且(and)
    “-o”表示 或者(or)
    eg.
    find /boot -size +1024k -a -name “vmlinuz*”
    find /boot -size +1024k -o -name “vmlinuz*”

你可能感兴趣的:(Linux操作系统学习,linux,bash)