linux之文件管理

转自:https://blog.csdn.net/m0_67155975/article/details/123452914

1、新建/复制/移动/删除

文件创建命令touch

无则创建,有则修改时间
touch file                    
touch file2 file3
touch /home/od/file4 file5
{}集合,等价 touch a b c
touch file{a,b,c}            

目录创建命令mkdir

选项:-v 显示详细信息  -p 递归创建目录
mkdir dir1
mkdir /home/od/dir1 /home/od/dir2
mkdir -v /home/od/{dir3,dir4} 
mkdir -pv /home/od/dir5/dir6
mkdir -pv /home/{od/{diu,but},boy}

文件复制命令cp

选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性
文件目录用绝对路径
cp dir1/a.doc dir2     # 表示将dir1下的a.doc文件复制到dir2目录下
cp -r dir1 dir2           # 表示将dir1及其dir1下所包含的文件复制到dir2下
cp -r dir1/. dir2         # 表示将dir1下的文件复制到dir2,不包括dir1目录

cp file /tmp/file_copy
cp name /tmp/name         #不修改名称
cp file /tmp/             #不修改名称
cp -p file /tmp/file_p    #-p保持原文件或目录的属性
cp -r  /etc/ /tmp/        #复制目录需要使用-r参数, 递归复制
cp -rv /etc/hosts /etc/hostname /tmp  #拷贝多个文件至一个目录
cp -rv /etc/{hosts,hosts.bak}
cp -rv /etc/hosts{,-org}

文件移动命令mv

mv file file1             #原地移动算改名
mv file1 /tmp/            #移动文件至tmp目录
mv /tmp/file1 ./          #移动tmp目录的文件至当前目录
mv dir/ /tmp/             #移动目录至/tmp目录下

touch file{1..3}
mv file1 file2 file3 /opt/    #移动多个文件或至同一个目录

mkdir dir{1..3}
mv dir1/ dir2/ dir3/ /opt     #移动多个目录至同一个目录
mv file file1             #原地移动算改名
mv file1 /tmp/            #移动文件至tmp目录
mv /tmp/file1 ./          #移动tmp目录的文件至当前目录
mv dir/ /tmp/             #移动目录至/tmp目录下

touch file{1..3}
mv file1 file2 file3 /opt/    #移动多个文件或至同一个目录

mkdir dir{1..3}
mv dir1/ dir2/ dir3/ /opt     #移动多个目录至同一个目录

文件删除命令rm

选项:-r: 递归 -f: 强制删除 -v: 详细过程
rm file.txt      #删除文件, 默认rm存在alias别名,rm -i所以会提醒是否删除文件
rm -f file.txt    #删除文件, 不提醒

rm -r dir/        #递归删除目录,会提示
rm -rf dir/       #强制删除目录,不提醒(慎用)

1.rm删除示例
mkdir /home/dir10
touch /home/dir10/{file2,file3,.file4}
rm -f /home/dir10/  //不包括隐藏文件 
ls /home/dir10/ -a
. .. .file4

2.rm删除示例2
touch file{1..10}
touch {1..10}.pdf
rm -rf file 
rm -rf .pdf

2、查看文件内容(cat tac less more head tail tailf grep …)

#------cat
cp /etc/passwd ./pass
cat pass      #正常查看文件方式
cat -n pass   #-n显示文件有多少行
cat -A pass   #查看文件的特殊符号,比如文件中存在tab键
tac pass      #倒序查看文件
cat >> test2.txt <<EOF
ads
adf
EOF

#------less、more
less /etc/services    #使用光标上下翻动,空格进行翻页,q退出
more /etc/services    #使用回车上下翻动,空格进行翻页,q退出(有百分比)

#------head
head pass     #查看头部内容,默认前十行
head -n5 pass #查看头部5行,使用-n指定
ps aux | head -5 # 只看头部5个进程

#------tail
-f # 动态查看
tail pass  # 查看文件尾部,默认10行
tail -20 /var/log/secure  # 查看文件尾部20行
tail -f /var/log/messages #-f动态查看文件尾部的变化
tailf /var/log/messages   #查看文件尾部的变化
ps aux | tail -2

#------grep过滤文件内容
grep "^root" pass     #匹配以root开头的行
grep "bash$" pass     #匹配以bash结尾的行
grep -i "ftp" pass    #忽略大小写匹配
grep  -Ei "sync$|ftp" pass    #匹配文件中包含sync结尾或ftp字符串
grep -n -A 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的下2行
grep -n -B 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上2行
grep -n -C 2 "Failed" /var/log/secure #匹配/var/log/secure文件中Failed字符串,并打印它的上下2行

# 上翻,下翻
control+b:下翻
control+f:上翻

3、联网下载文件(wget、curl)、文件上传与下载(rz、sz)

wget、curl联网下载文件

yum install wget -y
#选项: -O: 指定下载地址
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#crul:浏览网络上资源,-o保存到本地
#选项: -o: 指定下载地址
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

rz、sz上传下载文件

yum install lrzsz -y  #不安装软件则无法执行该命令

rz  #只能上传文件文件上传(不能大于4g)
sz /path/file #只能下载文件

4、文件或命令查找(locate、which、whereis、find)

文件查找

locate /etc/sh       #搜索etc目录下所有以sh开头的文件
locate -i /etc/sh    #搜索etc目录下,所有以sh开头的文件,忽略大小写

命令查找

which ls  //查找ls命令的绝对路径

whereis ls       //查找命令的路径、帮助手册、等
whereis -b ls    //仅显示命令所在的路径,仅看二进制

对于内核相关的一些命令,用which whereis 是无法查询到的,需要使用type采查询
type -a ls        #查看命令的绝对路径(包括别名)
type -a for
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容