Linux之旅:常用的指令,热键和权限管理

目录

前言

1. Linux指令

(1) ls

(2) pwd 和 cd

(3)touch 和 mkdir

(4) rmdir 和 rm

(5)cp

(6)mv

(7)man

(8)cat,more和less

(9)head 和 tail

(10)grep

(11)zip和unzip

(12)tar

1.2 热键

2. 权限管理

2.1 文件访问者

2.1 文件属性,文件类型和访问权限

2.3 权限值的表示方法

2.4 设置文件访问权限

2.5 粘滞位

总结


前言

本文将开启我的Linux之旅,主要讲述Linux中常用的指令,热键和权限管理。内容丰富,干货满满,适合新手学习!


1. Linux指令

(1) ls

作用:对于目录,列举出目录下的所有子目录与文件。对于文件,列举出文件名及其他信息。

用法:ls [目录或文件] [选项] (可以颠倒)

选项:

  • -a 列举出目录下的所有文件,包括以.开头的隐含文件。
  • -d 将目录像文件一样显示,而不是显示其下的文件。
  • -l 列出文件的详细信息。

 不加选项,显示当前目录下的文件与目录。

 加上-l选项,显示详细信息,其中ll是该命令的缩写。

 不同选项可以组合,下面显示了隐藏文件。

(2) pwd 和 cd

pwd

  • 作用:可以显示用户当前所在目录。
  • 无选项。

cd

作用:进入指定目录或文件。

用法:cd + [目录名]

  • 路径分绝对路径和相对路径。其中.代表当前目录,..代表上级目录。一开始使用的是绝对路径,第二个使用的是相对路径。

  • ~代表家目录,-会返回上次所在目录。一开始在doc目录下,cd+~到普通用户名目录,再cd+-返回doc目录。

(3)touch 和 mkdir

touch

作用:可以用来创建一个新文件。

用法:touch + [文件名]

mkdir

作用:可以在当前目录下创建一个新目录。

用法:mkdir + [目录名]

  • 选项:-p 后面可以跟路径,递归创建多个目录。当前目录下,有一个file.txt文件和doc1目录。使用mkdir加上-p选项,递归创建目录。通过tree指令,查看当前目录树状展开图,可以发现递归创建多级目录成功。

(4) rmdir 和 rm

rmdir跟mkdir是相对的,是remove directory的缩写,意思是删除目录。

作用:删除空目录

用法:rmdir + [目录名]

rm是remove的缩写,删除的意思。

作用:删除文件或者目录

用法:rm +[选项] + [文件或目录] (选项也可以放在文件或目录后面)

  • -r选项用来递归删除目录内部所有内容。当前目录下,有dir1/dir2/dir3这个路径,正常使用rm是无法删除一个目录的,需要加上-r选项,才能删除干净。

  • -f选项是force的缩写,强制删除。在root账号下,删除时通常会询问,如果不想弹出询问,可带上-f选项。

(5)cp

cp是copy的缩写。

作用:复制文件或者目录

用法:cp + [源文件或目录] + [目标文件或目录]

  • file.txt文件中有五行p字符。通过cp指令复制到hello.txt文件中,使用cat指令可以打印文件内容。

  • -r选项可以递归赋值某个目录内的所有内容,操作如下。

(6)mv

mv是move的缩写,可以移动文件和重命名文件。

用法:mv + [源文件或目录] + [目标文件或目录]

作用:

  • 当第二个参数不是路径,是一个名称时,可以给源文件或目录进行重命名。

  •  当第二个参数是已存在的路径(相对路径和绝对路径都可以),源文件或者目录可以有多个,mv指令会将指定的文件或目录全部移动到指定路径下。

 我们通过mv指令,将dir1目录和big.txt文件移动到doc目录下。

(7)man

Linux的命令有许多选项,我们不可能全部记住,man指令就是用来查找内容。

用法:man + [选项] +[指令]

通过man指令,查询ls指令的详细说明。

在man指令后加上数字,指定去那一部分查找信息。

  • 第1节:用户命令(User Commands)
  • 第2节:系统调用(System Calls)
  • 第3节:库函数(Library Calls)
  • 第4节:特殊文件(Special Files)
  • 第5节:文件格式和约定(File Formats and Conventions)
  • 第6节:游戏和娱乐(Games et. Al.)
  • 第7节:宏命令和约定(Miscellaneous)
  • 第8节:系统管理员命令(System Administration)

(8)cat,more和less

cat用来查看指定文件内容

用法:cat + [选项] + [文件名]

  • -n选项表示显示行号。

  • -b选项,对于非空行输出行号。

  • -s选型不输出多行空行。本来有两行空行,现在只输出一行。

more也是查看指定文件内容。

用法:more + [选项] + [文件名]

less指令十分强大,是more命令的改进版。

  • 分页显示less允许您一次查看文本文件的一部分,而不是一次性加载整个文件到内存,这对于查看大文件非常有用。
  • 随机访问:您可以向前或向后滚动文件,并且可以跳转到文件的特定位置。
  • 搜索功能:可以在文件中搜索特定的文本字符串。

输入指令时

  • -i 忽略搜索时的大小写
  • -N  显示每行的行号

进入less内部后

  • /:进入搜索模式,输入要搜索的字符串后按回车键。
  • n:跳转到下一个搜索结果。
  • N:跳转到上一个搜索结果。
  • q:退出less。

(9)head 和 tail

head用来实现文件开头内容到标准输出上,默认head打印指定文件前十行

用法:head + [选项] + [文件]

  • -n后面紧跟行号,表示需要显示的行数。

tail顾名思义是显示文件的尾部内容到标准输出,并且不断刷新,是你看到最新文件的内容。

用法:tail + [选项] + [文件]

  • -f 循环读取
  • -n后紧跟行号,表示读取的行数。

读取指定文件后10行的内容。

在big.txt中有1000行内容,怎么读取到到第100行的内容?

  • 方法一:先使用head读取前100行内容到一个临时文件中,使用‘’>‘’符号,这个操作叫做重定向。再从临时文件中,使用tail指令读取最后一行。

  • 方法二:使用"|"符号,叫做管道。把head和tail指令直接连接在一起,管道会把head指定内容存储起来,方便后面指令的使用。

(10)grep

grep可以在文件中搜索字符串,并打印出字符串所在行。

用法:grep + [选项] + [搜索字符串] + [文件]

  • -i选项,可以忽略字母大小写。file文件中有6行内容,查找“a”时,不管是大写还是小写都会显示。

 

  • -n选项,会显示匹配内容所在的行号。

  • -v选项会显示不匹配的内容。

  • -c选项会计算匹配内容的行数,并显示出来。

(11)zip和unzip

zip指令时将目录或者文件压缩zip格式,unzip就是解压zip格式的文件。

用法:zip + [选项] + [压缩后的文件名] + [目标文件或目录]

  • -r选项,递归处理,将指定目录下的所有文件和子目录一并处理。在当前目录下,doc目录中有许多文件和子目录,我们对他进行压缩。

 

  • -d选项是解压到指定目录,一般会解压到当前工作目录。

 

(12)tar

tar也是用来打包和解包的。

用法:tar + [-cvxzf] + [压缩的文件名]

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -v :压缩的过程中显示文件,这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔,不要再加参数!
  • -C : 解压到指定目录

一般来说,接cvzf即可。选项后面跟的是压缩后的文件名,.tgz是.tar.gz的缩略形式。

解压的话,将选项中的c换成x,去掉z即可。-C指定解压目录。

 

1.2 热键

[Tab]按键——具有命令补齐文件或目录名补齐的功能。

[Ctrl]-c按键——可以终止当前的程序,直接退出。

[Ctrl]-d按键——代表着键盘输入结束(End Of File)的意思,在某些情况下,可以直接退出回话。

2. 权限管理

2.1 文件访问者

  • 文件和文件目录的所有者:u--->User
  • 文件和文件目录的所有者所在的组的用户:g--->Group
  • 其他用户:o--->Others(外国人)

2.1 文件属性,文件类型和访问权限

文件的属性:

 

 

文件类型:

  • d:文件夹
  • -:普通文件
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如屏幕等串口设备)
  • s:套接口文件

基本权限:

  • 读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
  • 写(w):Write对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件权限。
  • 执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
  • “-”表示不具有该项权限。

2.3 权限值的表示方法

rwx分别表示读写执行的权限,当没有权限时,用“-”表示。这只有两种形态,可以用二进制数0和1表示。所以这三个位置中有权限用1表示,无权限用0表示。

  • rwx代表111,相当于八进制7
  • rw- 代表110,相当于八进制6
  • r-x  代表101,相当于八进制5
  • r--   代表100,相当于八进制4
  • -wx 代表011,相当于八进制3
  • -w-  代表010,相当于八进制2
  • --x  代表001,相当于八进制1
  • ---   代表000,相当于八进制0

2.4 设置文件访问权限

chmod可以设置文件访问权限

用法:chmod + [选项] + [权限] + [文件或目录]

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号: 

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

chmod可以跟+-=结合改变不同对象的权限。

chmod指令与a结合可以改变三个对象的所有权限。

根据权限值的表示方法,可以直接写三位数字,每个数字都是八进制来设置权限。

umask是用来查看或修改文件掩码。

新建文件默认权限=0666,新建目录默认权限=0777。但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。因为会受到umask的影响,假设默认权限是tmp,那么实际创建出来的文件权限是tmp&(~umask)。

用法:umask + [权限值]

2.5 粘滞位

目录的权限:

  • 可执行权限(Execute permission): 如果目录没有可执行权限,则用户无法通过 cd 命令进入该目录。

  • 可读权限(Read permission): 如果目录没有可读权限,则用户无法使用 ls 命令列出目录中的文件和子目录。

  • 可写权限(Write permission): 如果目录没有可写权限,则用户无法在目录中创建新文件或子目录,也无法删除目录中的文件或子目录。

也就是说,在同一个目录下,只要有该目录的写权限,不管我是不是拥有这个文件的写权限,都可以删除文件或子目录。这不是一个BUG吗?

为了解决这样的事情,Linux中有粘滞位的概念。

目录使用chmod +t指令来设置粘滞位。设置完后,该目录下的文件只能由

  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除


总结

通过本文,可以学习到一些Linux的皮毛知识。前路漫漫,任重道远!

创作不易,希望这篇文章能给你带来启发和帮助,如果喜欢这篇文章,请留下你的三连,你的支持的我最大的动力!!!

ee192b61bd234c87be9d198fb540140e.png

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

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

相关文章

开发工具推荐:await-to-js

目录 前言: 1. .then().catch() 2. async await 3. await-to-js 前言: 今天给大家推荐一块我觉得用着还不错的工具,await-to-js; await-to-js - npm GitHub - scopsy/await-to-js: Async await wrapper for easy error ha…

HTML+CSS+JS精美气泡提示框

源代码在效果图后面 点赞❤️关注&#x1f49b;收藏⭐️ 主要实现&#xff1a;提示框出现和消失两种丝滑动画 弹出气泡提示框后延迟2秒自动消失 效果图 错误框 正确 警告 提示 源代码 <!DOCTYPE html> <html lang"en"> <head><meta cha…

PHP场地预约共享茶室棋牌室小程序系统源码

&#x1f375;&#x1f3b2;【聚会新宠】场地预约神器&#xff0c;共享茶室棋牌室小程序大揭秘&#xff01;&#x1f389; &#x1f3e1;【开篇&#xff1a;告别繁琐&#xff0c;聚会新选择】&#x1f3e1; 还在为找不到合适的聚会场地而烦恼吗&#xff1f;想要一个既私密又舒…

JS 原型与原型链图解:彻底搞懂的终极指南

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 在JavaScript中&#xff0c;原型和原型链是非常重要的知识点&#xff0c;只有理解了…

2.2.填充和步幅

我们已经知道&#xff0c;卷积的输出形式取决于输入形式和卷积核的形式。 ​ 此外还有其他因素会影响输出的大小。假设以下情景&#xff1a; 有时&#xff0c;在应用了连续的卷积之后&#xff0c;我们最终得到的输出远小于输入大小。这是由于卷积核的宽度和高度通常大于1所导致…

驱动框架——CMSIS第一部分 RTE驱动框架介绍

一、介绍CMISIS 什么是CMSIS&#xff08;cortex microcontrol software interface standard一种软件标准接口&#xff09;&#xff0c;官网地址&#xff1a;https://arm-software.github.io/CMSIS_6/latest/General/index.html 包含的core、driver、RTOS、dsp、nn等部分&…

Linux系统编程:自定义协议(序列化和反序列化)

1. 协议 在之前我们谈到&#xff0c;协议就是一种"约定"&#xff0c;socket api接口&#xff0c;在读写数据时&#xff0c;都是按照"字符串"的方式来发送接收的&#xff0c;那么我们要传输一些"结构化"数据时怎么办呢&#xff1f;,比如说一个结构…

前端-04-VScode敲击键盘有键入音效,怎么关闭

目录 问题解决办法 问题 今天正在VScode敲项目&#xff0c;不知道是按了什么快捷键还是什么的&#xff0c;敲击键盘有声音&#xff0c;超级烦人啊&#xff01;&#xff01;于是我上网查了一下&#xff0c;应该是开启了VScode的键入音效&#xff0c;下面是关闭键入音效的办法。…

分布式服务框架zookeeper+消息队列kafka

一、zookeeper概述 zookeeper是一个分布式服务框架&#xff0c;它主要是用来解决分布式应用中经常遇到的一些数据管理问题&#xff0c;如&#xff1a;命名服务&#xff0c;状态同步&#xff0c;配置中心&#xff0c;集群管理等。 在分布式环境下&#xff0c;经常需要对应用/服…

云计算数据中心(三)

目录 四、自动化管理&#xff08;一&#xff09;自动化管理的特征&#xff08;二&#xff09;自动化管理实现阶段&#xff08;三&#xff09;Facebook自动化管理 五、容灾备份&#xff08;一&#xff09;容灾系统的等级标准&#xff08;二&#xff09;容灾备份的关键技术&#…

Flink CDC 同步表至Paimon 写数据流程,write算子和commit算子。

Flink CDC 同步表至Paimon 写数据流程,write算子和commit算子。(未吃透版) 流程图 一般基本flink cdc 任务同步数据至paimon表时包含3个算子,source、write、global commit。 source端一般是flink connector实现的连接源端进行获取数据的过程,本文探究的是 source算子获…

Haproxy服务

目录 一.haproxy介绍 1.主要特点和功能 2.haproxy 调度算法 3.haproxy 与nginx 和lvs的区别 二.安装 haproxy 服务 1. yum安装 2.第三方rpm 安装 3.编译安装haproxy 三.配置文件详解 1.官方地址配置文件官方帮助文档 2.HAProxy 的配置文件haproxy.cfg由两大部分组成&…

Synchronized升级到重量级锁会发生什么?

我们从网上看到很多&#xff0c;升级到重量锁的时候不会降级&#xff0c;再来线程都是重量级锁 今天我们来实验一把真的是这样的吗 1.首选导入Java对象内存布局的工具库&#xff1a; <dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-…

什么是内网穿透?

前言 我们常常会听到“内网穿透”这个术语&#xff0c;但对于很多人来说&#xff0c;它可能还比较陌生。作为一个在网络世界中摸索了一段时间的使用者&#xff0c;我来和大家分享一下我对内网穿透的理解。 目录 一、内网穿透介绍 二、发现 三、特点 四、优势 简单来说&am…

初识godot游戏引擎并安装

简介 Godot是一款自由开源、由社区驱动的2D和3D游戏引擎。游戏开发虽复杂&#xff0c;却蕴含一定的通用规律&#xff0c;正是为了简化这些通用化的工作&#xff0c;游戏引擎应运而生。Godot引擎作为一款功能丰富的跨平台游戏引擎&#xff0c;通过统一的界面支持创建2D和3D游戏。…

Git使用技巧

rebase & merge 先说结论&#xff0c;rebase比较适用于私人分支&#xff0c;可以把主干分支上其他人开发的功能拉到自己的分支上&#xff0c;并且是一条线&#xff1b;merge则主要适用于主分支&#xff0c;可以将其他人的代码合并上去&#xff0c;因为要保留主分支的完整历…

JavaWeb笔记_Cookie

一.会话技术概述 在日常生活中,A和B之间在打电话过程中一连串的你问我答就是一个会话 在BS模型中,会话可以理解为通过浏览器访问服务端的资源,点击超链接可以进行资源的跳转,直到浏览器关闭过程叫做会话 我们使用会话技术可以解决的是整个会话过程中(通过浏览器浏览服务…

css-01-如何实现“文本过长(文本在一行排),超出部分被省略号代替”

目录 需求代码代码解释 需求 最近写一个项目&#xff0c;遇到了一个问题&#xff0c;就是希望实现下面这种文字效果&#xff1a;文字在一行排&#xff0c;超出的部分用省略号代替 代码 <!DOCTYPE html> <html lang"en"><head><meta charset…

【芯片设计- RTL 数字逻辑设计入门 番外篇 12 -- SoC 设计中的 ECO】

请阅读【ARM AMBA AXI 总线 文章专栏导读】 请阅读【芯片设计 RTL 数字逻辑设计扫盲 】 转自&#xff1a;简单了解SoC设计中的ECO — 快乐的芯片工程师 文章目录 ECO 概述Pre-Mask ECO&#xff08;预掩模ECO&#xff09;芯片设计前端与后端的区别 Post-Mask ECO&#xff08;后…

IAR环境下STM32+IAP方案的实现

--基于STM32F103ZET6的UART通讯实现 一、什么是IAP&#xff0c;为什么要IAP IAP即为In Application Programming(在应用中编程)&#xff0c;一般情况下&#xff0c;以STM32F10x系列芯片为主控制器的设备在出厂时就已经使用J-Link仿真器将应用代码烧录了&#xff0c;如果在设备使…