Linux文件目录指令
文件目录类
pwd指令
基本语法:pwd 显示当前工作目录的绝对路径
查看防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
打开防火墙:systemctl disable firewalld.service
cd指令
cd [参数] (切换到指定目录)
理解:
绝对路径: cd /home/tom/a.txt 形式
相对路径:假设当前在home目录下 cd tom/a.txt
cd ~ 或者cd : 回到当前用户的家目录,比如你是root ,cd ~ 到/root
cd … 回到当前目录的上一级目录
如果在/home/tom 执行cd…/cd…/root 或者分别推出 cd … , cd … , 再 root。
mkdir指令
mkdir指令用于创建目录
基本语法:mkdir [选项] 要创建的目录 mkdir /home/dog
常用选项 -p :创建多级目录 mkdir /home/animal/tiger
rmdir指令
rmdir指令删除空目录
基本语法:rmdir指令删除空目录
使用细节:rmdir 删除的是空目录,如果目录下有内容无法删除的。
提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录 (-rf代表递归强制的删除)->需谨慎。
touch指令
touch指令创建空文件
基本语法
touch 文件名称
在/home 创建一个空文件hello.txt
cp指令
cp指令拷贝文件到指定目录
cp [选项] source dest
案例一:将home下的hello.txt 复制到/home/bbb下
cp hello.txt /home/bbb/
常用选项 -r :递归复制整个文件夹
案例二:将/home/bbb 整个目录,拷贝到 /opt
cp -r /home/bbb/ /opt/
案例二当拷贝过一次目录后再拷贝需要输y,文件较多时需要输很多次太麻烦
强制覆盖不提示的方法:\cp -r /home/bbb/opt
rm指令
rm指令移除文件或目录
基本语法
rm 选项 要删除的文件或目录
常见选项 -r :递归删除整个文件夹 -f:强制删除不提示
案例一:将/home/hello.txt 删除
rm hello.txt 有提示 rm -f hello.txt 没提示
案例二:递归删除整个文件夹 /home/bbb , rm -r /home /bbb 这样每删除一个文件需要按一次y. rm -rf /home /bbb 强制删除不需要按y.
mv指令
mv 移动文件或目录或重命名
基本语法:
mv oldNameFile newNameFile (重命名)
案例一:在home下 mv cat.txt pig.txt
mv /temp/movefile/targetFolder (移动文件,类似剪切)
案例二:在home下 mv pig.txt /root/
案例三:在home下 mv pig.txt /root/tiger.txt -->移动并重命名
案例四:移动整个目录,比如将/opt/bbb 移动到/home下
mv /opt/bbb/ /home/
cat指令
cat查看文件内容
cat 选项 要查看的文件
常用选项 -n :显示行号
案例1:/etc/profile 文件内容,并显示行号
cat -n /etc/profile
使用细节:cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 |more
管道命令类似于把前面得到的结果再交给下一个指令进行处理。
cat -n /etc/profile |more 显示一部分,想要再翻一行按enter 按空格翻页
more指令
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键(交互的指令)
基本语法: more 要查看的文件
1.空格:向下翻一页
2.Enter:向下翻一行
3.q:立刻离开more,不再显示该文件内容
4.Ctrl +F 向下滚动一屏
5.Ctrl + B 返回上一屏
6.= :输出当前的行号
7. :f 输出文件名和当前的行号
案例:采用more查看文件
more /etc/profile
时间日期类
date指令
显示当前日期
基本语法:
1)date 显示当前时间
2)date +%Y 显示当前年份
3)date +%m 显示当前月份
4)date +%d 显示当前是当月哪一天
5)date “+%Y-%m-%d” 显示年月日
6)date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒
设置日期
基本语法
date -s 字符串时间
案例1.设置系统当前时间 ,比如设置为 2021-4-23 21:22:22
date -s “2021-4-23 21:22:22”
cal指令
基本语法:cal 选项 (不加选项,显示本月日历)
cal 2020 显示某一年日历
搜索查找类
find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:
find 搜索范围 选项
选项
- -name<查询方式> 按照指定的文件名查找模式查找文件
- -user<用户名> 查找属于指定用户名所有文件
- -size<文件大小> 按照指定的文件大小查找文件
案例1.根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt
案例2.查找/opt目录下,用户名称为 nobody的文件
find /opt -user root | more
案例3.查找整个linux系统下大于200M的文件 (+n 大于 -n小于 n等于 单位:k,M,G)
find / -size +200M
cd /run/media/zhouxin CentOS\ 7\ x86_64/LiveOS/
ls -lh (h表示人性化显示)
locate指令
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
基本语法:
locate 搜索文件
由于locate指令基于数据库进行查询,所有第一次运行前,必须用updatedb指令创建locate数据库
案例1.利用locate指令 查找hello.txt 文件所在目录
which指令,可以查看某个指令在哪个目录下 ,比如 ls指令在哪个目录
grep指令和管道符 |
表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法
grep 选项 查找内容 源文件
常用选项
- -n 显示匹配及行号
- -i 忽略字母大小写
案例 在hello.txt 文件中查找“yes”所在行,并显示行号
写法一:cat /home/hello.txt | grep “yes”
cat /home/hello.txt | grep -n “yes” 显示行号
写法二:grep -n “yes” /home/hello.txt
压缩和解压类
gzip/gunzip 指令
gzip用于压缩文件 ,gunzip用于解压
基本语法
gzip 文件 只能将文件压缩为*.gz文件
gunzip 文件,gz
zip/unzip指令
在项目打包发布中很有用
基本语法
zip 选项 XXX.zip 将要压缩的内容
unzip 选项 XXX.zip
zip常用选项 -r :递归压缩,即压缩目录
unzip常用选项 -d<目录> 指定解压后文件的存放目录
案例1.将/home下的所有文件/文件夹压缩成myhome.zip
zip -r myhome.zip /home/ -->将home目录及其包含的文件和子文件夹都压缩
案例2.将 myhome.zip 解压到 /opt/tmp 目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip
tar指令
tar指令是打包指令,最后打包后的文件是.tar.gz 的文件
基本语法
tar 选项 xxx.tar.gz 打包的内容
选项
- -c 产生.tar打包文件
- -v 显示详细信息
- -f 指定压缩后的文件名
- -z 打包同时压缩
- -x 解包.tar文件
案例1.压缩多个文件 ,将/home/pig.txt 和/home/cat.txt 压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
案例二:将/home 的文件夹压缩成 myhome.tar.gz(home下的内容)
tar -zcvf myhome.tar.gz /home/
案例三:将pc.tar.gz 解压到当前目录切换到 /opt/
tar -zxvf pc.tar.gz
案例四:将myhome.tar.gz 解压到 /opt/tmp2 目录下
tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 -C指定解压到的目录