ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

第四篇:linux之文件管理

2021-08-04 14:33:14  阅读:221  来源: 互联网

标签:文件 目录 ls file linux 第四篇 txt 链接


第四篇: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.icode9.com/i/l/?n=20&i=blog/111.png  # 默认下载到指定路径下

"""curl:测试连通性,浏览网上资源,-o保存到本地"""
curl www.baidu.com
选项: -o 执行下载地址
curl -o /home/a.jpg https://www.icode9.com/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  # 直接建立即可

标签:文件,目录,ls,file,linux,第四篇,txt,链接
来源: https://www.cnblogs.com/yangyi215/p/15098731.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有