一、Shell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官
用户登录 Linux系统时,自动加载一个 Shell程序
Bash是 LinuxShell系统中默认使用的程序,文件位于/bin/bash
二、Linux命令分类
分为内部命令和外部命令,它们的区别是
内部命令 | 外部命令 |
集成于Shell解释器程序内的一些特殊指令,也称为内建指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,有Shell加载后才能执行 |
三、Linux命令行的格式
通用的命令行使用格式
命令 【选项】 【参数】
命令字:操作,是整个命令中最关键的一部分,是唯一确定的一条命令
选项:功能,分为长格式和短格式,短格式使用“-”符号引导,长格式使用“--”引导,可以多个单字符选项组合在一起使用
参数:是命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容,个数可以是零到多个
四、ls命令
以列表的的方式显示目录内容(包括子目录和文件相关属性信息) ls 【选项】 【文件或目录..】
常用选项:-l、-a、-A、-d、-h、-R、--color
结合通配符
“?”:代表任意一个字符,有且一个字符
“*”:代表任意数个字符,可以是0个或者1个或者多个
“【】”:表示可以匹配字符组中任意一个字符
-l:以长格式显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息
-a:显示所有子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件
-A:与-a选项的作用基本类似,但是两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”
-d:显示目录本身的属性,而不是显示目录中的所有内容
-h:以更人性化的方式显示目录或文件的大小,默认的大小单位为字节(B)
-R:以递归的方式显示指定目录及其子目录中所有的内容
-color:在字符模式中以颜色区分不同的文件,默认已开启
-i:显示文件和目录的inode号
五、统计目录及文件空间占用情况-du
du:统计指定目录(或文件)所占用磁盘空间的大小
格式 : du 【选项】 【文件或目录】
常用选项
-a :统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h : 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s : 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小(选项-a和-s不可同时使用)
--max-depth=n : 统计所有小于等于第n层的目录的总大小
统计出/var/log目录中子目录的大小
du -h --max-depth=1 /var/log/
六、创建目录命令
1、创建新的空目录 -mkdir
Mkdir 【选项】目录位置及名称
【选项】:-p:一次性创建嵌套的多层目录
示例:1、在当前目录下创建名为public -html的子目录 Mkdir public-html
2、创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc: mkdir-p /aa/bb/cc
三、创建空文件-touch命令 和mkdir一样
更新文件的时间标记
经常用于创建多个新的空文件:touch 文件...
示例:创建两个空文件,文件名分别为aa.txt和bb.txt
touch aa bb touch{a,b}.txt
2、创建链接文件 -ln, 为文件或目录建立链接文件,类似于windows系统中的快捷方式
链接文件的类型:软链接(又称为符号链接)
硬链接
ln [-s]源文件或目录...链接文件或目标位置
示例:ln -s/bin/bzip/bin/wx/
软链接与硬链接的区别
软链接文件名--软链接文件数据--文件名--文件数据
文件名--文件数据
硬链接
在linux中,文件名和文件数据是分开存储的
提示:1、在linux中,只有文件的硬链接数=0才会被删除
2、使用ls -l 可以查看一个文件的硬链接的数量
2、在日常工作中,几乎不会建立文件的硬链接
七、复制文件或目录 -cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
格式: cp 【选项】...源文件或目录...目标文件或目录..
常用选项:-f、-i、-p、-r
-f: 覆盖目标同名文件或目录时不进行提醒,而直接强制复制
-i : 覆盖目标同名文件或目录时提醒用户确认
-p: 复制时保持源文件的权限、属主及时间标记等属性不变
-r: 复制目录时必须使用此选项,表示递归复制所有文件及子目录
注:复制多个文件或目录时,目标位置必须时目录,且目标目录必须已存在
八、删除文件或目录 -rm
删除指定的文件或目录
rm 【选项】要删除的文件或目录...
常用选项:-f、-i、-r
-f:删除文件或目录时不进行提醒,而直接强制删除
-i:删除文件或目录时提醒用户确认(y表示删除,n表示不删除)
-r:删除目录时必须使用此选项,表示递归删除整个树(应谨慎使用)
注:不要直接删除系统中已有的目录或配置文件,以免出现意外故障
删除目录下文件时建议最好先切换到目录下再执行rm -rf命令
九、移动文件或目录 -mv
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作
mv [选项】... 源文件或目录... 目标文件或目录
mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件 例:rename jpg gif *.jpg
十、查找命令
1、查找命令文件存放目录-which
搜索范围由环境变量PATH决定
which 命令名|程序名 //默认当找到第一个目标后不在继续查找
which-a命令名|程序名 //在所有搜索路径中查找
2、查找文件或目录 -find
采用递归的方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式】
查找类型 | 关键字 | 说明 |
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type |
根据文件的类型进行查找,文件类型包括普通文件(f)、目录(d)、块设备文件(b) 字符设备文件(c)等 |