Linux相关指令
1. Linux相关事项
-
一切皆文件
-
Linux区分大小写
-
Linux的文件名避免使用特殊字符
- 文件名称不要有
/
字符 - 连字符
-
不要放在文件名的第一个字符, shell会解析为命令行的执行选项 - 文件名最好不要用空格,因为shell会将空格视为参数之间的分隔符
- 文件名称不要有
-
Linux通配符含义
符号 | 说明 |
---|---|
* | 匹配0个或者多个任意字符 |
? | 匹配单个字符 |
[ ] | 匹配一组单个字符, 如[123],匹配1或2或3,如[1-3]表示一定范围内的字符 |
{} | 用于匹配字符串和范围,匹配必须用逗号分隔列表,{aa,bb}匹配 aa或者bb;{1…3}用于匹配范围,可以是字母,数字,但是不能同时为字母和数字 |
在介绍启动脚本之前,需要区分 分类shell的两种方式:
-
登录和非登录
-
登录shell是操作系统在用户登录的时候启动的,bash会读取
/etc/profile
配置shell。此配置会应用于每一个用户。bash会按顺序查找如下文件~/.bash_profile
~/.bash_login
~/.profile
-
非登录shell 是指用户不会登录到其中的shell
-
-
交互和非交互
- 交互shell会影响你输入的命令,并将输出发送到stdout(标准输出)和stderr
- 非交互shell将由shell脚本使用, 在使用期间用户不会再输入命令。
在启动交互式非登录shell时,bash会读取并执行已存在的/etc/bash.bashrc
,该操作会应用于使用bash的每位用户。
2.文件系统的相关命令
ls 列出文件和文件夹
ls [folder] 列出其他文件夹的内容
命令 | 全写 | 说明 |
---|---|---|
ls -l | ls --format=long | 以单独的一列显示内容列表 |
ls -m | ls --format=commas | 以逗号为分隔符显示列表内容 |
ls -a | ls --all | 查看文件夹中所有文件,包括隐藏文件 |
ls -A | 不显示当前目录. 和父级目录.. | 查看所有文件 |
ls -F | ls --classify | 直观的显示文件的类型 |
ls -R | –recursive | 查看子文件夹中的文件列表 |
ls -r | –reverse | 基于文件名称的,以倒序列出文件的内容 |
ls -t | –sort=time | 按照日期和时间的顺序对目录内容进行排序输出 |
ls -S | –sore=size | 按照文件大小排序输出文件信息, 最下的优先展示 |
ls -h | –human-readable | 将文件大小用K,M,G单位表示输出 |
注意:ls -F显示文件的更多的信息,文件后面的*
表示该文件是一个可执行文件,/
表明是目录。如果文件夹中没有任何附加符号,就代表是一个普通文件。
符号 | 对应文件类型 |
---|---|
* | 可执行文件 |
/ | 目录 |
@ | 符号连接文件 |
| | FIFO(也称为命名管道) |
= | 套接字 |
ls --color 以颜色显示文件内容
颜色 | 对应的文件类型 |
---|---|
绿色 | 可执行文件 |
蓝色 | 目录 |
紫红色 | 符号连接文件,套接字,图像文件,音频文件 |
黄色 | FIFO |
红色 | 压缩文件 |
ls -l 展示文件所有信息
输出的信息从左到右依次为:
-
每个文件和目录的实际权限
-
实际权限 由10个字符表示,分为4组。第一个字符为一组,剩下的字符每三个为一组
第一组表示文件类型
字符 含义 - 普通文件或者可执行文件 d 目录 l 符号链接文件 s 套接字 socket b 块设备 c 字符设备 p 命名管道,又叫FIFO 第二、三、四组分别表示文件的所有者,文件组以及系统其他用户拥有的权限。以
rwx|r-x|r--
为例,文件的所有者权限为rwx
,文件的组拥有的权限为r-x
, 系统的其他用户权限为r--
其中
r
表示允许读取w
表示允许修改x
表示运行执行-
表示不允许执行操作
对于文件夹来说,
r
表示用户可以使用ls命令列出目录的内容w
表示用户可以在目录中添加,删除,修改文件x
表示可以通过执行某个命令而访问目录,或者是访问目录中的子目录
-
-
文件的硬链接数目
如果该文件是目录,则这个数字表示该目录包含的子目录个数,包含
.
和..
目录 -
文件的所有者和所属组
-
文件的大小
-
文件名称