Linux操作系统shell指令详解

2023-11-03

shell指令基本概念

命令行提示符

ubuntu:用户名
@:分隔符
ubuntu:主机名
~:家目录,(当前所在的路径)
$:普通用户权限 root:#

切换用户

su 用户名 ----->切换到指定用户
su ----->默认切换到超级用户
sudo 加在指令前 ----->用超级用户的权限执行后面的指令

修改密码

passwd 用户名 ----->修改指定用户的密码
普通用户修改管理员用户的密码需要加sudo
输入的密码不会回显

查看当前目录下的文件

ls 目标路径 ------->回显指定路径下的所有文件名
ls 目标文件 ------->回显文件名
ls -a ---->查看所有文件,包括隐藏文件,.开头的都是隐藏文件
ls -lh ---->查看文件的详细信息,给文件的大小带单位的显示
ls -i ---->显示文件的inode号

-rw-rw-r-- 1 ubuntu ubuntu 4549 八月 22 14:51 test.s
文件类型:7种
b:块设备文件 -:普通文件
c:字符设备文件 l:软连接文件
d:目录文件 s:套接字文件
p:管道文件
rw-rw-r--
r:可读 w:可写 -:没有权限 x:可执行权限
八进制数表示文件权限:
r:4 w:2 x:1

修改文件权限---chmod

字母表示法:
chmod 用户+/-/=权限的字母表示 文件名

八进制表示法:
chmod 0三位八进制数 文件名
chmod 4 1.c ------> 把1.c的其他用户权限改为4,所属组和所属用户没有权限

cd 切换路径

cd ---->默认切换到当前用户的家目录
超级用户的家目录:在根目录下 /root

touch

创建文件 touch 文件名
1、文件本身不存在,创建该文件
2、文件已经存在,更新文件的时间戳

cat

cat 文件名
回显文件的内容

echo

echo 字符串 ------>回显一遍字符串

mkdir

mkdir /dir1/dir2/dir3 -p 实现多级目录的创建

rm/rmdir

rmdir 空目录 ----->删除空目录
rm -r 非空目录 ----->删除非空目录

在线下载软件

sudo apt-get install 软件名   ---->下载软件
sudo apt-get install oneko   --->追鼠标的猫
sudo apt-get install bastet  --->俄罗斯方块
下载软件后,如何执行:
直接在终端输入软件名
以oneko为例,直接输入软件名,会在前台执行,没有办法去写其他的指令
oneko&  ---->让onkeo后台运行,会回显一个进程号
可以直接使用kill -9 进程号,杀死进程
sudo apt-get install gnome-mines   ---->下载扫雷
sudo apt-get remove 软件名  --->卸载软件,不完全卸载
sudo apt-get remove 软件名 --purge  --->卸载软件,完全卸载
sudo apt-get download 软件名  --->下载软件的安装包
download指令会把安装包下载在执行指令的路径下
sudo apt-get clean  ---->清空默认下载位置的安装包
/var/cache/apt/archives/  ---->软件包的默认下载位置

sudo apt-get install make

离线安装软件

        离线安装软件不会检查软件依赖,也不会自动下载软件依赖,对于需要软件依赖的软件进行离线安装会报错,在线安装软件,会检查软件依赖,并主动安装软件依赖

软件安装包的命名

oneko _1.2.sakura.6 -13 _amd64. deb
|          |         |    |      |
软件名 主版本号 修订版本号 架构 软件包后缀
64位架构 符合Debian软件包的标准
i386 ---->支持32位架构
Linux下的软件包标准:
Debian标准,Debian系统使用的软件,deb
redhat标准,rpm

离线安装软件的指令

dpkg ----->debian package的缩写

下载:sudo dpkg -i 软件包名 (重点掌握) 注意事项:如果执行指令的路径和安装包不在同一路径下,要给安装包加上路径 卸载:sudo dpkg -r 软件名 ---->不完全卸载软件 sudo dpkg -P 软件名 ---->完全卸载软件

文件相关的指令

head

cat 文件名 ----->查看文件中的所有内容
head 文件名 ----->默认回显文件的前10行 head -n 文件名 ----->指定回显文件的前n行

tail

tail 文件名 ------>回显文件的后10行 tail -n 文件名 ----->回显文件的后n行 head和tail,默认显示前10行和尾10行,如果不足就全部显示, 如果超过10行,只显示10行

管道符 |

指令1 | 指令2 | 指令3 | ·····
把前一条指令的输出当作后一条指令的输入
查看1.c文件的第4行: head -4 1.c | tail -1

find**

通常使用find查找文件,结果都是绝对路径

格式: find 要查找的路径 -name 要查找的文件名 find可以实现模糊查找,已经不记得具体的文件名,只记得部分文件名 已知文件以1开头,.c结尾,不知道具体的文件名 find 目标路径 -name 1\*.c find的使用场景: 在项目开发的过程中,多个文件中某一个文件报错,可以使用find以及文件名,快速找到文件的位置

通配符

*:可以任意通配一个或多个字符
?:通配任一个字符,如果想使用?通配多个字符,多加几个?,有几个匹配几个
[]:通配[]内的任一个字符
[1234]:通配1234中的任一个字符
[2-5]:通配2-5中的任一个字符
[12347-9]:通配1234和7-9中的任一个字符
[1234,7-9]:通配1234、7-9和,中的任一个字符   

file ---->查看文件

a.out:文件名 
ELF:是一个ELF类型的文件
64-bit:支持64位操作系统
LSB shared object:小端存储
x86-64 ----->架构
version 1 (SYSV) ---->版本
dynamically linked, interpreter /lib64/l, --->链接的库
for GNU/Linux 3.2.0  ---->gcc编译器的版本
BuildID[sha1]=60b94b36154878cc979cc2aae1af6e92a45f044f, ---->动态ID

wc ----->(word count)

wc 文件名
回显行号,单词个数,字符个数,文件名
wc -l 文件名   ---->回显文件的行数
wc -w 文件名   ---->回显文件单词的个数
wc -c 文件名   ---->回显文件字符的个数

查找字符串 ---->grep

grep  "要查找的字符串"  要查找的路径  (参数)
-n:查找的同时显示字符串所在行
-i:不区分大小写
-R:递归查找   ---->只用于目标路径是目录不是文件
-w:按单词查找 

grep "ubuntu$" 文件名   ---->查找以ubuntu作为结尾的所在行
grep "^ubuntu" 文件名   ---->查找以ubuntu作为开头的所在行
grep "^ubuntu$" 文件名   ---->要求开头和结尾是同一个ubuntu

cut ----->字符串裁剪

cut -d "分隔" -f "要截取的域" 文件名
cut -d ":"  -f "1"  /etc/passwd
截取/etc/passwd中,所有以":"分隔的,第一个域

压缩和解压缩

        压缩和解压缩后源文件都不存在

gz   ---->压缩生成.gz后缀的文件
xz   ---->压缩生成.xz后缀的文件
bz2  ---->压缩生成.bz2后缀的文件

gzip  要压缩的文件
bzip2 要压缩的文件
xz    要压缩的文件

解压缩
unxz  要解压缩的文件  ---->把压缩文件解压出来,压缩文件.xz会消失
gunzip 要解压缩的文件
bunzip2 要解压缩的文件

三种压缩工具的压缩效率:xz > bz2 > gz

三种压缩工具的压缩时长:xz > bz2 > gz

xz需要时间更长,适用于对文件归档

gz需要时间更短,适用于临时文件传输

tar 文件归档并压缩

        归档和拆包后源文件仍然存在

i)归档

        把多个文件打包生成一个文件

tar -cvf  要生成的文件名.tar  要打包的文件
-c:归档/打包的参数
把要打包的文件生成一个新的文件.tar

tar指令提供的压缩参数:
-j:使用bz2工具压缩
-J:使用xz工具压缩
-z:使用gz工具压缩

tar -czf  生成的文件名.tar.gz  要打包并压缩的文件
tar -cjf  生成的文件名.tar.bz2 要打包并压缩的文件
tar -cJf  生成的文件名.tar.xz  要打包并压缩的文件

ii)拆包并解压缩

tar -xvf 要拆包(解压缩)的文件   ---->既可以完成拆包也可以完成解压缩
万能的拆包解压缩指令

仍然可以使用对应的压缩参数进行解压缩,-j、-J、-z

注意:

        有万能的拆包指令,但是没有万能的归档并压缩指令

        所以在进行归档并压缩时,压缩工具和压缩生成的文件后缀必须严格一致

文件权限相关的操作

chgrp --->修改文件的所属组用户

由于现在都是在ubuntu用户和root用户之间转换,所以需要加sudo,如果是两个普通用户之间的转换不需要加sudo
例:有文件2.c
sudo chgrp root 2.c  --->把2.c文件的所属组用户改为root

chown --->修改文件的所属用户

由于现在都是在ubuntu用户和root用户之间转换,所以需要加sudo,如果是两个普通用户之间的转换不需要加sudo
sudo chown root: 1.c  修改1.c的所属用户和所属组用户为root
sudo chown :root 1.c  修改1.c的文件所属组用户为root
sudo chown root 1.c   修改1.c的所属用户为root
sudo chown ubuntu:root 1.c   修改1.c的文件所属用户为ubuntu,所属组用户为root
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux操作系统shell指令详解 的相关文章

随机推荐

  • 服务器卡顿了该如何处理

    服务器卡顿了该如何处理 当Windows系统的服务器出现卡顿问题时 以下是一些常见的故障排除步骤 1 检查网络连接 确保服务器的网络连接正常 检查网络设备 交换机 防火墙等设备 确保它们正常运行 尝试通过其他计算机访问服务器 以确定是否存在
  • jdbc连接MySQL数据库(完整文件+详细说明)

    使用jdbc连接数据库 可以直接在方法中定义url user psd等信息 也可以读取配置文件 但是在web项目中肯定是要使用第二种方式的 为了统一 只介绍第二种方式 步骤 1 创建配置文件db properties 无论是eclipse还
  • VB ListView控件各种操作详解

    Private Sub Form Load ListView1 SmallIcons ImageList1 Object 把ImageList1图标列表控件绑定到 ListView1列表控件中来 ListView1 ListItems Cl
  • nodejs面试官:如何实现jwt鉴权机制?说说你的思路

    一 是什么 JWT JSON Web Token 本质就是一个字符串书写规范 如下图 作用是用来在用户和服务器之间传递安全可靠的信息 在目前前后端分离的开发过程中 使用token鉴权机制用于身份验证是最常见的方案 流程如下 服务器当验证用户
  • 游戏服务器被攻击了怎么办?

    随着互联网的发展 网民数量激增 电子游戏的普及 庞大的玩家数量必然推动游戏市场发展 游戏受到攻击是游戏开发者的痛点 DDOS攻击是流量攻击的一个总称 还包括SYN Flood ACK Flood UDP Flood TCP Flood IC
  • Java按一行一行进行文件的读取或写入

    测试代码 import org junit jupiter api Test import java io import java util Arrays public class FileTest 一行一行读取文件 适合字符读取 若读取中
  • Android 生态消息推送平台介绍

    一 手机厂商平台 华为消息推送服务 华为推送 Push 是为开发者提供的消息推送平台 建立了从云端到手机端的消息推送通道 使应用可以将最新信息及时通知用户 从而构筑良好的用户关系 提升用户的感知和活跃度 推送透传消息 以透传方式将自定义的内
  • Python中“from docx import Document“报错问题以及怎么提取.docx文档中所有的红色字体

    1 Python中 from docx import Document 报错问题 Pycharm中 当我们输入 from docx import Document 报错问题 在Pycharm中 我们若是想要操作word文件 我们就必须要使用
  • 广度优先搜索(1)之树的层序遍历

    文章目录 零 导言 一 例子引入 1 题目描述 2 题目分析 3 算法实现与解释 二 概念定义 1 定义 2 深入理解 3 相关知识 三 相关习题 零 导言 这一系列博客的创作初衷是为了记录自己在刷题过程中对于一些比较经典的并且很哇塞的题型
  • 苹果cmsV10采集插件&&一键配置定时任务采集

    苹果cmsV10采集插件 下载地址 https pan baidu com s 1NuY0sTQbp CjGaXYH2fdsg 支持断点采集 支持添加播放器自定义解析接口 支持批量修改播放器接口 支持全网搜索资源 支持一键配置定时任务 安装
  • 介绍8421码,5421码,2421码

    8421码 5421码 2421码都是用编码中的bcd码组成的 而bcd码是用 4 位二进制来表示 1 位十进制 即使用 4 个位来存储一个十进制的值 使二进制和十进制之间得到快速转换 bcd码又可分为有权码和无权码两类 无权码包括了余3码
  • 一周AIGC丨国内首个估值 100 亿级大模型独角兽诞生,腾讯混元、蚂蚁金融大模型亮相...

    成立于 2019 年的智谱 AI 晋升为国内首个估值超 100 亿人民币的大模型领域独角兽 早一个月把电灯泡拿出来 不重要 的腾讯 最终还是免不了随大流 腾讯混元大模型正式推出 但用户还要排队申请 蚂蚁金融大模在外滩大会亮相 宣称解决产业真
  • C语言必背代码大全

    对于刚学计算机编程的同学来说 每一个编程知识都觉得很重要 下面小编为大家整理了c语言必背代码 希望大家喜欢 1 输出9 9口诀 共9行9列 i控制行 j控制列 include stdio h main int i j result for
  • 2014传智播客C++第三期基础班+就业班至9月份 完整版

    课程简介 第一阶段C语言10天 此阶段兼顾基础班升级学员与直接报就业班学员 突出面试辅导为主 1 常量与变量 数据类型 数据类型转换 数据输入与输出 面试辅导 2 C语言运算符 C语言操作符 C语言表达式 表达式优先级 面试辅导 3 C语言
  • 图的深度优先遍历DFS (邻接矩阵实现) c语言

    图的遍历是指从图中的某一顶点出发 按照一定的策略访问图中的每一个顶点 每个顶点有且只能被访问一次 深度优先遍历也叫深度优先搜索 Depth First Search 它的遍历规则 先选择一个初始顶点 再规定一个方向 例如往右边一直遍历 于是
  • canvas基本用法

    首先创建canvas元素
  • 在Windows下编译扩展OpenCV 3.4.2 + opencv_contrib

    请参考 https www cnblogs com jliangqiu2016 p 5597501 html 这里主要说一下注意点 1 编译过程中会提示缺少以下文件 vgg generated 48 i vgg generated 64 i
  • 欧拉角的详解

    转自 https blog csdn net schrodinger1900 article details 52734568 关于旋转永远是做游戏的难点和混乱点 我们知道表示一个旋转有多种方式 简单的欧拉角 复杂点的四元数 再复杂点的矩阵
  • PS 2023 24.7 Beta Ai 如何解决橙色错误弹窗问题?

    距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年 最近该公司又再次书写了属于Photoshop的历史新篇章 Adobe 发布的 Photoshop Beta 新增 创意填充 Generativ
  • Linux操作系统shell指令详解

    shell指令基本概念 命令行提示符 ubuntu 用户名 分隔符 ubuntu 主机名 家目录 当前所在的路径 普通用户权限 root 切换用户 su 用户名 gt 切换到指定用户 su gt 默认切换到超级用户 sudo 加在指令前 g