普通文件 -:用于存放数据、程序等信息的一般文件,包括文本文件和二进制文件。
目录文件 d:相当于Windows系统中的文件夹
链接文件 l:这个文件包含了另一个文件的路径名
Linux文件名区分大小写,以“.”开头的文件表示隐藏文件
常用命令:pwd 命令
功能:查看当前所在的工作目录
登录终端窗口后默认的工作目录是用户的主目录
cd 命令
功能:在不同的目录间切换,即更改当前工作目录
可以使用绝对路径或相对路径
cd . -->进入当前目录
cd .. -->进入上一级目录
cd - -->进入上次所在的目录
cd ~ -->进入当前登录用户的主目录
cd ~root -->进入root用户的主目录
ls 命令 功能:显示目录内容| 选项 | 功能说明 |
| -a | 列出所有文件,包括以 "." 开头的隐藏文件 |
| -d | 将目录像其它普通文件一样列出,而不是列出它们的内容 |
| -f | 将文件按磁盘存储顺序列出,而不是按文件名排序输出 |
| -i | 显示文件的inode编号 |
| -l | 显示文件的详细信息,而且一行显示一个文件 |
| -u | 将文件按其最近访问时间排序 |
| -t | 将文件按其最近修改时间排序 |
| -c | 将文件按其状态修改时间排序 |
| -r | 将输出结果逆序排列,和-t、-S等选项配合使用 |
| -R | 将目录及其所有子目录的内容全部显示出来 |
| -S | 按文件大小排序,默认大文件在前 |
[an@localhost ~]$ ls -a . aa .bash_logout .bashrc .cache .config dd .esd_auth .ICEauthority .mozilla .viminfo 模板 图片 下载 桌面 .. .bash_history .bash_profile bb cc .dbus ee ff .local .vim 公共 视频 文档 音乐 [an@localhost ~]$ ls -l 总用量 8 drwxrwxr-x. 2 an an 6 4月 21 15:36 aa drwxrwxr-x. 2 an an 6 4月 21 15:37 bb drwxrwxr-x. 2 an an 6 4月 21 15:37 cc drwxrwxr-x. 2 an an 6 4月 21 15:37 dd -rw-rw-r--. 1 an an 16 4月 21 15:38 ee -rw-rw-r--. 1 an an 15 4月 21 15:38 ff drwxr-xr-x. 2 an an 6 4月 19 17:23 公共 drwxr-xr-x. 2 an an 6 4月 19 17:23 模板 drwxr-xr-x. 2 an an 6 4月 19 17:23 视频 drwxr-xr-x. 2 an an 6 4月 19 17:23 图片 drwxr-xr-x. 2 an an 6 4月 19 17:23 文档 drwxr-xr-x. 2 an an 6 4月 19 17:23 下载 drwxr-xr-x. 2 an an 6 4月 19 17:23 音乐 drwxr-xr-x. 2 an an 6 4月 19 17:23 桌面
cat 命令
功能:显示文件内容
| 选项 | 功能说明 |
| -b | 只显示非空行的行号 |
| -E | 在每行结尾处显示“$”符号 |
| -n | 显示所有行的行号 |
| -s | 将连续的多个空行替换为一个空行 |
| -T | 把 制表符TAB字符显示为“^I” |
[an@localhost ~]$ cat ee
hello world
NZW
[an@localhost ~]$ cat -n ee
1 hello world
2 NZW
[an@localhost ~]$ cat -E ee
hello world$
NZW$
[an@localhost ~]$ cat -b ee
1 hello world
2 NZW
[an@localhost ~]$ cat -n ee ff
1 hello world
2 NZW
3 hello taiyuan
4
head 命令
功能:显示文件开头若干行,默认显示前10行
| 选项 | 功能说明 |
| -c size | 显示文件开头的 size 字节 |
| -n number | 显示文件开头的 number 行 |
| -q | 不显示文件名的头信息 |
| -v | 总是显示文件名的头信息 |
[an@localhost ~]$ head -n 2 ee //显示前2行 hello world NZW [an@localhost ~]$ head -c 8 ee //显示前8个字节 hello wo[an@localhost ~]$
tail 命令
功能:显示文件结尾若干行内容,默认显示后10行
| 选项 | 功能说明 |
| -c size | 显示文件结尾的 size 字节 |
| -n number | 显示文件结尾的 number 行 |
| -q | 不显示文件名的头信息 |
| -v | 总是显示文件名的头信息 |
[an@localhost ~]$ cat ee hello world NZW [an@localhost ~]$ tail -c 9 ee //显示后9个字节 orld NZW [an@localhost ~]$ tail -n 3 ee //显示后3行 hello world NZW
wc 命令
功能:默认统计并输出文件的行数,单词数和字节数
| 选项 | 功能说明 |
| -c | 输出文件字节数 |
| -l | 输出文件行数 |
| -L | 输出文件最长的行的长度 |
| -w | 输出文件单词数 |
[an@localhost ~]$ wc ee //输出文件整体信息 2 3 16 ee [an@localhost ~]$ wc -c ee //输出文件字节数 16 ee [an@localhost ~]$ wc -l ee //输出文件行数 2 ee [an@localhost ~]$ wc -L ee //输出文件最长行的长度 11 ee [an@localhost ~]$ wc -w ee //输出文件单词数 3 ee
touch 命令
功能:创建新文件或修改文件时间
| 选项 | 功能说明 |
| -a | 修改文件访问时间 |
| -m | 修改文件修改时间 |
| -c | 修改文件时间戳 |
| -t time | 使用指定的时间值(202204202014) |
[an@localhost ~]$ ls -l ff -rw-rw-r--. 1 an an 15 4月 21 15:38 ff [an@localhost ~]$ touch -mt 202003151605 ff [an@localhost ~]$ ls -l ff -rw-rw-r--. 1 an an 15 3月 15 2020 ff
mkdir 命令
功能:创建新目录
| 选项 | 功能说明 |
| -p | 递归创建所有子目录 |
| -m mode | 为新建的目录设置指定的权限 mode |
[an@localhost ~]$ mkdir aa [an@localhost ~]$ mkdir bb [an@localhost ~]$ mkdir cc [an@localhost ~]$ mkdir dd [an@localhost ~]$ ls aa bb cc dd 公共 模板 视频 图片 文档 下载 音乐 桌面 [an@localhost ~]$ mkdir -p aa/aa01 //创建子文件 [an@localhost ~]$ mkdir -p aa/aa02 [an@localhost ~]$ mkdir -p aa/aa03 [an@localhost ~]$ cd aa [an@localhost aa]$ ls aa01 aa02 aa03
rmdir 命令
功能:删除**空**目录
[an@localhost ~]$ ls aa bb cc dd ee ff 公共 模板 视频 图片 文档 下载 音乐 桌面 [an@localhost ~]$ rmdir dd [an@localhost ~]$ ls aa bb cc ee ff 公共 模板 视频 图片 文档 下载 音乐 桌面
cp 命令
功能:复制文件或者目录
| 选项 | 功能说明 |
| -d | 如果源文件为软链接则复制软链接,而不是复制源文件 |
| -i | 如果目标文件已经存在,提示是否覆盖现有目标文件 |
| -l | 建立源文件的硬链接文件而不是复制源文件 |
| -s | 建立源文件的软链接文件而不是复制源文件 |
| -p | 保留源文件的所有者、组、权限和时间信息 |
| -r | 递归复制目录 |
| -u | 如果目标文件有相同或更新的修改时间,则不复制源文件 |
| -a | 相当于-d、-p和-r三个选项的组合,即 -dpr |
[an@localhost ~]$ cp ee ff aa //复制文件ee ff 到目录aa [an@localhost aa]$ ls aa01 aa02 aa03 ee ff
mv 命令
功能:移动或重命名文件或目录
| 选项 | 功能说明 |
| -f | 如果目标文件已存在,强制覆盖目标文件而且不给提示 |
| -i | 如果目标文件已存在,提示是否覆盖目标文件 |
| -u | 如果源文件的修改时间更新,则移动源文件 |
| -v | 显示移动过程 |
[an@localhost ~]$ ls aa bb cc ee ff 公共 模板 视频 图片 文档 下载 音乐 桌面 [an@localhost ~]$ mv ee bb //将文件 ee 移动到目录 bb [an@localhost ~]$ mv cc dd //将目录 cc 重命名为 dd [an@localhost ~]$ ls aa bb dd ff 公共 模板 视频 图片 文档 下载 音乐 桌面
rm 命令
功能:永久删除文件或目录
| 选项 | 功能说明 |
| -f | 删除文件和目录前不给提示,即使文件和目录不存在 |
| -i | 和-f选项相反,删除文件和目录前有提示 |
| -r | 递归删除目录及其所有内容 |
| -v | 删除文件前打印文件名 |
[an@localhost ~]$ rm -i dd //不能直接删除目录 rm: 无法删除"dd": 是一个目录 [an@localhost ~]$ rm -ir dd rm:是否删除目录 "dd"?y [an@localhost ~]$ ls aa bb ff 公共 模板 视频 图片 文档 下载 音乐 桌面
find 命令
功能:可以根据给定的路径和表达式查找的文件或目录。如不加任何参数,表示查找当前路径下的所有文件和目录。
| 选项 | 功能说明 |
| -name pattern -iname pattern | 查找文件名符合指定模式 pattern 的文件,pattern 一般用正则表达式指定。-iname不区分大小写。 |
| -user uname -uid uid | 查找文件所有者是 uname 或文件所有者标识是 uid 的文件 |
| -group gname -gid gid | 查找文件所属组是 gname 或文件所属组标识是 gid 的文件 |
| -atime|-ctime|-mtime [+-]n | 查找文件访问时间(状态修改时间|内容修改时间)在 n 天前的文件 |
| -amin|-cmin|-mmin [+-]n | 查找文件访问时间在(状态修改时间|内容修改时间)n 分钟前的文件 |
| -newer file | 查找比指定文件 file 还要新的文件(即修改时间更晚) |
| -empty | 查找空文件或空目录 |
[an@localhost aa]$ find . -name "aa*" //查找文件名以“aa”开头的文件 ./aa01 ./aa02 ./aa03
tar 命令
功能:对文件进行打包和压缩,将多个文件合并成一个文件,使用时可不加“-”
打包文件通常以“.tar”作为文件扩展名,又被称为tar包
| 选项 | 功能说明 |
| -c | 创建打包文件(和-x、-t选项不能同时使用) |
| -r | 将文件追加到打包文件的末尾 |
| -A | 合并两个打包文件 |
| -f filename | 指定打包文件名,一定要正确指定后缀名 |
| -v | 显示正在处理的文件 |
| -x | 展开打包文件 |
| -t | 查看打包文件包含哪些文件或目录 |
| -C dir | 在特定目录中展开打包文件 |
//打包 [an@localhost aa]$ ls aa01 aa02 aa03 ee ff [an@localhost aa]$ tar -cvf 1.tar ee ff //将 ee 和 ff 打包为1.tar ee ff [an@localhost aa]$ ls 1.tar aa01 aa02 aa03 ee ff [an@localhost aa]$ tar -tf 1.tar //使用-t选项查看打包文件内容 ee ff //解包文件 [an@localhost aa]$ tar -xvf 1.tar -C /tmp //-C指定解压位置,即在目录/tmp中展开打包文件 ee ff [an@localhost aa]$ ls -d /tmp/ee /tmp/ff /tmp/ee /tmp/ff
gzip 命令
功能:对文件进行压缩,减少其占用的存储空间
gzip工具压缩后的压缩文件扩展名为“.gz”
grep 命令
功能:从文件中提取符合指定匹配表达式的行,经常和 find 命令一起使用
| 选项 | 功能说明 |
| -A num | 提取符合条件的行及紧随其后的 num 行 |
| -B num | 提取符合条件的行及在其之前的 num 行 |
| -C num | 提取符合条件的行及其前后各 num 行 |
| -m num | 最多提取 num 行符合条件的行 |
| -I | 不区分大小写 |
| -n | 输出行号 |
| -r | 递归地查找目录下的所有文件 |
| -v | 反向查找,即只显示不满足条件的行 |
[an@localhost aa]$ cat ee hello world NZW [an@localhost aa]$ grep -n l ee //提取包含l的行 1:hello world [an@localhost aa]$ grep -nv l ee 提取不包含l的行 2:NZW文件所有者和属组
用户的分类
所有者( user ) :创建文件的用户,可以修改 属组(group) :以某个用户组成员的身份访问文件的用户 其他人(others ) :除了前面两种身份的其他用户 每种用户身份都可以拥有三种权限:读、写、执行 注意:“用户组”本身没有权限,只有组内用户才有权限!chgrp 命令 ×××
功能:修改文件属组
chown 命令 ×××
功能:修改文件所有者和属组
文件权限的分类:
r (读) :使用 ls 命令查看目录有哪些子目录和文件
w (写) :①在此目录下新建文件和子目录(touch,mkdir)
②删除该目录下已有的文件和子目录(rm、rmdir)
③重命名该目录下已有的文件和子目录(mv)
④移动该目录下已有文件和子目录的位置(mv)
x (执行) :可以使用 cd 命令进入这个目录,并把它作为当前工作目录
没有权限使用“-”表示
drwxrwxr-x. 2 an an 6 4月 21 15:36 aa
第一组:rwx 所有者对该文件可读、可写、可执行
第二组:rwx 所有者对该文件可读、可写、可执行
第三组:r-x 所有者对该文件可读、不可写、可执行
修改文件权限-符号法
添加权限、移除权限和设置权限三种权限分别用 “+” “-” “=” 表示
把文件权限用 r 读、 w 写、 x 执行 表示 把用户身份用 u 所有者、 g 属组、 o 其他人、 a 所有人 表示
[an@localhost aa]$ ls -l 总用量 20 -rw-rw-r--. 1 an an 10240 4月 21 17:13 1.tar drwxrwxr-x. 2 an an 6 4月 21 16:22 aa01 drwxrwxr-x. 2 an an 6 4月 21 16:22 aa02 drwxrwxr-x. 2 an an 6 4月 21 16:22 aa03 -rw-rw-r--. 1 an an 16 4月 21 16:27 ee -rw-rw-r--. 1 an an 15 4月 21 16:27 ff [an@localhost aa]$ chmod g-x,o-rx aa01 [an@localhost aa]$ chmod u-x,go=r ee [an@localhost aa]$ chmod g+w,a+x ff [an@localhost aa]$ ls -l 总用量 20 -rw-rw-r--. 1 an an 10240 4月 21 17:13 1.tar drwxrw----. 2 an an 6 4月 21 16:22 aa01 drwxrwxr-x. 2 an an 6 4月 21 16:22 aa02 drwxrwxr-x. 2 an an 6 4月 21 16:22 aa03 -rw-r--r--. 1 an an 16 4月 21 16:27 ee -rwxrwxr-x. 1 an an 15 4月 21 16:27 ff
修改文件权限-数字法 ×××
把文件的三种权限分别用数字表示
把每种用户的三种权限对应的数字相加



