码农必备!Linux 基本命令 “百宝囊”,一键解锁系统操控力

Linux定义

Linux 是一种开源的多用户的多任务的操作系统,它基于 Unix 操作系统的理念开发,具有高度的稳定性、安全性和可定制性。Linux 以其内核为核心,包括系统工具、应用程序和文件系统等组件,能够在多种硬件平台上运行,从个人电脑到服务器,甚至是嵌入式设备。


操作系统

  1. 操作系统是安装在硬件设备上的第一层软件,它充当着用户与硬件之间的桥梁。

  2. 借助操作系统,用户能够便捷地对各类硬件设备进行调用和管理,无需深入了解硬件复杂的底层工作原理。

  3. 操作系统为应用程序的运行提供了基础环境。像我们常用的 QQ、微信等应用程序,只有在操作系统的支持下才能够进行安装和正常使用。


操作系统的常见分类

  • 桌面操作系统

    • Windows

    • macOS

    • Linux

  • 服务端操作系统

    • Linux(占有比重非常高)

    • Widows Server

  • 移动端操作系统

    • IOS

    • Android

  • 嵌入式操作系统

    • Linux(自动贩卖机/收银台/汽车中控)


Linux系统

特点

  • 开源

    • Linux 系统的开源特性使其源代码可供任何人查看、修改和分发。这不仅促进了全球范围内开发者的协作,还使得用户能够根据自身需求对系统进行定制化开发。例如,一些企业可以针对自身业务场景,对 Linux 内核进行裁剪和优化,以更好地适应特定的硬件环境和应用需求。

  • 免费

    • 通常情况下,Linux 系统可以免费获取和使用。这对于个人用户和企业来说,能够显著降低软件采购成本。许多开源的 Linux 发行版,如 Ubuntu、CentOS 等,都可以从官方网站免费下载,并且可以自由地安装和使用在多台设备上。不过,需要注意的是,开源不意味着一定是免费的,要看具体开源协议。有些基于 Linux 的商业发行版可能会收取一定的费用,但同时也会提供相应的技术支持和服务。

  • 安全稳定

    • Linux 系统具有出色的安全性能。它采用了多种安全机制,如用户权限管理、文件系统权限设置、SELinux(Security - Enhanced Linux)等安全模块,能够有效地防止未经授权的访问和恶意攻击。同时,Linux 内核的稳定性也备受赞誉,它能够长时间稳定运行,很少出现系统崩溃的情况。这使得 Linux 在服务器领域得到了广泛应用,许多关键业务系统,如银行、电信等行业的核心服务器,都采用 Linux 系统来确保服务的连续性和稳定性。

  • 可移植性好

    • Linux 系统可以在多种硬件平台上运行,包括个人电脑、服务器、嵌入式设备等。无论是 x86 架构的处理器,还是 ARM、PowerPC 等其他架构的处理器,Linux 都能够很好地适配。这得益于 Linux 内核的可移植性设计,以及丰富的设备驱动支持。例如,在嵌入式领域,Linux 被广泛应用于智能家居设备、工业控制芯片等各种硬件平台上,开发者可以根据硬件特点选择合适的 Linux 发行版,并进行定制化开发,以满足不同设备的功能需求。

  • 高性能

    • 在服务端环境中,Linux 系统通常以无图形化界面的方式运行,这使得系统资源能够更加集中地分配给业务处理。没有图形化界面的开销,Linux 服务器能够高效地处理大量的并发请求,提供出色的性能表现。例如,在 Web 服务器、数据库服务器等应用场景中,Linux 系统可以同时处理数千甚至数万个并发连接,确保服务的高效运行。此外,Linux 系统还提供了丰富的性能优化工具和参数配置选项,管理员可以根据具体的业务需求对系统进行调优,进一步提升系统性能。


Linux系统分类

市面上常见的Linux系统都有一个共同的名字:Linux发行版(在内核版基础上额外增加一些应用软件和图像化页面)


Linux系统的文件和目录

在Linux系统中,所有文件的起源是‘/’,习惯称之为根目录

home目录是所有用户文件的根目录

特征:

  • 在Linux系统中没有盘符的概念

  • Linux系统中的所有文件都存放在根目录下(常用 / 表示)

使用目录:

  • /:根目录

  • /home:所有普通用户的根目录

  • /root:Linux系统超级管理员的根目录

  • /usr/bin:Linux命令大部分都存在于该目录下

特点

  • 普通用户和超级管理员用户权限有很大区别

    • 普通用户可以进入超级管理员的根目录,但是无法对其中的文件进行任何操作

    • 但是超级管理员用户可以做任何操作

  • 一般情况下,普通用户的操作范围权限在自己的根目录当中

    • 例如:当前用户为admin,操作范围权限:/home/admin


Linux命令的基本格式

格式组成:
命令主体 -命令选择 命令参数
​
常见命令形式:
1)命令主体
2)命令主体 -命令选项
3)命令主体 参数
4)命令主体 -命令选项 命令参数
​
特点: 命令主体必须存在,而选项和参数都是可选的

查看命令帮助信息方法

方法一:
命令主体 --help:可以查看命令具备哪些选项及选项含义
​
方法二:
man 命令主体 : 查看命令的手册信息
注意:默认情况下系统手册是英文的,可以自行扩展修改为中文,实际应用推荐使用方法一

命令学习方法说明

此处以ls命令为例

ls:展示当前路径下有哪些文件
ls -a:显示当前路径下的所有文件(包括隐藏文件(文件名以.开头))
ls -l:显示当前路径下文件的详细信息
ls -al:显示当前路径下文件的详细信息(包括隐藏文件)
​
注意:
1. 命令选项连用形式为:命令主体 -选项1选项2
2. 命令主体和选项之间必须包含一个空格
3. 命令选项的作用一般是用来扩展命令主体功能的

Linux命令的共通知识点

通配符的使用

通配符:又叫文件名替换符号,符号具有特殊含义,例如:文件名:test,通配符可以写出:????或者 *

*:代表可以匹配任意长度的文件名(所有)
?:代表可以匹配单个字符,如果目标文件名有多个字符,该符号可以使用多个
[]:括号内的内容表示一个范围,[abc]:代表匹配文件名是a 或 b 或 c ,等价于[a-c]

绝对路径和相对路径

  • 绝对路径:路径源头固定不变,常见有两个:/:根目录 ~:当前用户的家目录
  • 相对路径:以当前所在路径为源头,常见的表示形式有两个:
    •   . 当前路径
    •   .. 当前目录的上一层(父层级)
  • 路径注意事项:
  1. 绝对路径使用时,需要确定

  2. 文件目录在根目录下还是用户目录下,合理选择起始符号即可

  3. 初学时,建议所有路径优先使用绝对路径,当清楚文件结构关系后,逐步转换为相对路径

  4. 相对路径中,如果是当前路径下的文件获取操作,那么 ./ 一般是可以省略的


案例

案例一:文件和目录操作相关命令(重点)

在桌面上打开终端窗口,执行如下操作:
01.查看当前路径位置
    pwd
02.查看当前目录下有哪些文件和文件夹
    ls
03.创建 adir,bdir,cdir三个文件夹(创建一个文件夹/创建多个文件夹)
    mkdir adir
    mkdir bdir cdir
04.切换到 adir 目录下
    cd adir
    或者
    cd ./adir
05.创建文件 aa 
    touch aa
06.切换到 kali 目录下(绝对路径/相对路径)
    cd ~
    cd /home/kali
07.创建文件 file 并重命名为 aa
    mv file aa
    这种情况下,当前文件中不存在aa的文件,否则执行的是将aa文件移动到file中
08.复制文件 aa 到 adir目录下(要求提示是否覆盖)
    cp -i aa adir
09.复制文件夹 bdir 到 cdir 目录下
    cp -r bdir cdir
    不加-r无法直接复制,会提示 ‘cp: 未指定 -r;略过目录 'bdir'’
10.移动文件 aa 到 bdir 目录下
    mv aa bdir
11.创建 bb,cc 两个文件(创建多个文件)
    touch bb cc
12.删除 bb 文件
    rm bb
13.删除 adir 文件
    不能直接 rm adir
    会提示 rm: 无法删除 'adir': 是一个目录
    rm -r adir
14.删除当前目录下所有文件和文件夹
    rm -r *
    
pwd:查看当前所在的路径位置(涉及到路径切换 cd 命令时,确认路径使用)
ls:查看当前路径下有哪些文件(对路径下文件进行了修改 -新建/复制/删除 时使用)
cd:切换路径(更换操作目录时使用,常和绝对路径/相对路径配合使用)
touch:创建普通文件(单文件:touch 文件名   多文件:touch 文件名1 文件名2 ...)
mkdir:创建目录文件(单文件夹:mkdir 文件夹名1  多文件夹:mkdir 文件夹名1 文件夹名2 ....)
cp:复制文件/文件夹 (文件:cp 源文件 目标文件夹  目录:cp -r 源文件夹 目标文件夹)
mv:移动文件/文件夹/改名(文件:mv 源文件 目标文件夹  目录:mv 源文件夹 目标文件夹)
mv:改名(mv 源文件名 新名字)(新名字必须是当前目录下不存在的文件夹)
rm:删除文件/文件夹(文件:rm 文件名   目录:rm -r 文件夹名)
rm:删除所有文件和文件夹(rm -r *)

案例二: 对文件内容的相关操作命令

在桌面上打开终端窗口,执行如下操作:
01. 将根目录下所有文件的详细信息输出到 demo 文件中(包含隐藏文件)
    ls -al / > demo
    ps:不用考虑存不存在demo文件,不存在,自己会创建
02. 直接查看 demo 文件
    cat demo
03. 将 /usr/bin 目录下所有文件的详细信息追加到 demo 文件中
    ls -al /usr/bin >> demo
    注意:追加是两个>,一个会覆盖掉文件本来的内容
04. 以分屏的形式查看 demo 文件内容
    more demo
    向下:空格 向上:B 退出:Q
05. 查找 demo 文件中包含 mysql 的信息
    grep 'mysql' demo
06. 在 /usr/bin 目录下所有文件的信息中查找包含 mysql 的信息 
    ls -al /usr/bin | grep 'mysql'
07. 清空当前终端窗口内容 
    clear
    

补充:

>:重定向符号(将左侧命令的结果输出到右侧的文件中)(反复执行,文件原有内容会被替换)
>>:追加重定向符号(将左侧命令的结果输出到右侧的文件中)(反复执行,内容追加,文件原有内容不会被替换)
cat:代表查看文件内容(格式:cat 文件名)(适合于查看文件内容较少的文件)
more:以分屏形式查看文件内容(格式:more 文件名)(适合于查看文件内容较多的文件)
|:管道符号(将左侧命令的结果传递给右侧命令当数据源)
|:例如:ls -al /user/bin | grep 'mysql' (从左侧命令的结果中查找mysql)(管道符右侧命令多用:grep 和 more)


案例三 查看日志文件信息

在桌面上打开终端窗口,执行如下操作:
01. 将根目录下所有文件的详细信息输出到 demo 文件中
	ls -al / > demo
02. 查看 demo 文件前 5 行内容
	head -5 demo
03. 查看 demo 文件后 5 行内容
	tail -5 demo
04. 将 ping www.itheima.com 的信息输出到 ping_log 文件中
	ping www.itheima.com
    ping IP地址/域名    
	作用:查验该IP/域名是否能够通信  在Linux中,只要不手动停止,默认情况下,会一直运行
	ping www.itheima.com > ping_log
05. 重新开启一个终端窗口,动态查看 ping_log 文件中的信息
	tail -f ping_log
 	注意:工作中要动态查看日志文件,就使用这个命令
head:可以查看文件开头内容(head 文件名:可以查看文件前十行内容;head -行数 文件名:查看文件前×行内容)
tail:可以查看文件结尾内容(tail 文件名:可以查看文件后十行内容;tail -行数 文件名:查看文件后×行内容)
tail -f:动态查看日志文件内容(tail -f 日志文件名)
注意:
1.系统相关日志存放位置:/var/log
2.项目相关日日存放位置:需要根据项目询问对应的开发人员

案例四 关机/重启/查看信息

在桌面上打开终端窗口,执行如下操作:
01. 查看当前系统内核版本信息
	cat /proc/version
02. 查看当前系统发行版本信息
	每个系统查看位置不一样 
	cat /etc/os-release (kali系统)
03. 重启当前系统
	reboot
04. 关系当前系统	
	shutdown -h now
重启:reboot
关机:shutdown -h now

案例五 程序和进程操作相关命令

在桌面上打开终端窗口,执行如下操作:
01. 查看当前系统下的进程信息(静态!!!)
	ps -aux
02. 手动打开火狐浏览器
03. 获取火狐浏览器的进程信息(进程ID)
	ps -aux | grep 'firefox'
04. 通过结束火狐浏览器进程的方式关闭浏览器
	kill -9 5496
	注意:5496是程序的进程ID,需要根据实际值进行变更
05. 打开当前系统的“任务管理器”动态查看进程(动态!!!)
	top
ps -aux:查看当前系统下所有的进程信息
常用用法:ps -aux | grep 程序名:能够获取目标程序的进程ID
kill -9 进程ID:通过进程ID关闭对应程序(-9:强制关闭)
扩展:top:可以调用Linux系统下的"任务管理器",可以动态查看所有的进程信息

案例六 端口号信息的获取及操作命令

在桌面上打开终端窗口,执行如下操作:
01. 查看当前系统中开放的端口有哪些
	netstat -anptu
02. 查看哪个程序正在使用 3306端口(需要root用户权限)
	su -
	lsof -i:3306
netstat -anptu:可以获取当前系统的网络相关信息(获取端口号信息)
lsof -i:端口号:查看占用某一端口的程序名称及进程ID(需要root用户权限)
注意:可以通过kill -9 进程ID 命令完成对端口占用程序的移除

案例七

01. 在当前目录下创建文件 cm_demo
	touch cm_demo
02. 查看文件当前权限信息
	ls -l
03. 使用字母法将文件权限修改为:拥有者:可读/用户组:可写/其他用户:可执行
	源文件:-rw -rw r--
	chmod u-w,g-r,o=x cm_demo
04. 使用数字法将文件权限修改为:拥有者:可读可写可执行/用户组:可读可写/其他用户:可写可执行
	数字1:rwx 7
	数字2:rw- 6
	数字3:-wx 3
	chmod 763 cm_demo
  • 字母法: 命令格式:chmod 权限 文件名

  • 每组的代表字母:

    • 拥有者:u

    • 用户组:g

    • 其他人:o

    • 所有:a

  • 权限修改动作代表字母:

    • 添加:+

    • 撤销:-

    • 赋予:=

  • 权限代表字母:

    • r:读取

    • w:写入

    • x:执行

    注意:

    • 无论如何修改文件权限,权限修改部分不可以存在空格

    • 同时修改多组权限时,需要使用逗号分隔

    • 文件权限修改是可以反复执行的,不用担心修改错误,可以随时修正


案例八 系统操作相关命令

在桌面上打开终端窗口,执行如下操作:
01.查看mysql程序的存放位置
	which mysql
02.从普通用户切换至root用户,再从root用户切换回普通用户
	su -
	输入root用户密码

	su - admin
03.查看当前系统所有登录用户的信息
	who -u
04.退出当前终端窗口
	exit
	
which 程序名:可以查看程序安装位置
su - 用户名:切换至用户(su - :切换到root用户)(切换哪个用户,输入用户对应密码,密码没有提示)
who -u:查看用户登信息
exit:退出终端窗口(退出用户)

案例九 查找文件

在桌面上打开终端窗口,执行如下操作:
01.在路径下创建adir、bdir两个文件夹
	mkdir adir bdir
02.在adir目录下创建文件 f_demo
	ls adir/
03.切换路径到bdir目录下
	cd bdir/
04.在当前目录从 /root 目录中查找 f_demo 文件
	find /root/ -name 'f_demo'
	
find 路径 -name '目标文件名':在给出的路径下查找目标文件
注意:
1.路径处可以使用绝对路径或相对路径
2.目标文件名处可以使用通配符(*/?/[])

案例十 链接文件

在桌面上打开终端窗口,执行如下操作:
01. 在当前路径下创建文件 demo
	touch demo
02. 给 demo 文件创建链接文件名为 ldemo
	ln -s ~/demo ldemo
03. 修改 ldemo 链接文件的内容
04. 查看 demo 文件的内容是否同样变化
05. 修改 demo 文件内容,查看 ldemo 链接文件内容是否同样变化 
ln -s 源文件/文件夹 链接文件名:给源文件/文件夹创建链接文件(软链接:等价于Windows系统的快捷方式)
注意:
1.源文件/文件夹最好给绝对路径(防止链接文件被移动位置后失效)
2.源文件/文件夹被删除,链接文件会失效
3.扩展:ln 源文件/文件夹 链接文件名:硬链接(此处不做了解)

Linux系统三种压缩解压方法的说明

在桌面上打开终端窗口,执行如下操作:
01. 在当前路径下创建 atdir, btdir 两个文件夹
	mkdir atdir btdir
02. 在 atdir 目录下创建 aa,bb,cc 三个文件
	touch aa bb cc
03. 分别用三种压缩方法对 atdir 目录进行压缩
	tar -zcvf atdir.tar.gz atdir/
	tar -jcvf atdir.tar.bz2 atdir/
	zip -r atdir atdir
04. 解压缩上一步产生的压缩包文件内容至 btdir 目录下 
	tar -zxvf atdir.tar.gz -C btdir/
	tar -jxvf atdir.tar.bz2 -C btdir/
	unzip -d btdir atdir.zip
tar 和 gzip
打包和压缩:tar -zcvf 压缩包名.tar.gz 目标文件/文件夹
解包和解压:tar -zxvf 压缩包名.tar.gz 
扩展-指定解压位置:tar -zxvf 压缩包名.tar.gz 目标文件/文件夹 -C 解压位置文件夹

tar 和 bzip2
打包和压缩:tar -jcvf 压缩包名.tar.bz2 目标文件/文件夹
解包和解压:tar -jxvf 压缩包名.tar.bz2 
扩展-指定解压位置:tar -zxvf 压缩包名.tar.bz2 目标文件/文件夹 -C 解压位置文件夹

zip 和 unzip
压缩:zip -r 压缩包名 目标文件/文件夹
解压:unzip -d 解压位置文件夹 压缩包名

选项含义:
z:gzip(压缩/解压)
j:bzip2(压缩/解压)
c:打包
x:解包
v:显示过程
f:指向文件
-C:指定解压路径

vi编辑器的使用

使用步骤:
1. vi 文件名:如果文件存在,则打开文件;如果文件不存在,则新建文件(默认命令模式)
2. 按字母i键:从命令模式切换至插入模式
3. 正常编辑文件内容
4. 按下Esc键,从插入模式切换至末行模式
5. 输入 :wq 再按一个回车:保存文件内容并退出

说明:
w:写入
q:退出
!:强制操作(!q : 强制退出不保存)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值