欢迎来到Cefler的博客
博客主页:那个传说中的man的主页
个人专栏:题目解析
推荐文章:题目大解析3
cat(concatenate)是一个在Linux和Unix系统中常用的命令,用于查看文件内容、创建文件、合并文件等操作。
cat命令的基本语法如下:
cat [选项] [文件]
其中,选项是可选的,用于指定一些特定的操作,例如:
文件是要操作的文件名,可以指定一个或多个文件。
以下是cat命令的一些常见用法:
cat file.txt
cat > newfile.txt
>
这里是输出重定向,原本应该是向显示器输出内容,现在是将内容输出到文件中。
>
运算符用于将cat指令的输出覆盖到目标文件中。如果目标文件不存在,则会创建一个新文件;如果目标文件已存在,则会覆盖原有内容。
>>
运算符用于将cat指令的输出追加到目标文件的末尾。如果目标文件不存在,则会创建一个新文件;如果目标文件已存在,则会将内容追加到文件末尾。
cat file1.txt file2.txt > merged.txt
cat -n file.txt
5.输入重定向
以下是使用cat指令和输入重定向符号的示例:
cat < filename
在上述示例中,filename是要读取内容的文件名。<符号将文件的内容重定向为cat命令的输入,然后cat命令将显示文件的内容在终端上。
例如,如果要显示名为example.txt的文件的内容,可以运行以下命令:
cat < example.txt
这将在终端上显示example.txt文件的内容。
在Linux中,echo是一个用于在终端输出文本或变量内容的命令。它可以将指定的文本或变量的值打印到标准输出(通常是终端窗口)。
echo命令的基本语法如下:
echo [选项] [字符串]
其中,选项是可选的,用于对输出进行一些控制。常用的选项包括:
字符串是要输出的文本或变量的值。可以直接指定字符串,也可以使用变量来输出其值。
以下是一些示例:
echo "Hello, World!" # 输出字符串 "Hello, World!"
echo -n "Hello, " # 输出字符串 "Hello, ",不换行
echo -e "Line 1\nLine 2" # 输出两行文本,使用转义字符表示换行
echo命令还可以与其他命令结合使用,将输出的文本重定向到文件或管道中,实现更复杂的操作。
>
echo还可以将输出内容到文件中去,比如这里我想输出“hello world”到text.txt中
echo “hello world” > text.txt
★注意:如果text.txt原本不存在,则新建一个新的文件名为text.txt
所以用echo新建一个空文件可以为
echo > 文件名
//该写法可以创建一个空文件,也可以清空一个已存在的文件
这里我们需要知道一个概念:Linux下一切皆文件!
我们正常用echo 字符串 ,不过也是向显示器上输出内容,那么其实显示器虽然是个硬件,但它也具备读写的功能,所以,这里显示器对于我们也是个“文件”。
所以,这里的>
,做的事情就是输出重定向,把原本应该输出到显示器上的内容,输出到其它文件上。
★注意:每次echo重新进行写入时,原内容会被清空
>>
(追加重定向)
如果你想将输出内容追加到文件末尾而不是覆盖原有内容,可以使用>>运算符,示例如下:
echo "This is a new line" >> output.txt
✨输出重定向和输入重定向概念
输出重定向和输入重定向是在命令行中用于改变命令的输入来源和输出目标的技术。
输出重定向允许将命令的输出结果发送到指定的位置,而不是默认的标准输出(通常是终端窗口)。通过使用输出重定向符号>或>>,可以将命令的输出写入到文件中或者通过管道传递给其他命令。
>
符号用于将命令的输出覆盖写入到指定的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会清空原有内容并写入新的输出。
>>
符号用于将命令的输出追加写入到指定的文件中。如果文件不存在,则会创建一个新文件;如果文件已存在,则会将输出追加到文件的末尾。
例如,ls > file.txt命令将ls命令的输出结果写入到file.txt文件中,如果file.txt文件已存在,则会被覆盖;而ls >> file.txt命令将输出追加到file.txt文件的末尾。
输入重定向允许将文件的内容作为命令的输入,而不是从标准输入(通常是键盘)读取。通过使用输入重定向符号<,可以将文件的内容作为命令的输入。
例如,cat < file.txt命令将file.txt文件的内容作为输入传递给cat命令,然后cat命令将显示文件的内容在终端上。
输出重定向和输入重定向是非常有用的技术,可以帮助我们将命令的输出保存到文件中、将文件的内容作为命令的输入,以及通过管道将多个命令连接起来进行复杂的操作
more 是一个用于在 Linux 终端中逐页显示文本文件内容的命令。它允许用户逐页浏览大型文件,以便更好地查看和阅读文件内容。
以下是 more 命令的一些常用选项和用法:
more 命令非常有用,特别是当你需要查看大型文件时。它可以帮助你逐页浏览文件内容,方便阅读和查找信息。
less是一个用于查看文本文件内容的命令行工具。它可以逐页显示文件内容,并提供了一些方便的浏览和搜索功能。
以下是less指令的一些常用选项和用法:
除了上述基本用法外,less还提供了其他一些功能,例如:
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用
来查看一个文件的内容!
以下我们写一个大文件:
cnt=0; while [ $cnt -le 240 ]; do echo "hello $cnt"; let cnt++; done > big.txt
小知识点补充
tac
可以从下往上打印内容(和cat打印反过来,即反转打印)
这里我们可以做个小总结:
1.cat或tac用来打印小文件
2.more或者less用来浏览大文件
head 是一个在 Linux 系统中常用的命令行工具,用于显示文件的开头部分内容。它默认显示文件的前 10 行,但也可以通过参数来指定显示的行数
以下是一些 head 命令的示例用法:
head 文件名
head -n N 文件名//n其实可以不写
head 文件1 文件2 文件3
head -c 10 文件名
head -c N 文件名
tail 是一个常用的 Linux 命令,用于显示文件的末尾内容。它可以用来查看文件的最后几行或持续监视文件的新增内容。
以下是一些 tail 命令的示例用法:
tail 文件名
tail -f 文件名
tail -n 数字 文件名
咳咳,此管道非彼管道。
概念
Linux的管道是一种用于将一个命令的输出作为另一个命令的输入的机制。通过使用管道,可以将多个命令连接在一起,实现数据的流动和处理。
管道使用竖线符号|
来表示,将前一个命令的输出传递给后一个命令。
比如一个240行的大文件,我们想要获取它的100行到110行并且可以浏览,可以这么做
wc
是一个 Linux 命令,用于统计文件中的字节数、字数和行数。它的语法如下:
wc [选项] [文件]
以下是 wc 命令的一些常用选项:
Hello, world!
This is an example file.
要统计该文件的字节数、字数和行数,可以运行以下命令:
wc example.txt
输出结果如下:
2 7 43 example.txt
其中,第一列是行数,第二列是字数,第三列是字节数,最后一列是文件名。
niq 是一个 Linux 命令,用于从输入中删除重复的行,并将结果输出到标准输出。它会将连续重复的行合并为一行。
以下是 uniq 命令的一些示例用法:
uniq file.txt
uniq -c file.txt
uniq -d file.txt
uniq -f N file.txt
uniq -s N file.txt
uniq -w N file.txt
sort 是一个 Linux 命令,用于对文本文件进行排序操作。它可以按照不同的排序规则对文件的行进行排序,并将结果输出到标准输出或指定的文件中。
以下是一些 sort 命令的示例用法:
sort file.txt
sort -r file.txt
sort -f file.txt
sort -n file.txt
sort -k 2 file.txt
上述中的uniq是进行去重。
但是像下面这种情况就不能去重
aa
bbb
aa
bbb
//因为重复项没有相邻
那么我们就可以用sort先将其排序在一起,在uniq去重,如下
概念
date 是一个 Linux 命令,用于显示或设置系统的日期和时间。它可以显示当前日期和时间,也可以根据指定的格式显示日期和时间。
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号+
后接数个标记,其中常用的标记列表如:
2.在设定时间方面
以下是一些常用的 date 示例:
3.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@从1970年1月1日至今的秒数
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
打印年月日 时分秒
date +%Y-%m-%d:%H:%M:%S -d @...//
千年虫(Y2K问题)
是指在公元2000年之前编写的计算机程序中可能出现的问题。这个问题的根源在于早期的计算机系统使用了只有两位数表示年份的日期格式,例如使用"99"表示1999年。当时,人们普遍认为计算机系统在新千年到来时会出现严重的故障,因为计算机无法正确地解释以"00"开头的年份。
这个问题的主要原因是在设计早期计算机系统时,为了节省存储空间,使用了只有两位数表示年份的日期格式。然而,当年份从"99"跳到"00"时,计算机可能会将其解释为1900年而不是2000年,导致计算机系统的错误计算、数据损坏和系统崩溃等问题。
为了解决这个问题,全球范围内进行了大规模的千年虫修复工作。软件开发人员对受影响的系统进行了修改和更新,以确保它们能够正确地处理新千年的日期。这项工作涉及到对大量的软件代码进行修改和测试,以确保系统在2000年之后能够正常运行。
最终,千年虫问题并没有像人们担心的那样导致灾难性的后果。这主要归功于全球范围内的努力和投入,以及软件开发人员的及时修复和更新工作。千年虫问题的解决经验也促使了更好的软件开发和测试实践,以确保类似的问题不会再次发生。
概念
cal 是一个 Linux 命令,用于显示日历。它以日历的形式显示当前月份的日期,并且可以显示指定月份和年份的日历。
常用选项:
find 是一个在 Linux 系统中常用的命令行工具,用于在指定目录下查找文件和目录。它可以根据不同的条件来搜索文件,并返回符合条件的文件列表。
find 命令的基本语法如下:
find <路径> <选项> <操作>
其中,路径 指定要搜索的目录路径,可以是绝对路径或相对路径。如果不指定路径,则默认为当前目录。
选项 用于指定搜索的条件,常用的选项包括:
操作 用于指定对搜索结果的处理方式,常用的操作包括:
以下是一些示例用法:
find . -name "*.txt"
find /home -type f
find /var/log -size +1M
find /tmp -mtime -7 -exec cp {} result.txt \;
hereis 是一个在 Linux 系统中用于定位可执行文件、源代码文件和帮助文档的命令。它可以帮助用户快速找到特定命令或文件的位置。
使用 whereis 命令的语法如下:
whereis [选项] 文件名
其中,文件名 是要查找的文件或命令的名称。
whereis 命令会在系统的特定目录中搜索文件,这些目录通常包括可执行文件的路径、源代码文件的路径和帮助文档的路径。它会返回文件所在的路径信息。
whereis 命令的一些常用选项包括:
例如,要查找 ls 命令的位置,可以运行以下命令:
whereis ls
find、whereis 和 which 是在 Linux 系统中用于查找文件和命令的命令,它们之间有一些区别。
find:find 命令用于在指定目录及其子目录中递归地搜索文件。它可以根据文件名、文件类型、文件大小等条件进行搜索。find 命令非常强大,可以执行复杂的文件搜索操作。
whereis:whereis 命令用于定位可执行文件、源代码文件和帮助文档的位置。它会在系统的特定目录中搜索文件,并返回文件所在的路径信息。whereis 命令主要用于查找特定命令或文件的位置。
which:which 命令用于查找可执行文件的位置。它会在系统的环境变量 $PATH 指定的路径中搜索可执行文件,并返回第一个匹配的文件路径。which 命令主要用于确定在当前环境下执行的是哪个可执行文件。
总结:
- find 用于递归地搜索文件,可以执行复杂的文件搜索操作。
- whereis 用于定位可执行文件、源代码文件和帮助文档的位置。
- which 用于查找可执行文件的位置,确定在当前环境下执行的是哪个可执行文件。
grep 是一个在 Linux 系统中常用的命令行工具,用于在文本文件中搜索指定的模式。它的基本语法是:
grep [选项] 模式 文件
其中,选项 可以是以下常用的选项之一:
模式 是要搜索的文本模式,可以是普通文本(字符串:在文件中搜索字符串,将找到的行打印出来),
或正则表达式。
文件 是要搜索的文件名或文件路径。
以下是一些示例用法:
grep "pattern" file.txt
grep "pattern" file1.txt file2.txt
grep -r "pattern" directory/
grep -i "pattern" file.txt
grep -n "pattern" file.txt
grep -v "pattern" file.txt
grep -w "pattern" file.txt
history 是 Linux 系统中的一个命令,用于显示用户在当前会话中执行过的命令历史记录。当你在终端中执行命令时,系统会将这些命令记录在一个历史记录文件中,通常是 ~/.bash_history。history 命令可以显示这个历史记录文件中的命令列表。
以下是一些常用的 history 命令选项:
通过使用 history 命令,你可以方便地查看和重复执行之前执行过的命令,提高工作效率。
打包和压缩是两个不同的概念。
打包(Bundle)是将多个文件或资源组合在一起,形成一个单独的文件或目录的过程。在前端开发中,打包通常用于将多个 JavaScript、CSS、图片等文件打包成一个或多个较大的文件,以便在浏览器中加载和使用。打包工具(如Webpack、Parcel等)可以将多个模块或文件打包成一个或多个捆绑文件,以提高应用程序的性能和加载速度。
压缩(Compress)是通过使用特定的算法,减小文件或数据的大小,以节省存储空间或网络传输带宽。在前端开发中,压缩通常用于减小 JavaScript、CSS、图片等文件的大小,以提高网页的加载速度。常见的压缩算法包括Gzip和Brotli。压缩工具可以将文件进行压缩,以减小文件的体积。
因此,打包和压缩是两个不同的操作,打包是将多个文件组合在一起,而压缩是减小文件的大小。在前端开发中,通常会先进行打包,然后再对打包后的文件进行压缩,以提高应用程序的性能和加载速度。
zip 命令用于将一个或多个文件或目录压缩成一个 ZIP 文件。它的基本语法如下:
zip [选项] 压缩文件名 源文件/目录
其中,选项 可以是以下常用选项之一:
例如,要将目录 mydir 压缩成一个名为 mydir.zip 的文件,可以使用以下命令:
zip -r mydir.zip mydir
unzip 命令用于解压缩 ZIP 文件。它的基本语法如下:
unzip [选项] 压缩文件名
其中,选项 可以是以下常用选项之一:
例如,要将名为 mydir.zip 的文件解压缩到当前目录下,可以使用以下命令:
unzip mydir.zip
tar 是一个在 Linux 系统中常用的命令行工具,用于创建和提取归档文件。它可以将多个文件或目录打包成一个单独的文件,也可以从归档文件中提取文件或目录。
以下是一些常用的 tar 命令选项:
一般都是
-czf
、-xzf
进行配合使用
以下是一些示例用法:
tar cf archive.tar file1 file2 directory
tar xf archive.tar
tar czf archive.tar.gz file1 file2 directory
tar xzf archive.tar.gz
请注意,tar 命令还有许多其他选项和用法,可以通过 man tar 命令查看完整的文档。
归档文件和zip文件的区别是什么?
归档文件和 ZIP 文件是两种不同的文件格式,它们有一些区别:
压缩算法:归档文件通常使用的是无损压缩算法,如 gzip 或 bzip2,而 ZIP 文件使用的是有损压缩算法。这意味着 ZIP 文件可以更高效地压缩文件,但可能会导致一些数据损失。
文件结构:归档文件通常只是将多个文件和目录打包成一个单独的文件,而 ZIP 文件可以包含多个文件和目录,并且可以在其中创建文件夹结构。
平台兼容性:ZIP 文件在不同的操作系统上都可以被广泛支持和使用,包括 Windows、Mac 和 Linux。而归档文件的支持可能会因操作系统而异,例如 gzip 在 Windows 上可能需要额外的软件支持。
文件扩展名:归档文件通常使用不同的文件扩展名,如 .tar、.tar.gz 或 .tar.bz2,而 ZIP 文件使用 .zip 扩展名。
总的来说,归档文件主要用于将多个文件和目录打包成一个文件,而 ZIP 文件则更常用于压缩和存档文件,以便在不同的平台上进行传输和共享。
bc 是一个用于执行数学运算的命令行工具。它可以在 Linux 系统中使用,并提供了高精度的数学计算功能。
以下是 bc 命令的一些常见用法:
echo "2 + 3" | bc
echo "s(0.5)" | bc -l
x = 5
if (x < 0) x = -x
read(x); x * x
这只是 bc 命令的一些基本用法示例。bc 还有更多功能和选项,你可以通过查阅 bc 的文档来了解更多详细信息。
uname 是一个 Linux 命令,用于获取操作系统的信息。它可以显示有关内核版本、操作系统名称、主机名、处理器类型和其他系统信息。
以下是 uname 命令的一些常用选项:
例如,要显示所有系统信息,可以运行以下命令:
[root@VM-8-15-centos lesson4]# uname -a
Linux VM-8-15-centos 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
这将输出包括内核名称、版本、主机名和处理器类型在内的所有信息。
查看Linux系统的商业化发行版
cat /etc/redhat-release
shutdown 是一个 Linux 系统命令,用于安全地关闭或重新启动计算机。它可以让用户以及系统管理员控制系统的关机行为。
以下是 shutdown 命令的一些常用选项:
例如,要立即关闭系统,可以使用以下命令:
shutdown -h now
要在 10 分钟后重新启动系统,可以使用以下命令:
shutdown -r +10
请注意,执行 shutdown 命令通常需要管理员权限。
◆ 安装和登录命令: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。
ctrl+r
在Linux终端中,Ctrl+R 是一个快捷键,用于在命令历史记录中进行反向搜索。当你按下 Ctrl+R 后,会出现一个提示符,你可以在提示符后输入关键字来搜索之前执行过的命令。
以下是使用 Ctrl+R 进行反向搜索的步骤:
ctrl+d
按第一次,先退出登录
再按一次,退出Xshell
如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注❤️ ,学海无涯苦作舟,愿与君一起共勉成长