文章目录
1.ls命令
ls,全称 list ,其功能是列出指定目录下的内容及其相关属性信息。  默认状态下(即 ls 不加任何选项和参数),ls命令会列出当前目录的内容。而带上参数后,我们可以用 ls 来查看更细致的内容。
格式:ls [选项]… [文件或目录]… (…的意思是这些选项和参数可以是多个)
我们可以使用 ls --help 来查看 ls 命令的所有使用方式,这里常用的有:
-  
-l 已长格式显示文件和目录列表 ll=ls -l

 -  
-a 显示全部包括隐藏文件

 -  
-A 显示全部文件或隐藏文件,但不包括 . 和…

 -  
-d 只显示当前目录

 -  
-h 友好显示文件大小(一般会和 -l 一起使用,即 ls -lh,或 ll -h)

 -  
-R 递归显示该目录及该目录的子目录下的所有内容

 -  
–color 显示颜色(–color=[WHEN],WHEN可以是never、auto、always(默认))

 -  
-S 按从大到小排序
参考之前 ll 的命令,可以看出passwd最大、111.txt第二,rh最小

 
颜色表示的文件类型:
- 黑色:数据文件 TXT
 - 绿色:可执行文件
 - 黄色:块设备文件
 - 红色:压缩包
 - 蓝色:文件夹
 - 天蓝色:连接文件(快捷方式)
 
2.通配符
| 符号 | 功能 | 
|---|---|
| ? | 匹配一个字符,如:f?.txt | 
| * | 匹配所有非隐藏的字符无论多长多短,但不匹配 “.” 开头的文件,即隐藏文件 | 
| {1…10} | 1到10 | 
| {a…z} | a到z | 
| {A…Z} | A到Z | 
| [123] | 任取其中之一(没有也行) | 
| [a-z] | 注意范围 | 
| 0-9 | 匹配0-9任意一个 | 
| “\” | 转义符,表示被转义字符原来的意思 | 
| [[:lower:]] | 小写字母表示 a-z | 
| [[:upper:]] | 大写字母表示 a-z | 
| [^zhou] | 匹配列表中所有字符以外的字符,这里为除zhou之外的所有字符 | 
| [[:digit:]] | 任意数字,相当于0-9 | 
实验:
- 利用通配符{1…10}快速创建10个文件

 - 利用通配符[123]取其中之一显示

 - 利用通配符{a…z}快速创建文件

 - 利用通配符{A…Z}快速创建文件

 - 利用通配符[a-d]来显示文件

 - 利用通配符[2-5]来显示文件

 - [[:upper:]]匹配大写字母

 - [[:lower:]]匹配小写字母

 - ?匹配一个字符

 - *(星号)匹配的是所有非隐藏文件(.开头的文件都是隐藏文件)
我们通过 ls -a 可以看到 .123.exe 文件

但是,使用 * 号,就不会匹配到 .123.exe 文件

 
3.alias命令
alias,中文意思为别名,在Linux中可以使用alias命令来为比较繁琐的命令进行简化,就比如,我需要修改网卡信息,如果不使用alias命令,你需要在终端上敲 vim /etc/sysconfig/network-scripts/ifcfg-ens33,这对于初学者来说,算是比较长的命令了,不好记住,这时我们可以用alias命令对上面这条命令进行简化,就比如,我将修改网卡信息的命令使用mywangka,那我们可以这样做:
 先定义:alias mywangka=‘ vim /etc/sysconfig/network-scripts/ifcfg-ens33’
 执行:mywangka 就可以了
 
 (注:=前后不要有空格,不然会报错;alias不是永久生效的,当你将终端关闭后再打开,或者重启系统后,都会失效,要想永久生效,就需要修改系统的配置文件,这个我们以后会具体讲述)
当定义了一个别名的时候,各种类型的命令优先级就会发生变化,其优先级依次为:别名 > 内部命令 > Hash > 外部命令
4.du命令
du,全称 disk usage,用于查看磁盘的占用情况
 命令格式:du [选项] [文件或目录]
| 选项 | 说明 | 
|---|---|
| du(不加任何选项) | 统计所有的文件及目录大小,但是只显示目录,不显示文件 | 
| -a | 统计所有的东西,包括目录和文件 | 
| -h | 以人性化的方式显示统计结果(默认以KB计数,不显示单位) | 
| -s | 只统计所占空间的总体大小(只显示整体,不会展开显示) | 
| –max-depth=n | 表示查询的最大层数(n)(当前目录为0层,下级目录为1层,以此类推);此命令也可以使用 -d n(n为层数) | 
| –exclude=n | 统计除n以外的所有文件及目录 | 
(注:-a 和 -s 不能同时使用,因为你不可能即只要整体,又要显示所有文件及目录,二者是冲突的;除了a和s不能组合使用,其他的选项皆可组合使用,且du命令的选项之间没有先后之分,比如既可 du -sh,也可 du -hs,也可 du -s -h,但是du --exclude=n 后边想要-h的话,就必须要有-,因为一个选项是 --(双杠),一个是 -(单杠))
 du
 
 可以和 du -a 做个比较
du -a
 
 du -s
 
du -s
 
du --maxdepth=1(du -d 1)
 
 (注:./代表的是当前目录,它的层级是0;如果层数大于等于2,它显示的是2层之前的所有,包括 0,1,同样的,如果是3,则包含 0,1,2,以此类推,所以我们不能使用此命令来查看单单第n层的信息)
du --exclude=brltty(此命令意思为查看除brltty文件夹之外的所有文件大小)
这是du --exclude=brltty -h的内容:
 
 这是du -h的内容:
 
5.mkdir命令
mkdir,全称 make directory ,创建文件夹
 格式:mkdir 文件夹名称,比如 mkdir 666,就是创建一个名为666的文件夹
 
mkdir命令在实际的生产环境中常用的选项只有 -p 和 -v
mkdir -p 表示递归创建,比如mkdir -p aa/bb/cc ,就是在创建一个aa的文件夹,再在aa里创建bb,再在bb里创建cc,可以使用tree命令来查看递归关系。

 mkdir -v 表示会输出你新建文件夹的信息,比如 mkdir -v 123 ,当敲下回车键时,系统会提示你创建了一个名为123的文件夹,如果想要确定mkdir命令是否生效,可以使用 -v
 
6.touch命令
touch命令,在Linux中是用来创建文件的命令之一,它只作用于文件。
 格式:touch [文件名],比如 touch 123.txt,touch也支持批量创建,比如 touch 1.txt 2.txt 3.txt
 

7.ln命令
ln,全称 link ,链接 ,链接分为两种,一为软连接,一为硬链接
软连接: ln -s [源文件或目录] [链接文件或目录位置](目录必须是存在的,而文件必须是不存在的,我们不能链接到已有文件上)(我个人认为最好使用绝对路径)
ln -s /opt/123.txt /mnt/1.txt
我们可以先在123.txt中写几个数据,再将123.txt链接到mnt目录下的1.txt上去(1.txt之前是不存在的)
 
 
 如果想链接到已有的文件,就会报错
 
硬链接:ln [源文件或目录] [链接文件或目录位置](使用方法和软连接一样)
 
 软硬连接的区别:
| 对比项 | 软链接 | 硬链接 | 
|---|---|---|
| 本质 | 是同一个文件 | 不是同一个文件 | 
| inode号 | 相同 | 不同 | 
| 连接数 | 创建新的硬链接,连接数会增加,删除会减少 | 删除新建不会改变 | 
| 文件夹 | 不支持 | 支持 | 
| 删除源文件 | 只是连接数减一,不影响访问 | 无法访问链接文件 | 
| 文件类型 | 和源文件相同 | 链接文件,和源文件无关 | 
| 文件大小 | 和源文件相同 | 源文件的路径的长度 | 
解释:
1. 硬链接:
- 新建的硬链接是已经存在的文件的一个别名,所以本质上来说,它们是同一个文件(就比如你有大名、乳名、外号,这三者都代表你自己);
 - 所有的硬链接都是共享同一个inode号 (文件在文件系统上的唯一标识),当原文件删除时,新建的文件仍然可以使用(就是说长大后,没人再会喊你的乳名(等于被删了),但大名和外号依然代表你),除非链接数为0(删完所有硬链接,包括源文件),这个文件才会彻底被删掉(就是说一切能代表你的名字都没了,你才真正的不存在了);
 - 硬链接不支持链接文件夹,就算你想操作,系统也不会执行;
 - 就文件类型而言,所有的硬链接都是指向同一个文件的inode号,所以,硬链接的文件类型肯定是和源文件相同的(还是那句话,不论喊你的大名、乳名还是外号,都是喊你),当然,文件大小也肯定和源文件相同
 
2.软链接:
- 本质上来说,软链接相当于windows系统中的快捷方式;
 - 每创建一个软链接,它的inode号都是不同的(包括源文件);
 - 当新增或者删除软链接时,它的链接数并不会改变(个人感觉可能永远是1,若不对,望留言指正);
 - 软链接是支持对文件夹进行操作的;
 - 如果删除了源文件,软链接就失效了,因为软链接跳转的源文件不存在了(还是可以参考windows系统,源文件没了,快捷方式自然就没用了);
 - 至于类型,软链接是一个链接文件,和源文件是无关,它只负责跳转到源文件;
 - 文件大小则是源文件路径的长度;
 










