Shell

(1)Linux系统中运行的一种特殊程序

(2)在用户和内核之间之间充当“翻译官”

(3)用户登陆Linux系统时,自动加载一个Shell程序

(4)Bash是Linux系统中默认使用的Shell程序

Linux常用命令_软链接

内核:用于调用计算机硬件资源

shell:将用户指令转换成计算机语言让内核去调用计算机硬件资源

bash是一个文件,linux系统中万物皆文件

bash文件位于/bin/bash

Linux命令的分类

内部命令与外部命令的区别

内部命令

外部命令

继承于Shell解释器程序内部的一些特殊指令,也称为内建指令

Linux系统中能够完成特点功能的脚本文件或二进制程序

属于Shell的一部分

属于Shell解释器程序之外的命令

没有单独对应的系统文件

每个外部命令对应了系统中的一个文件

自动载入内存,可以直接使用

必须知道其对应的文件位置,由Shell加载后才能执行

两者区别在于:

(1)内部命令属于shell的一部分,外部命令属于shell程序之外的命令。

(2)内部命令属于shell的一部分(/bin/bash)没有单独的文件,外部命令一般由脚本文件或者二进制文件组成。

(3)内部命令自动加载,可以直接使用,外部命令系统必须要知道对应的文件位置(命令的环境变量),由shell进行加载后,系统才能识别该命令。

查看内部命令

help

enable

type命令

禁用内部命令

enable -n 命令 ——禁用该命令

enable 命令——启用该命令

Linux命令行格式

命令字        【选项】                 【参数】

操作          命令的功能              要执行的对象(文件、目录、用户名)

命令字

是整条命令中最关键的一部分

唯一确定一条命令

选项

短格式选项:使用“-”符号引导 —— 多个单字符选项(单个字母)可以组合在一起使用

例:ls -a -l -h = ls -alh

长格式选项:使用“- -”符号引导(一个单词)

参数

命令字的处理对象

可以是文件名、目录(路径)名或用户名等内容

个数可以是零到多个

编辑Linux命令行的辅助操作

(1)Tab键:自动补齐/按两下帮忙查询相同前缀的目录或文件(cd会显示目录,vim会显示文件)

(2)反斜杠“\”强制换行(在长命令的情况下使用便于排错,更加工整)

(3)Ctrl+U组合键:清空至行首

(4)Ctrl+K组合键:清空至行尾

(5)Ctrl+L组合键:清屏,或者clear

(6)Ctrl+C组合键:取消本次命令编辑

(7)Ctrl+A组合键:切换到行首

(8)Ctrl+E组合键:切换到行尾

获得命令帮助的方法

内部命令help

查看Shell内部命令的帮助信息

命令的“- -help”选项

适用于大多数Linux外部命令

使用man(manual 手册)命令阅读手册页

(1)使用“⬆”、“⬇” (ENTER)方向键滚动一行文本

(2)使用Page Up和Page Down (空格) 键翻页

(3)按Q或q键退出阅读环境

(4)按“/"键查找内容,n键向下查找,N键向上查找

pwd——查看当前的工作目录

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

[root@localhost ~]# pwd
/root

cd——切换工作目录

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

cd /home    ####后面跟绝对路径,切换到home目录
cd ./home ####后面跟相对路径,切换到home目录
cd ~ ####切换到当前用户的家目录
cd ####切换到当前用户的家目录
cd ~user ####切换到某一个用户的家目录,只有root才行,别的用户只能在自己家
cd - ####切换到上一次执行操作的目录
cd .. ####切换到上一层目录(父目录)
cd ../../ ####切换到父目录的父目录

绝对路径:以/开头,根目录为起点

相对路径:以当前目录为起点

Linux常用命令_软链接_02

ls——列表显示目录内容

显示目录中内容,包括子目录和文件相关属性信息

ls【文件】【文件或目录…】

常用选项

-l、-a、-A、-d、-h、-R、–color

结合通配符

“?”:代表任意一个字符,且至少一个

“*”:代表任意数个字符,可以是0个或者1个或者多个

ls的常用选项

-l:以长格式(Long) 显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与ls -l功能相同。
-a:显示所有(All)子目录和文件的信息,包括名称以点号“."开头的隐藏目录和隐藏文件。
-A: 与-a选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的"…"
-d: 显示目录(Directory) 本身的属性,而不是显示目录中的内容,一般结合-l使用。
-h: 以更人性化(Human) 的方式显示目录或文件的大小,默认的大小单位为字节(B),使用 -h 选项后将显示为KB、MB等单位。此选项需要结合 -l 选项一起使用。
-R: 以递归(Recursive) 的方式显示指定目录及其子目录中的所有内容。
-i: 显示文件和目录的inode号。
- -color: 在字符模式中以颜色区分不同的文件。默认已开启

通常情况下
深蓝色:目录
白色(黑色):一般文件
绿色:可执行的文件(脚本/程序)
黄色:块设备文件
红色:压缩包
淡蓝色:链接文件/快捷方式。

长格式

- 普通文件

d 目录文件 directory

b 块设备文件 block

p 管道文件 pipe

s 套接字文件 socket

l 符号链接文件 link


r代表文件可读

w代表文件可写入可修改

x代表文件可执行

有x权限文件会变成绿色


第一个rwx代表这个文件所有者所拥有的权限,是第一个root

第二个rwx代表所属组,组成员所拥有的权限,第二个root,组名

第三个rwx代表其他用户所拥有的权限,赋予时注意,防止获取关键信息和破坏系统

给命令设置别名alias

alias      ###查看系统当前所有可用别名
unalias ll #删除别名
vim /root/.bashrc ###永久生效

临时修改

alias 命令别名 = “命令”
unalias 别名命令 删除别名
\加命令 原始命令

修改

在/etc/bashrc   会影响全部
/root/.bashrc只影响当前命令

补充:

别名>内部>hash>外部命令  (先查找别名再查找内部命令,缓存最后外部)

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

-a: 统计磁盘空间占用时用时包括所有的文件,而不仅仅只统计目录

-h:显示出每一个文件以及大小,单位是KB,MB,GB

-s: 显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来

创建新目录mkdir

mkdir /opt/sj      #创建目录,注意:父目录必须存在

-p: 创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建

mkdir {h..t}     添加h到t的目录

mkdir yjs{1..10}    添加yjs1到yjs10的目录

创建空文件touch

文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。

文件不存在:创建新文件

touch [文件名]

touch [文件名] [文件名]

创建链接文件ln(软链接、硬链接)

ln命令用于为文件或目录建立链接文件(类似于Windows系统中的快捷方式),提高用户定位文件或定位目录的效率

链接文件类型

链接文件包括软链接和硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同

ln -s  创建软链接,相当于创建一个快捷方式

ln     创建硬链接,相当于复制了一份副本

硬软链接区别

硬链接不能跨分区建立连接 无法对文件夹创建

删除硬件连接可以继续访问硬链接

软连接可以跨设备  可以支持文件夹

软连接删除源文件不能访问

cp——复制文件或目录

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

cp 【选项】…源文件或目录…目标文件或目录…

cp常用选项

(1)-f:覆盖目标同名的文件或目录时不进行提醒,而直接强制复制。

(2)-i:覆盖目标同名的文件或目录时提醒用户确认。

(3)-p:复制时保存文件的权限、属主及时间标记等属性不变。

(4)-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。

(5)-a:保留权限,复制软链接本身,递归复制

注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在。

rm——删除文件或目录

删除指定的文件或目录

rm【选项】要删除的文件或目录

常用选项

(1)-f:删除文件或目录时不进行提醒,而直接强制删除。

(2)-i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)

(3)-r:删除目录时必须使用此选项,表示递归删除整个目录树(谨慎使用)

注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。

删除目录下文件时建议最好先切换到目录下再执行rm -rf命令。

mv——移动文件或目录

将指定文件或目录转移位置

如果目标位置与源位置相同,则相当于执行重命名操作

mv 【选项】…源文件或目录…目标文件或目录

which——查找命令文件存放目录

搜索范围由环境变量PATH决定(echo$PATH)

让系统能识别命令所在文件位置的环境变量PATH

which 命令/程序名 //默认当查找到第一个目标后不再继续查找

which -a 命令/程序名 //在所有搜索路径中查找

find——查找文件或目录

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

find 【查找范围】 【查找条件表达式】

不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示

-name 按名称查找:

-size 按大小查找:

-user 按文件属主:

使用find命令实现多个查找条件

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

-a表示 而且(and)

-o表示 或者 (or)

总结

Shell在用户和内核之间充当“翻译官”

Shell是一种特殊程序

Linux命令的分类、格式及使用方法

Linux命令分为内部命令和外部命令

获得Linux命令帮助的方法

Linux常用命令

查看及切换目录(pwd、cd、ls、du)

创建目录和文件(mkdir、touch、ln)

复制、删除、移动目录和文件(cp、rm、mv)

查找目录和文件(which、find)