Linux存活指令和具体使用方法

简介: Linux存活指令和具体使用方法

Linux的基本指令

1 .Linux的指令究竟是在做什么?

我们在linux中执行的指令就是类似于我们在小学的时候学习的Windows中的一些简单的操作,例如建一个文件夹之类的


pwd:表示的意思是显示当前的路径(有了这个路径,我就可以知道mkdir创建的文件夹是在哪里了)

mkdir:表示在当前的路径下创建一个目录(也就是我们在Windows中的(文件夹)的意思)->所以就是创建一个文件夹的意思(此时就可以想到我们在使用电脑的时候,什么时候会去创建一个文件夹呢?)

cd:表示进入当前的目录(并且这个目录不能是文本文件)

touch:创建指定的普通文件

ls:显示当前目录下的所有文件夹和文本文件,也就是可以用来显示我刚刚用mkdir创建出来的文件夹或者显示我用touch创建出来的指定文件(包括目录,普通文本文件……)


但是以上的这些指令还有很多的细节要处理,所以我们一个一个进行解刨


指令细节处理

1.1(ls)

什么是当前路径:就是用户现在所处的当前的那个目录下,就叫做那个当前路径

命令 — 命令选项

ls — l

shutdown-s-t 120

shutdown-a

文件=文件+属性 => ls->显示文件名 ls-l -> 显示文件名和对应的属性,l 就是表示以list的形式,显示文件的更多的属性

并且我们在更改文件的内容的时候->相对应的我们就会更改文件的属性(内存大小)

以 . 开头的就是一个隐藏文件,然后ls-l -a 就是查看我的隐藏文件

ls-l = ll


常用的选项

ls-a =>列出目录下的所有文件,包括以 . 开头的隐藏文件

ls-d =>将目录像文件一样显示,而不是显示其下的文件。如 ls-d指定文件

ls-i =>输出文件的i结点的索引信息。如 ls-ai指定文件

ls-k =>以k字节的形式表示文件的大小。ls-alk指定文件

ls-l =>列出文件的详细信息

ls-n =>用数字的UID,GID代替名称(就是表示IP的意思,也就是我们在大学中的学号的意思)

ls-F =>在每个文件名后附上一个字符来说明这个文件的类型,"*“表示可执行的普通文件;”/“表示目录;”@“表示符号链接;”|“表示FIFOs;”="表示套接字

ls-r =>对目录进行反向排序

ls-t =>以时间对文件中的内容就行排序

ls-s =>在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)

ls-R =>列出所有子目录下的文件(递归)

ls-1 =>一行只输出一个文件


1.2(pwd)(较简单)

登录之后都先执行一下这个pwd指令,确认一下自己的路径是那个


1.3(cd)英文意思就是:改变目录(使用时也可以这样子理解)

隐藏目录、隐藏文件(这两个是不一样的),当然隐藏目录在Windows中也就是表示隐藏文件夹的意思

" \ "->这个斜杠表示的是Windows中的路径分隔符(也就是文件夹路径分隔符)

" / "->这个表示的是Linux中的路径分隔符(但是当仅有 "/"的时候,此时的斜杠表示的意思是Linux下的根目录)

路径具有唯一性

并且我们在Linux中有两种寻找对应文件的方式:一种是通过绝对路径,一种是通过相对路径

例如:cd/home/whb/107/lesson1/test.c ->绝对路径

/home/whb/107/lesson2 ->当前路径

ls …/lesson1/test.c ->相对路径 此时表示的就是我在lesson2的路径下,…表示上一路径,也就是107目录下,所以就可以通过107目录找107目录中的lesson1和lesson1中的test.c

所以相对于绝对路径,相对路径更加的方便,所以我们以后大部分用的都是相对路径(并且相对的就是当前路径而已)

并且cd指令和我的路径结合使用,我就可以通过相对路径的方式,切换到任意的我想要的目录,然后获取目录中的具体内容

所以cd+路径=任意


cd的快捷操作

1.cd~:表示直接进入当前用户的家目录(就是自己目录的意思) => 并且在我们的Windows操作系统电脑中就是(用户)文件夹

whoami

pwd ->就是用来找我现在所处的路径


2.cd-:表示回到最近上一次所处的路径


3.Tab热键的使用(当我们不知道此时的目录中有什么其它目录的时候,我们就只要Tab就可以知道此时的目录中的其它所有的目录了,这样是非常的方便的)

并且当我忘记了我想要使用的命令指令的时候,我也可以使用我的Tab按键,它就会把所有的命令指令给我显示出来,我就可以选择出我要使用的那个命令键了


1.4(touch)

疯狂刷屏,使用Ctrl+C停止

并且此时当我们的Linux上没有一些指令的时候,就可以使用(yum install -y )去下载一个

例如:下载我的tree命令:yum install -y tree


touch指令的使用:

touch filename

表示:在当前的目录,也就是当前的路径下,创建出一个普通的文本文件

当然也可以:

touch …/filename

表示在上级目录下,创建一个普通的文本文件


1.5 代码的编写

我们先不使用vim,因为vim的操作难度比较大

我们使用一个叫 nano(记事本)就可以了


1.6 打印文件

cat test.c

表示:打印test.c的意思


1.7 编译文件

gcc test.c (不带命令选项)

表示:编译文件的意思

此时我的Linux中有了这条指令,我就可以形成一个 a.out 的新文件—> 就是一个可执行文件的意思


1.8 执行文件

就是利用刚刚形成的a.out文件

例: ./a.out ->这个就是执行a.out的指令 ->此时就可以执行我的代码了,我就可以得到我想要的代码程序

正规意思:. 表示当前路径,a.out表示可执行文件 => 和起来就是执行这个当前的可执行文件


1.9(stat)

表示:获取一个文本文件的所有属性

命令行:stat test.c

表示:获取test.c的所有属性(如:大小,文件名,时间,还有一大推看不懂的)

并且此时的这个时间一共有三种(简写:ACM时间)


如何创建一串路径(区别于一个一个的创建)

mkdir -p

表示:创建一串路径的指令

例:mkdir -p a1/a2/a3/a4/a5/a6


2.1 删除空目录

rmdir

表示:删除我不需要的文件夹(目录)

*注意:只能删除空文件夹(就是不可以删有文件或者文件夹的文件夹)


2.2 rmdir的老大rm

表示:删除我想删除的任何东西

指令表示:rm filename

注意:这个就是涉及到了权限的问题

并且注意:删普通文件和空文件夹时不需要特殊处理,但是删除非空的文件夹时,就要进行处理

删除非空文件夹:rm -r a1

表示递归删除a1文件夹(这样我就可以把a1这个文件夹给删掉了)

rm -rf ->表示强制删除 或者是 rm -f(区别是需不需要递归删除)

rm -rf ./ ->表示删除当前路径下的所有目录


2.3(man)

就是用来查看一系列的其它指令的具体信息和Linux中的一系列的系统调用的接口

例如:man man ->就是表示查找我的man手册(有了这个手册我就可以找到我需要使用的一系列的系统接口)

并且此时的printf在我们的Linux中也是一个指令,可以供我们直接使用

例如:printf “%d,%s\n” 10 “hello world” => 指令格式

man 1 printf

man 2 fork

man 3 printf

表示:使用man去查找对应的指令或者调用接口的对应的手册(几号手册 1->1号手册 2->2号手册)


2.4(cp)

拷贝指令

功能:复制源文件或者目录

复制源文件:直接cp + filename 就行

复制目录:cp -r + 目录

并且如果是把这个拷贝到上一目录:

则:

cp filename …

cp -r 目录 …

表示:将这个文件或者文件夹复制(到)上一目录中

当然这个更删除也是一样的道理的,也有强制性复制

cp -rf + 目录 => 表示强制性的复制目录(可以直接进行目录的覆盖)


2.5(mv)

剪切指令和重命名指令

剪切:

mv sre(文件或目录) dst(一定是一个目录)

mv lesson1 我的C语言

表示:将lesson目录剪切到我的C语言目录

重命名:

mv filename newfilename

表示:将原来的文件剪切(到)一个新的文件中(但是此时的这个文件是并不存在的,所以就等于是重命名了)


剪切重命名同时:

指令:mv filename.txt …/newfilename.txt

表示:将我的文件给剪切到上一目录的新文件之中


2.6 上述是一系列的对目录进行改变,现在是对文件中的内容进行操作

(cat)的详解

cat->对文本内容进行打印

echo “aaa bbb ccc” ->此时就会直接把 aaa bbb ccc 给输出在我的显示器上

类似于我们的cat打印文本中的内容-> 指令:cat test.txt

但是此时这里涉及一个新的概念:

输出重定向的概念:符号 => “>”

例:echo “aaa bbb ccc” > file.txt 意思:把我的 aaa bbb ccc 给存到我的file.txt文件中

此时的这个行为就叫做输出重定项,并且当我的目标文件不存在是,系统会自己创建一个文件来存放相关的信息

并把本来应该显示在显示器上的内容,写入到文件中---------输出重定项(覆盖式写入)

并且输出重定项是一种覆盖式写入


所以此时我的 file.txt 中就有了相应的内容

此时我就可以使用我的cat去进行打印了->指令:cat file.txt


并且此时我们学习了输出重定项,我们现在就相比较的来学习一下什么是追加重定项

追加重定项:

不断的向目标文件新增内容

指令:echo “aaa bbb ccc” >> file.txt

符号: “>>”

区别:一个是覆盖式的写入,一个是追加保留式的写入


并且还涉及一个输入重定项

输入重定项:

符号: “<”

指令:cat file.txt => cat < file.txt 过程有区别,但是答案是一样的

cat < file.txt 意思:把file.txt文件中的内容给读取到cat中,然后再进行打印->充分体现出了输入重定项的效果


相关的命令选项:

cat -b ->对非空输出行编号

cat -n ->对输出的所有行进行编号

cat -s ->不输出多行空行(只输出一行空行)


2.7(wc)

功能:统计我的文件中的内容

指令:wc file.txt

涉及命令选项则是:

wc -l file.txt -> 表示(只看)文件内容的(行数)


2.8

more / less

回车向下 / 上下键上下

功能:查看一个文件中的内容时使用(推荐使用less,less方便好用)

指令:more file.txt

less file.txt

前提是我的文件中有非常多的行

所以此时就涉及了一个循环指令

cnt=0; while [$cnt -le 1000 ]; do echo “hello bit $cnt”; let cnt++;done > file.txt

命令选项:

很多,可以不要求掌握,但是我们要知道怎么退出(q)表示退出


2.9 (head/tail)

功能:显示开头某个数量的文字区块

功能:显示结尾某个数量的文字区块

head就是用来显示开头至标准输出中(标准输出:屏幕)

tail就是用来显示结尾至标准输出中(标准输入:键盘)

指令:head file.txt (行数多就是10行,行数少就是有多少行就多少行)

指令:tail file.txt

特定行数:

指令:hand -n5 file.txt 或者 hand -5 file.txt


3.(|)

命令行管道

表示:用来连接两条指令,传输指令间的数据

指令:cat file.txt | wc -l

指令表示:(前提是可以把这个管道"|"看成是一个文件)将cat打印的file.txt中的文件内容给放到此时的这个管道(文件)中

然后传给wc -l,然后wc -l就可以直接进行打印了,就不需要写成wc -l file.txt


使用场景:当我想从一个有1000行的数据中拿到第500到520行的数据

方法一:先 head -520 file.txt ->意思:先拿出1000行数据中的前520行数据

然后head -520 file.txt > tmp.txt ->意思:将我的520行的数据给重定项到一个新创建的tmp.txt文件之中

最后tail -20 tmp.txt ->意思:打印tmp.txt文件中的最后20行数据


方法二:cat file.txt | head -520 | tail -20 ->意思:将file.txt中的文件打印后传到"|“中,然后head打印”|“中的前520行,然后再把520行传到第二个”|“中,然后tail再打印”|"中的后20行


3.1(时间指令)

(date)

但是这样的是没有格式的

格式化指令:date +%Y-%m-%d/%H:%M:%S

时间戳的转化:date +%Y-%m-%d/%H:%M:%S -d @时间戳 ->这样的指令就可以在Linux上把我对应的时间戳转化为对应的北京时间了

(cal)

显示日历


3.2(sort)

升序排序:sort file.txt

降序排序:sort -r file.txt


3.3(功能更加复杂的指令)

(find)重要

功能:在目录中搜索文件,并执行指定的操作(遍历查找)

Linux中的find指令有很多的查找条件,功能强大。由于find具有强大的功能,所以它的选项也很多

指令:find file.txt

涉及其它的一系列搜索指令:

which

whereis ->可以帮我们寻找一些文档和程序之类的

场景:涉及一个新的指令

(alias)

功能:起别名

例:alias myls=‘ls -a -l -i -n’

此时我运行myls指令就是在运行ls -a -l -i -n

所以当我过了一段时间后又想知道myls是什么意思,此时我就可以通过 which myls 指令来获得


3.4(grep)

功能:查找关键字

指令:grep ‘关键字’ file.txt

表示:在file.txt文件自中去找我的关键字,然后把找到的含有关键字的信息都给打印出来

区别于:

反向匹配,查找出关键字以外的所有数据

指令:grep -v ‘关键字’ file.txt

当然也可以和我的管道给结合在一起使用

指令:cat file.txt | grep “关键字” (双引号、单引号都行)


小技巧:清空一个文件

指令:>file.txt

表示:输出重定项的应用,将左边的空复制到file.txt文件中->这样就表示清空


命令选项:

grep -i ‘关键字’ file.txt ->忽略大小写

geep -ivn ‘关键字’ file.txt ->连起来理解->表示忽略大小写,然后反向匹配,然后把匹配上的数据给定行号


3.5 (uniq)

功能:去重,配合上sort使用

指令:sort file.txt | uniq

表示:把排好序的file.txt文件中的重复文件去掉

指令:sort file.txt | uniq | wc -l

表示:将去重后的文件进行单独行数的统计


3.6 (top)

功能:打开Linux中的资源任务管理器


指令小总结:sort(文本行排序)/uniq(相邻内容去重)/wc(统计行数)/which(查看指令路径)/whereis(搜索包含关键字的文档)/top(任务管理器)/alias(起别名)


3.7(zip/tar)

zip


功能:打包压缩

后缀为:zip和tgz的

指令:zip -r file.zip file/dir

表示:将我的文件或者目录压缩成以zip为后缀的文件或者目录(但是要记得加 -r ,表示递归压缩,不然就会只有属性没有内容)

解压:

指令:unzip -r file.zip

解压到指定路径下

指令:unzip -r file.zip -d ~(根目录)

tar


功能:既可以压缩,又可以解压

本质:可以传不同的命令选项

指令:

命令选项:

tar -x ->解开一个压缩文件的参数指令(说白了就是解压)

tar -c ->意思:创建一个新的归档文件(说白了就是:创建一个压缩包)

tar -C ->解压到指定的目录…

tar -v ->压缩过程中显示文件

tar -f ->使用文档名,注意在f之后需要立即跟上文档的名字,并且不允许再接参数

tar -t ->查看压缩包中的文件

tar -j ->是否具有bzip2属性(就是需不需要用bzip2压缩)(说白了就是压缩的意思)

tar -z ->是否具有gzip属性(就是需不需要用gzip压缩)(说白了就是压缩的意思)


tar使用的一般场景

指令:tar -czf dst src

表示:将源头的文件打包到目的地(说白了就是:将一个目标文件压缩成我要的文件)

后缀简称:tgz

标准指令:tar -czf tmp.tgz tmp 此时我就把我的tmp目录中的文件都给打包好了,此时的tmp.tgz 就是我的压缩包了

解压:

指令:tar -xzf tmp.tgz 其中x表示解压,但是还不够,因为我的文件还在压缩包中,所以依然需要加z和f

查阅我们压缩包中的内容

指令:tar -ztvf tmp.tgz

将一个压缩包解压到指定的路径下

指令:tar -xzf tmp.tgz -C ~

表示:将我的tmp.tgz解压到根目录下(~),当然这个是可以随便写的


打包:防止丢失

压缩:传送更多的东西,接收更快


3.8(bc)

命令行出不来了就是Ctrl+C(终止)

功能:计算器的功能

使用场景:echo “1+2+3+4” | bc


3.9 (uname -r、uname -a)

功能:uname用来获取电脑和操作系统的相关信息


热键:Ctrl+d 自动退出软件

上下可以翻阅历史指令

热键:Ctrl+r 在历史指令中进行自动搜索

指令:history 保存我们历史输入过的所有指令


相关文章
|
11天前
|
存储 Linux
Linux专栏08:Linux基本指令之压缩解压缩指令
Linux专栏08:Linux基本指令之压缩解压缩指令
28 4
|
11天前
|
Linux
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
22 2
|
11天前
|
Linux
Linux专栏07:Linux基本指令之文件搜索指令
Linux专栏07:Linux基本指令之文件搜索指令
34 2
|
11天前
|
Unix Linux
Linux专栏06:Linux基本指令之文件处理指令
Linux专栏06:Linux基本指令之文件处理指令
27 2
|
11天前
|
人工智能 Linux 索引
Linux专栏05:Linux基本指令之目录处理指令
Linux专栏05:Linux基本指令之目录处理指令
23 2
|
6天前
|
安全 Unix Linux
【Linux】基本指令
【Linux】基本指令
|
7天前
|
存储 Linux 开发工具
【Linux】常见指令(下)
【Linux】常见指令(下)
|
7天前
|
存储 Linux 网络安全
【Linux】常见指令(上)
【Linux】常见指令(上)
|
11天前
|
Linux 数据安全/隐私保护
Linux专栏04:Linux基本指令之用户管理指令
Linux专栏04:Linux基本指令之用户管理指令
28 0
|
1月前
|
人工智能 Unix Linux
【初识Linux】Linux环境配置、Linux的基本指令 一
【初识Linux】Linux环境配置、Linux的基本指令 一