Linux实操-实用命令
[TOC]
Linux实操-实用命令
运行级别
基本介绍
0:关机
1:单用户(可用于找回密码)
2:多用户无网络服务
3:多用户有网络
4:保留
5:图形界面
6:重启
通常的运行级别是3和5,要修改默认的运行级别可修改文件/etc/inittab
的id:5:initdefault:
这一行中的数字即可。
如果级别设置错误,可以进入到单用户模式(参考修改root密码)中对文件进行修改。
切换到运行指定级别的指令
基本语法
应用实例
通过init
来切换不同的运行级别,从5切换到3,然后关机。
在图形界面操作效果显著。
找回root丢失密码
进入到单用户模式,然后修改root密码。(单用户不需要密码就可以登录)
不需要密码就已经进入单用户模式。
直接修改密码passwd root
密码修改完成
此方式修改root密码的前提是操作者有主机实体操作权利,接触到物理主机
帮助指令
简介
当对某个指令不熟悉时,使用Linux提供的帮助指令来了解这个指令的使用方法。
man
获得帮助信息
基本语法
1
| man [命令或配置文件] (功能描述,获得帮助信息)
|
查看ls命令的帮助信息
help
获得帮助信息
基本语法
查看cd命令的帮助信息
指令不熟悉,直接百度。
文件目录类
pwd
指令
显示当前工作目录的绝对路径。
基础语法
ls
指令
查看文件夹文件内容
基本语法
- a
:显示当前目录所有的文件和目录,包括隐藏的。
- l
:以列表的方式显示信息。
应用案例
显示当前目录的所有内容信息
cd
指令
切换到指定目录
基本语法
cd ~
/cd
:回到自己的家目录
cd..
:回到当前目录的上一级目录
当前工作目录是/root,我们希望进入到/home下
绝对路径:/home
即从根目录开始定位。
相对路径:../home
即从当前工作目录开始定位到需要的目录。
应用案例
了解当前所在目录才可以进行绝对路径定位,假设在/use/bin
目录下
mkdir
指令
用于创建目录(make directory)
基本语法
-p
:创建多级目录
应用实例
想要一次性创建两个目录,默认情况下mkdir
只可以一个个创建。
1
| mkdir -p /home/animal/tiger
|
rmdir
指令
删除空目录
基本语法
应用实例
rmdir
删除的是空目录,如果目录下有内容,则无法删除。
rm -rf
删除非空目录。
/home/dog
目录下有一个dog.txt
文件
touch
指令
创建空文件
基本语法
应用实例
cp
指令 ※
拷贝文件到指定目录
基本语法
source—>dest
-r
:递归复制整个文件夹
应用实例
拷贝单个文件
- 将
/home/aaa.txt
拷贝到/home/bbb
目录下
拷贝整个文件夹
1
| cp -r hibiscidai/ zhangwuji/
|
强制覆盖不提示
1 2
| \cp -r hibiscidai/ zhangwuji/ //强制覆盖不提示
|
rm
指令
删除文件或者目录
基本语法
-r
:递归删除整个文件夹
-f
:强制删除不提示
应用实例
删除单个文件
删除整个文件夹
强制删除不提示
mv
指令
1.移动文件
2.目录重命名
基本语法
同一个目录下移动,直接进行重命名。
1
| mv oldNameFile newNameFile
|
不同目录下移动会保留文件名并复制文件。
1
| mv /temp/movefile /targetFolder
|
应用实例
- 将
/home/aaa.txt
文件重命名为pig.txt
- 将
/home/pig.txt
文件移动到/root
目录下
cat
指令
查看文件内容,cat是以只读的方式
只能浏览文件,而不能修改文件。
基本语法
常用选项
-n
:显示行号
cat [选项] 要查看的文件 | more
:分页显示
应用实例
1 2
| cat /etc/profile cat -n /etc/profile
|
执行指令后,显示完全,加入管道符| more
可以实现分页显示
more
指令
一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
基本语法
快捷键
操作 |
功能说明 |
空白键[space] |
代表向下翻一页 |
Enter |
代表向下翻一行 |
q |
代表立刻离开more,不再显示该文件内容 |
Ctrl + F |
向下滚动一屏 |
Ctrl + B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |
应用实例
less
指令
less指令用来分屏查看文件内容,它的功能与more指令类似。但是比more指令更加强大,支持各种现实终端。
less执行在现实文件内容时,并不是一次将整个文件加载之后再显示,而是根据显示需要加载内容,对于显示大型文件
具有较高效率。
基本语法
快捷键
操作 |
功能说明 |
空白键 |
向下翻动一页 |
[pagedown] |
向下翻动一页 |
[pageup] |
向上翻动一页 |
/字串 |
向下搜寻[字串]的功能,n:向上查找,N:向下查找 |
?字串 |
向上搜寻[字串]的功能,n:向上查找,N:向下查找 |
q |
离开less这个程序 |
应用实例
用ftp链接到服务器,然后上传大型文件到/opt
>
和>>
指令
>
:输出重定向,会将原来的内容覆盖。
>>
:追加,不覆盖,追加到文件的尾部。
基本语法
如果文件较大,采用这种方式可以快速追加文件内容。
应用实例
将ls -l
显示的内容写入到a.txt文件。如果文件存在,直接覆盖;如果不存在,创建文件。
1
| cat /etc/profile > c.txt
|
如果用>>
就是追加
如果用>>
就是追加
- 将
/home
目录下的文件列表写入到/home/info.txt
中
1
| ls -l /home > /home/info.txt
|
echo
指令
echo输出内容到控制台
基本语法
应用实例
head
指令
显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法
应用实例
tail
指令
输出文件中尾部的呢日用,默认情况下tail指令显示文件的后10行内容。
基本语法
应用实例
- 实时监控
mudate.txt
,看看到文件有变化时,是否看到,实时的追加日期
在主机桌面终端中对文件进行追加,远程窗口可以检测到。
ln
指令
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径。
基本语法
应用实例
- 在
/home
目录下创建一个软连接 linkToRoot,连接到 /root
目录
但是使用pwd
指令进行查看,还是显示当前连接文件位置
history
指令
查看已经执行过历史命令,也可以执行历史指令
基本语法
应用实例
时间日期类
date
指令-显示时间
显示当前日期
基本语法
1
| date "+%Y-%m-%d %H:%M:%S"
|
应用实例
中间连接符号可以更改
1
| date "+%Y年%m月%d日 %H:%M:%S"
|
date
指令-设置时间
基本语法
应用实例
- 设置系统时间,比如设置成2020-11-11 11:22:22
1
| date -s "2020-11-11 11:22:22"
|
自动计算星期几。
cal
指令
查看日历指令
基本语法
不加选项,显示本月日历
应用实例
搜索查找类
find
指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法
选项说明
选项 |
功能 |
-name <查询方式> |
按照指定的文件名查找模式查找文件 , 可以使用通配符 * ? |
-user <用户名> |
查找属于指定用户名所有文件 |
-size <文件大小> |
按照指定的文件大小查找文件 |
应用实例
- 按文件名:根据名称查找
/home
目录下的hello.txt
文件
1
| find /home -name hello.txt
|
- 按拥有者:查找
/opt
目录下,用户名称为hibiscidai
的文件
1
| find /opt -user hibiscidai
|
- 查找整个linux系统下大于20M的文件(
+n
大于,-n
小于,n
等于)
1 2
| find / -size +20M find / -size +20480k
|
磁盘变小,可能是因为日志文件过大,用find
查找文件并将其删除,写成脚本。
locate
指令
locate
指令可以快速定位文件路径。
locate
指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。
Locate
指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
基本语法
locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb
指令创建locate数据库
应用实例
- 请使用locate 指令快速定位 info.txt 文件所在目录
1 2
| updatedb //创建locate的数据库 locate info.txt
|
grep
指令和管道|
grep过滤查找,管道符,|
,表示将前一个命令的处理结果输出传递给后面的命令处理。
基本语法
常用选项
选项 |
功能 |
-n |
显示匹配行及行号 |
-i |
忽略字母大小写 |
应用实例
- 请在 /etc/profile 文件中,查找
if
所在行,并且显示行号
1 2
| cat /etc/profile | grep -n if grep –n if /etc/profile
|
- 在/etc/profile 中查找 if ,并显示行,区别大小写
1
| grep –ni then /etc/profile
|
- 在/etc/profile 中查找 if ,并显示行,不区别大小写
压缩和解压缩类
gzip/gunzip
指令
gzip用于压缩文件,gunzip用于解压文件。
基本语法
使用gunzip
之后,原来压缩的文件会消失。
应用实例
- gzip压缩, 将
/home
下的text.txt
文件进行压缩
- gunzip压缩, 将
/home
下的text.txt.gz
文件进行解压缩
zip/uzip
指令
zip 用于压缩文件, unzip 用于解压的。
这个在项目打包发布中很有用的。
基本语法
1
| zip [选项] xxx.zip 需要压缩的内容
|
使用unzip
之后,原来压缩的文件不会消失。
zip常用选项
-r
:递归压缩,即压缩目录
uzip常用选项
-d <目录>
:指定解压后文件的存放目录
应用案例
- 将 /home下的 所有文件进行压缩成 mypackage.zip [退出home]
1
| zip -r mypackage.zip /home/
|
- 将 mypackge.zip 解压到 /opt/tmp 目录下
1
| unzip –d /opt/tmp/ mypackage.zip //如果/opt/tmp不存在,会自动创建
|
tar
指令
打包指令,最后打包后的文件是 .tar.gz 的文件。 [可以压缩,和解压]
基本语法
1
| tar [选项] XXX.tar.gz 打包的内容/目录
|
选项说明
选项 |
功能 |
-c |
产生.tar打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名 |
-z |
打包同时压缩 |
-x |
解包.tar文件 |
应用实例
- 压缩多个文件,将
/home/a.txt
和/home/b.txt
压缩成a.tar.gz
1
| tar -zcvf a.tar.gz a.txt b.txt
|
- 将
/home
的文件夹压缩成myhome.tar.gz
1
| tar -zcvf myhome.tar.gz /home/
|
使用tar
解压之后,原来压缩的文件不会消失。
- 将
myhome.tar.gz
解压到/opt/tmp2
目录下
1
| tar -zxvf myhome.tar.gz -C /opt/temp2/
|
指定解压前提是,解压的目录必须存在,否则报错。