CSA笔记2-文件管理命令
tree 以树状图显示多级目录
示例:
[root@localhost ~]# tree haha/
haha/
└── 111
└── 222
2 directories, 0 files
[root@localhost ~]# tree -L 1 haha/haha/
└── 111
echo > >> 输出重定向
[root@xxx ~]# cat 1.txt
this is root
[root@xxx ~]# echo this is rootroot >> 1.txt # >> 向一个文件中追加内容
[root@xxx ~]# cat 1.txt
this is root
this is rootroot
[root@xxx ~]# cat
this is root
[root@xxx ~]# cat > 2.txt
222
333
444^C
[root@xxx ~]# cat 2.txt
222
333
[root@xxx ~]# cat > 2.txt end
[root@xxx ~]# cat 2.txt
bbb
ccc
[root@xxx ~]# cat > 2.txt ddd
> eee
> eof
[root@xxx ~]# cat 2.txt
ddd
eee
[root@xxx ~]# cat >> 2.txt uuuu
> llll
> end
[root@xxx ~]# cat 2.txt
ddd
eee
uuuu
llll
[root@xxx ~]# ls aaa > 1.txt #正常输出的内容保存到文件中,用>或者1>
[root@xxx ~]# cat 1.txt
bbb
[root@xxx ~]# ls bbb
ls: cannot access 'bbb': No such file or directory #这是一个报错,错误输出
[root@xxx ~]# ls bbb 2>2.txt #把错误的输出保存到文件中,用2>
[root@xxx ~]# cat 2.txt
ls: cannot access 'bbb': No such file or directory
文件管理命令:
普通文件:
新建文件:touch vim gedit
编辑文件:vim gedit
查看文件:cat more head tail vim stat
删除文件:rm
普通文件和目录文件:
修改文件:chmod chown
拷贝文件:cp
移动文件:mv
链接文件:ln
绝对路径:pwd
touch
语法格式:touch 参数 文件名
常用参数:
-a 设置文件的读取时间记录 -t 设置文件的时间记录
-c 不创建新文件 --help 显示帮助信息
-d 设置时间与日期 --version 显示版本信息
-m 设置文件的修改时间记录
示例:
touch filel.txt 创建出一个指定名称的新文件
touch file{1..5},txt 结合通配符,创建多个指定名称的新文件
touch -d “2023-05-23 15:33” fille.cfg 修改指定文件的查看时间和修改时间
gedit
语法格式:gedit 参数 文件名
常用参数:
-f 忽略部分错误信息 -R 递归处理所有子文件
-s 使用独立模式 -v显示执行过程的详细信息
-w 使用独立方式打开文件 --enconding 设置字符编码
示例:
gedit file.cfg 打开并编辑指定文件
gedit --enconding=UTF-8 file 打开文件时使用的字符编码
cat
语法格式:cat 参数 文件名
常用参数:
示例:
cat file 查看指定文件的内容
cat -n file 查看指定文件的内容并显示行号
cat /dev/null > file 搭配空设备文件和输出重定向操作符,清空指定文件的内容
cat /dev/cdrom > rhel.iso 搭配输出重定向操作符,将光盘设备制作成镜像文件
more 查看大文件内容使用,可以通过空格键翻页和enter键翻行,默认在文件开头位置,q退出查看
head 不论文件大小,默认查看前10行,可以通过head -n xxx 查看指定行数文件
tail 不论文件大小,默认查看后10行,可以通过head -n xxx 查看指定行数文件
stat 查看文件的属性信息,包括文件大小,权限,链接,时间,类型,属主......
rm
语法格式:rm 参数 文件名
常用参数:
-d仅删除无子文件的空目录 -v显示执行过程的详细信息
-f 强制删除文件而不询问 --help 显示帮助信息
-i 删除文件前询问用户是否确认 --version 显示版本信息
-r 递归删除文件及其内部全部子文件
示例:
rm File. cfg 删除文件时默认会进行二次确认,敲击y进行确认
rm -i file.cfg 二次确认后删除,不确认文件保留
rm -f File. cfg 强制删除文件而无须二次确认
rm -rf Dir 删除指定目录及其内的全部子文件,一并强制删除
rm -f *. txt 强制删除当前工作目录内所有以.txt为后缀的文件
rm -rf ./* 强制清空当前所在位置的文件,但是千万不要在根目录或者一级子目录执行。rm -rf /* 强制清空服务器系统内的所有文件(慎用!!!)
chmod
语法格式:chmod 参数 文件名
常用参数:
-c改变权限成功后再输出成功信息 -no-preserve-root 不特殊对待根目录
-f 改变权限失败后不显示错误信息 --preserve-root 禁止对根目录进行递归操作
-R 递归处理所有子文件 --reference 使用指定参考文件的权限
-v 显示执行过程的详细信息 --version 显示版本信息
-help 显示帮助信息
示例:
chmod 0755 file.cfg 设定某个文件的权限为0755
chmod -R a+r dir 设定某个目录及其内部的子文件可以被任何人读取
-R 递归目录
a+r a=all r=读
u g o ==>u 是拥有者权限 ==>g 是用户权限 ==>o 其他用户权限
rwx rwx rwx
chmod u+r a.txt 所属用户增加可读权限
chmod u-r a.txt 所属用户减少可读权限
chmod u=r a.txt 所属用户设置可读权限
chmod a+r a.txt 给所有人增加可读权限
chmod u+x ,g+w a.txt 同时修改多个权限
chmod ug+x a.txt 同时修改多个权限
chmod u+s ./testFile 为某个二进制命令文件新增SUID特殊权限
chmod 777 a.txt 给所有人增加读、写和执行权限
chmod -R 777 目录 修改目录及其下所有文件的权限
一般情况下,目录的默认权限是:0755
普通文件的权限是:0644
补充说明:
第一位 表示文件类型(d表示目录 ,-表示文件)
第二到四位 表示文件所有者的权限
第五道七位 表示用户组的权限
第八到十位 表示其他用户的权限
权限使用r w x -四种符号表示
r : read 表示读权限,文件可以被查看
w: write 表示写权限,文件可以被修改
x: execute 表示执行权限,文件可以被执行
-: 表示没有权限
chown:超级用户用来修改文件属性的属主和文件组权限
sudo chown root:root xxx.cfg 修改xxx.cfg文件的用户和属主身份