Linux下的基本指令/命令(二)
热键
Tab: 连点两次 对命令进补齐 或者 显式 以目前所需字母 开头的指令。 也可以进行路径补齐 或者 显示所写的文件所处路径上的所有文件。 如果什么也没写,直接按Tab会显示所有命令
Ctrl + C: 一旦出现失控的状态,或者任何无法操作的状态就可以直接 Ctrl+C 解决
15. mv命令:
语法: mv src[目录/文件] dest[路径/文件]
(1) 剪切文件/目录
mv src 路径 -> 剪切
(2) 对文件/目录进行重命名
mv src 文件 -> 将src命名为 文件名
(3) 如果dest即是路径,又有文件: 那么是把src剪切到目录下,并命名为文件名
Eg:该命令是把 test 文件 剪切到 上级目录中,并且命名为 hello.c
16. echo命令: 向 显示器文件 进行 写入。
对显示器文件进行写入
语法: echo 字符串
Eg:
符号: > , 可用于输出重定向。
Eg: echo “hello world” 本来字符串是向 显示器文件中进行写入, 而用了符号“>”,使得字符串向 test文件中进行写入。 这种操作叫做输出重定向。 如果文件不存在,就新建文件test,并将字符串在test中进行写入。如果文件已经存在,每次写入都是从文件开头开始写,并对老的文件进行清空,然后再写入。
如果直接使用 >文件。那么是将空内容重定向写入到文件中。那么可以通过该操作对文件进行清空/创建一个空文件
Eg:
(1)创建一个空文件
(2)对文件进行清空
符号:>>:最加重定向。作用和符号>的作用是一样的。 但是符号>>输入重定向的文件是已有文件的话,会在文件后面进行写入,不会对之前内容进行覆盖。 此处每次换行的原因不是符号>>的原因,而是 echo 在显示器文件中写入的时候自带了换行,因此输出重定向后,在重定向的文件中进行写入时也是自带了换行的
符号<:输入重定向。 本应该从 键盘文件中读取数据, 符号< 使得可以从指定文件中读取数据。
Eg: 如果只有 cat , 是从键盘文件中读取数据。 而此处进行了输入重定向,是cat从test文件中进行读取数据
17. more命令: 打印文件内容。 more用来查看长文件,more是当打印文件占满一屏时,不再进行打印,当用户 点击空格时会向下再翻一行。但是more不能向上翻
语法: more 【选项】 文件
18. less命令: 打印文件内容。 Less可以通过方向键进行上下翻,空格也可以进行向下翻
语法: less 【选项】 文件
对于打印文件的命令: cat , more , less 而言,推荐使用less,因为less可以查看大文件和小文件,且支持上下翻
19. head命令,tail命令: head命令和tail命令和它们的命名一样简单。 head命令是显示文件开头的内容,tail是文件结尾的内容
head命令和tail命令语法:
head/tail 【选项】 文件
【选项】: -数字,对于head命令表示查看开头几行, [1,数字]。 对于tail命令是查看 结尾前几行至结尾的内容。 [结尾-数字 , 结尾]
管道:符号”|” , “|” 认为 为管道。此处 head -5020 log.txt 的结果放入管道,而这个管道里的内容作为 tail -21的源。 实质上 在Linux下一切皆文件,管道也是文件,此处是 head -5020 log.txt的结果写入 管道文件中, 而后面的 tail -21 是对管道文件进行操作
正因为有了管道,才可以流水线的对数据加工处理
20. 时间相关的命令: date命令
语法: date +[显式方式] //这个 “+” 是要显式写的。
date +[显式方式] 以时间戳的形式显式。 本质上是将时间戳写入到显示器文件中。
选项:
时间戳: 实际上这个秒数是 从 1970年1月1日午夜12:00 到现在的 时间累计的秒数,称这个时间为时间戳。 时间戳的特点:线性递增,唯一性。
时间对Linux下的重要性: 1. 日志中需要包含时间。
21. cal命令:
语法: cal [参数][月份][年份]
常用参数:
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
Eg:
cal -j 2024 是打印2024的日历
22. find命令: find是对树状结构的目录结构,进行广度和深度的搜索 目的文件。
语法: find 路径 【选项】 文件名
选项为 -name 时,按照文件名查找
如果不写路径和选项,是搜索文件,然后查看是否存在该文件。
-o 是 or的意思,可以同时查找多个文件
Eg: 此处有两个hello.c ,因此对hello.c搜索 会打印两个地址
23. which命令: 查找指令所在位置
语法: which 指令名
本质上指令就是一个可执行程序,就是文件。 下图可看到 指令文件是在bin目录下的
Eg:
指令就是一个可执行程序,就是文件!!!
指令,可执行程序,命令 是一回事。都是文件
实际上输入指令的时候,就是执行的/bin目录下的可执行程序.例如cp ,实际上是/bin/cp。而输入cp也可以用的原因是因为系统把/bin隐藏了,默认就是在/bin目录下搜索 名字为cp的文件。 这也是为什么要执行当前目录下的可执行程序要写为 ./程序名 ,这是因为不加 ./ 的情况下,是默认在/bin目录下查找
安装的本质就是拷贝,就是把目的软件 安装拷贝到目录下。
24. alias命令: 对指定命令进行取别名。 alias起别名是一个内存级的别名
语法:alias 别名=指定命令
后续可以通过别名来调用指定命令
Eg:
而ll命令是什么呢?
ll是对 ls -l 起的别名
所以此处zhangsan本质上是对 ls -l 命令起别名
25. grep命令: 把文件中 包含 目的字符串的 行的内容进行打印。 默认字符串的内容是区分大小写的
语法: grep [选项] 要搜索的字符串 文件
-i选项: 忽略 目前字符串的大小写
-v选项: 把 除了目的字符串的内容 进行打印,匹配上的行不进行打印
-n选项:打印时 标记行号。 这个行号打印的是 在原始文件中的行号
26. zip/unzip命令:
zip语法: zip [选项] 压缩包名字 要压缩的文件。
对目录文件进行打包时,要用 -r 选项,这样才能把目录及其目录的内容进行压缩。如果没有-r选项,只是对目录本身进行打包,而没有其中内容,只是一个空目录
unzip语法: unzip 压缩包文件 [选项]
对压缩包文件进行解压。
指定解包的位置: -d 选项, -d 选项可以指定一个路径, 将压缩包解压到 -d 指定的路径中
为什么要打包和压缩:打包压缩的本质就是 把 多个文件 压缩为 一个文件。 作用:(1)减少网络传输的数据量 (2) 避免出现 一个文件出现问题而导致 整个程序不能用的情况,只有这一个文件,只有下载成功和不成功的情况
27. tar指令:打包/解包,不打开,直接看内容
语法: tar [-cxtzjvf]文件与目录…参数:
-c: 建立一个压缩文件的参数指令
-x: 解开一个压缩文件的参数指令
-t: 查看 tarfile里面的文件
-z: 是否同时具有gzip的属性? 也就是 是否需要用gzip压缩?
-j: 是否同时具有bzip2的属性? 也就是 是否需要用bzip2压缩?
-v: 压缩的过程中显示文件。 这个常用,但不建议用在背景执行过程
-f: 使用档名,请留意,在f之后要立即接档名。不要再加参数
-C: 解压到指定目录
压缩文件的后缀为 .tgz
压缩:
tar -czf 压缩包名字 要压缩的文件 //不显示压缩过程
tar -cvzf 压缩包名字 要压缩的文件 //显示压缩过程的文件
解压:
tar -xzf 压缩包名字 //不显示解压过程
tar -xvzf 压缩包名字 //显示解压过程
tar -xvzf 压缩包名字 -C 指定目录 //把压缩包解压到指定目录
28. bc 指令: 命令行计算器
Eg:
29. uname 指令:用于获取电脑或者操作系统的相关信息。 Uname命令可以查看Linux主机所用的操作系统的版本,硬件的名称等基本信息
语法: uname [选项]
-r选项: 显示内核信息。
-a选项:详细显示
Eg: uname -a 中显示的 el7 是指操作系统是centos7。 UTC后面是芯片的体系结构的信息,这里芯片的体系结构是x86_64。
Uname -r 中可知: 内核版本是3.10 , 操作系统是el7 即centos7 , 体系结构是x86_64
体系结构:问体系结构是想要问计算机的芯片,即cpu。Eg: X86 , amd ,arm
X86 --- 指32位的
X86_64 --- 指64位的
快捷键:
Ctrl+D: 通常代表着:【键盘输入结束】的意思。另外,它也可以用来取代exit。 在用户使用时,Ctrl+D是退出用户。 在用户退出后,Ctrl+D是退出XShell