3.3 Linux shell命令(权限、输入输出)

news2025/1/17 1:42:23

目录

shell

shell概述

shell分类

查看当前系统的shell

权限相关命令(也是shell命令)

基本命令

输入输出相关操作

输出命令

输入输出重定向

 通配符

管道

历史查询、补齐功能

历史查询

自动补齐

命令置换


shell

什么是shell

shell是一种负责人机交互的一种抽象,是对系统的包装,是一种人机接口

unix哲学

shell概述

随着各式Linux系统的图形化程度的不断提高,用户在桌面环境下,通过点击、拖拽等操作就可以完成大部分的工作。 然而,许多Ubuntu Linux功能使用shell命令来实现,要比使用图形界面交互,完成的更快、更直接。

英文单词shell可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具。 可以这样认为,Linux中的shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互

 - Shell是一个命令行解释器,它为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序。用户可以用Shell来启动、挂起、停止、编程等操作。  

- Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

 - Shell还是一个功能强大的编程语言、编写方面、调试方便、灵活性强。  

- Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

shell分类

查看当前系统的shell

查看当前系统有哪些shell     cat /etc/shells  

查看当前是什么shell      echo $SHELL

立即关机

linux@ubuntu:~$ sudo  shutdown  -h  now

立即重新启动

linux@ubuntu :~$ sudo  shutdown  -r  now linux@ubuntu :~$ sudo  reboot   now

定时关机

linux@ubuntu:~$ sudo  shutdown  -h  +45   “That is all, game over.”

定时重启

linux@ubuntu:~$ sudo  shutdown  -r  +60

权限相关命令(也是shell命令)

切换用户

用户,又称使用者,是指使用电脑或网络服务的人,通常拥有一个用户账号,并以用户名识别。用户有时也泛指没有充分技术经验的人。

Linux下分为

超级用户(根目录、安装软件等)

普通目录

su - run a command with substitute user and group ID -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者 - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root --help 显示说明文件 --version 显示版本资讯

设置用户密码

passwd - change user password

passwd    

修改自己的密码

passwd username  

修改指定用户的密码

sudo passwd给权限修改密码

修改文件权限

查看权限:ls -l

-rwxrwxr-x 1 linux linux   17456 ноя  5 20:38 client  //文件信息的样子

r读 w写 x执行

前三个是当前文件 中间三个同组的  后面三个是其他用户

字母法:chmod  (u g o a)   (+ – =)   (r w x)   (文件名)  //u自己 g同组用户 o a全部人

数字法:chmod + 数字组合(二进制转八进制) + 文件名

基本命令

NAME:命令的名称

SYNOPSIS:命令的语法格式

DESCRIPTION:命令的一般描述以及用途

OPTIONS:描述命令所有的参数或选项

SEE ALSO:列出联机帮助页中与该命令直接相关或功能相近的其他命令

BUGS:解释命令或其输出中存在的任何已知的问题或缺陷

EXAMPLES:普通的用法示例

AUTHORS:联机帮助页以及命令的作者

时间显示

date +%T date +%Y/%m/%d date +%H:%M

date +"当前时间为:%Y/%m/%d %H:%M:%S"

date +"三个月之后:%Y/%m/%d %H:%M:%S" -d "+3 month"

date +"三天前:%Y/%m/%d  %H:%M:%S"

-d "-3 day" date -s "20300111 19:43:44"

clear - clear the terminal screen ctrl + l(字母L的小写)

df - report file system disk space usage 常用参数:     

-a :列出所有文件系统      

-k :列出磁盘的分配情况(KB)      

-h :同-k, 但大小以G、M,K单位显示      

-l :仅列出本地文件系统

du - estimate file space usage 常用参数:     

-a :仅列出空闲的文件数      

-h :列出磁盘的使用情况(KB)      

-s :列出总的空闲空间(KB)

输入输出相关操作

输出命令

echo - display a line of text        

Echo the STRING(s) to standard output.        

-n     do not output the trailing newline        

-e     enable interpretation of backslash escapes        

-E     disable interpretation of backslash escapes (default)

输入输出重定向

什么是重定向

输入/输出重定向是改变shell命令或程序默认的标准输入/输出目标,重新定向到新的目标。

默认的输入输出位置是哪里

linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。

标准输入:(stdin,文件描述符为0):默认从键盘输入

标准输出:(stdout,文件描述符为1):默认输出到屏幕。

标准出错:(stderr,文件描述符为2):默认输出到屏幕。

标准i/0默认打开的三个流

​​​​​​​为什么要使用重定向

1.当屏幕输出的信息很重要时,而且希望保存重要的信息时

2.后台执行中的程序,不希望它干扰屏幕正常的输出结果时

3.系统的例行命令,例如定时任务的执行结果,希望他可以存下来

4.一些执行命令,我们已经知道他可能出现错误信息,想把它直接丢掉时

5.执行一个命令,可能报错和正确的输出并序,类似错误日志与标准正确日志需要分别输出至不同的文件。输出重定向

重定向符

含义

> file

将file文件重定向为输出源,新建模式

>> file

将file文件重定向为输出源,追加模式

2> 或 &>

将由命令产生的错误信息输入到文件中

2>&1

将标准出错重定向到标准输出

实例

ls /usr > Lsoutput.txt,将ls /usr的执行结果,写到Lsoutput.txt文件中,若有同名文件将被删除

ls /usr >> Lsoutput.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后

ls noexistingfile.txt  2> err.log,使用ls命令,查看一个不存在的文件时,将系统错误提示保存在err.log文件中

 ls test > log 2>&1  标准输出和标准出错信息都输出到log文件

输入重定向

重定向符

含义

< file

将file文件重定向为输入源

<< 分界符

表示从标准输入设备(键盘)中读入,直到遇到分界符才停止

(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串

命令 < 文件 1 > 文件 2

将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。

实例

wc < file1,将file1中的内容作为输入传给wc命令

cat << 9,当遇到输入9时,输入结束

cat < file > log,file作为cat命令的输出,把cat的输出结果,输出到log文件中

 通配符

通配符是一种特殊语句,通配符是用来代替字符的

通配符

含义

星号(*)

匹配任意长度的字符串

问号(?)

匹配一个长度的字符

方括号([…])

匹配其中指定的一个字符

方括号([ - ])

匹配指定的一个字符范围

方括号([^…])

除了其中指定的字符,均可匹配

实例

用file_*.txt,匹配file_wang.txt、file_Lee.txt、file3_Liu.txt

用flie_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt

用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt

用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt

用file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的其他文件

管道

管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成了一个管道。

|   //管道,通过管道输出结果输入到第二个命令中,需要有输出结果

-l  统计多少行

-w  多少个单词

-c  多少个字符

grep  查找是否有某个内容

历史查询、补齐功能

历史查询

history  查看历史输入的命令

!c :上一条以c开头的命令

自动补齐

table键

命令置换

``

a=`ls`

可以将命令复制到变量里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/474094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【VM服务管家】VM4.0软件使用_1.2 工具类

目录 1.2.1 文本保存&#xff1a;逐行保存格式化模块输出的方法1.2.2 脚本模块&#xff1a;循环模块搭配脚本使用的方法1.2.3 几何查找&#xff1a;彩色图像的几何查找方法1.2.4 深度学习&#xff1a;图像分割的面积的获取方法1.2.5 颜色识别&#xff1a;使用颜色识别工具做分类…

【Leetcode -86.分隔链表 -92.反转链表Ⅱ】

Leetcode Leetcode -86.分隔链表Leetcode -92.反转链表Ⅱ Leetcode -86.分隔链表 题目&#xff1a;给你一个链表的头节点 head 和一个特定值 x &#xff0c;请你对链表进行分隔&#xff0c;使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每…

java数据结构之HashMap

目录 前言 1、初始化 1.1、初始化 1.2、插入第一条数据 2、数组 链表 2.1、插入数据&#xff1a;没有hash冲突 2.2、插入数据&#xff1a;Key不同&#xff0c;但产生hash冲突 2.3、插入数据&#xff1a;Key相同 3、数组 红黑树 3.1、链表如何转化为红黑树&#xff1f; 3.…

Postman测试实践笔记

Postman测试实践 文章目录 Postman测试实践一、Postman安装与使用1.1 Postman下载及安装1.1.2 Postman Mac版 1.2 Postman 更新1.2.1 mac 版更新 1.3 Postman 其他问题 二、网络相关知识2.1 接口2.1.1 软件为什么需要接口 2.2 接口测试2.2.1 什么是接口测试&#xff1a;2.2.2 为…

VTK下载并安装

去官网下载https://vtk.org/download/ 选择最新稳定版本 然后点击source后边的压缩包进行下载。 下载完成后将其解压到特定的文件夹下&#xff0c;然后打开cmake-gui.exe&#xff0c;第一行选择刚刚解压的文件夹&#xff0c;这个文件夹下有一个CMakeLists.txt文件&#xff0c…

【6. 激光雷达接入ROS】

欢迎大家阅读2345VOR的博客【6. 激光雷达接入ROS】&#x1f973;&#x1f973;&#x1f973; 2345VOR鹏鹏主页&#xff1a; 已获得CSDN《嵌入式领域优质创作者》称号&#x1f47b;&#x1f47b;&#x1f47b;&#xff0c;座右铭&#xff1a;脚踏实地&#xff0c;仰望星空&#…

Go | 一分钟掌握Go | 8 - 并发

作者&#xff1a;Mars酱 声明&#xff1a;本文章由Mars酱编写&#xff0c;部分内容来源于网络&#xff0c;如有疑问请联系本人。 转载&#xff1a;欢迎转载&#xff0c;转载前先请联系我&#xff01; 前言 当今编程界&#xff0c;一个好的编译型语言如果不支持并发&#xff0c…

工控老司机告诉你热电偶和RTD的区别

热电偶和热电阻都是温度传感器&#xff0c;但它们的原理、功能特性和应用场景有所不同。 一、原理区别 首先&#xff0c;热电偶是利用两种不同金属之间的热电效应来测量温度的。其原理是利用温度差引起的金属之间的热电势差进行测量。两种金属之间存在一种热电势&#xff08;…

Yolov8优化:卷积变体---分布移位卷积(DSConv),提高卷积层的内存效率和速度

论文: https://arxiv.org/pdf/1901.01928v1.pdf 摘要:提出了一种卷积的变体,称为DSConv(分布偏移卷积),其可以容易地替换进标准神经网络体系结构并且实现较低的存储器使用和较高的计算速度。 DSConv将传统的卷积内核分解为两个组件:可变量化内核(VQK)和分布偏移。 通过…

双亲委派机制的原理和作用

双亲委派机制&#xff0c;就必须弄清楚Java的类加载器。 什么是类加载器 Java类加载器(ClassLoader)是Java运行时环境(JRE)的一部分&#xff0c;负责动态的将Java类加载到Java虚拟机的内存空间。 类加载器有哪些 主要有三个&#xff1a; 引导类加载器(Bootstrap ClassLoade…

前端开发在本地开发与后台进行联调阶段时,接口自动重定向https、HSTS 与 307 状态码

开发者在本地开发与后台进行联调阶段时&#xff0c;Chrome 浏览器上出现 307 状态码&#xff0c;并跳转到 https 版 但是 307 代码是什么含义呢&#xff1f;页面又为何会出现 307 状态码呢&#xff1f;我之前都没见过这个状态码&#xff0c;查了才知道原来它也是一种重定向。 …

数字三角形+包子凑数(蓝桥杯JAVA解法)

数字三角形&#xff1a;用户登录 题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径&#xff0c;把路径上面的数加起来可以得到一个和&#xff0c;你的任务就是找到最大的和&#xff08;路径上的每一步只可沿左斜线向下或右斜线向下走…

ArduPilot之开源代码Sensor Drivers设计

ArduPilot之开源代码Sensor Drivers设计 1. 源由2. Sensor Drivers设计2.1 front-end / back-end分层2.2 设计思想分析 3 实例理解3.1 驱动初始化3.2 业务应用代码3.3 frond-end代码3.3 back-end代码3.3.1 UART3.3.2 I2C3.3.3 SPI 4. 参考资料 1. 源由 飞控代码除了最为基础的…

《美团机器学习实践》读后感和一点思考

前言&#xff1a;最近拜读了美团算法团队出品的《美团机器学习实践》&#xff0c;这本书写于2018年&#xff0c;一个大模型还没有标配的时代。这本书侧重于工业界的实践&#xff0c;能清楚地让我们了解到工业界和学术界对机器学习的关注方向上的差异&#xff0c;值得一读。因为…

文件系统和软硬链接

文章目录 一.文件系统1.了解磁盘的物理结构2.磁盘的存储结构a.磁盘读取 3.磁盘的逻辑结构a.为什么操作系统不直接使用CHS地址&#xff1f;b.实际IO一次的大小 4.磁盘的分区管理4.1.ext文件系统a.文件查找b.文件删除 4.2目录的属性和数据 二.软硬链接软链接的建立和删除软链接的…

【VM服务管家】VM4.0软件使用_1.4 通讯类

目录 1.4.1 通讯管理&#xff1a;ModBus通信发送非整型数据的方法1.4.2 通讯管理&#xff1a;使用Modbus TCP通讯协议与流程交互 1.4.1 通讯管理&#xff1a;ModBus通信发送非整型数据的方法 描述 环境&#xff1a;VM4.0.0 现象&#xff1a;Modbus通信发送数据只能为Int类型&a…

快速搭建Electron+Vite3+Vue3+TypeScript5脚手架 (无需梯子,快速安装Electron)

一、介绍 &#x1f606; &#x1f601; &#x1f609; Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需…

【网课平台】Day13.订单支付模式:生成支付二维码与查询支付

文章目录 一、需求&#xff1a;生成支付二维码1、需求分析2、表设计3、接口定义4、接口实现5、完善controller 二、需求&#xff1a;查询支付结果1、需求分析2、表设计与模型类3、接口定义4、接口实现步骤一&#xff1a;查询支付结果步骤二&#xff1a;保存支付结果&#xff08…

如何写出一份大厂都不会拒绝的简历?

你好&#xff0c;我是宋光璠&#xff0c;今天我以过来人的身份教你写出一份惊艳面试官的简历。 简历算是我们过去经历的一个缩影&#xff0c;虽然只有短短一两页&#xff0c;但也能让人从中发现你的优点&#xff0c;一份优质的简历更是如此&#xff0c;所以今天我就带你从头到…

PLC模糊PID(梯形图实现)

博途PLC的模糊PID控制详细内容请查看下面的博客文章: Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_RXXW_Dor的博客-CSDN博客模糊PID的其它相关数学基础,理论知识大家可以参看专栏的其它文章,这里不再赘述,本文就双容…