文件查找
No.1:which 命令
which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
命令格式
which 可执行文件名称
常用参数
- -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
- -p 与-n参数相同,但此处的包括了文件的路径
- -w 指定输出时栏位的宽度
- -V 显示版本信息
使用实例
1.查找文件、显示命令路径。
which pwd
2.用 which 去找出 which
which which
No.2:whereis 命令
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。
命令格式
whereis [-bmsu] [BMS 目录名 -f ] 文件名
常用参数
- -b 定位可执行文件
- -m 定位帮助文件
- -s 定位源代码文件
- -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
- -B 指定搜索可执行文件的路径
- -M 指定搜索帮助文件的路径
- -S 指定搜索源代码文件的路径
使用实例
1.将和 svn 文件相关的文件都查找出来。
whereis svn
2.只将二进制文件查找出来。
whereis -b svn
No.3:locate 命令
可以很快速的搜寻档案系统内是否有指定的档案。
命令格式
Locate [选择参数] [样式]
常用参数
- -e 将排除在寻找的范围之外。
- -1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
- -f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。
- -q 安静模式,不会显示任何错误讯息。
- -n 至多显示 n个输出。
- -r 使用正规运算式 做寻找的条件。
- -o 指定资料库存的名称。
- -d 指定资料库的路径
使用实例
1.查找和 pwd 相关的所有文件。
locate pwd
2.搜索etc 目录下,所有以 m 开头的文件。
locate /etc/m
No.4:find 命令
主要作用是沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。
命令格式
find [选项] [搜索路径] [表达式]
常用参数
- -print find 命令将匹配的文件输出到标准输出
- -exec find 命令对匹配的文件执行该参数所给出的shell 命令
- -name 按照文件名查找文件
- -type 查找某一类型的文件
使用实例
1.打印当前目录文件目录列表。
find . -print
2.打印当前目录下所有不以.txt 结尾的文件名。
find . ! -name “*.txt”
3.打印当前目录下所有权限为 777 的 php 文件。
find . -type f -name “*.php” -perm 777
4.找到当前目录下所有 php 文件,并显示其详细信息。
find . -name “*.php” -exec ls -l {} ;
5.查找当前目录下所有 c 代码文件,统计总行数。
find . -type f -name “*.c” | xargs wc -l
xargs 命令可以从标准输入接收输入,并把输入转换为一个特定的参数列表。 命令格式: command | xargs [选项]
[command] xargs 命令应该紧跟在管道操作符之后,因为它以标准输入作为主要的源数据流。
常用参数
- -n 指定每行最大的参数数量
- -d 指定分隔符
文件打包上传和下载
No.5:tar 命令
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的。
命令格式
tar [必要参数] [选择参数] [文件]
常用参数
必要参数:
- -A 新增压缩文件到已存在的压缩
- -B 设置区块大小
- -c 建立新的压缩文件
- -d 记录文件的差别
- -r 添加文件到已经压缩的文件
- -u 添加改变了和现有的文件到已经存在的压缩文件
- -x 从压缩的文件中提取文件
- -t 显示压缩文件的内容
- -z 支持gzip解压文件
- -j 支持bzip2解压文件
- -Z 支持compress解压文件
- -v 显示操作过程
- -l 文件系统边界设置
- -k 保留原有文件不覆盖
- -m 保留文件不被覆盖
- -W 确认压缩文件的正确性
可选参数:
- -b 设置区块数目
- -C 切换到指定目录
- -f 指定压缩文件
- –help 显示帮助信息
- –version 显示版本信息
使用实例
1.将文件打全部打包成tar包。
tar -cvf test.tar test.log # 仅打包,不压缩!
tar -zcvf test.tar.gz test.log # 打包后,以 gzip 压缩
tar -zcvf test.tar.bz2 test.log # 打包后,以 bzip2 压缩
2.将 tar 包解压缩
tar -zxvf test.tar.gz
No.6:gzip 命令
使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
命令格式
gzip [参数] [文件或者目录]
常用参数
- -a或–ascii 使用ASCII文字模式。
- -c或–stdout或–to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
- -d或–decompress或----uncompress 解开压缩文件。
- -f或–force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
- -h或–help 在线帮助。
使用实例
1.把 test1 目录下的每个文件压缩成.gz 文件。
test6 $ gzip *
文件权限设置
No.7:chmod 命令
用于改变linux系统文件或目录的访问权限。
命令格式
chmod [-cfvR] [–help] [–version] mode file
常用参数
必要参数:
- -c 当发生改变时,报告处理信息
- -f 错误信息不输出
- -R 处理指定目录以及其子目录下的所有文件
- -v 运行时显示详细处理信息
选择参数:
- –reference=<目录或者文件> 设置成具有指定目录或者文件具有相同的权限
- –version 显示版本信息
- <权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
- <权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
- <权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值
权限范围:
- u :目录或者文件的当前的用户
- g :目录或者文件的当前的群组
- o :除了目录或者文件的当前用户或群组之外的用户或者群组
- a :所有的用户及群组
权限代号:
- r:读权限,用数字4表示
- w:写权限,用数字2表示
- x:执行权限,用数字1表示
- -:删除权限,用数字0表示
使用实例
1.增加文件所有用户组可执行权限
chmod a+x test.log
2.删除所有用户的可执行权限
chmod a-x test.log
No.8:chgrp 命令
可采用群组名称或群组识别码的方式改变文件或目录的所属群组。
命令格式
chgrp [选项] [组] [文件]
常用参数
必要参数:
- -c 当发生改变时输出调试信息
- -f 不显示错误信息
- -R 处理指定目录以及其子目录下的所有文件
- -v 运行时显示详细的处理信息
- –dereference 作用于符号链接的指向,而不是符号链接本身
- –no-dereference 作用于符号链接本身
选择参数:
- –reference=<文件或者目录>
- –help 显示帮助信息
- –version 显示版本信息
使用实例
1.改变文件的群组属性
chgrp -v bin test.log
2.改变文件test1.log 的群组属性,使得文件test1.log的群组属性和参考文件test.log的群组属性相同
chgrp --reference=test.log test1.log
No.9:chown 命令
通过chown改变文件的拥有者和群组。
命令格式
chown [选项] [所有者] [:[组]] 文件
常用参数
必要参数:
- -c 显示更改的部分的信息
- -f 忽略错误信息
- -h 修复符号链接
- -R 处理指定目录以及其子目录下的所有文件
- -v 显示详细的处理信息
- -deference 作用于符号链接的指向,而不是链接文件本身
选择参数:
- –reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
- –from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
- –help 显示帮助信息
- –version 显示版本信息
使用实例
1.改变拥有者和群组
chown mail:mail test.log