Linux实用指令篇

目录结构

Linux文件系统结构是从Unix文件结构演进过来的。在Linux文件系统中,通用的目录名用于表示一些常见的功能。

Linux 的文件系统是采用层级式的树状目录结构,在此结构中的最上层是 根目录 “/”,然后在此目录下再创建其他的目录。在Linux中,一切皆文件

image-20231231102601903

下面列出了一些较常见的Linux顶层虚拟目录名及其内容。

目录用途
/虚拟目录的根目录。通常不会在这里存储文件
/bin【常用】二进制目录,存放着最经常使用的命令
/sbins就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/home【常用】存放普通用户的主目录。在Linux中每个用户都有一个自己的目录,一般该目录名就是用户名
/root【常用】系统管理员目录,也称作超级权限者的用户主目录
/lib库目录,存放系统和应用程序的库文件
/etc【常用】系统配置文件目录,比如安装 mysql 数据库 my.conf
/usr【常用】用户二进制目录,大量用户级的应用程序和数据文件都存储在这里,类似与Windows下的program files目录,其中/usr/local一般作为安装位置
/boot启动目录,存放启动文件
/media媒体目录,可移动媒体设备的常用挂载点
/tmp临时目录,可以在该目录中创建和删除临时工作文件
/dev【常用】设备目录,Linux在这里创建设备节点
/mnt【常用】挂载目录,另一个可移动媒体设备的常用挂载点
/opt可选目录,常用于存放第三方软件包和数据文件
/var可变目录,用以存放经常变化的文件,比如日志文件
/proc【别动】进程目录,存放现有硬件及当前进程的相关信息
/srv【别动】服务目录,存放本地服务的相关文件
/sys【别动】系统目录,存放系统硬件信息的相关文件

Linux常用实操

远程登录到Linux服务器

工作场景:Linux服务器是开发小组共享,正式上线的项目是运行在公网,因此程序员需要远程登录到Linux进行项目管理或者开发。远程登录客户端有 Xshell6、Xftp6,我这里使用的是FinalShell,其他远程工具大同小异

image-20231231105418490

远程登录操作
  1. 先要知道Linux服务器的IP地址。使用ifconfig命令在Linux服务器终端查看IP地址。

    image-20231231103742486

  2. 在本地主机上打开cmd使用ping测试连通性

    image-20231231103840933

  3. ping通之后在FinalShell中新建ssh连接,输入Linux主机的IP地址和用户名、密码,点击确认后窗口中会弹出选项,选择一次性接收(类似登录的不保存账号密码) 或接受并保存(类似登录的记住账号密码)

    image-20231231104120072

  4. 连接成功

    image-20231231104546644

远程文件传输

找到下方文件区域的这个上传按钮,点击就可以直接上传Windows本机文件到Linux服务器。

image-20231231105048623

image-20231231105129537

Vi和Vim快速入门

Linux系统内置vi文本编辑器。Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补全、编译及错误跳转等方便编程的功能特别丰富,现在被广泛使用。

vi和vim常用的三种模式
  1. 正常模式
    以vim打开一个档案就直接进入一般模式了(这是默认的模式
    在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据。

  2. 插入模式
    按下i、I、o、O、a、A、r、R等任何一个字母之后才会进入编辑模式,一般来说按i即可。输入完成后,按键盘上的Esc键,即可回到正常模式。

  3. 命令行模式
    在正常模式下输入:,即可进入该模式,在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作。比如输入:q表示直接退出,输入:wq表示保存并退出,

案例:

直接输入vim hello.java并回车,如果该目录下没有该文件,将会自动创建一个

image-20231231111258637

输入i进入到插入模式,这时候就可以编辑文本内容了,输入结束后,按下Esc键回到正常模式。

image-20231231111739829

最后输入:wq保存并退出。

image-20231231111828398

vi和vim各种模式的相互切换

image-20231231112027117

输入时的常用快捷键

以下操作都是在正常模式下键入

  • 拷贝当前行,输入yy,拷贝当前向下的5行,即5yy

  • 粘贴,输入p

  • 删除当前行,输入dd,删除当前向下的5行,即5dd

  • 撤销操作,输入u

  • 定位文档的最末行G,定位最首行gg

  • 光标移动到某行,输入行号 shift+g,或者行号 G;

  • 在文件中查找某个单词,输入/关键字,找到的关键字会高亮

    image-20231231113050891

以下操作是在命令行模式下输入

  • 设置文件的行号,:set nu,取消文件的行号:set nonu

    image-20231231113334641

vimjianpantu

关机&重启命令
命令作用
shutdown -h now立刻进行关机
shutdown -h 11分钟后关机(直接输入shutdown的默认选项)
shutdown -r now现在重新启动计算机
halt(停止)关机,和第一条是一样的
reboot现在重新启动计算机
sync把内存的数据同步到磁盘

注意:

  1. 不管是重启系统还闭系统,先要运行sync命令,把内存中的数据写到磁盘中,小心驶得万年船
  2. 目前的 shutdown/reboot/halt 等命令均已经在关机前进行了sync
用户登录&注销
  1. 登录时尽量少用root帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用
    普通用户登录,登录后再用su - 用户名命令来切换身份

    image-20231231120216540

  2. 在提示符下输入 logout 即可注销用户。logout在图形运行级别是无效的,在运行级别3下有效

    如果使用的是root用户登录,logout会无效

    image-20231231115920737

    如果是用的普通用户admin登录,使用logout可以直接断开连接

    image-20231231120807224

    最开始登录时用的是admin用户,使用su - root切换到root,这时候使用logout可以注销root用户回到admin用户。

image-20231231120456739

用户管理

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

添加用户

基本语法:useradd 用户名

当创建用户成功之后,会在/home下自动创建与该用户同名的一个文件夹

image-20231231121425689

也可以使用useradd -d 指定用户目录 用户名,给新创建的用户指定用户目录。

image-20231231121816742

设置密码

基本语法:passwd 用户名,⚠️注意:如果没有写用户名,那么修改当前登录用户的密码

image-20231231164128564

显示当前用户所在的目录使用pwd

image-20231231164727385

删除用户

基本语法:userdel 用户名,注意:

  1. (推荐)userdel 用户名 这个命令并不会删除用户目录,仍保留在/home目录中的;
  2. userdel -r 用户名 这个命令会直接删除/home目录下该用户的所有文件,谨慎执行。

image-20231231165110668

查询用户信息

基本语法:id 用户名

切换用户

基本语法:su - 用户名

  1. 从权限高的切换到权限低的用户不用再输入密码,反之需要;

  2. 当需要返回到原来用户时,使用 exit/logout 指令。

查看登录用户

基本语法:who am i,注意返回的是初始登录用户,不管中间使用su - 用户名切换了多少次用户,返回的都是最开始登录的用户。

image-20231231170039989

用户组

类似与角色,系统可以对有【共性/权限】的多个用户进行统一的管理

  • 新增组:groupadd 组名

  • 删除组:groupdel 组名

  • 添加用户时直接加上组:useradd -g 用户组 用户名

特别的,如果添加一个新用户而没有指定组,那么系统会默认添加一个与用户名相同的组,并将该新用户添加进去

修改用户的组:usermod -g 新用户组 用户名

image-20231231180551983

用户和组相关文件
  • /etc/passwd 文件
    用户(user)的配置文件,记录用户的各种信息
    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

    image-20231231180959571

  • /etc/shadow 文件
    口令的配置文件
    每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

    image-20231231181343344

  • /etc/group 文件
    组 (group) 的配置文件,记录 Linux 包含的组信息
    每行的含义:组名:口令:组标识号:组内用户列表

    image-20231231181446235

运行级别
指定运行级别

运行级别说明
0:关机
1:单用户〖找回丢失密码〗
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面(默认)
6:系统重启
常用运行级别是3和5,也可以指定默认运行级别。

指定运行级别命令:init[0123456]

指定默认运行级别

multi-user.target表示运行级别3
graphical.target表示运行级别5

当前的默认运行级别:systemctl get-default
设置默认的运行级别:systemctl set-default TARGET.target

image-20231231190408415

重启之后就不会再默认进入到图形化界面了

image-20231231190529651

找回root用户密码

步骤:

  1. 在开机界面输入e

  2. 进入编辑界面,使用键盘上的上下键把光标往下移动,找到以"Linux16”开头内容所在的行”,在行尾输入:init=/bin/sh

    image-20240101095615878

  3. 输入完成后,直接按快捷键 Ctrl+X 进入单用户模式

  4. 在光标闪烁的位置中输入:mount -o remount,rw /,完成后按键盘的Enter

  5. 再输入:passwd,完成后按键盘的Enter,输入密码,然后再次确认密码

  6. 接着输入:touch /.autorelabel,完成后按键盘的Enter

  7. 继续输入:exec /sbin/init,完成后按Enter,等待系统自动修改密码,完成后,系统会自动重启。

    image-20240101095756638

帮助指令
man 获得帮助信息

基本语法:man [命令或配置文件],功能描述:获得帮助信息

Linux下,隐藏文件是以 . 开头的文件。选项可以组合使用,比如:ls -la

image-20240101100928342

help指令

基本语法:help 命令,功能描述:获得shell内置命令的帮助信息

文件目录相关指令
pwd指令

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

image-20240101101748975

ls指令

基本语法:ls [选项] [目录或文件]

常用选项:

-a:显示当前目录所有的文件和目录,包括隐藏的

-l:以列表的方式显示基本信息

cd指令

切换到指定目录

基本语法:cd [参数]

cd ~cd:会直接回到当前用户的用户目录,比如admin用户使用cd ~,会切换到/home/admin这个路径下。

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

mkdir指令

用于创建目录

基本语法:mkdir [选项] 要创建的目录

常用选项:

-p:创建多级目录

image-20240101104355874

rmdir指令和rm指令

rmdir删除空目录

  • 基本语法:rmdir [选项] 要删除的目录

rm删除文件或目录

  • 基本语法:rm [选项] 要删除的文件或目录

  • 常用选项:

    -r:递归删除整个文件夹

    -f:强制删除不提示

    -rf:如果目录非空必须使用rm -rf【谨慎使用】

image-20240101104755132

touch指令

创建一个空文件

基本语法:touch 文件名

cp指令

拷贝文件到指定目录

基本语法:cp [选项] source dest

常用选项:

-r:递归拷贝整个文件夹

image-20240101105710075

mv指令

移动文件与目录或重命名

基本语法:

  • mv oldNameFile newNameFile重命名文件
  • mv /source/file /targetFolder移动文件

image-20240102134106705

cat指令

查看文件内容

基本语法:cat [选项] 要查看的文件

常用选项:

-n:显示行号

cat只能浏览文件内容,而不能修改文件,为了浏览方便,一般会带上管道命令 | more

image-20240102183005406

more指令

是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件内容,more指令中内置了若干快捷键(交互的指令)。

基本语法:more 要查看的文件

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

用来分屏查看文件内容,功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次性将整个文件加载之后才显示,而是根据实际需要加载内容,对于显示大型文件具有较高的效率。

基本语法:less 要查看的文件

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

输出内容到控制台

基本语法:echo [选项] [输出内容]

注意事项:

  1. 在输出内容中不能添加感叹号,不然会识别错误
  2. echo 命令下输出内容尽量使用单引号或者不使用符号
head指令

用于显示文件的开头部分内容,默认显示文件的前10行内容

基本语法:head -n 行数 文件

tail指令

显示文件尾部的内容,默认显示文件的后10行内容

基本语法:

  • tail -n 行数 文件
  • tail -f 文件实时显示文件的更新
> 指令和>>指令
  • >:输出重定向

  • >>:追加

基本语法:

  • ls -l > 文件,列表的内容写入文件中(覆盖写)
  • ls -al >> 文件,列表的内容追加到文件的末尾
  • cat 文件1 > 文件2,用文件1的内容覆盖掉文件2的内容
  • echo '内容' >> 文件,将内容追加到文件末尾

image-20240102154147186

ln指令

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

基本语法:ln -s [原文件或目录] [软链接名],如果不使用-s创建的就是硬链接

注意:

  • 当我们使用pwd指令查看目录时,仍然看到的是软链接所在的目录;
  • 删除链接使用rm 链接名

image-20240102162409657

history指令

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

基本语法:history

注意事项:

  1. !指令编号 可以快速执行这条指令
  2. history n可以快速查看最近执行的n条指令

image-20240102163124497

时间日期指令
date指令

显示当前日期

基本语法:

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

常用选项:

-s 字符串时间,设置日期

cal指令

基本语法:cal [年份],如果不加选项默认显示本月日历

搜索查找指令
find指令

将从指定目录向下递归查找各子目录,将满足条件的文件或者目录显示在终端

基本语法:find [搜索范围] [选项]

选项功能
-name<查询方式>按照指定文件名查找模式查找文件
-user<用户名>查找属于指定用户名所有文件
-size<文件大小>按照指定的文件大小查找文件,+n大于,-n小于,n等于,单位可以是k,M,G,默认是M

image-20240102183005406

locate指令

locate 指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库,实现快速定位给定的文件,无需遍历整个文件系统,查询速度较快,为了保证查询结果的准确度,管理员必须定期更新locate时刻

基本语法:locate 搜索文件

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

which指令

可以查看某个指令在哪个目录下

基本语法:which 指令名

grep指令和管道符号|

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

基本语法:grep [选项] 查找内容 源文件

在 grep 命令中,^ 表示行首(即开头)。所以,^- 表示以 “-” 开头的行;

$ 表示行尾(即结尾),-$表示以"-"结尾的行。

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

image-20240102205954115

解压和压缩指令
gzip、gunzip指令

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

基本语法

  • gzip 文件,压缩文件,只能将文件压缩为 “.gz文件”
  • gunzip 文件.gz,解压缩文件命令
zip、unzip指令

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

基本语法:

  • zip [选项] 压缩包名称.zip 要压缩的文件或目录,压缩文件和目录的命令

  • unzip [选项] xxx.zip,解压缩文件

zip 常用选项
-r:递归压缩,即压缩目录

unzip 常用选项
-d 目录:指定解压后文件的存放目录

image-20240102211344668

tar指令【常用】

tar是打包指令,最后打包后的文件是 .tar.gz 的文件

基本语法:tar [选项] xxx.tar.gz 打包的内容

选项功能
-c产生 .tar打包文件
-v显示详细信息
-f指定压缩后的文件名
-z通过gzip压缩
-x解包 .tar文件

常用的压缩选项是 -zcvf 连用,解压缩则是 -zxvf

image-20240102213435325

  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值