pwd来查看当前目录
ls [选项][目录或文件]
对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-l 列出文件的详细信息。

.和..开头的文件是隐藏目录,任何目录下都会有 ,-a可以进行查看
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
不会列出其下的任何子目录或文件
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
语法:cd 目录名
改变工作目录。将当前工作目录改变到指定的目录下
cd .. : 返回上级目录cd ~:进入用户家目cd -:返回最近访问目录
家目录的名称通常与用户的用户名相对应,并位于特定的高级目录下。例如,在标准的Linux系统中,家目录通常位于/home目录下(如用户john的家目录通常是/home/john),而在macOS中,它们通常位于/Users目录下(如用户john的家目录会是/Users/john)。对于root用户(超级用户),家目录通常是/root。
绝对路径:
/(路径分隔符),在Windows系统中通常是某个盘符如C:\)开始的完整路径,它详尽地指出了文件或目录的位置,不管当前位置在哪里。/home/user/documents/report.txt是一个绝对路径,它明确指向了/home/user/documents目录下的report.txt文件。相对路径:
./表示当前目录,../表示上一层目录。它们通常比绝对路径短,并且可以在当前工作目录改变时保持不变(只要相对关系没变)。/home/user/documents,则可以使用相对路径./report.txt来引用同一目录下的report.txt文件,或者使用../pictures/image.jpg来引用上一级目录中pictures目录下的image.jpg文件路径必须具有唯一性,任何一个文件都只有一个父目录,访问任何文件前都得先找到这个文件

指令本质都是程序—指令、程序、可执行程序都是一回事。指令就是程序 --安装和卸载是在做什么呢?
把可执行程序拷贝/删除到系统路径下

which pwd 打印出系统所在的路径

alias指令作用是给其他命令起别名

ll就是ls -l的别名
ls 直接执行的时候,带颜色
语法:touch [选项]… 文件…
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件


我们可以看见更详细的内容
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录

这个蓝色的list就是新的目录

以树状结构形式打印出目录结构
第一次是找不到这个执行命令的
yum -y install tree 
进行安装


终止异常的命令

rmdir 它只能删除空目录
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
root账号下,它每次会进行询问,y代表yes,n代表no


一旦有不确定的目录或者文件,宁可备份,不可删除
*:表示一个通配符,匹配任意文件名
man 是 Linux 和 UNIX 系统中一个常用的命令,用于查看手册页面(manual pages)。手册页面是系统中大多数命令、程序、配置文件格式和通常的编程库函数的文档。手册页面提供了详细的用户级的文档,有助于用户了解如何使用这些命令和工具。
要使用 man 命令,可以在命令行终端输入 man 后跟你想了解相关信息的命令或程序名称。例如:
man ls 
以上命令将显示 ls 命令的手册页面,其中包含了关于如何使用 ls 以及它的各种选项的信息。
手册页面被分为几个不同的部分,以便于查找和浏览:

如果你想查看某个特定部分的手册页面,可以指定部分的数字。例如,要查看 printf 程序的手册页(通常是第 1 部分),可以输入:
man 1 printf 而查看 printfC 库函数的手册页(第 3 部分),则可以输入:
man 3 printf 还有一些有用的选项,可以用在 man 命令中:
-k: 搜索手册页的简短描述,对于不知道准确命令的情况很有用。-f: 相当于 whatis 命令,显示命令的简短描述。手册页对于新学习和使用 Linux 系统的用户来说是极其有用的资源,因为它们包含了所有命令的官方文档。在实践中,经常使用 man 命令可以更好地了解使用的工具和服务。
yum -y install man-pages cp 是 Linux 和 Unix 系统中使用的一个基本命令,用于复制文件和目录。这个命令的一般语法如下:
cp [options] source destination source 是要复制的文件或目录的路径。destination 是要将文件或目录复制到的路径。如果 destination 是一个已经存在的目录,那么 source 文件会被复制进这个目录,并且保留原文件名。如果 destination 是一个文件名(在当前目录下不存在这个名字的文件),那么 source 文件会被复制并重命名为 destination。如果将多个文件复制到一个目录,需要在命令的最后指定目标目录。
以下是一些常用的 cp 命令选项:
-i: 询问用户在覆盖已存在的目标文件之前是否继续。-r 或 -R: 递归地复制目录及其内容。-v: 显示详细信息,展示文件复制的过程。-p: 保持原文件的属性(权限、时间戳)。-a: 归档模式,复制目录及其全部内容,同时保持属性和符号链接等。-f: 强制复制,如果目标文件已经存在,不提示用户即删除原文件。--preserve: 保留指定的文件属性(如:所有权、时间戳),类似 -p。--no-preserve: 不保留指定的文件属性。--backup: 在覆盖文件之前为其创建备份。这里有一些 cp 命令的示例:
cp file.txt /path/to/directory/ cp file.txt newfile.txt cp -R /path/to/source/directory /path/to/destination/directory cp -i file.txt /path/to/directory/ cp -v file.txt /path/to/directory/
把file.txt拷贝到上级目录并改名为1234.txt

Linux中同一个目录下,不允许存在同名文件
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录
它的语法如下:
mv [options] source destination source 是要移动或重命名的文件或目录的路径。destination 是文件或目录的新位置或名称。如果 destination 是一个存在的目录,source 文件会被移动到这个目录中,并保持原文件名。如果 destination 是一个文件名,并且不存在与其相同名称的文件,source 文件或目录会被重命名为 destination。如果命令中包含了多个 source 参数,那么最后的 destination 必须是一个已存在的目录。
以下是一些 mv 命令的选项:
-i: 在覆盖目标文件之前提示用户确认。-u: 仅当源文件比目标文件新,或者目标文件不存在时,才移动文件。-v: 显示详细的操作信息,包括每次移动的文件。-f: 强制移动文件,无视目标位置的文件是否存在,不提示用户。--no-clobber: 不会覆盖目标目录中已存在的文件。这里有一些 mv 命令的使用示例:
将文件重命名:
mv old_name.txt new_name.txt 
将文件移动到另一个目录:
mv file.txt /path/to/directory/ 将目录重命名:
mv old_directory_name new_directory_name 在覆盖目标文件之前询问用户:
mv -i file.txt /path/to/directory/ 移动一个目录到另一个目录中:
mv /path/to/source_directory /path/to/destination_directory/ mv 命令非常高效,因为它没有实际移动文件数据本身,而只是更新了文件系统中的索引,除非是跨文件系统移动。若要查看 mv 命令的完整文档和可用的选项,可以使用 man mv 来查看其手册页。

将xuan.txt移入0623并改名为abcd.txt


cat本质就是查看文件内容

-n 打印出行号

在 Unix 和类 Unix 系统中,包括 Linux,在命令行中,重定向(Redirection)是一种将命令的输出发送到除了标准输出(屏幕)以外的其他位置(如文件或另一个程序)的方法。它还可以用于从文件或程序而不是键盘获取输入。以下是几种重定向操作的基本介绍:
> 符号可以将命令的输出重定向(原本要打印到显示屏上,现在重定向到文件中)到文件中,如果文件已经存在,则会覆盖文件的内容。例如,将 ls 命令的输出保存到 list.txt 文件中:ls > list.txt >> 符号可以将内容附加到文件中,而不是覆盖它。例如,将追加 ls 命令的输出到 list.txt 文件中:ls >> list.txt 2> 符号可以将命令的错误输出重定向到文件中。例如,将 ls 对于不存在的文件的错误信息保存到 errors.txt:ls file_not_found 2> errors.txt 2>> 符号可以将错误信息附加到文件中。例如:ls file_not_found 2>> errors.txt < 符号可以使用文件内容作为命令的输入。例如,将 file.txt 的内容作为 grep 命令的输入:grep 'some_text' < file.txt &> 或 >& 符号可以同时重定向标准输出和错误输出到同一个文件中。例如:ls > all_output.txt 2>&1 或者ls &> all_output.txt /dev/null/dev/null 是一个特殊文件,它会丢弃所有写入其中的数据(称为位桶)。将输出重定向到 /dev/null 就像是将输出丢弃掉了:ls > /dev/null 使用重定向时,需要注意文件权限和已有内容可能被覆盖的问题。使用这些技巧可以在脚本中进行高级的数据流控制,或在日常使用命令行时更有效率地处理输出和输入。
我们可以直接用下面的方式创建新文件
>file.txt 
所以,echo本身是写在显示器的文件中,现在输出或追加到新的文件中,重定向

cat 后面不接任何东西,默认从键盘文件读取内容,输入重定向从文件中读取内容

i=1; while [ $i -le 10000 ]; do echo "hello worle $i"; let i++; done > big.txt 我们构建一个大文件

语法: less [参数] 文件 less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件
如果我现在只想拿到开头的一点信息,我只需要用head指令即可:

tail指令提取文件的结尾
规定取五行
如果现在要取文件的8000到8010这十行呢?
方法一:我们先将前8010行提取到一个新文件中再取尾
方法二:
|这个竖划线符号,我们称为管道
Linux中的管道(pipe)是一种强大而常用的特性,它允许你将一个命令的输出直接作为下一个命令的输入。这使得你可以将多个简单的工具组合在一起,完成复杂的任务。管道在Linux命令行中使用竖线符号(|)表示。
下面是一些常用管道的例子:
基本示例:将 ls 命令的输出通过管道传递给 grep,以过滤出包含特定字符串的文件或目录。
ls | grep 'pattern' 逐层处理:将 ps 命令的输出通过管道传递给 grep,然后再通过 sort 排序。
ps aux | grep 'some_process' | sort 与其他命令结合:将 cat 命令的输出通过管道传递给 awk,处理文本数据。
cat file.txt | awk '{ print $1 }' 多层管道:将多个命令连接在一起进行复杂的处理。
dmesg | grep 'keyword' | less 
wc 命令统计文件内容的行数、单词数和字符数。cat file.txt | wc -l 
ls -l | grep 'pattern' > output.txt 通过管道,可以有效地组织和处理数据,减少手动操作,提升效率。熟练使用管道是成为Linux命令行高手的关键之一
date 指定格式显示时间: date +%Y:%m:%d
date 用法:date [OPTION]… [+FORMAT]
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

2.在设定时间方面
3.时间戳
- 时间戳(Timestamp)是一种用于记录事件发生的特定时间点的数据。在计算机和信息技术领域,时间戳通常以特定的格式表示日期和时间,可以精确到秒或毫秒。这些时间信息可以用于多个目的,包括事件记录、数据同步、日志记录、版本控制等
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
例如,Unix时间戳 1633096800 对应于2021年10月1日00:00:00
cal命令可以用来显示公历(阳历)日历
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y 显示当前年份的日历
find 是一个强大和灵活的命令,用于在Linux文件系统中搜索文件和目录。它能够按多种条件搜索文件,并对找到的文件执行操作。下面是一些 find 基本用法和常见示例:
find [搜索路径] [搜索条件] [操作] -name [名称]:按名称搜索(支持通配符)。-iname [名称]:按名称搜索(忽略大小写,支持通配符)。-type [类型]:按文件类型搜索(文件:f,目录:d,符号链接:l)。-size [大小]:按文件大小搜索(如 +100M 表示大于100MB的文件)。-mtime [天数]:按修改时间搜索(如 -mtime -7 表示7天内修改的文件)。-atime [天数]:按访问时间搜索。-ctime [天数]:按创建时间搜索。-exec [命令] \;:对找到的文件执行指定命令。-delete:删除找到的文件(使用时需谨慎)。在当前目录及其子目录中按名称搜索文件:
find . -name "filename.txt" 在指定目录中模糊匹配名字(忽略大小写):
find /path/to/search -iname "*.txt" 搜索大于100MB的文件:
find / -size +100M 搜索类型为目录的文件:
find /path/to/search -type d 搜索最近7天内修改过的文件:
find /path/to/search -mtime -7 搜索并执行命令(如删除文件):
find /path/to/search -name "*.tmp" -exec rm {} \; 搜索并重定向结果到文件:
find /path/to/search -name "*.log" > log_files.txt 按权限搜索文件:
find /path/to/search -perm 644 利用 find 可以组合使用多个条件,如逻辑操作符 -and(默认)、-or 和 -not:
# 查找目录中修改时间在7天内并且文件名包含 ".log" 的文件 find /path/to/search -mtime -7 -name "*.log" # 查找目录中名字为 ".log" 或 ".txt" 的文件 find /path/to/search \( -name "*.log" -or -name "*.txt" \) # 查找目录中文件名不包含 ".bak" 的文件 find /path/to/search -not -name "*.bak" 通过结合多种条件和操作,find 命令可以实现几乎任何文件搜索需求,成为Linux系统中极为重要的工具。系统管理员和开发人员通过熟练掌握 find 可以有效提高工作效率,执行复杂的文件操作。
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:

zip 和 unzip 是Linux系统中常用的压缩和解压缩工具。它们分别用来创建和解压缩ZIP格式的压缩文件。
zip 创建压缩文件zip [选项] 压缩文件名.zip 要压缩的文件或目录 -r:递归地压缩目录中的文件。-x:排除特定文件。-9:使用最佳压缩方法(范围从 -0 到 -9,数字越大压缩比越高但速度越慢)。-q:安静模式,不显示压缩过程中的信息。-e:对压缩文件进行加密。压缩单个文件:
zip archive.zip file.txt 递归压缩目录:
zip -r archive.zip directory/ 高压缩比压缩文件:
zip -9 archive.zip file.txt 排除目录中的某些文件:
zip -r archive.zip directory/ -x "*.tmp" 创建加密的压缩文件:
zip -e archive.zip file.txt unzip 解压缩文件unzip [选项] 压缩文件名.zip -d:指定解压缩目录。-n:若文件已存在,不覆盖。-o:若文件已存在,覆盖。-q:安静模式,不显示解压缩过程中的信息。-l:列出压缩文件中的内容而不解压。解压缩文件到当前目录:
unzip archive.zip 解压缩到指定目录:
unzip archive.zip -d /path/to/destination/ 若文件已存在,不覆盖:
unzip -n archive.zip 覆盖已存在的文件:
unzip -o archive.zip 列出压缩文件中的内容而不解压:
unzip -l archive.zip zip 和 unzip你经常可能会在脚本中组合使用这两个命令。例如,你可能需要先压缩当前目录下的文件,然后在另一台机器解压缩:
# 在当前目录下创建一个压缩文件 zip -r backup.zip /path/to/data # 传输 backup.zip 到另一台机器后,在目标机器解压 unzip backup.zip -d /path/to/extract/ 通过熟练掌握 zip 和 unzip 命令,你可以方便、快捷地处理文件压缩和解压缩,提高工作效率。