吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2102|回复: 18
收起左侧

[学习记录] (Linux学习笔记) - shell和linux命令

  [复制链接]
redballoon 发表于 2023-4-11 22:18
本帖最后由 redballoon 于 2023-4-11 22:20 编辑

linux学习笔记(二)

Shell简介

现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户和普通用户都非常适用;计算机的普及离不开图形界面。

对于图形界面,用户点击某个图标就能启动某个程序;对于命令行,用户输入某个程序的名字(可以看做一个命令)就能启动某个程序。这两者的基本过程都是类似的,都需要查找程序在硬盘上的安装位置,然后将它们加载到内存运行。
然而,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。

由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代{过}{滤}理”,这层“代{过}{滤}理”既简化了用户的操作,也保护了内核。

用户界面和命令行就是这个另外开发的程序,就是这层“代{过}{滤}理”。在Linux下,这个命令行程序叫做 Shell

Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。

image-20230411181207181.png

Shell的作用

  • Shell 能解释用户输入的命令,将它传递给内核
  • Shell 能调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果
  • 还能在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入
  • Shell 本身也可以被其他程序调用

由此可见,Shell 是将内核、程序和用户连接了起来。

Shell的版本

  • (sh)  Bourne Shell
  • (bash)  Bourne Again Shell
  • (csh)  C Shell, 适用于编程
  • (ksh)  Korn Shell,集合了csh和sh的优点

可以输入命令 cat /etc/shells 查看Linux系统中的shell

image-20230411165429683.png

Shell的环境变量

环境变量是用户给系统或应用程序设置的一些变量,具体作用和具体的环境变量相关。(!环境变量区分大小写,通常都是大写命名)

例如环境变量PATH, 当我们要运行一个程序时,如果不告诉系统这个程序的路径,系统便不知道去哪里找,就只会在当前目录找,自然就无法成功运行该程序,

但如果设置环境变量,那系统除了在当前目录找之外还会去PATH环境变量所定义的目录去找。

常见的环境变量:

  • LOGNAME,记录当前登录Linux使用shell的账户名
  • SHELL,当前用户使用的shelll类型
  • PWD,当前用户所在的目录
  • PATH,程序或命令的搜索路径
  • HOME,当前用户主目录的位置

使用 env 来列出系统的环境变量

image-20230411171329544.png

使用 echo $环境变量名 可以打印环境变量的值

image-20230411171522394.png

shell的环境变量分两种:系统环境变量和用户环境变量。

  • 系统环境变量(全局环境变量):在/etc/profile 配置,对所有Linux用户都有效
  • 用户环境变量:在用户环境变量中设置的环境变量只有该用户可以使用,在~/.bash_profile 设置

Linux中的命令

  • Linux命令

命令主要存放在/bin和/sbin这两个文件夹中

  • Shell内置命令

相对Linux命名执行效率更高,资源消耗也更低,主要常用的例如:cd、echo、exit、kill等命令

  • 实用程序

主要来源是/user/bin、/user/sbin、/user/share和/user/local/bin这四个目录

  • 用户程序

网上下载的或自己生产的源程序,编译后的可执行文件

  • shell脚本

使用shell语言编写的批处理文件

Linux命令的基本格式

command [option] [argument]

[]内是可选的,可有可无。

command:命令

[option]:选项, 一般是 -l -r 啥的哪些

[argument]:参数

ls命令

ls命令可以直接打印当前目录内所存放的东西。

image-20230411174355122.png

ls命令还可以在当前目录去查看其他目录内的东西,即添加参数,也就是路径。

image-20230411175425953.png
ls命令还有很多可选项,如:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)

  • -d 只列出目录(不递归列出目录内的文件)

  • -l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等

  • -r 倒序显示文件和目录。

  • -t 将按照修改时间排序,最新的文件在最前面。

  • -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

  • -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

  • -R 递归显示目录中的所有文件和子目录。

更多命名推荐去学:Linux 命令大全

mkdir命令

mkdir -p /home/learn

在home目录下创建一个名learn的目录

选项说明:

  • -p 确保目录名称存在,不存在的就建一个。

在创建目录时如果上一级目录不存在则会保错,可添加 -p 来递归创建

touch命令

创建以该命令的参数命名的文件,如果该文件已存在,会更新文件的修改时间

image-20230411214203494.png

rm命令

删除文件或目录

rm /home/test

提供文件的路径就可以直接删除,若删除的对象是目录,则需要添加 -r 选项。

image-20230411211747465.png

会发现删除时需要我们进行确认,如果很多就会很麻烦,有一个可以自动确认的选项 -f

image-20230411213113343.png

cp命令

复制粘贴文件或目录

image-20230411213527998.png

复制目录时需要添加-r来递归进行

mv命令

移动文件或目录

image-20230411214606787.png

cd命令

作用是切换目录

如:我当前在 / 要切换到 /home下的test目录可以以绝对路径的方式来

image-20230411210917410.png

cat命令

查看文件内容

Linux的目录结构

不同于windows系统的盘符概念,linux系统的目录结构是以/为根目录

1.jpg

在完成root登录后会看到 ~ #

image-20230411203639231.png

  • ~ 指当前用户的家目录

  • 超级用户root的家目录 —— /root

  • 普通用户的家目录 —— /home

  • # 是当前用户为超级用户root

  • $ 是当前用户为普通用户

相对路径和绝对路径

相对路径:是以用户当前的工作目录开始

绝对路径:是以根目录 / 开始的

目录的相关命令:

  • . 表示当前的工作目录
  • ..  表示上一级的目录
  • ~  表示家目录
  • ~user  表示user的家目录
  • pwd  查看用户当前工作目录的绝对路径

文件类型

我们知道ls命令可以查看目录的内容,但会有不同颜色,需要知道不同颜色所对应的文件类型

  • <span style="color: rgba(0, 0, 255, 1)">蓝色</span>:目录
  • <span style="color: rgba(0, 128, 0, 1)">绿色</span>:可执行文件
  • <span style="color: rgba(255, 0, 0, 1)">红色</span>:压缩文件
  • <span style="color: rgba(0, 255, 255, 1)">浅蓝色</span>:链接文件
  • <span style="color: rgba(169,169,169)">灰色字</span>:其他文件
  • <span style="color: rgba(255, 255, 0, 1)">黄色</span>:设备文件

还有一种:

浅蓝色        [l]        软链接
白色                [-]        普通文件/硬链接
蓝色                [d] 目录
红色         [l]        某文件被删除后,链接到该文件的软链接的颜色
红色闪烁  无  表示该文件已被删除,但还存在该文件的软链接
红色         [-] 压缩包
黄色         [c] 字符设备文件,如键盘鼠标
绿色         [-] 可执行文件,可执行的程序
桃红色        [s] 套接字文件
土黄色   [p] 管道文件
灰色文件                表示其它文件

image-20230411215314858.png

免费评分

参与人数 12吾爱币 +10 热心值 +10 收起 理由
安道尔的鱼 + 1 + 1 我很赞同!
iNIC + 1 + 1 用心讨论,共获提升!
zane123 + 1 + 1 谢谢@Thanks!
liu8833637 + 1 + 1 热心回复!
zhl416 + 1 + 1 我很赞同!
mYu1209 + 1 热心回复!
仿佛_一念成佛 + 1 用心讨论,共获提升!
supercilious + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
熊猫拍板砖 + 1 + 1 用心讨论,共获提升!
0106yingzi + 1 + 1 热心回复!
lmarch2 + 1 用心讨论,共获提升!
Andrea + 1 不能用颜色去区分文件类型,不同发行版和不同终端上可能出入不小,会造成误.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lmarch2 发表于 2023-4-11 22:22
追更,支持一下
null2008 发表于 2023-4-11 22:24
tfl1 发表于 2023-4-11 22:32
dengyy 发表于 2023-4-11 22:59
谢谢楼主分享
王大拿7758521 发表于 2023-4-11 23:39
谢谢分享
daoye9988 发表于 2023-4-12 07:28
这是第二笔记了,继续支持
jmxjiamingxu 发表于 2023-4-12 08:51
感觉需要用到的时候学的很快
头像被屏蔽
tlf 发表于 2023-4-12 08:56
提示: 作者被禁止或删除 内容自动屏蔽
superFlyfly 发表于 2023-4-12 08:57
不错,感谢分享~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 23:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表