【Linux基础】Linux的基本指令使用(超详细解析,小白必看系列)
👉系列专栏:【Linux基础】
🙈个人主页:sunnyll
目录
💦 ls 指令
💦 pwd指令
💦cd指令
💦touch指令
💦mkdir指令(重要)
💦rmdir指令 && rm 指令(重要)
💦man指令(重要)
💦cp指令(重要)
💦mv指令(重要)
💦cat指令(重要)
💦more指令
💦less指令(重要)
💦head指令
💦tail指令 (查看日志常用)
💦date指令
💦cal指令
💦find指令
💦grep指令(重点----查看日志)
💦sort指令
💦uniq指令
💦zip / unzip指令
编辑
💦tar指令(重要)
💦uname 指令
💦几个重要的热键
💦关机
💦拓展命令
✨结束
💦 ls 指令
语法: ls [选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。(介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。 (递归)
-1 一行只输出一个文件。
示例:
- 1、ls
ls只显示文件名和目录名
在头次进入root用户时,里头啥也没有,这里为了更好的演示ls指令,先提前使用touch指令创建文件以及mkdir指令创建目录以作演示。后续详谈touch和mkdir
- 2、ls -l
ls -l 指令可以在ls的基础上显示出文件的更多属性,这里 ls -l 可以简写成 ll
补充:文件的相关知识点
问:如果我在windows系统下创建了一个空文件,那么它在磁盘中占据空间吗?
答案:要占用空间,即使该文件是0KB,因为文件是由文件内容+文件属性组成的。文件属性是要占空间的。综上类比Linux,ls只是为了显示文件的一种属性,而 ls -l 或 ll 是为了显示文件的更多属性。 具体属性的含义后续会进行讲演。
3、ls -a
ls -a是为了显示Linux系统中的隐藏文件,ls -a -l(或者 ls -al)都是可以为了显示Linux系统中的隐藏文件。
以 . 开头的文件即隐藏文件。
当然,我们也可以利用touch手动创建一个隐藏文件,用ls -l就看不到,要用ls -al才能。
补充:
在任意目录下,都存在两个隐藏文件:
- .(当前路径)
- ..(上级路径)
在解释这俩隐藏文件前,再介绍俩指令:pwd(显示当前用户所在的目录)和cd(改变工作目录。将当前工作目录改变到指定的目录下。)接下来按照图示走到如下的目录:
解释 ..(上级路径):可以使用cd ..来回到上级路径
注意Linux的路径分隔符是 / ,而Windows的路径分隔符是 \
现在我们来到了Linux的根目录,若要想回到开始的路径,只需如下操作:
解释 .(当前路径):
. 的含义为我要执行当前路径下的某个程序,如下的操作:
4.ls -d
将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
5.ls -i
ls -i 表示输出文件的 i 节点的索引信息(inode)。类似的还有像 ls -il,具体何为索引,后续详谈。
补充:
windows:标识一个文件,文件名+后缀
Linux:一般文件名+后缀不是作为标识文件的主要方式,而是inode,具体是啥后续详谈。
6.ls -n
ls -n 表示以数字的方式显示文件的相关信息。也可以使用 ls -ln或ls -nl
7.ls -F
ls -F 表示在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)。也可以用ls -Fl。
8.ls -Rls -R是把当前目录下的文件递归式的给你展现出来
后续的选项就不再赘述了,可以下来试着敲一敲。
💦 pwd指令
语法:pwd
功能:查看用户当前所处的路径。
示例:
💦cd指令
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:
cd .. : 返回上级目录 cd /home/litao/linux/ : 绝对路径 cd ../day02/ : 相对路径 cd ~:进入用户家目录 cd -:返回当前所处路径的上一次所处的路径
- 一串路径的分隔符,Linux:/ windows: \
- / 我们称之为根目录
首先,Linux的目录结构本质就是一颗多叉树。Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
我们一般“定位”某个文件,是通过路径定位的方式进行定位的,因为常规的路径定位方式具有唯一性。就比如说我要寻找根目录/下的test.c文件。可采用绝对路径和相对路径:
- 绝对路径:/home/shell/test.c
- 相对路径:假设从dev文件开始访问test.c文件。路径如下:../home/shell/test.c
类比实际中Xshell的操作:
1.绝对路径:
2.相对路径:
3.cd ~
cd ~ 是进入用户家目录
4.cd -
cd - 是跳转至上一次所处的路径
💦touch指令
语法:touch [选项]... 文件...
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
- -a 或--time=atime或--time=access或--time=use只更改存取时间。
- -c 或--no-create 不建立任何文档。
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 或--time=mtime或--time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间
示例:
至于touch指令的其它选项,我们后续详谈。
既然我们创建了文件,不如利用nano对test.c文件写一段"hello world"的代码。
随后ctrl+x,y,回车。最后按照如下指令操作即可:
如果你是root用户,且没有nano和gcc,那么需要输入如下指令进行配置。
//配置nano yum install -y nano //配置gcc yum install -y gcc-c++
💦mkdir指令(重要)
语法: mkdir [选项] dirname...
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
举例:
上述是创建单个目录,如果我想创建一长串目录就需要加上 -p
tree命令是以树状形式显示指定的路径结构。
如果没有tree命令,那么只需要输入以下指令进行安装:
yum install -y tree
💦rmdir指令 && rm 指令(重要)
1、rmdir指令:
rmdir是一个与mkdir相对应的命令。 mkdir是建立目录,而rmdir是删除命令。
语法: rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录,非空目录删除不了
常用选项:
- -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
示例:
rmdir只能删除空目录,像刚刚连续创建的目录dir,就不能直接删除dir1,因为其递归里有dir
2、rm指令:rm命令可以同时删除文件或目录
语法: rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
rm -i
rm -f
rm -r
rm -rf
💦man指令(重要)
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法: man [选项] 命令
常用选项:
- -k 根据关键字搜索联机帮助
- num 只在第num章节找
- -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
man手册分为8章
- 是普通的命令
- 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
- 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
- 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
- 是给游戏留的,由各个游戏自己定义
- 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
- 是系统管理用的命令,这些命令只能由root使用,如ifconfig
示例:
如果你的云服务器上没有man手册,就需要自己手动安装,如下:
- root用户:yum install -y man-pages
- 普通用户:sudo yum install -y man-pages
💦cp指令(重要)
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
- f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
示例:
- 当前路径下的拷贝:
cp的功能类似于windows中的复制粘贴
- 指定路径下的拷贝:
如果在cp的时候,要拷贝的文件,是拷贝在当前路径下,两个文件的名称不能一样,如果拷贝到不同路径下,可以一样。
- 拷贝目录:cp -r
- 强制拷贝:cp -f 或 cp -rf
💦mv指令(重要)
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录), mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
- -f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
举例:
- mv剪切文件:
- mv剪切目录:
- mv重命名:
重命名文件
重命名目录:
- mv -i :若目标文件已经存在时,就会询问是否覆盖!
- mv -f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
💦cat指令(重要)
语法:cat [选项][文件]
功能:查看目标文件的内容
常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
示例:
我们对nano对file.txt文件写入以下代码:
利用cat指令将其内容显示出来:
cat指令是正向输出,除此之外还有个tac指令逆向输出:
注意:cat指令适合于查看内容较少的文件,不适合查看大文本数据,因为会出现刷屏,要用到more指令。
💦more指令
语法: more [选项][文件]
功能: more命令,功能类似 cat
常用选项:
- -n 对输出的所有行编号
- q 退出more
准备工作:
按照如下的指令写段1万行文本:
cnt=1; while [ $cnt -le 100000 ]; do echo "hello bit $cnt"; let cnt++; done
再将这段代码按如下指令写入到file.txt文件中:
示例:
我可以手动输出想要跳转某行,more指令会帮助我们跳转到那行附近。more指令只能回车下翻数据,无法上翻数据。
💦less指令(重要)
- less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
- less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
- 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!
- 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
功能:
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
选项:
- -i 忽略搜索时的大小写
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- q:quit
1. less也只能输出一整块屏幕2. less支持利用键盘上下或J和K进行前后翻找
3. 推荐使用less
less可以帮助我们进行查看文本,可以用它进行日志查看,后续详谈。
- 补充1:
基本大部分计算机,要与人机交互,都要默认打开三个设备(文件)
- 标准输入,stdin,代码是0
- 标准输出,stdout,代码是1
- 标准错误输出,stderr,代码是2
标准输出和标准错误都是往显示器上打印。
- 补充2:输出重定向 >
把本来应该写入到显示器的内容写入到文件中。
输出重定向会清空原始文件的内容,进行重新写入:
- 补充3:追加重定向 >>
使用>会清空原始内容,而>>就不会了,相反会在原始文件的结尾进行新增式的写入:
- 补充4:cat
当cat指令后面不带任何东西时,默认从键盘(标准输入)进行读取:
想要推出次界面,按ctrl+c即可。 Linux下一切皆文件,键盘当作文件,所以可从键盘用cat读取数据,后续详谈。
- 补充5:输入重定向<
输入重定向,把本来应该从键盘文件中读取的数据的方式,改成从指定文件中读取。
💦head指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块, head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
语法: head [参数]... [文件]...
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
-n<行数> 显示的行数
1. 默认head 指令打印文件的前10行2. 加上 -n 指定输出文件前n行
💦tail指令 (查看日志常用)
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
语法: tail[必要参数][选择参数][文件]
功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
- f 循环读取
- -n<行数> 显示行数
示例:
- 补充:如何拿到文本数据的第[ 30000, 30020]行?
管道法
直接使用指令:head -30020 file.txt | tail -21
该段指令的竖划线 | 即为管道。
同样我们也可以级联多个命令,来完成流水线式的数据处理工作
💦date指令
date显示
date 指定格式显示时间: date +%Y:%m:%d
date 用法: date [OPTION]... [+FORMAT]
1、在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01..31)
- %m : 月份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
2、在设定时间方面
- date -s //设置当前时间,只有root权限才能设置,其他只能查看。
- date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
- date -s 01:01:01 //设置具体时间,不会对日期做更改
- date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
- date -s “01:01:01 20080523″ //这样可以设置全部时间
- date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
- date -s “20080523 01:01:01″ //这样可以设置全部时间
3、时间戳
- 时间->时间戳: date +%s
- 时间戳->时间: date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
示例:
- 时间->时间戳: date +%s
我们也可以通过自己的方式获取时间戳:
- 时间戳->时间: date -d@1508749502
💦cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。 “阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
命令格式: cal [参数][月份][年份]
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
- -3 :显示系统前一个月,当前月,下一个月的月历
- -j :显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
- -y :显示当前年份的日历
举例:
💦find指令
- Linux下find命令在目录结构中搜索文件,并执行指定的操作。
- Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
- 即使系统中含有网络文件系统( NFS), find命令在该文件系统中同样有效,只你具有相应的权限。
- 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法: find 路径 -name ...
功能: 用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:
- -name 按照文件名查找文件
示例:
比如查找C语言的头文件#include<stdio.h>:
💦grep指令(重点----查看日志)
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
- -i :忽略大小写的不同,所以大小写视为相同
- -n :顺便输出行号
- -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
示例:
我们以次文本为例:
grep -i
grep -v
grep -n
💦sort指令
语法:sort [选项] 对应排序的文件
功能:sort命令将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序
常用选项:
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
- -m 将几个排序好的文件进行合并。
- -M 将前面3个字母依照月份的缩写进行排序。
- -n 依照数值的大小排序。
- -o<输出文件> 将排序后的结果存入指定的文件。
- -r 以相反的顺序来排序。
- -t<分隔字符> 指定排序时所用的栏位分隔字符。
- +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
- –help 显示帮助。
- –version 显示版本信息
示例:
sort : sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出,在这一点上和cat命令稍有区别
sort -r :反向输出
sort -u : sort的-u 选项它的作用很简单,就是在输出行中去除重复行,相比于uniq 的-u选项去重仅仅作用于相邻行,而sort -u去重的作用则是全局
sort -n : sort的-n选项依照数值的大小排序
💦uniq指令
语法:uniq [选项] 对应处理的文件
功能:Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。uniq 可检查文本文件中重复出现的行列
常用参数:
- -u或–unique 仅显示出一次的行列。
- -c或–count 在每列旁边显示该行重复出现的次数。
- -d或–repeated 仅显示重复出现的行列。
- -f<栏位>或–skip-fields=<栏位> 忽略比较指定的栏位。
- -s<字符位置>或–skip-chars=<字符位置> 忽略比较指定的字符。
- -w<字符位置>或–check-chars=<字符位置> 指定要比较的字符。
- –help 显示帮助。
- –version 显示版本信息。
示例:
uniq :
uniq -d : 将文本数据中 相同的两行数据 ,提取一行出来(文本去重,不完全)
uniq -c : 显示每一行重复了几次
sort 与 uniq 联动完全去重 :sort test.txt | uniq
如果这个文件比较大,经过排序去重之后,我想知道,不重复的有多少行sort test.txt | uniq | wc -l
sort uniq grep 相互联动 :将文件中,包含 1 的行 过滤出来,进行行排序去重,还剩下几行
💦zip / unzip指令
- zip:
语法: zip 压缩文件.zip 待打包目录或文件
功能: 将目录或文件压缩成zip格式
常用选项:
- -r 递归处理,将指定目录下的所有文件和子目录一并处理
将test目录压缩: zip -r test.zip test.txt
注意:如果直接打包一个目录,只会打包一个空目录,不会打包目录中包含的文件
修改: zip -r 110.zip 110
- unzip:
语法:unzip 压缩文件.zip 选项 目录
功能:解压文件
常用选项:
- 默认:默认解压到当前路径下
- -d:解压到指定路径
- 补充:为什么要打包压缩?
1、节约空间
2、我们下下来的软件是压缩包,曾经提供软件的人,上传的是压缩包!
3、所有的软件写好后,不是只有一个文件的,打包压缩后便于管理。方便网络传输和各种部署。
💦tar指令(重要)
语法:tar 选项 压缩文件 …
功能:打包/解包,不打开它,直接看内容
选项:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C : 解压到指定目录
示例:
-v:显示压缩过程:
和unzip一样,默认情况下,几乎所有的解压工具,解压出来的原始数据,都会被解压在当前路径下。如果要解压到指定目录下,就需要用到如下指令:-C
💦uname 指令
语法: uname [选项]
功能: uname用来获取电脑和操作系统的相关信息。
补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
- -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
💦几个重要的热键
- 1、[Ctrl]-c按键---让当前的程序『停掉』
- 2、[Tab]按键---具有『命令补全』和『档案补齐』的功能
- 3、Ctrl + r : 搜索历史命令
- 4、Linux 和 windows 可以进行相互的传输文件
// 安装 lrzsz yum install -y lrzsz
将文件直接拖进linux 中即可
其中 rz 指令是将 linux 的文件传输给 windowssz 指令是将 windows 的文件传输给 Linux
- 5、两个Linux 服务器之间的文件传输
scp 110.tgz root@主机地址:/root
💦关机
语法: shutdown [选项] ** 常见选项: **
- -h:将系统的服务停掉后,立即关机。
- -r:在将系统的服务停掉之后就重新启动。
- -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思。
一般不推荐各位关机。
💦拓展命令
- 安装和登录命令: login、 shutdown、 halt、 reboot、 install、 mount、 umount、 chsh、 exit、 last;
- 文件处理命令: file、 mkdir、 grep、 dd、 find、 mv、 ls、 diff、 cat、 ln;
- 系统管理相关命令: df、 top、 free、 quota、 at、 lp、 adduser、 groupadd、 kill、 crontab;
- 网络操作命令: ifconfig、 ip、 ping、 netstat、 telnet、 ftp、 route、 rlogin、 rcp、 finger、 mail、 nslookup;
- 系统安全相关命令: passwd、 su、 umask、 chgrp、 chmod、 chown、 chattr、 sudo ps、 who;
- 其它命令: tar、 unzip、 gunzip、 unarj、 mtools、 man、 unendcode、 uudecode。
✨结束
以下就是我对Linux---常用指令的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对Linux----权限的理解,请持续关注我哦!!!!
相关文章:

【Linux基础】Linux的基本指令使用(超详细解析,小白必看系列)
👉系列专栏:【Linux基础】 🙈个人主页:sunnyll 目录 💦 ls 指令 💦 pwd指令 💦cd指令 💦touch指令 💦mkdir指令(重要) 💦rmdir指令…...
【无标题】Test
短视频平台的那些事 前言 过去几年,我一直专注于短视频平台的建设和开发工作。在这个过程中,我发现这个领域有着非常多的挑战和机遇,也涌现出了许多新的技术和创新。今天大家分享我个人的一些经验,希望能够为大家带来一些启发和帮…...

1576. 替换所有的问号
1576. 替换所有的问号 C代码:自己写的 char * modifyString(char * s){int n strlen(s);for (int i 0; i < n; i){if (s[i] ?) {if (i ! 0 && i ! n-1) {for (int j 0; j < 26; j) {if (a j ! s[i-1] && a j ! s[i1]) {s[i] a j;br…...

MySQL学习笔记(快速入门)
Mysql快速入门 一、数据库相关概念1.启动数据库2. 客户端连接3. 数据模型4.关系型数据库RDBMS 二、SQL语言1. 通用语法2. SQL分类 三、DDL数据定义语言1. 数据库操作2. 表操作(1) 查询当前数据库所有表show tables;(2) 查询表的结…...

使用DNS查询Web服务器IP地址
浏览器并不具备访问网络的功能,其最终是通过操作系统实现的,委托操作系统访问服务器时提供的并不是浏览器里面输入的域名而是ip地址,因此第一步需要将域名转换为对应的ip地址 域名:www.baidu.com ip地址是一串数字 tcp/ip的网络结…...

docker虚拟网桥和业务网段冲突处理
ifconfig查看docker虚拟网桥ip地址 docker inspect --format{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} $(docker ps -aq)查询所有容器的ip 修改docker-compose networks networks xxx-network: driver: bridge ipam: c…...
axios登录,登出接口的简单封装步骤详解!
目录 总结一、步骤1.安装Axios:2.axios对象封装3.请求api封装4.使用pinia临时库保存响应信息(按需求用)5.最后,在组件中使用! 总结 封装axios对象,编写公共请求代码、添加拦截逻辑、然后分层实现axios请求…...

九大装修收纳空间的设计,收藏备用!福州中宅装饰,福州装修
如果房子面积不大,收纳设计就显得非常重要。其实装修房子中很多地方都可以做收纳,九大空间每一处都可以放下你的东西,让你摆脱收纳烦恼。 收纳空间少的话,装修完后住久了怕会乱成一窝,因此装修的时候,收纳…...

软件工程概论
文章目录 软件的定义软件的特点软件的种类软件工程的起源软件工程的三个阶段软件工程概念的提出软件开发的本质软件工程框架软件工程的目标软件工程的原则软件工程的活动 软件的定义 计算机系统中的程序及其文档。 程序是计算任务的处理对象和处理规则的描述; 文档…...

仅个人记录:复现dotspatialdemo、打包、
复现dotspatialdemo 原始文件 一、新建项目、工具箱设置,项目引用等看上一篇 二、根据Form1.Designer.cs设计界面Form1.cs[设计] SplitContainer控件:将容器的显示区域分成两个大小可调的、可以向其中添加控件的面板。 legend控件:图例 map控…...

华为云云耀云服务器L实例评测|Elasticsearch的springboot整合 Kibana进行全查询和模糊查询
前言 最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。 在前几期的博客中,介绍了Elasticsearch的Docker版本的安装,Elasticsearch的可视化Kibana工具…...
C++统一初始化和初始化列表
一直对C初始化使用圆括号和花括号的区别有所疑惑,参考书籍和博客简单总结一下 文章目录 常见的初始化操作统一初始化(Uniform Initialization)初始化列表(Initializer Lists) 常见的初始化操作 对于一个基础数据类型进行初始化,比如 int: i…...

【重拾C语言】六、批量数据组织(一)数组(数组类型、声明与操作、多维数组;典例:杨辉三角、矩阵乘积、消去法)
目录 前言 六、批量数据组织——数组 6.1 成绩统计——数组类型 6.1.1 数组类型 6.1.2 数组声明与操作 6.1.3 成绩统计 6.2 统计多科成绩——多维数组 6.3 程序设计实例 6.3.1 杨辉三角形 6.3.2 矩阵乘积 6.3.3 消去法 6.4 线性表——分类与检索 前言 ChatGPT C语…...
C++算法:寻找两个正序数组的中位数
题目 寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1: 输入:nums1 [1,3], nums2 [2] 输…...

2.1 关系数据结构及形式化定义
思维导图: 2.1.1 关系 笔记: 关系数据库模型是一个简单但强大的方式来表示数据及其之间的关系。下面是这节的关键内容: - **关系模型核心概念** * 关系数据模型的核心是“关系”,它在逻辑上表现为一个二维表。 * 此表中&a…...

“揭秘淘宝店铺所有商品接口:一键获取海量热销宝贝信息!“
淘宝店铺所有商品接口可以通过shop id或店铺主链接获取到整店商品,数据包括:商品ID,图片地址,店铺标题,优惠价,价格,销量,宝贝链接等整个店铺的商品。 要使用这个接口,需…...

跟着播客学英语-Why I use vim ? part two
在上一期作者讲到了他使用 Vim 的主要原因是提高效率,不需要再去使用鼠标,今天我们继续上次未听完的内容: if you type Vi, thats going to be alias to Vim anyway by default theres, not really a good reason for you to use vi that I c…...

【网络通信三要素】TCP与UDP快速入门
网络通信三要素 1.什么是网络编程? 可以让设备中的程序,与网络上其他设备中的程序进行数据交互,从而实现网络通信的手段,java.net.*包下提供了网络编程的解决方案 2.基本的通信架构 基本的通信架构有2种形式:CS架构…...
k8s集群的简单搭建
K8S简单集群搭建 前提条件 windos11电脑,内存16g以上安装vmware虚拟机软件安装三个centos7虚拟机,分配硬盘40g,内存4g,CPU4核心网络均采用NAT模式(新建虚拟机默认的模式) centos7镜像下载:https://mirrors.tuna.tsi…...

语义分割笔记(三):通过opencv对mask图片来画分割对象的外接椭圆
文章目录 mask图像介绍步骤代码 mask图像介绍 根据 mask 图像来画分割对象的外接椭圆是一种常见的图像分割任务。Mask 图像通常是一个二值图像,其中包含了感兴趣对象的像素。通常情况下,白色像素表示对象,黑色像素表示背景。 步骤 以下是一…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...

图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...