文件目录指令
pwd指令
pwd 显示当前所在的目录
ls指令
ls [选项] [目录或文件] 查看文件信息
ls -a 查看所有文件和目录,包括隐藏的
ls -l 以列表的方式显示
ls -h 以人类可读方式显示
cd指令
cd 路径
绝对路径:cd /etc/
相对路径:
cd ~ 或者 cd: 回到家目录
cd ..: 回到上一级目录
mkdir指令
mkdir [选项] 路径 创建文件夹
mkdir -p 路径 创建多级文件夹
rmdir指令
rmdir [选项] 路径 删除空文件夹
rmdir -p 路径 递归删除空文件夹
文件夹下有内容,则无法删除
touch 指令
touch 文件路径
可以一次创建多个文件
touch 文件路径1 文件路径2
cp指令
cp [选项] 源路径 目标路径
cp 源路径 目标路径 拷贝单个文件
cp -r 源路径 目标路径 拷贝文件夹
案例:
1./home下创建test1文件夹
cd /home
mkdir test1
mkdir /home/test1
2.test1文件夹中创建a.txt,b.txt,c.txt三个文件
cd /home/test1
touch a.txt b.txt c.txt
3.把test1中的a.txt复制到/home下
cp /home/test1/a.txt /home
4.新建一个文件夹test2
mkdir /home/test2
5.拷贝整个test1到test2下
cp -r /home/test1 /home/test2
补充
当拷贝时发现相同文件,会提示[是否覆盖?]
\cp [选项] 源路径 目标路径 取消提示,强制复制
rm指令
删除目录或者文件
rm [选项] 目标路径
rm 文件路径 删除文件
rm -r 文件夹路径 删除文件夹
rm -f xxxx 强制删除不提示
案例:
1.删除test1中的a.txt文件
rm test1/a.txt
2.删除test2整个文件夹
rm -rf test2
mv指令
移动文件或重命名
mv 源路径 目标路径
案例:
1.修改test1中的a.txt 为 d.txt
mv test1/a.txt test1/d.txt
2.把test1中的c.txt 移动 到/home下
mv test1/c.txt /home
cat指令
显示文件内容
cat [选项] 文件路径
cat 文件路径 显示文件内容
cat -n 文件路径 显示文件内容,并显示行号
案例:
用cat显示/etc/profile 的内容,并显示行号
cat -n /etc/profile
补充说明
正常情况为了方便阅读,我们会在cat指令最后加上管道符" |",把内容传给more,分页显示
cat -n /etc/profile | more
cat -n /etc/profile | grep "ip"
more指令
more指令是基于vi编辑器的文本过滤器,以全屏的方式按页显示文本内容
more指令中内置了很多快捷键,用起来很方便
more 文件路径
快捷键:
空格 向下翻一页
Enter 向下翻一行
q 立即离开
Ctrl+F 向下滚动一屏 相当于空格
Ctrl+B 向上滚动一屏
= 显示当前行号
:f 输出文件名和当前行号
/搜索字段
less指令
比more更加强大,功能比more更过,这里只介绍部分
less 文件路径
快捷键:
空格 向下翻一页
pagedown 向下翻一页
pageup 向上翻一页
/字符串 向下查找[字符串],n下一个,N上一个
?字符串 向上查找[字符串],n下一个,N上一个
q 离开less
>指令 与 >> 指令
把前方语句的结果存进文件,若文件不存在会自动创建
命令 >/>> 文件路径 : 命名执行结果写入后面的文件里
>:输出重定向 会覆盖原来文件内容
>>:追加重定向 追加到文件末尾
案例:
1.把ll指令 查找的结果,用输出(覆盖)重定向写进a.txt
ll > a.txt
2.把ll指令 查找的结果,用追加重定向写进b.txt
ll >> b.txt
3.把/etc/profile 的内容 写进 /home/c.txt中
方式1: cp /etc/profile /home/c.txt
方式2: cat /etc/profile > /home/c.txt
echo指令
把内容输出到控制台
echo "内容"
head指令
head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容
head 文件路径 查看文件前10行
head -n 5 文件路径 查看文件前5行
tail指令
tail 用于显示文件的结尾部分内容,默认情况下tail指令显示文件的后10行内容
tail 文件路径 查看文件前10行
tail -n 5 文件路径 查看文件前5行
tail -f 文件路径 实时追踪文件所有的更新-----经常使用
ln指令
软链接也叫符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
ln 源文件或源文件夹 软连接名 硬链接
ln -s 源文件或源文件夹 软连接名 软链接
案例
1. 在/home目录下创建/root的软链接,名字为linktoroot
ln -s /root linktoroot
2. cd 到软链接,然后pwd,查看当前路径
3. 创建一个a.txt的文件
4. cd 到 /root目录,查看是否有变化
5. 删除/home下的linktoroot (需要注意,不能加/,最好不要加-r)
rm -f linktoroot
history指令
查看已经执行过历史命令,也可以执行历史指令
history 查看所有的历史指令
history 10 查看最近执行的10条指令
!100 执行编号为100的指令
时间日期类
date 指令
date 显示当前日期
date +%Y 显示当前年份
date +%m 显示当前月份
date +%d 显示当前天
案例:
显示当前时间年月日时分秒
date “+%Y-%m-%d %H:%M:%S”
cal指令
cal 显示当前日历
cal 2020 显示2020年的日历
cal 10 2018 显示2018年10月份日历
查询匹配过滤指令
find指令
find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
find [范围] [选项]
范围:指路径,不写默认从当前向下找,类似于windows的查找
选项:
-name 文件名 按文件名查找
-user 用户名 查找属于该用户的所有文件
-size 按文件大小查找
+20M
-20M
20M
20K
*.txt” 通配符要加引号
案例:
1.根据名称查找/home 目录下的 a.txt 文件
find /home -name a.txt
find /home -name "*.txt"
2.查找/opt 目录下,用户名称为 lxx 的文件
find /opt -user lxx
3.查找整个 linux 系统下大于 20M 的文件
find / -size +20M
4.查询/ 目录下,所有.txt 的文件
find / -name "*.txt"
grep 指令 和 管道符号 |
管道符:"|",表示将前一个命令的处理结果输出传递给后面的命令处理
grep:过滤查找
grep [选项] 过滤内容
选项:
-n 显示匹配行及行号
-i 忽略字母大小写
案例:
查找'yes'所在行,并显示行号
cat a.txt | grep -n "yes"
忽略大小写,查找'yes'所在行
cat a.txt | grep -ni "yes"
压缩和解压类
gzip/gunzip 指令
只能用于文件的压缩和解压 ,压缩后,原文件就消失
gzip 文件路径
gunzip gz文件路径
案例:
1.将 /home 下的 1.txt 文件使用gzip压缩
gzip /home/1.txt
2.将 /home 下的 1.txt.gz 文件使用gunzip解压
gunzip /home/1.txt.gz
zip/unzip 指令
zip 用于压缩文件, unzip 用于解压的,这个在项目打包发布中很有用的
zip [选项] name.zip 被压缩内容 压缩文件或者目录
-r 压缩目录
unzip [选项] 路径 name.zip 解压文件
-d 目录 指定压缩后的存放目录
案例:
1.将 /home 下的 所有文件进行压缩成 mypackage.zip
zip -r mypackage.zip /home
zip -r mypackage.zip /home/*
2.讲mypackge.zip解压到/opt/tmp下
unzip -d /opt/tmp mypackge.zip
tar指令
tar 指令 是打包指令,最后打包后的文件是 .tar.gz 的文件
压缩:
tar -zcvf xx.tar.gz 被压缩内容(文件,文件夹,多个也行)
解压:
tar -zxvf xx.tar.gz -C 目标路径
z:使用gzip格式压缩,否则是单纯打包
c:压缩
x:解压
f:显示压缩解压过程
v:显示提示信息
案例:
1.压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz
tar -zcvf a.tar.gz /home/a1.txt /home/a2.txt
2.将/home 的文件夹 压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
3.将 a.tar.gz 解压到当前目录
tar -zxvf a.tar.gz
4.将 myhome.tar.gz 解压到 /opt/ 目录下
tar -zxvf myhome.tar.gz -C /opt/