Linux常见的基础命令
首先在Linux系统中,终端显示的内容所代表的含义如下
多数命令的执行,最好都要建立在root超级管理员权限下,而切换root账户的方式为
su root
然后输入root账户的密码,即可从普通用户切换到root用户
1.uname—查看操作系统信息
uname+空格+参数
作用:获取当前Linux操作系统的相关信息
参数:
uname -a
: 显示所有可用的系统信息,包括操作系统名称、主机名、内核版本号、处理器类型等等。uname -s
: 显示操作系统的内核名称,例如Linux、FreeBSD等。uname -n
: 显示操作系统的主机名。uname -r
: 显示操作系统的内核版本号。uname -m
: 显示操作系统的硬件架构,例如x86_64、i386等。uname -p
: 显示操作系统的处理器类型。uname -o
: 显示操作系统的厂商名称。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KDn8JQt-1689556151936)(D:\Longchi\课程资料\1课程笔记\assets\image-20230714091545844.png)]
2.ls—查看目录下的文件
-
ls
: 列出当前目录下的所有文件和子目录。 -
ls -a
: 列出当前目录下的所有文件和子目录,包括以"."开头的隐藏文件。 -
ls -l或者ll
: 以长格式(long format)列出当前目录下的文件和子目录,包括文件的权限、所有者、大小、创建时间等信息。
-
ls -h
: 以人类可读的格式列出当前目录下的文件和子目录,例如将文件大小以KB、MB等单位显示。 -
ls -t
: 按时间排序列出当前目录下的文件和子目录,最新的文件或子目录会排在最前面。 -
ls -r
: 反向排序列出当前目录下的文件和子目录,即从最后一个文件或子目录开始列出。 -
ls -d
: 仅列出当前目录本身,而不是列出当前目录下的文件和子目录。 -
ls /etc/
:ls 后面跟绝对路径或者相对路径 列出某个目录下的文件名
3.pwd—显示当前的路径
pwd
该命令通常不需要任何选项或参数,直接在终端中输入pwd
即可查看当前所在的工作目录
4.cd—切换目录
cd
命令是一个用于改变当前工作目录的命令
使用方法如下
cd
: 不带任何参数或目录名,将当前工作目录切换到用户的主目录。与cd ~
命令作用相同,注意root用户的主目录就是/rootcd 目录名
: 将当前工作目录切换到指定的目录。例如,cd Documents
将当前工作目录切换到名为Documents
的子目录。cd ..
: 将当前工作目录切换到上级目录。例如,如果当前工作目录是/home/user/Documents
,则cd ..
命令将把当前工作目录切换到/home/user
。cd -
: 将当前工作目录切换到上一个工作目录。例如,如果当前工作目录是/home/user/Documents
,然后切换到/etc
目录,再使用cd -
命令,则会返回到/home/user/Documents
目录。cd ~user
: 将当前工作目录切换到指定用户的主目录。例如,cd ~john
将当前工作目录切换到用户john
的主目录。
5.clear—清除屏幕信息
clear
命令通常不需要任何选项或参数,只需在终端中输入clear
即可执行清屏操作。
6.whoami—显示当前用户
whoami
命令通常不需要任何选项或参数,只需在终端中输入whoami
即可查看当前登录用户的用户名。
7.reboot—重启操作系统
reboot用法
reboot加参数
-h
或--halt
:关闭系统并停止所有进程,而不是重新启动。-f
或--force
:强制重启,无需确认或等待正在运行的进程。-t <seconds>
或--timer=<seconds>
:在重启之前设置一个延迟时间,以秒为单位。-w
或--warning=<time>
:在重启之前给出警告消息,时间格式为HH:MM。例如reboot -w 10:00
记录一个比较有趣的内容,经过查找发现
在图形界面下,单独执行reboot命令是不需要root权限的
但在命令行界面下,需要用root权限关机,一般加上sudo来执行。
图形上的关机和重启按钮是通过gdm进程实现的,gdm就是以root权限运行的
8.shutdown—关闭重启操作系统
首先需要注意
shutdown
命令需要管理员或 root 权限才能执行
语法格式:shutdown [参数] [对象]
援引的原文链接:https://www.linuxcool.com/shutdown
- 将当前服务器立即关机:
shutdown -h now
- 将当前服务器立即重启:
shutdown -r now
- 设定当前的服务器指定时间自动关机,格式为”小时:分钟“:
shutdown -h 21:00
- 设定当前的服务器5分钟后关机,同时发送警告信息给所有已登录的用户:
shutdown +10 "系统将在10分钟后关闭,请保存你的工作。"
9.type—查看内部命令
通过使用 type
命令,它可以告诉你一个命令是一个内部命令(shell 内建命令)、外部命令(可执行文件)还是别名(命令别名)。可以了解命令的类型,以便更好地理解命令的行为和工作方式。
用法如下
type command_name
例如
type echo
如果 echo
是一个内部命令,那么输出会显示类似于 echo is a shell builtin
的信息。
type ping
这个输出说明 ping
命令是一个外部命令,它的可执行文件路径是 /usr/bin/ping
在 Linux 系统中,可执行文件通常存储在特定的目录中,以便系统可以找到并执行它们。/usr/bin
目录是一个常见的存储系统命令的目录之一,其中包含了许多常见的可执行文件。
当你运行 ping
命令时,实际上是执行 /usr/bin/ping
可执行文件。
10.history—查看历史命令
history
命令用于显示当前用户在终端中执行过的命令历史记录。它可以列出先前执行的命令,并显示每个命令对应的编号。
- 显示完整的命令历史记录:
history
这将显示所有之前执行过的命令,每行一个命令,并附带一个命令的编号。
-
限制显示的历史记录条目数:
将
n
替换为你希望显示的命令条目数量。例如,要显示最近的10条命令,可以执行以下命令:history 10
-
使用
grep
进行命令历史记录的搜索:将
pattern
替换为你要搜索的关键词或模式。这将从命令历史记录中筛选出包含指定模式的命令,并进行显示。history | grep pattern
- 使用
!n
执行特定编号的命令:
11.mkdir和rmdir—目录创建和删除
mkdir—目录创建
mkdir命令来自英文词组”make directories“的缩写,其功能是用来创建目录文件。使用方法简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。
1.建立一个目录文件:mkdir Dir1(文件名)
2.建立多个目录文件:mkdir Dir1 Dir2 Dir3
3.递归创建多级目录:mkdir -p /Dir1/Dir2/Dir3/Dir4/Dir5
rmdir—目录的删除
rmdir命令来自英文词组“remove directory”的缩写,其功能是用于删除空目录文件。
rmdir命令仅能够删除空内容的目录文件,如需删除非空目录时,则需要使用带有-r参数的rm命令进行操作。
用法一: rmdir [空目录] rmdir 1/2/3
删除子目录3 保留 1/2 删除单个空目录
用法二: rmdir directory1 directory2 directory3
删除多个目录
用法三:rmdir -p /Dir1/Dir2/Dir3/Dir4/Dir5
首先删除子目录,删除成功后,删除上级目录 直到结束,实现递归删除空目录
12.touch和rm—文件的创建与删除
touch—文件的创建
touch命令的功能是用于创建空文件与修改时间戳。如果文件不存在,则会创建出一个空内容的文本文件;如果文件已经存在,则会对文件的Atime(访问时间)和Ctime(修改时间)进行修改操作,管理员可以完成此项工作,而普通用户只能管理主机的文件。
- 创建新的空文件:
touch file_name
,这将在当前目录下创建一个名为file_name
的新文件。如果该文件已存在,则touch
命令将更新其访问时间和修改时间。 - 创建多个新的空文件:
touch file1 file2 file3
这将在当前目录下同时创建多个新文件,分别为file1
、file2
和file3
- 实现其他路径下创建:
touch /home/123/file1
实现在/home/123/目录下创建文件file1
rm—文件的删除(目录也可删除)
rm命令来自英文单词“remove”的缩写,中文译为“消除”,其功能是用于删除文件或目录,一次可以删除多个文件,或递归删除目录及其内的所有子文件。
语法格式:rm [参数] 文件名
常见参数如下
常见用法如下
-
删除单个文件:
rm file_name
如果想要删除其他路径下的文件的话,只需要补全绝对路径即可 -
使用
-r
选项可以递归地删除目录及其所有内容。这将删除指定目录及其所有子目录、文件和文件夹中的内容。rm -r directory_name
-
删除文件默认会进行二次确认,敲击y进行确认,强制删除的话加上参数
-f
无需进行二次确认rm -f file_name
-
删除指定目录及其内的全部子文件,一并都强制删除:
rm -rf Dir
13.cp和mv—文件的复制与剪切
cp—文件的复制
cp
命令来自英文单词“copy”的缩写,中文译为“复制”,其功能是用于复制文件或目录。cp
命令能够将一个或多个文件或目录复制到指定位置(改为绝对路径即可),亦常用于文件的备份工作。
语法格式:cp [参数] 源文件名 目标文件名
- -i:在覆盖目标文件之前提示用户确认
- -p:保留源文件的权限、时间戳等信息
- -v:显示复制操作的详细信息
- -r:递归复制所有子文件
- -d:复制链接文件时,将目标文件也建立成链接文件
- -f:若目标文件已存在,则会直接覆盖
- -a:复制文件及目录,并保留源文件的所有权限和属性。保持目录的结构,包括子目录和文件。复制符号链接指向的文件而不是符号链接本身。保留源文件的时间戳(包括访问时间和修改时间)。功能等价于“pdr”参数组合
eg:与 cp -a
不同的是,cp -p
并不会完整地复制文件系统中的所有属性,如用户组、特殊权限(如 SUID、SGID、SBIT)等。而是仅保留文件的基本权限和时间戳信息。
-
复制文件:
cp file1.txt file2.txt
将file1.txt文件复制到file2.txt文件。 -
复制目录:
cp -r dir1 dir2
将dir1目录及其所有内容复制到dir2目录。 -
复制多个文件:
cp file1.txt file2.txt dir1
将file1.txt和file2.txt文件复制到dir1目录。
mv—文件的剪贴
mv
命令来自英文单词”move“的缩写,中文译为”移动“,其功能与英文含义相同,能够用于在同一个目录内对文件进行剪切的操作,实际应理解成重命名操作
语法格式:mv [参数] 源文件名 目标文件名
- -i:在覆盖目标文件之前提示用户确认
- -v:显示移动操作的详细信息
- -b:覆盖前为目标文件创建备份
- -u:仅在源文件比目标文件新或目标文件不存在时才执行移动操作
- -n:不要覆盖已有文件
- -f:强制覆盖目标文件而不询问
-
移动文件或目录:
mv file1.txt dir1/
将file1.txt文件移动到dir1目录。 -
重命名文件或目录:
mv file1.txt file2.txt
将file1.txt文件重命名为file2.txt。 -
移动并重命名文件:
mv file1.txt dir1/file2.txt
将file1.txt文件移动到dir1目录并重命名为file2.txt。 -
移动并重命名目录:
mv Dir1 /etc/Dir2
将指定目录移动到/etc目录中,并定义新的目录名称。
14.tar—压缩和解压缩文件
tar
命令的功能是用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件。对于RHEL7、CentOS7版本以后的系统,解压缩时可以不添加格式参数(如z或j),系统也能自动进行分析并解压。
eg:tar压缩的过程是先tar归纳,将多个文件或目录打包成一个单独的归档文件,然后再自行选择是否压缩 tar 归档文件。
语法格式:tar 参数 压缩包名 [文件或目录名]
- -c:创建tar归档文件。
- -x:解压缩tar归档文件。
- -f:指定tar归档文件的名称。
- -v:显示详细信息,例如正在处理的文件和目录。
- -r:将文件或目录添加到现有的tar归档文件中。
- -z:使用gzip压缩tar归档文件。
- -j:使用bzip2压缩tar归档文件。
- -t:列出tar归档文件中的所有文件和目录。
- -u:仅将比归档文件中的现有文件更新的文件添加到tar归档文件中。
- -p:保留文件的权限、所有者和时间戳等信息。
- -C:指定解压缩tar归档文件时的目录位置。
- 创建tar归档文件:
tar -cvf 打包好的名称 文件名1 文件名2
-c
: 创建归档文件,-v
: 显示归档文件的详细信息,-f
: 指定归档文件的名称。
eg:tar cvf File.tar *.cfg --remove-files
将当前工作目录内的所有以.cfg为后缀的文件打包,不进行压缩,并删除原始文件
-
查看tar归档文件中的内容:
tar -tvf archive.tar
将列出名为archive.tar的归档文件中的所有文件和目录。 -
向现有tar归档文件中添加文件或目录:
tar -rvf 1.tar 2.txt
该命令会将2.txt
添加到名为1.tar
的归档文件中,如果2.txt
的内容在归档中已经存在,则会更新归档中的旧文件,并在操作过程中显示详细信息。tar -uf 也可以执行类似的操作 -
列出tar归档文件中的所有文件和目录:
tar -tf 1.tar
查看1.tar归档文件中包含的内容 -
使用gzip压缩tar归档文件:
tar -czvf archive.tar.gz file1.txt dir1/
将file1.txt文件和dir1目录中的所有内容打包到名为archive.tar.gz的Gzip压缩的tar归档文件中。
-c:创建tar归档文件。
-z:使用gzip压缩tar归档文件。
-v:显示详细信息,例如正在处理的文件和目录。
-f:指定tar归档文件的名称。
所以zcvf czvf都是一样相同的命令
-
使用bzip2压缩tar归档文件:
tar -cjvf archive.tar.bz2 file1.txt dir1/
将file1.txt文件和dir1目录中的所有内容打包到名为archive.tar.bz2的bzip2压缩的tar归档文件中。
tar—解压缩文件
-
解压缩tar归档文件:
tar -xvf archive.tar
将解压缩名为archive.tar的tar归档文件中的所有文件和目录 -
解压缩Gzip压缩的tar归档文件:
tar -xzvf archive.tar.gz
将解压缩名为archive.tar.gz的Gzip压缩的tar归档文件中的所有文件和目录 -
解压缩bzip2压缩的tar归档文件:
tar -xjvf archive.tar.bz2
将解压缩名为archive.tar.bz2的bzip2压缩的tar归档文件中的所有文件和目录 -
解压缩到指定目录:
tar -xvf archive.tar -C /home/user/
将解压缩名为archive.tar的tar归档文件中的所有文件和目录到/home/user/目录中
15.zip和unzip—压缩和解压缩文件
zip压缩文件
zip
命令的功能是用于压缩文件,解压命令为unzip
。通过zip
命令可以将文件打包成**.zip格式**的压缩包,里面会包含文件的名称、路径、创建时间、上次修改时间等等信息,与tar
命令相似。
语法格式:zip 参数 目标文件.zip 源文件或目录名\
- -r:递归处理所有子文件
- -d:更新压缩包内文件
- -v:显示执行过程详细信息
- 压缩文件:
zip 1.zip 1.txt 2.txt 3.txt
这个命令将文件1.txt
、2.txt
和3.txt
打包成一个名为1.zip
的压缩文件 - 压缩文件和目录:
zip 1.zip file1.txt dir1/
将file1.txt文件和dir1目录中的所有内容压缩到名为1.zip的zip压缩文件中 - 压缩目录及其子目录:
zip -r 1.zip dir1
将dir1目录及其子目录中的所有内容压缩到名为1.zip的zip压缩文件中。 - 更新压缩包文件中某个文件:
zip -dv 1.zip 1.txt
unzip解压缩文件
unzip
命令用于解压缩zip格式文件,虽然Linux系统中更多地使用tar命令进行对压缩包的管理操作,但有时也会收到Windows系统常用的.zip和.rar格式的压缩包文件
语法格式:unzip [参数] 压缩包名
- -v:显示执行过程详细信息
- -l:显示压缩包内文件列表
- -f:强制覆盖已有文件
- -n:不覆盖已有文件
- -d:解压缩文件到指定目录
- -x:跳过压缩包内指定文件
-
解压缩zip文件:
unzip archive.zip
将解压缩名为archive.zip的zip文件中的所有文件和目录 -
解压缩zip文件到指定目录:
unzip 1.zip -d /home/user/
将解压缩名为1.zip的zip文件中的所有文件和目录到/home/user/目录中。 -
查看zip文件中的内容:
unzip -l 1.zip
将显示名为archive.zip的zip文件中包含的所有文件和目录的列表。 -
解压缩指定文件:
unzip 1.zip file1.txt
将解压缩名为1.zip的zip文件中的file1.txt文件。 -
解压缩时覆盖已有的文件:
unzip -o 1.zip
将解压缩名为1.zip的zip文件中的所有文件和目录,并覆盖已有的文件。16.Linux与与文件有关的命令
1.查看文件内容
cat命令
cat命令是一个常用的Linux命令,用于连接文件并打印到标准输出。以下是cat命令的常见使用方法:
-
显示文件内容:
cat file1.txt
将显示名为file1.txt的文件的内容 -
合并多个文件:
cat file1.txt file2.txt > newfile.txt
将合并文件file1.txt和file2.txt,并将结果保存到名为newfile.txt的新文件中 -
将内容追加到文件末尾:
cat file1.txt >> file2.txt
将追加文件file1.txt的内容到文件file2.txt的末尾 -
显示行号:
cat -n file1.txt
将显示名为file1.txt的文件的内容,并在每行前面加上行号 -
显示非空行数:
cat -b file1.txt
将显示名为file1.txt的文件的内容,并在每个非空行前面加上行号
head命令
head
命令用于显示文件开头的内容,默认显示前面10行
- 显示文件开头内容:
head file1.txt
将显示名为file1.txt的文件的前10行内容 - 显示指定行数的文件开头内容:
head -n 20 file1.txt
将显示名为file1.txt的文件的前20行内容 - 显示多个文件的开头内容:
head file1.txt file2.txt
tail命令
tail
命令显示文件的结尾部分,默认显示最后10行。常用于实时查看日志文件
- 显示文件末尾内容:
tail file1.txt
将显示名为file1.txt的文件的末尾10行内容 - 显示指定行数的文件末尾内容:
tail -n 20 file1.txt
显示指定20行数的文件末尾内容 - 实时监视文件内容变化:
tail -f log.txt
将实时监视名为log.txt的文件的内容变化,并在屏幕上不断输出新的内容 - 显示文件末尾内容并实时监视变化:
tail -n 20 -f log.txt
将显示名为log.txt的文件的末尾20行内容,并实时监视文件内容的变化
more命令
more
命令的功能是用于分页显示文本文件内容。如果文本文件中的内容较多较长,使用cat命令读取后则很难看清,这时使用more
命令进行分页查看就更加合适了,可以把文本内容一页一页地显示在终端界面上,用户每按一次回车即向下一行,每按一次空格即向下一页,直至看完为止。
-
查看文件内容:
more file1.txt
-
向下滚动文件内容:
空格键
在more命令中,按下空格键可以向下滚动一屏文件内容 -
向上滚动文件内容:
b键
在more命令中,按下b键可以向上滚动一屏文件内容 -
搜索文件内容:
/关键词
在输入more命令之后,输入斜杠和关键词可以搜索文件内容 -
退出more命令:
q键
在more命令中,按下q键可以退出more命令
less命令
less
命令的功能是用于分页显示文件内容。分页显示的功能与more
命令很相像,但more
命令只能从前向后浏览文件内容,而less
命令则不仅能从前向后(PageDown键),还可以从后向前(PageUp键)浏览文件内容,更加灵活。
语法格式:less [参数] 文件名
- 查看文件内容:
less file1.txt
将打开名为file1.txt的文件,并显示其内容 - 向下滚动文件内容:
空格键
less命令中,按下空格键可以向下滚动一屏文件内容 - 向上滚动文件内容:
b键
在less命令中,按下b键可以向上滚动一屏文件内容 - 搜索文件内容:
/关键词
在输入less命令之后,输入斜杠和关键词可以搜索文件内容 - 跳转到文件末尾:
Shift+G
在less命令中,按下Shift和G键可以跳转到文件末尾 - 跳转到文件开头:
g键
在less命令中,按下g键可以跳转到文件开头 - 退出less命令:
q键
在less命令中,按下q键可以退出less命令 - 显示行号:
less -N filename
在less命令中,使用选项-N可以显示行号。 - 跟踪文件内容变化(类似tail):
less +F file1.txt
将打开名为file1.txt的文件,并跟踪其内容的变化
grep
grep命令是一个常用的Linux命令,用于查找文件中与模式匹配的行。以下是grep命令的常见用法:
-
查找文件中包含某个字符串的行:
grep "example" file1.txt
查找名为file1.txt的文件中包含字符串“example”的行 -
查找文件中包含某个字符串的行,并显示该字符串所在的上下文:
grep -C 3 "example" file1.txt
查找名为file1.txt的文件中包含字符串“example”的行,并显示该字符串上下文的前后3行内容 -
查找文件中包含某个字符串的行,并显示该字符串所在的行号:
grep -n "example" file1.txt
查找名为file1.txt的文件中包含字符串“example”的行,并显示该字符串所在的行号 -
查找文件中包含某个字符串的行,并忽略大小写:
grep -i "example" file1.txt
查找包含example的行eg:查找多个文件的话把文件路径跟在后面即可
2.统计文件信息
wc命令
wc
命令来自英文词组“Word count”的缩写,其功能是用于统计文件的字节数、单词数、行数等信息,并将统计结果输出到终端界面。
语法格式:wc [参数] 文件名
- -c:统计字节数
- -l:统计行数
- -m:统计字符数
- -w:统计单词数
-
统计指定文件的字节数量:
wc -c file1.txt
-
统计文件中的行数:
wc -l file1.txt
-
统计目录中所有文件的行数、单词数和字节数:
wc -lwc directory/*
eg:在Linux系统中,
*
通配符 用于匹配任意数量的字符,可以用于匹配文件名和目录名。在命令行中,*通配符可以与其他命令一起使用
du
du
命令来自英文词组“Disk Usage”的缩写,其功能是用于查看文件或目录的大小。
语法格式:du [参数] 文件名
-
-a:显示目录中所有文件大小
-
-h:以可读的格式显示文件和目录的大小
-
-g:使用GB为单位显示文件大小
-
-k:使用KB为单位显示文件大小
-
-m:使用MB为单位显示文件大小
-
-s:只显示目录总大小
-
-h:使用易读方式显示文件大小
- 显示当前目录的磁盘使用情况:
du
- 显示指定目录的磁盘使用情况:
du /home/user
- 显示指定文件的大小:
du 1.txt
- 显示目录和子目录的磁盘使用情况:
du -h /home/user
df命令
df
命令来自英文词组“report file system disk space usage”的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df
命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb
语法格式:df 参数 [对象磁盘/分区]
- -a:显示所有文件系统
- -h:以更易读的方式显示
- -t:只显示指定类型文件系统
3.文本处理命令
find命令
find
命令的功能是用于根据给定的路径和条件查找相关文件或目录,参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能
语法格式:find [路径] [参数] 文件名
f 文件 d 目录
-type f
搜索文件
-type d
搜索目录
- 根据文件名查找文件:
find /home/user -name file1.txt
在/home/user目录下查找名为file1.txt的文件 - 根据文件类型查找文件:
find directory -type filetype
其中,filetype可以为f表示普通文件,d表示目录,l表示符号链接等。例如,要在当前目录下查找所有目录,可以执行以下命令:find . -type d
echo命令
echo
命令来自英文单词“回声”,其功能是用于在终端设备上输出指定字符串或变量提取后的值,能够给用户一些简单的提醒信息,亦可以将输出的指定字符串内容同管道符一起传递给后续命令作为标准输入信息再来进行二次处理,又或是同输出重定向符一起操作,将信息直接写入到文件中。
语法格式:echo [参数] 字符串或$变量名
- 输出文本字符串:
echo "Hello World"
执行后,将会在终端窗口中输出“Hello World” - 输出变量的值:
echo $HOME
会在终端窗口中输出$HOME的值 - 输出到文件:
echo "Hello World" > file1.txt
执行后,将会将“Hello World”写入到file1.txt文件中 - 追加到文件:
echo "Hello World" >> file1.txt
执行后,将会将“Hello World”追加到file1.txt文件的末尾
eg:echo "Hello World" > file1.txt
:这个命令会将文本内容 “Hello World” 覆盖写入到文件 file1.txt 中。如果文件 file1.txt 不存在,则会创建该文件。
而echo "Hello World" >> file1.txt
:这个命令会将文本内容 “Hello World” 追加写入到文件 file1.txt 的结尾处。如果文件 file1.txt 不存在,则会创建该文件。
总结:第一个命令会覆盖掉文件原有的内容,而第二个命令则会在文件原有的内容后面追加新内容。
which命令
which
命令的功能是用于查找命令文件,能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件(find与locate),也不关心命令所对应的源代码和帮助文件(whereis),仅仅是想找到命令本身所在的路径,那么这个which命令就太合适了。
语法格式:which [参数] 文件名
- -a:显示PATH变量中所有匹配的可执行文件
- 查找命令的完整路径:
which ls
执行后,将会输出ls命令的完整路径(如/usr/bin/ls) - 查找多个命令的完整路径:
which ls cp
执行后,将会输出ls和cp命令的完整路径(如/usr/bin/ls和/bin/cp) - 查找指定命令的所有可执行文件路径:
which -a ls
执行该命令后,which
命令会在$PATH
环境变量中查找所有名为ls
的可执行文件,并将它们的路径都输出到终端中