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;想要一个既私密又舒…

【如何在Python中插入列表元素】

在Python中&#xff0c;插入列表元素可以通过多种方式实现&#xff0c;具体取决于你想要将元素插入到列表的哪个位置。以下是一些常用的方法&#xff1a; 1. 使用append()方法 append()方法用于在列表的末尾添加一个元素。这是插入元素到列表中最简单的方式。 my_list [1, …

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等部分&…

如何评价《系统之美》这本书

系统的总体大于部分之和&#xff0c;因而&#xff1a;一万个图书管理员也无法取代一个搜索引擎 一万个图书管理员简单的拼凑在一起构不成一个系统&#xff0c;而搜索引擎却是个可以不断完善的系统。生物学中对于系统的定义是&#xff1a;“系统是能够完成一种或者几种生理功能…

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

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

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

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

kafka---消息日志详解

一、Log Flush Policy&#xff08;log flush 策略&#xff09; 1、设置内存中保留日志的个数&#xff0c;当达到这个数量的时候&#xff0c;内存中的数据会被强制刷到disk中 log.flush.interval.messages10000 2、设置内存中保留日志的时间&#xff0c;当达到这个时间的时候&am…

DP刷题(1500-1700)

1.区间DP&#xff1a;https://www.acwing.com/problem/content/323/ 比较容易想到区间DP,转换一下均方差定义用记忆化搜索就可以了。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; const int N 16; int n, m 8; int s[N][N]; double f[N][…

现在进行时的被动语态:为什么是 “being“?

在学习英语语法时&#xff0c;曾对现在进行时的被动语态感到困惑&#xff0c;特别是为什么要用“being”这个词。 1. 进行时态&#xff08;Present Continuous Tense&#xff09; 进行时态用于表示动作正在发生。其结构是&#xff1a;主语 am/is/are 动词的现在分词&#xf…

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

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

云计算数据中心(三)

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

Oracle19.24发布,打补丁到19.24

一. 19.24发布 2024年7月16日 19c&#xff0c;19.24补丁发布 文档编号19202407.9&#xff0c;文档编码规则&#xff1a; 19&#xff08;版本号&#xff09;2024&#xff08;年份&#xff09;07&#xff08;当季的第一个月01/04/07/10&#xff09;.9 一般每个季度的首月中16…

02-Spring Core中的设计模式分析

Spring Core中的设计模式分析 1. 单例模式 (Singleton Pattern) 源码分析&#xff1a; 在Spring框架中&#xff0c;Bean默认是单例的。这意味着在整个Spring IoC容器中&#xff0c;只有一个Bean实例。Spring通过DefaultSingletonBeanRegistry来实现单例模式。 public class…

Android Launcher3桌面图标样式修改(添加圆角)

1.源码类&#xff1a;LauncherActivityCachingLogic.java /** Copyright (C) 2018 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You…

js修改hash的方法

关键&#xff1a; window.onhashchange (event) > {// do something }hash变化包括 js修改hash手动修改url的hash浏览器前进、后退 js修改hash: location.href "#user";在vue-router等路由组件中如何实现history模式呢&#xff1f; 关键函数&#xff1a;hi…

【学习笔记】Redis学习笔记——第14章 客户端

第14章 服务器 14.1 命令请求的执行过程 14.1.1 发送命令请求 客户端将发送的命令准换成协议格式然后发送给服务器 14.1.2 读取命令请求 1>保存命令至客户端状态输入缓冲区 2>提取命令参数及参数个数保存至客户端状态的argv与argc字段中 3>获取命令执行器并执行命…