第四篇:linux之文件管理
2021/8/5 7:09:47
本文主要是介绍第四篇:linux之文件管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第四篇:linux之文件管理
目录- 第四篇:linux之文件管理
- 一、处理目录
- 二、文件查看
- 三、文件相关
- 四、文件属性
- 五、文件类型
- 六、系统链接文件
一、处理目录
"""mkdir:英文全拼:make directory):创建一个新的目录""" 选项: -v 显示详细信息 -p 递归创建目录 # mkdir dir1 # mkdir /home/yangyi1/dir1 /home/yangyi1/dir2 # mkdir -v /home/yangyi1/{dir3,dir4} # mkdir -pv /home/yangyi1/dir5/dir6 """touch:创建一个新文件""" # touch file # 无则创建,有则修改时间 # touch file2 file3 # touch /home/yangyi1/file4 file5 # touch file{a,b,c} # {}集合,等价 touch filea fileb filec # touch file{1..10} # touch file{a..z} """rm(英文全拼:remove): 删除文件或目录""" 选项:-r: 递归 -f: 强制删除[不提醒] -v: 详细过程 rm file.txt # 删除文件, 默认rm存在alias别名,为rm -i,所以会提醒是否删除文件 rm -f file.txt # 删除文件, 不提醒 rm -r dir/ # 递归删除目录,会提示 rm -rf dir/ # 强制删除目录,不提醒(慎用) # 删除示例 mkdir /home/dir10 # 创建dir10的文件夹 touch /home/dir10/{file2,file3,.file4} # 文件夹dir10下创建3个文件 touch file{1..10} # 当前目录下创建file1 - file10的文件 touch {1..10}.pdf # 创建以.pdf结尾的文件 rm -rf file # 强制递归删除文件 rm -f file* # 强制删除以file开头的文件 rm -f *.txt # 强制删除以.txt结尾的文件 """mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称""" mv file file1 # 地移动算改名【相当于重命名】 mv file1 /tmp/ # 移动文件至tmp目录 注意:与mv file1 tmp 不一样 mv /tmp/file1 ./ # 移动tmp目录下的file1文件至当前目录下 mv dir/ /tmp/ # 移动dir目录至/tmp目录下 mv file1 file2 file3 /opt/ # 移动多个文件至同一个目录 mv dir1/ dir2/ dir3/ /opt/ # 移动多个目录至同一个目录 """cp(英文全拼:copy file): 复制文件或目录""" 选项:-v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性 cp name /tmp/name1 # 修改名称,将name拷贝到/tmp/文件夹下,同时修改名称为name1 cp file /tmp/ # 不修改名称,将file拷贝到/tmp/文件夹下 cp -p file /tmp/file_p # -p保持原文件或目录的属性 cp -r /etc/ /tmp/ # 复制目录需要使用-r参数, 递归复制 cp -rv /etc/hosts /etc/hostname /tmp/ # 拷贝多个文件至一个目录 """补充:以树状显示目录结构命令tree""" yum install tree tree /home/yangyi1/ # 以树状显示当前目录下的结构
二、文件查看
"""cat:查看文件内容(全拿出来)""" cat >> file1.txt << EOF # 往文件中追加内容 > yangyi > is > so > handsome > EOF # 结束符 """less、more文本查看,分页""" less /etc/services # 使用光标上下翻动,空格进行翻页,q退出 more /etc/services # 使用回车上下翻动,空格进行翻页,q退出(有百分比) """head""" head /etc/services # 查看头部内容,默认前10行 head -n5 /etc/services # 查看头部前5行,使用-n进行指定即可 ps aux | head -n5 # 查看前5个进程【|管道符,将前面的结果显示给后面】 """tail""" tail /etc/services # 查看尾部内容,默认后10行 tail -n20 /etc/services # 查看文件尾部20行 tail -f /var/log/messages # 动态查看文件尾部变化【一般看日志】 ps aux | tail -n2 # 查看后2个进程 """grep:过滤文件内容""" grep "yangyi" file.txt # 查找文件中有yangyi的行 ps aux | grep ssh # 一般和'|'联合使用,进行过滤,查看sshd进行是否运行 grep "^root" file.txt # 查看文件中以root开头的行 grep "root$" file.txt # 查看文件中以root结尾的行 grep -i "root" file.txt # 忽略大小写匹配 grep "sync$|ftp" file.txt # 匹配文件中包含sync结尾或ftp的字符串 """上翻、下翻""" ctrl+b: 下翻 crtl+f: 上翻
三、文件相关
"""wget:下载""" yum install wget # 安装wget wget 资源路径 # 默认下载到当前路径下 wget -O /home/a.jpg https://www.www.zyiz.net/i/l/?n=20&i=blog/111.png # 默认下载到指定路径下 """curl:测试连通性,浏览网上资源,-o保存到本地""" curl www.baidu.com 选项: -o 执行下载地址 curl -o /home/a.jpg https://www.www.zyiz.net/i/l/?n=20&i=blog/111.png # 把curl的资源保存到文件中去 """上传下载""" yum install lrzsz # 安装lrzsz rz # 进行上传,弹出框,上传到当前目录下(不能大于4g) sz a.png # 下载文件,下载到当前主机 """which: 查看命令的绝对路径""" which ls # 查看ls的绝对路径【which后面跟路径,在/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin找】 alias ls='ls --color=auto' /usr/bin/ls """whereis:查找文件的路径,帮助手册等""" whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz whereis -b ls # 查找ls命令,只找二进制(可执行文件) ls: /usr/bin/ls """sort:排序""" sort 文件名 # 按照第一部分【开头】进行排序 sort -t ":" -k2 file.txt # 【it指定以什么分隔,-k2第二部分,但是排序有误】 sort -t ":" -n -k2 file.txt # 【-n指定以数字进行排序】 """uniq:去重【必须连续的数据才可以,所以一般要和sort连用】""" sort file.txt | uniq """cut:截取字符""" echo "my name is yangyi, and my age is 18." > file1.txt # 将内容写入文件 cut -d " " -f2,4 file1.txt # 把字符串按" "进行分割,取出第2和第4个 name yangyi, """wc:统计行号""" 选项: -l 显示文件行数 -c 显示文件字节 -w 显示文件单词 wc -l /etc/services # 统计文件中有多少行 ls | wc -l # 统计当前路径下有多少文件和文件夹 ps aux |grep ssh | wc -l # 统计有多少个ssh相关的进程
四、文件属性
ls -l # 可以查看文献属性详细信息 【ls -lh以人性化显示,kb、gb等】 -rw-r--r--. 1 root root 22 Aug 4 12:55 file1.txt """含义""" -: 文件类型 rw-r--r--: 权限 1: 硬链接的次数 root: 属主(属于哪个用户) root: 属组(属于哪个组) 22: 文件大小 Aug 4 12:55: 修改时间 file1.txt: 文件名
五、文件类型
- # 普通文件(文本, 二进制, 压缩, 图片, 日志等) d # 目录文件 b # 设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2 c # 设备文件(字符设备),终端 /dev/tty1, /dev/zero s # 套接字文件, 进程间通信(socket) p # 管道文件 l # 链接文件 """通过file来查看更加详细的信息""" file file1.txt file1.txt: ASCII text
六、系统链接文件
"""软连接和硬链接区别""" 软链接新建inode,硬链接指向同一个inode ln命令创建硬链接,ln -s命令创建软链接 目录不能创建硬链接,并且硬链接不可以跨越分区系统 目录软链接特别常用,并且软连接支持跨越分区系统 硬链接文件与源文件的inode相同,软连接文件与源文件inode不同 删除软连接文件,对源文件及链接文件无任何影响 删除文件的硬链接文件,对源文件及链接文件无任何影响 删除链接文件的源文件,对硬链接无影响,会导致软连接失效 删除源文件及其硬链接文件,真个文件会被真正的删除 """建立软链接【类似于windows的快捷方式】""" ln -s a.png /home/yangyi1/a.png # 将当前目录下的a.png发送软链接到/home/yangyi1/目录下 一般是对可执行文件建立软链接(删除不会软链接,并不会删除原来) 比如: """建立硬链接""" ln /root/file /tmp/file_hard # 直接建立即可
这篇关于第四篇:linux之文件管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法