Linux 文件、目录操作

Linux中的路径只能使用/
路径可以使用相对路径或绝对路径,相对路径相对于当前目录。

目录操作

查看当前目录
pwd
切换目录
cd  /  #切换到根目录
cd  /usr/local  #切换到指定目录,绝对路径
cd  ..   #切换过到上一级目录,也可以写成 ../
cd  local   #切换到当前目录下的local目录,也可以写成 ./local
新建、删除目录
mkdir /usr/local/jdk  #如果前面的usr、local不存在,会报错
mkdir -p /usr/local/jdk  #如果前面的usr、local不存在,会自动创建

rmdir /usr/local/jdk  #删除目录,目录要是空的才能被删除(连空的子目录都不能有),否则会报错

rm -r /usr/local/jdk  #递归删除目录,如果有子文件、子文件夹,会递归删除
#注意:不带-r的rm是删除文件,不是删除目录
列出子文件、子文件夹
ls  #缺省目录时默认为当前目录,默认不会列出隐藏的
ls /usr/local  #指定目录

ls -a  #列出所有的,a即all,隐藏的文件|目录以.开头
ls -l  #列出详细信息,文件尺寸默认单位Byte

ls -h  #列出详细信息+友好显示,文件尺寸带有单位K、M等,方便阅读

参数可以合并写,示例

ls -a -l
ls -al

文件操作

新建、删除、下载文件
touch conf/redis.conf  #新建文件。如果conf不存在,会报错

rm conf/redis.conf #删除文件

wget http://xxxxxx  #从网上下载文件,默认保存至当前目录
查看文件内容
cat redis.conf  #列出文件所有的内容
cat -n redis.conf  #-n  显示行号


head -n 5 redis.conf  #只列出前5行
head -5 redis.conf  #可简写

tail -n 5 redis.conf #只列出最后5行
tail -5 redis.conf  #可简写


more redis.conf  #一页一页地显示。浏览过程中可用的键:
# Enter  下一行
# 空格键  下一页
# :f  显示当前行号、文件名(冒号)
# q  退出文档显示
# /字符串  往下搜索字符串


less redis.conf  #也是一页一页地显示,但比more功能多。浏览过程中可用的键:
# Enter  下一行
# 空格键或PageDown  下一页
# PageUp  上一页
# :f   显示当前页面的详细信息,包括行号区间、字节数、字符数占比等
# q  退出文档显示
# /字符串   往下搜索字符串
# ?字符串   往上搜索字符串


#more、less适合浏览长文本
文件内容查找
grep bind redis.conf  #在redis.conf中 查找字符串bind,显示匹配的结果
#只是显示,不能直接编辑
管道

以一个命令的输出作为另一个命令的输入,输出 | 输入

ps -ef | grep tomcat  #在前面的结果中进行查找
ps -ef | less  #分页显示正在运行的进程
编辑文件内容
vim redis.conf #vim也可以写成vi,进入命令模式


#三种模式切换的快捷键
i  #从命令模式切换到输入模式
esc  #从输入模式回退到命令模式
:  #从命令模式进入底线命令模式


#命令模式常用快捷键
r #替换当前字符
dd  #删除当前行
yy  #复制当前行
p  #在当前行的下面粘贴出来
/字符串  #搜索


#底线命令模式常用快捷键
:w  #保存
:q  #退出,单独使用时用于未修改内容的退出
:q!  #强制退出,用于修改了内容但不想保存的退出
:wq  #保存并退出


#当然,home、end、delete、enter之类的快捷键也可以用
输出重定向

默认输出是输出到控制台,比如cat 、ls命令都是将结果输出到控制台。
使用>、>>可以将输出重定向到文件,不将结果输出到控制台,而是输出到文件中。

ls > out/ls.txt  #如果out目录不存在,会报错;如果ls.txt不存在,会自动创建;如果ls.txt已存在,会覆盖原有内容。

ls >> out/ls.txt  # >是覆盖文件的原有内容,>>是追加

# >、>>的前面只能是命令,不能是普通字符串

文件、目录共有的操作

复制、剪切
#复制文件
cp /usr/local/1.txt 1.txt  #源文件路径,目录路径
cp /usr/local/1.txt 2.txt  #可以指定目标文件名
cp /usr/local/1.txt /usr  复制到指定的目录下
 
 
#复制文件夹,-r 递归
cp -r /usr/local/tomcat /tomcat  
cp -r /usr/local/tomcat /tomcat1  #可指定目标文件夹名 


#如果存在同名的目标文件|文件夹,默认直接覆盖
#可使用-i指定存在同名目标文件|目录时要先询问是否覆盖:
cp -i /usr/local/1.txt 1.txt
cp -ir /usr/local/tomcat /tomcat  


#cp是复制,mv是剪切,操作基本相同
#不同点:mv剪切文件夹时,不用加-r,会自动递归
重命名
#如果都是文件|目录,且都在同一目录下,即为重命名
mv 1.txt 2.txt
mv /usr/local/jdk1.8 /usr/local/jdk 
压缩、解压
tar -czvf mall.tar.gz mall  #讲文件|文件夹打包并压缩

tar -xzvf mall.tar.gz  #解压,默认解压到当前目录下
tar -xzvf mall.tar.gz -C /usr/local  #-C指定解压到哪个目录下

# 参数:
# -c 创建
# -x 解开
# -z 压缩、解压时的归档。打包并压缩生成的是.tar.gz,如果不要-z,只是打包、不压缩,生成的是.tar文件
# -v 显示过程
# -f 指定档案名(压缩文件名),其后必须是压缩文件名
原创文章 18 获赞 2 访问量 1626

猜你喜欢

转载自blog.csdn.net/chy_18883701161/article/details/106050744
今日推荐