1. 文件管理
1.1. 重定向 文件覆盖>和文件追加>>
重定向符号指令
> 输出重定向到一个文件或设备 覆盖原来的文件
>! 输出重定向到一个文件或设备 强制覆盖原来的文件
>> 输出重定向到一个文件或设备 追加原来的文件,不会覆盖原文件内容
< 输入重定向到一个程序
ls -al > text.txt #将显示的结果输出到 text.txt 文件中
ls -al >> text.txt #将显示的结果累加到 text.txt 文件中,该文件为累加的,旧数据保留
ls -al 1> text.txt 2> text.err #将显示的数据,正确的输出到 text.txt 错误的数据输出到 text.err
1.2. cat命令
cat 命令用于连接文件并打印到标准输出设备上
一次显示整个文件:
# cat text.txt
从键盘创建一个文件(只能创建新文件,不能编辑已有文件)
# cat > text.txt
将几个文件合并为一个文件:
# cat file1 file2 > file
1.3. chmod命令
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以控制文件如何被他人所调用。
用于改变 linux 系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操
作符表达式的文字设定法;另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的
读、写和执行权限;系统中其他用户的读、写和执行权限。可使用 ls -l test.txt 查找。
以文件 log2012.log 为例:
# -rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有 10 个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是 d,表示是一个目录。从第二个字符开始到第十个 9 个字符,3 个字符一组,分别表示了 3组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表只读,w 代表写,x 代表可执行。
1.3.1. 常用参数
-c # 当发生改变时,报告处理信息
-R # 处理指定目录以及其子目录下所有文件
1.3.2. 权限范围
u :# 目录或者文件的当前的用户
g :# 目录或者文件的当前的群组
o :# 除了目录或者文件的当前用户或群组之外的用户或者群组
a :# 所有的用户及群组
1.3.3. 权限代号
r :# 读权限,用数字4表示
w :# 写权限,用数字2表示
x :# 执行权限,用数字1表示
- :# 删除权限,用数字0表示
s :# 特殊权限
1.3.4. 实例
(1)增加文件 t.log 所有用户可执行权限
# chmod a+x t.log
(2)撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息
# chmod u=r t.log -c
(3)给 file 的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
# chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)
(4)将 test 目录及其子目录所有文件添加可读权限
# chmod u+r,g+r,o+r -R text/ -c
1.4. chown 命令
chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID;组可以是组名或者组 ID;文件是以空
格分开的要改变权限的文件列表,支持通配符。
-c # 显示更改的部分的信息
-R # 处理指定目录及子目录
1.4.1. 实例
(1)改变拥有者和群组 并显示改变信息
# chown -c mail:mail log2012.log
(2)改变文件群组
# chown -c :mail t.log
(3)改变文件夹及子文件目录属主及属组为 mail
# chown -cR mail: test/
1.5. cp 命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。
**注意:**命令行复制,如果目标文件已经存在会提示是否覆盖,而在 shell 脚本中,如果不加 -i 参数,则不会提示,而是直接覆盖!-i # 提示
-r # 复制目录及目录内所有项目
-a # 复制的文件与原文件时间一样
1.5.1. 实例
复制 a.txt 到 test 目录下,保持原文件时间,如果原文件存在提示是否覆盖。# cp -ai a.txt test
为 a.txt 建议一个链接(快捷方式)
# cp -s a.txt link_a.txt
1.6. find命令
用于在文件树中查找文件,并作出相应的处理。
命令格式:# find pathname -options [-print -exec -ok ...]
命令参数:pathname: # find命令所查找的目录路径
-print: # find命令将匹配的文件输出到标准输出
-exec: # find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }
和\;之间的空格。
-ok: # 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
命令选项:-name # 按照文件名查找文件
-perm # 按文件权限查找文件
-user # 按文件属主查找文件
-group # 按照文件所属的组来查找文件。
-type # 查找某一类型的文件,诸如:
b - # 块设备文件
d - # 目录
c - # 字符设备文件
l - # 符号链接文件
p - # 管道文件
f - # 普通文件
1.6.1. 实例
查找 48 小时内修改过的文件# find -atime -2
在当前目录查找 以 .log 结尾的文件。 . 代表当前目录# find ./ -name '*.log'
查找 /opt 目录下 权限为 777 的文件
# find /opt -perm 777
查找大于 1K 的文件# find -size +1000c
查找等于 1000 字符的文件# find -size 1000c
请登录后查看评论内容