Linux常用指令
文件目录类
linux系统文件目录结构
当前工作目录的绝对路径(pwd 指令)
基本语法
pwd
功能描述:显示当前工作目录的绝对路径
显示文件或目录(ls 指令)
基本语法
ls [选项] [目录或是文件]
常用选项
-a
:显示当前目录所有的文件和目录,包括隐藏的
-l
:以列表的方式显示信息
示例:查看root目录的所有文件
ls -a /root
切换指定目录(cd 指令)
基本语法
理解:绝对路径和相对路径
cd ~ / cd
回到自己的家目录,比如当前登录的是root,cd ~
到 /root
cd ..
回到当前目录的上一级
细节说明
- 使用绝对路径切换到root目录:
cd /root
- 使用相对路径切换到 /root 目录 ,当前在
/home/tom
:cd ../../root
- 表示回到当前目录的上一级目录,
cd ..
- 回到家目录:
cd ~
创建目录(mkdir 指令)
基本语法
mkdir [选项] 目录名
常用选项
-p
:创建多级目录
细节说明
- 创建一个目录 /home/dog :
mkdir /home/dog
- 创建多级目录/home/animal/tiger:
mkdir /home/animal/tiger
删除目录(rmdir 指令)
基本语法
rmdir [选项] 要删除的目录
常用选项
-r
:递归删除整个目录下的文件或目录
-f
:强制删除不提示
实例:删除一个目录 /home/dog
rmdir -rf /home/dog
细节说明
-
rmdir
删除的是空目录,如果目录下有内容时,是无法删除的 - 如果需要删除非空目录,需要使用
rm -rf 要删除的目录
创建空文件(touch指令)
基本语法
touch 文件名
实例:在/home目录下,创建一个空文件 hello.txt
touch /home/hello.txt
拷贝文件到指定目录(cp 指令)
基本语法
cp [选项] 要拷贝的文件 指定目录
常用选项
-r
:递归复制整个文件夹
实例:将/home/hello.txt 拷贝到 /home/chen 目录下
cp /home/hello.txt /home/chen
细节说明
-
强制覆盖不提示的方法:
\cp
:\cp -r /home/hello.txt /home/chen
移除文件或目录(rm 指令)
基本语法
rm [选项] 要删除的文件或目录
常用选项
-r
:递归删除整个文件夹
-f
:强制删除不提示
案例1:将/home/hello.txt 删除
rm /home/hello.txt
案例2:递归删除整个文件夹 /home/animal [删除整个文件夹,不提示]
rm -rf /home/animal
细节说明
- 强制删除不提示的方法:带上
-f
参数即可
移动文件与目录或重命名(mv 指令)
基本语法
mv 旧文件名 新文件名 / mv 要移动的文件 指定目录
案例1:将/home/c.txt文件重命名为p.txt
mv /home/c.txt p.txt
案例2:将/home/p.txt 文件移到到 /root 目录下
mv /home/p.txt /root
查看文件内容(cat 指令)
基本语法
cat [选项] 要查看的文件
常用选项
-n
:显示行号
案例:查看/etc/profile 文件内容,并显示行号
cat -n /etc/profile
细节说明
-
cat
只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令| more
more 指令
基本语法
more 要查看的文件
常用选项
空白键(space)
:代表向下翻一页
Enter
:代表向下翻一行
q
:代表立刻离开 more ,不再显示该文件内容
Ctrl+F
:向下滚动一屏
Ctrl+B
:返回上一屏
=
:输出当前行的行号
:f
:输出文件名和当前行的行号
less指令
基本语法
less 要查看的文件
常用选项
空白键
:向下翻动一页
[pagedown]
:向下翻动一页
[pageup]
:向上翻动一页
/字串
:向下搜寻字串的功能,n:向下查找 ,N:向上查找
?字串
:向上搜寻字串的功能,n:向上查找 ,N:向下查找
q
:离开 less 这个程序
输出内容到控制台(echo 指令)
基本语法
echo [选项] 输出内容
案例:查看环境变量
echo $PATH $HOSTNAME
> 指令和 >> 指令
>
:输出重定向
>>
:追加
实例
ls -l > hello.txt
列表的内容写入文件 hello.txt 中(覆盖写)
ls -al >> hello.txt
列表的内容追加到 hello.txt 的末尾
cat a.txt > b.txt
将 a.txt 的内容覆盖到 b.txt
echo "hello" >> a.txt
将 “hello" 追加到 a.txt 中
软链接(ln 指令)
软链接也称为符号链接,类似于windows里的快捷方式,主要是存放了链接其他文件的路径
基本语法
ln -s [原文件或目录] [软链接名]
实例1:
在/home目录下创建一个软链接 myroot,连接到/root目录
ln -s /root /home/myroot
删除软链接 myroot
rm /home/myroot
细节说明
- 当我们使用
pwd
指令查看目录时,仍然看到的是软链接所在的目录
时间日期类
显示当前日期(data 指令)
基本语法
date
显示当前时间
date +%Y
显示当前年份
date +%m
显示当前月份
date +%d
显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S"
显示年月日是分秒
设置日期(data 指令)
基本语法
date -s 字符串时间
实例:设置时间为 2021-08-14 13:14:25
date -s "2021-08-14 13:14:25"
查看日历(cal 指令)
基本语法
cal [选项]
不加选项显示本月日历
细节说明
- 显示本月日历:
cal
- 显示2021年日历:
cal 2021
搜索查找类
find 指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法
find [搜索范围] [选项]
常用选项
-name<查询方式>
:按照指定的文件名查找模式查找文件
-user<用户名>
:查找属于指定用户名所有文件
-size<文件大小>
:按照指定的文件大小查找文件
实例1:根据名称查找 /home 目录下的 he.txt 文件
find /home -name he.txt
实例2:查找 /opt 目录下,用户名为 root 的文件
find /opt -user root
实例3:查找整个 Linux 系统下大于 200M 的文件
find / -size +200M
细节说明
对于文件大小来说:
- +n:表示大于
- -n:表示小于
- n:表示等于
- 单位有 k,M,G
locate 指令
locate 指令可以快速定位文件路径,locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。
基本语法
locate 搜索文件
细节说明
- 由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用
updatedb
指令创建 locate 数据库 -
which
指令可以查看某个指令在哪个目录下
grep 指令管道符号 |
grep 过滤查找 ,管道符“|”,表示将前一个命令的处理结果传递给后面的命令处理。
基本语法
grep [选项] 查找内容 源文件
常用选项
-n
:显示匹配行及行号
-i
:忽略字母大小写
案例:在 hello.txt 文件中,查找"yes"所在行,并且显示符号
cat /home/hello.txt | grep "yes"
或
grep -n "yes" /home/hello.txt
压缩和解压类
gzip/gunzip 指令
gzip
用于压缩文件,gunzip
用于解压文件
基本语法
gzip 文件
gunzip 文件.gz
zip/unzip 指令
zip
用于压缩文件,unzip
用于解压文件
基本语法
zip [选项] XX.zip 将要压缩的内容
unzip [选项] XX.zip
zip常用选项
-r
:递归压缩,即压缩目录
unzip常用选项
-d<目录>
:指定解压后文件存放的目录
tar 指令
tar 指令是打包指令,打包后的文件是 .tar.gz
的文件
基本语法
tar [选项] XX.tar.gz 打包的内容
打包目录,压缩后的文件格式是 .tar.gz
常用选项
-c
:产生 .tar 打包文件
-v
:显示详细信息
-f
:指定压缩后的文件名
-z
:打包同时压缩
-x
:解包 .tar 文件
实例1:将 /home 目录下的 p.txt 和 a.txt 文件压缩成 pa.tar.gz
tar -zcvf /home/pa.tar.gz /home/p.txt /home/a.txt
实例2:将 pa.tar.gz 解压到当前目录
tar -zxvf pa.tar.gz
实例3:将 pa.tar.gz 解压到 /opt/tmp 目录下
tar -zxvf /home/pa.tar.gz -C /opt/tmp