Linux实操-实用命令

Linux实操-实用命令

Linux实操-实用命令

[TOC]

Linux实操-实用命令

运行级别

基本介绍

  • 0:关机

  • 1:单用户(可用于找回密码)

  • 2:多用户无网络服务

  • 3:多用户有网络

  • 4:保留

  • 5:图形界面

  • 6:重启

通常的运行级别是3和5,要修改默认的运行级别可修改文件/etc/inittabid:5:initdefault:这一行中的数字即可。

如果级别设置错误,可以进入到单用户模式(参考修改root密码)中对文件进行修改。

切换到运行指定级别的指令

基本语法

1
init[0123456]

运行级别-1

应用实例

通过init来切换不同的运行级别,从5切换到3,然后关机。

在图形界面操作效果显著。

1
2
3
init 3
init 5
inti 0

运行级别-2

找回root丢失密码

进入到单用户模式,然后修改root密码。(单用户不需要密码就可以登录)

  • 关机状态下,开机瞬间按下enter键进入界面。

找回root丢失密码-1

  • 输入e,启动前编辑命令,选择kernel。

找回root丢失密码-2

  • 在输入e,输入1enter

找回root丢失密码-3

  • 输入b,引导。

找回root丢失密码-4

  • 进入单用户模式修改密码

不需要密码就可以进入单用户模式

直接修改密码passwd root

找回root丢失密码-5

  • 重启机器

密码修改完成

此方式修改root密码的前提是操作者有主机实体操作权利,接触到物理主机

帮助指令

简介

当对某个指令不熟悉时,使用Linux提供的帮助指令来了解这个指令的使用方法。

man 获得帮助信息

基本语法

1
man [命令或配置文件] (功能描述,获得帮助信息)

查看ls命令的帮助信息

1
man ls

帮助指令-1

help获得帮助信息

基本语法

1
help [命令]

查看cd命令的帮助信息

1
help cd

帮助指令-2

指令不熟悉,直接百度。

文件目录类

pwd指令

显示当前工作目录的绝对路径。

基础语法

1
pwd

pwd

ls指令

查看文件夹文件内容

基本语法

1
ls [选项] 目录或是文档
  • 常用选项

- a:显示当前目录所有的文件和目录,包括隐藏的。
- l:以列表的方式显示信息。

应用案例

显示当前目录的所有内容信息

ls

cd指令

切换到指定目录

基本语法

1
cd 参数
  • 常用参数

cd ~/cd:回到自己的家目录

cd..:回到当前目录的上一级目录

当前工作目录是/root,我们希望进入到/home下
绝对路径:/home 即从根目录开始定位。
相对路径:../home 即从当前工作目录开始定位到需要的目录。

cd-1

应用案例

  • 使用绝对路径切换到/root目录
1
cd /root
  • 使用相对路径到/root目录

了解当前所在目录才可以进行绝对路径定位,假设在/use/bin目录下

1
cd ../../root
  • 表示回到当前目录的上一级目录
1
cd ..
  • 回到家目录
1
2
cd
cd ~

cd-2

mkdir指令

用于创建目录(make directory)

基本语法

1
mkdir [选项] 要创建的目录
  • 常用选项

-p:创建多级目录

应用实例

  • 创建一个目录/home/dog
1
mkdir /home/dog

mkdir-1

  • 创建多级目录/home/animal/tiger

想要一次性创建两个目录,默认情况下mkdir只可以一个个创建。

1
mkdir -p /home/animal/tiger

mkdir-2

rmdir指令

删除空目录

基本语法

1
rmdir [选项] 要删除的空目录

应用实例

  • 删除目录/home/dog
1
rmdir /home/dog

rmdir-1

rmdir删除的是空目录,如果目录下有内容,则无法删除。
rm -rf删除非空目录。

  • 删除非空目录

/home/dog目录下有一个dog.txt文件

rmdir-2

touch指令

创建空文件

基本语法

1
touch 文件名称

应用实例

  • 创建一个空文件
1
touch hello.txt
1
touch ok1.txt ok2.txt

touch-1

cp指令 ※

拷贝文件到指定目录

基本语法

1
cp [选项] source dest

source–>dest

  • 常用选项

-r:递归复制整个文件夹

应用实例

拷贝单个文件

  • /home/aaa.txt拷贝到/home/bbb目录下
1
2
cp aaa.txt bbb/
`

cp-1

拷贝整个文件夹

1
cp -r hibiscidai/ zhangwuji/

cp-2

强制覆盖不提示

\cp强制覆盖不提示

1
\cp -r hibiscidai/ zhangwuji/

cp-3

rm指令

删除文件或者目录

基本语法

1
rm [选项] 要删除的文件或目录
  • 常用选项

-r:递归删除整个文件夹
-f:强制删除不提示

应用实例

删除单个文件

  • 删除home目录下的aaa.txt
1
rm aaa.txt

rm-1

删除整个文件夹

  • 递归删除整个文件夹 /home/bbb
1
rm -rf bbb/

rm-2

强制删除不提示

1
rm -f ok2.txt

rm-3

mv指令

1.移动文件
2.目录重命名

基本语法

  • 重命名

同一个目录下移动,直接进行重命名。

1
mv oldNameFile newNameFile
  • 移动文件

不同目录下移动会保留文件名并复制文件。

1
mv /temp/movefile /targetFolder

应用实例

  • /home/aaa.txt文件重命名为pig.txt
1
mv aaa.txt pig.txt

mv-1

  • /home/pig.txt文件移动到/root目录下
1
mv /home/pig.txt /root

mv-2

cat指令

查看文件内容,cat是以只读的方式

只能浏览文件,而不能修改文件。

基本语法

1
cat [选项] 要查看的文件

常用选项

-n:显示行号
cat [选项] 要查看的文件 | more:分页显示

应用实例

  • 浏览/etc/profile 文件
1
2
cat /etc/profile
cat -n /etc/profile

执行指令后,显示完全,加入管道符| more可以实现分页显示

cat-1

more指令

一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

基本语法

1
more 要查看的文件

快捷键

操作 功能说明
空白键[space] 代表向下翻一页
Enter 代表向下翻一行
q 代表立刻离开more,不再显示该文件内容
Ctrl + F 向下滚动一屏
Ctrl + B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号

应用实例

1
more /etc/profile

less指令

less指令用来分屏查看文件内容,它的功能与more指令类似。但是比more指令更加强大,支持各种现实终端。

less执行在现实文件内容时,并不是一次将整个文件加载之后再显示,而是根据显示需要加载内容,对于显示大型文件具有较高效率。

基本语法

1
less 要查看的文件

快捷键

操作 功能说明
空白键 向下翻动一页
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
/字串 向下搜寻[字串]的功能,n:向上查找,N:向下查找
?字串 向上搜寻[字串]的功能,n:向上查找,N:向下查找
q 离开less这个程序

应用实例

  • 采用less查看一个大文件

用ftp链接到服务器,然后上传大型文件到/opt

1
less 测试less指令.txt

>>>指令

>:输出重定向,会将原来的内容覆盖。
>>:追加,不覆盖,追加到文件的尾部。

基本语法

  • 列表的内容写入文件a.txt制表符(覆盖写)
1
ls -l > 文件
  • 列表的内容追加到文件aa.txt的末尾
1
ls -al >> 文件
  • 将文件1的内容覆盖到文件2
1
cat 文件1 > 文件2
  • 将内容写入文件
1
echo "内容" >> 文件

应用实例

  • 1
    1
    ls -l > a.txt

ls -l显示的内容写入到a.txt文件。如果文件存在,直接覆盖;如果不存在,创建文件。

重定向-1

  • 2
1
ls -l >> b.txt

重定向-2

  • 3
1
cat /etc/profile > c.txt

如果用>>就是追加

  • 4
1
echo 这是echo测试内容 > a.txt

如果用>>就是追加

  • /home目录下的文件列表写入到/home/info.txt
1
ls -l /home > /home/info.txt

重定向-3

  • 将当前日历信息追加到/home/mycal文件中
1
cal >> /home/mycal

重定向-4

echo指令

echo输出内容到控制台

基本语法

1
echo [选项] [输出内容]

应用实例

  • 使用echo指令输出环境变量,输出当前的环境变量
1
echo $PATH
  • 使用echo指令输出hello,world!
1
echo "hello,world!"

echo-1

head指令

显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

基本语法

  • 查看文件头10行内容
1
head 文件
  • 查看文件头5行内容,5可以是任意行数
1
head -n 5 文件

应用实例

  • 查看etc/profile的前面5行代码
1
head -n 5 /etc/profile

head-1

tail指令

输出文件中尾部的呢日用,默认情况下tail指令显示文件的后10行内容。

基本语法

  • 查看文件后10行内容
1
tail 文件
  • 查看文件后5行内容,5可以是任意行数
1
tail -n 5 文件
  • 实时追踪该文档的所有更新
1
tail -f 文件

应用实例

  • 查看etc/profile最后5行的代码
1
tail -n 5 /etc/profile

tail-1

  • 实时监控mudate.txt,看看到文件有变化时,是否看到,实时的追加日期
1
tail -f info.txt

tail-2

在主机桌面终端中对文件进行追加,远程窗口可以检测到。

tail-3

ln指令

软链接也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径

基本语法

  • 给原文件创建一个软链接
1
ln -s [原文件或目录] [软链接名]

应用实例

  • /home 目录下创建一个软连接 linkToRoot,连接到 /root 目录
1
ln  -s  /root/  linkToRoot

ln-1

ln-2

但是使用pwd指令进行查看,还是显示当前连接文件位置

  • 删除软连接 linkToRoot
1
rm –rf  linkToRoot

history指令

查看已经执行过历史命令,也可以执行历史指令

基本语法

  • 查看已经执行过历史命令
1
history

应用实例

  • 显示所有的历史命令
1
history
  • 显示最近使用过的10个指令
1
history 10
  • 执行历史编号为5的指令
1
!5

history

时间日期类

date指令-显示时间

显示当前日期

基本语法

  • 显示当前时间
1
date
  • 显示当前年份
1
date +%Y
  • 显示当前月份
1
date +%m
  • 显示当前是哪一天
1
date +%d
  • 显示年月日时分秒
1
date "+%Y-%m-%d %H:%M:%S"

date-1

应用实例

  • 显示当前时间信息
1
date
  • 显示当前时间年月日
1
date "+%Y %m %d"

中间连接符号可以更改

  • 显示当前时间年月日时分秒
1
date "+%Y年%m月%d日 %H:%M:%S"

date-2

date指令-设置时间

基本语法

1
date -s 字符串时间

应用实例

  • 设置系统时间,比如设置成2020-11-11 11:22:22
1
date -s "2020-11-11 11:22:22"

date-3

cal指令

查看日历指令

基本语法

1
cal [选项]

不加选项,显示本月日历

应用实例

  • 显示当前日历
1
cal
  • 显示2020年日历
1
cal 2020

cal

搜索查找类

find指令

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

基本语法

1
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查找文件并将其删除,写成脚本。

  • 查询根目录下所有.txt文件
1
find / -name *.txt

locate指令

locate指令可以快速定位文件路径。

locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。

Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。

基本语法

1
locate 搜索文件

locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库

应用实例

  • 请使用locate 指令快速定位 info.txt 文件所在目录
1
2
updatedb //创建locate的数据库
locate info.txt

locate

grep指令和管道|

grep过滤查找,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

基本语法

1
grep [选项] 查找内容 源文件

常用选项

选项 功能
-n 显示匹配行及行号
-i 忽略字母大小写

应用实例

  • 请在 /etc/profile 文件中,查找 “if” 所在行,并且显示行号
1
2
cat /etc/profile | grep -n if
grep –n if /etc/profile

grep-1

  • 在/etc/profile 中查找 if ,并显示行,区别大小写
1
grep –ni then /etc/profile
  • 在/etc/profile 中查找 if ,并显示行,不区别大小写
1
grep –n if /etc/profile

压缩和解压缩类

gzip/gunzip指令

gzip用于压缩文件,gunzip用于解压文件。

基本语法

  • 压缩文件,只能将文件压缩为*.gz文件
1
gzip 文件
  • 解压缩文件命令
1
gunzip 文件.gz

应用实例

  • gzip压缩, 将/home下的text.txt文件进行压缩
1
gzip text.txt
  • gunzip压缩, 将/home下的text.txt.gz文件进行解压缩
1
gunzip text.txt.gz

gzip

zip/uzip指令

zip 用于压缩文件, unzip 用于解压的。
这个在项目打包发布中很有用的。

基本语法

  • 压缩文件和目录
1
zip [选项] xxx.zip 需要压缩的内容
  • 解压缩文件
1
unzip [选项] xxx.zip

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

tar-1

  • /home的文件夹压缩成myhome.tar.gz
1
tar -zcvf myhome.tar.gz /home/
  • a.tar.gz解压到当前目录
1
tar -zxvf a.tar.gz
  • myhome.tar.gz解压到/opt/tmp2目录下
1
tar -zxvf myhome.tar.gz -C /opt/temp2/

指定解压前提是,解压的目录必须存在,否则报错。

文章作者: HibisciDai
文章链接: http://hibiscidai.com/2020/05/09/Linux实操-实用命令/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HibisciDai
支付宝打赏
微信打赏