1.pwd 命令 查看当前所在的工作目录
2.cd 命令 在不同的目录间切换,即更改当前工作目录 cd [目标路径] ;( cd /home/cent)
cd | 不加参数,返回用户的主目录 |
cd . | 进入当前目录 |
cd .. | 进入上一级目录(进入父目录) |
cd / | 进入上次所在的目录(进入根目录) |
cd ~ | 进入当前登录用户的主目录 |
cd ~root | 进入root用户的主目录 |
3 ls 命令 显示目录内容 ls 目录名称/ ls –[aldf……]
-a | 列出所有文件,包括以 "." 开头的隐藏文件 |
-l | 显示文件的详细信息,而且一行显示一个文件 |
-al | 以长文件的信息,一行一行显示出所有的文件 |
-d | 将目录像其它普通文件一样列出,而不是列出它们的内容 |
-f | 将文件按磁盘存储顺序列出,而不是按文件名排序输出 |
-I | 显示文件的inode编号 |
-u | 将文件按其最近访问时间排序 |
-t | 将文件按其最近修改时间排序 |
-c | 将文件按其状态修改时间排序 |
-r | 将输出结果逆序排列,和-t、-S等选项配合使用 |
-R | 将目录及其所有子目录的内容全部显示出来 |
-s | 按文件大小排序,默认大文件在前 |
4.cat 命令 在标准输出设备上显示文件内容 cat 文件列表(cat file1)
-b | 只显示非空行的行号 |
-E | 在每行结尾处显示“$”符号 |
-n | 显示所有行的行 打开一个文件:cat -n file1 显示所有行的行号 打开多个文件:cat -n file1 file2 |
-s | 将连续的多个空行替换为一个空行 |
-T | 把 制表符TAB字符显示为“^I” |
5.head 命令 显示文件开头若干行内容,默认显示前10行 head [-cnqv] 文件列表
-c size | 显示文件开头的 size 字节 | head -c 8 file1 显示前8个字节 |
-n number | 显示文件开头的 number 行 | head -n 2 file1 显示前2行 |
-q | 不显示文件名的头信息 | |
-v | 总是显示文件名的头信息 |
6.tail 命令 显示文件结尾若干行内容,默认显示后10行 tail [-cnqv] 文件列表
动态刷新文件内容
-c size | 显示文件结尾的 size 字节 | tail -c 9 file1 // 显示后9个字节 |
-n number | 显示文件结尾的 number 行 | tail -n 3 file1 // 显示后3行 |
-q | 不显示文件名的头信息 | |
-v | 总是显示文件名的头信息 |
7.more 命令 分页显示文件,即一次显示一页内容 more [选项] 文件名
-num | 指定每屏显示的行数 |
+num | 从第num行开始显示 |
-p | 先清屏再显示文本文件内容 |
F键或空格键 | 向下翻一页 |
D键或Ctrl+D | 向下翻半页 |
B键或Ctrl+B | 向上翻一页 |
回车键 | 向下移动一行 |
Q键 | 退出more命令 |
8. less 命令 分页显示文件,即一次显示一页内容
less命令允许用户向前或向后浏览文件,而more命令只能向前浏览 。其次less命令还可 以使用PageUp键向上翻页,PageDown键向下翻页
9. wc 命令 默认统计并输出文件的行数、单词数和字节数;可以同时统计多个文件 wc [-clLw] [文件列表] 一个文件: wc file1 多个文件:wc file1 file2
-c | 输出文件字节数 | wc -c file1 |
-l | 输出文件行数 | wc -l file1 |
-L | 输出文件最长的行的长度 | wc -L file1 |
-w | 输出文件单词数 | wc -w file1 |
10.touch 命令 创建新文件或修改文件时间戳 touch [-acmt] 文件名 touch file1
-a | 修改文件访问时间 |
-m | 修改文件修改时间 |
-c | 修改文件时间戳 |
-t time | 使用指定的时间值(202204202014) |
11.mkdir 命令 创建新目录 mkdir [-pm] 目录名( mkdir dir2/subdir 不使用-p选项连续创建两级目录)
-p | 递归创建所有子目录 | mkdir -p dir2/subdir 使用-p选项连续创建两级目录 |
-m mode | 为新建的目录设置指定的权限 mode | mkdir -m 755 dir3 // 手动指定新目录的权限 |
12.rmdir 命令 删除空目录;可以递归地删除多级目录,但必须全是空目录
rmdir dir1 删除空目录dir1
rmdir -p dir2/subdir 递归删除各级子目录
cp [-abdfilprsuvxPR] 源文件或源目录 目标文件或目标目录 |
cp file1 file2 dir1 // 复制文件file1和file2至目录dir1中 |
cp file1 file3 // 复制文件file1为file3,保存在当前目录中 |
cp file2 ~/file4 // 复制文件file2为file4,保存在用户主目录中 |
13.cp 命令(copy) 复制文件或目录
-d | 如果源文件为软链接则复制软链接,而不是复制源文件 |
-i | 如果目标文件已经存在,提示是否覆盖现有目标文件 |
-l | 建立源文件的硬链接文件而不是复制源文件 |
-s | 建立源文件的软链接文件而不是复制源文件 |
-p | 保留源文件的所有者、组、权限和时间信息 |
-r | 递归复制目录 |
-u | 如果目标文件有相同或更新的修改时间,则不复制源文件 |
-a | 相当于-d、-p和-r三个选项的组合,即 -dpr |
目标目录不存在,则创建(复制目录)cp -r dir1 dir2 // 目标目录dir2不存在
ls -ld dir2 dir2/* //创建目录dir2,复制源目录内容
mv [-fiuv] 源文件或源目录 目标文件或目标目录 |
mv file1 dir1 // 把文件file1移动到目录dir1中 |
14.mv 命令(move) 移动或重命名文件或目录
-f | 如果目标文件已存在,强制覆盖目标文件而且不给提示 |
-i | 如果目标文件已存在,提示是否覆盖目标文件 |
-u | 如果源文件的修改时间更新,则移动源文件 |
-v | 显示移动过程 |
15.rm 命令 永久删除文件或目录 rm [-dfirvR] 文件或目录(-fr 强制删除)
注意:不能用 rm 命令直接删除目录,必须加上 -r 选项。
如果 -r 和 -i 选项组合使用,那么在删除每一个子目录和文件前都会有提示
-f | 删除文件和目录前不给提示,即使文件和目录不存在 |
-i | 和-f选项相反,删除文件和目录前有提示 |
-r | 递归删除目录及其所有内容 |
-v | 删除文件前打印文件名 |
16.find 命令 可以根据给定的路径和表达式查找的文件或目录。如不加任何参数,表示查找当前路径下的所有文件和目录。 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 | 查找空文件或空目录 |
注意: find 命令中 +n 表示比 n 大,-n 表示比 n 小
①按文件访问时间查找文件: find . -atime -1 // 1天内访问过的文件
find . -atime 1 // 1天前的24小时之内访问过的文件
find . -atime +1 // 1天前的24小时之外访问过的文件
.代表当前目录及子目录下所有文件和文件夹
注意: 可以用完整的文件名,也可以用正则表达式
②根据文件名查找文件: find . -name "file1" <== 查找文件名为“file1”文件
find . -name "fi*" <== 查找文件名以“fi”开头的文件
在linux中通配符主要有:*、?、[]
通配符“*”可以匹配任意数量的任意字符,可以为0个,1个,或者多个。
通配符“?”可以在相应位置上匹配任意单个字符,只能是1个。
通配符“[]”可以匹配指定范围内的任意单个字符,只能是1个。
如:列出/dev目录下所有以d或者f开头且文件名为3个字符的文件:
ls /dev/[df]??
③根据文件大小查找文件: find . -size 2 // 2个文件块
find . -size +3k // 查找大于3KB的文件
17.tar 命令 对文件进行打包和压缩,将多个文件合并成一个文件,使用时可不加“-”
tar [选项] [-f 压缩包名] 源文件或目录
打包文件: tar -cvf 1.tar dir1 file1 // 将dir1和file1打包为1.tar
tar -tf 1.tar // 使用-t选项查看打包文件内容
解包文件:tar -xvf 1.tar -C /tmp // -C指定解压位置,即在目录/tmp中展开打包文件
-c | 创建打包文件(和-x、-t选项不能同时使用) |
-r | 将文件追加到打包文件的末尾 |
-A | 合并两个打包文件 |
-f filename | 指定打包文件名,一定要正确指定后缀名 |
-v | 显示正在处理的文件 |
-x | 展开打包文件 |
-t | 查看打包文件包含哪些文件或目录 |
-C dir | 在特定目录中展开打包文件 |
18.gzip 命令 对文件进行压缩,减少其占用的存储空间
gzip是Linux操作系统中常用的压缩工具,扩展名为“.gz”;gunzip是对应的解压缩工具
gzip 1.tar // 对1.tar进行压缩
gunzip 1.tar.gz //解压
tar -zcvf 1.tar.gz file1 file2//将file1和file2打包压缩
tar -zxvf 1.tar.gz -C /tmp //在指定的位置展开打包内容并解压
19.file 命令 查看文件的类型 文件名可以采用相对路径或绝对路径
file f1
file /usr/bin/ls
20.grep 命令 从文件中提取符合指定匹配表达式的行
经常和 find 命令一起使用,先找到指定文件,再从文件中查找特定行
grep [选项] [匹配表达式] 文件
-A num | 提取符合条件的行及紧随其后的 num 行 |
-B num | 提取符合条件的行及在其之前的 num 行 |
-C num | 提取符合条件的行及其前后各 num 行 |
-m num | 最多提取 num 行符合条件的行 |
-I | 不区分大小写 |
-n | 输出行号 |
-r | 递归地查找目录下的所有文件 |
-v | 反向查找,即只显示不满足条件的行 |
cat -n file1
grep -n 33 file1 // 提取包含33的行
grep -n -v 44 file1 // 提取不包含44的行
文件所有者和属组
21.chgrp 命令 修改文件属组
chgrp devteam file1 //将文件属组改为devteam
22.chown 命令 修改文件所有者和属组 chown [-R] 用户名:属组名 文件或目录
chown root file1 // 只修改文件的所有者为root
chown zys : zys file1 // 同时修改文件的所有者和属组为zys
chown . devteam file1 // 只修改文件的属组为devteam,组名前有“.”
目录权限的含义
- 读:可以读取目录的内容列表,如使用 ls 命令查看目录有哪些子目录和文件
- 写:可以修改目录的内容列表,包括以下操作
- 在此目录下新建文件和子目录(touch,mkdir)
- 删除该目录下已有的文件和子目录(rm、rmdir)
- 重命名该目录下已有的文件和子目录(mv)
- 移动该目录下已有文件和子目录的位置(mv)
- 执行:可以使用 cd 命令进入这个目录,并把它作为当前工作目录
修改文件权限-符号法:添加权限、移除权限和设置权限三种权限分别用“+”“-”“=”表示
-
- dir1:移除属组用户的执行权限,移除其他人的读和执行权限
chmod g-x,o-rx dir1 // 逗号左右不能有空格
-
- file1:移除所有者的执行权限,将属组和其他人的权限设置为可读
chmod u-x,go=r file1
-
- file2:为属组添加写权限,为所有人添加执行权限
chmod g+w,a+x file2
修改文件权限-数字法 chmod 754 file1