一、终端基本操作
(一) 终端操作技巧
终端,一个链接计算机的命令窗口。终端界面,即字符界面。
1、打开一个新终端窗口: ctrl + alt + t ,或者桌面右键 “Open Terminal " 新建终端;
2、在同一个窗口中打开新终端: ctrl +shift + t ;
3、终端清屏命令 :clear ,快捷键 ctrl + l ;
4、放大终端窗口的字体显示:ctrl + shift +“+” ;
5、缩小终端窗口字体显示:ctrl +“ - ”;
6、自动补全目录/文件/命令名称:tab键
在敲出相关 “文件/目录/命令” 的前几个字母后,按下 tab 键
若输入的没有歧义,系统会自动补全(所输的几个字母已足够确定一个文件/目录/命令)
若还存在其他文件/目录/命令,再按一下tab 键,系统会提示可能存在的 “ 文件/目录/命令 ”,同时将已经敲出的命令复制在下一行(可根据提示再添上字母或再用tab键补全)。
7、选择曾经使用过的命令
按下键盘上的 “上/下 ” 键可以在曾经使用过的命令之间来回切换进行选择命令;
若想要退出选择,并且不想执行当前选中的命令,可以按ctrl + c退出。
(二) 命令格式
command [-options] [parameter]
- command:命令名,相应功能的英文单词或英文缩写
- []表示可选
- options:选项,可用来对命令进行控制,也可省略
- parameter:传给命令的参数,可以零到多个
(三) 查询命令的帮助信息
1、第一种方式
command --help:显示命令的帮助信息,例如查询“ls”命令的帮助信息
ls --help
2、第二种方式
man command :查阅命令使用手册(manual)。
同样输入"ls"命令
man ls
提示:man操作键与功能说明
操作键功能空格键显示手册页的下一屏Enter键一次滚动手册页的一行b回滚一屏f前滚一屏q推出/word搜索word字符串
二、常用文件和目录命令
序号命令对应英文作用1lslist查看当前文件夹下的内容2pwdprint work directory查看当前所在的文件夹3cdchange directory切换文件夹4touch [文件名]touch如果文件不存在,新建文件5mkdir 目录名make directory创建目录6rm [文件名]remove删除指定的文件名7tree [目录名]tree以树状图列出文件目录结构8echo向终端发送文本或变量9cp 源文件 目标文件copy复制文件或者目录10mv 源文件 目标文件move移动文件或者目录/文件或者目录重命名
1、ls命令
ls是英文单词list的简写,其作用是列出目录的内容,是用户最常用的命令之一,类似于DOS下的dir命令。
ls命令基本格式:ls [选项] [目录或文件名]
选项含义-a列出所有文件和目录,包括以"
."
开头的隐藏文件和目录。-l以长列表的方式列出文件和目录的详细信息,包括文件权限、文件大小、创建时间等。-h配合-l选项使用,以人类可读的格式显示文件大小,如1.2K、3.4M等。-r倒序显示文件和目录。-t按照文件或目录的修改时间排序。-S按照文件或目录的大小排序。-i显示文件或目录的inode号。-d显示目录本身的信息,而不是目录下的文件和目录。
通常,前三个选项应用比较多 ,下面通过命令操作实例来进一步巩固命令选项的具体用法。
某些选项的联合使用举例:
此外,
ls
命令还支持结合通配符来过滤所显示的文件和目录。
通配符含义*代表任意个数个字符?代表任意一个字符,至少一个[]代表可以匹配字符组中的任意一个[abc]匹配a、b、c中的任意一个[a-f]匹配从a到f范围内的任意一个字符
2、pwd命令
pwd命令用于显示用户当前工作目录的完整路径。这个命令非常简单且直接,帮助用户确定他们目前所在的目录位置。
pwd命令基本格式:pwd [选项]
选项含义
-L(逻辑)
打印出逻辑工作目录的名称,即包含符号链接的路径
-L(物理)
显示不包含符号链接的物理路径,即实际路径。
-help
显示帮助并退出
–version
输出版本信息并退出
3、cd 命令
cd命令是Linux中非常常用的命令,用于切换工作目录。
cd命令基本格式:cd [选项] [目录]
选项/目录含义
cd 指定目录
用于切换到“指定目录”。
cd /D
用于改变驱动器的当前目录,同时改变当前驱动器。
cd
(不带参数)显示当前驱动器和目录。
-
表示返回上一次所在的目录。
..
表示返回当前目录的上一级目录。
\~
表示用户的主目录,也就是当前用户登录后所在的默认目录。
/
表示根目录。
- 目录参数可以是以下之一:- 指定要切换到的目标目录的路径,可以使用相对路径或绝对路径。- 相对路径是相对于当前工作目录的路径,例如**
cd documents
表示切换到当前目录下的documents
目录。- 绝对路径是完整的目录路径,例如cd /usr/local
表示切换到根目录下的usr/local
目录。- 通过连续使用cd
命令,可以切换到更深层次的目录,例如cd dir1/dir2/dir3
可以依次进入dir1
目录、dir2
目录以及dir3
目录。- 使用Tab
**键可以自动补全目录名称,减少输入错误。
4、touch命令
**
touch
命令基本格式:**touch [选项] 文件
该命令的主要功能是更改文件的访问和修改时间戳。如果文件不存在,
touch
会创建一个新的空文件。
1) 创建空文件
如果指定的文件不存在,
touch
命令可以创建一个空文件。例如,
touch text1.txt
命令将在当前目录下创建一个名为
text1.txt
的空文件,也可以同时创建多个文件。
2) 更新文件时间戳
如果指定的文件已经存在,
touch
命令可以更新文件的访问时间戳和修改时间戳。例如,
touch text1.txt
命令将更新
text1.txt
的访问时间戳和修改时间戳为当前时间。
3) 使用特定选项
选项含义
-a
只更新文件的访问时间。
-m
只更新文件的修改时间。
-t
指定文件的时间戳,格式为
YYYYMMDDhhmm
或
YYYY-MM-DD HH:MM:SS
。
-d
使用日期字符串来设置文件的时间戳,格式可以是多种,如
YYYY-MM-DD
、
YYYY-MM-DD HH:MM:SS
等。
-c
只创建新文件,不更新现有文件的时间戳。
-r
使用现有文件的时间戳来更新目标文件的时间戳。
使用
-a
和
-m
选项分别修改访问时间和修改时间:
touch -a -t 202409101230 text1.txt
touch -m -t 202409101230 text1.txt
touch -r text1.txt text2.txt
#将text2.txt的时间戳设置为与text1.txt相同
设置时间戳格式:时间戳可以按照特定的格式设置。
例如,使用
-t
选项指定年(YYYY)、月(MM)、日(DD)、小时(HH)、分钟(MM)和秒(SS)的格式,如
touch -t 202410011030 newfile.txt
将文件的访问和修改时间设置为2024年10月01日10点30分。
touch -t 202410011030 newfile.txt
#将文件的访问和修改时间设置为2024年10月01日10点30分
5、mkdir命令
mkdir命令基本格式:mkdir [选项] 目录名
mkdir命令用于在文件系统中创建新的目录。
mkdir是"make directory"的缩写,是Unix/Linux系统中用于创建目录的基本命令。
通过使用不同的选项,可以实现创建单个目录、多级目录、设置目录权限以及显示创建过程中的详细信息等功能。
1) 创建单个目录:使用
mkdir 目录名
命令可以在当前目录下创建一个新的目录。例如,
mkdir text
将在当前目录下创建一个名为text的目录。
2) 创建多级目录:使用
-p
选项可以一次性创建多级目录,如果路径中的某些目录尚不存在,系统将自动建立这些目录。例如,
mkdir -p text1/text2/text3
将创建text1\text2\text3这三级目录,即使它们中的某些尚未存在。
3) 设置目录权限:使用
-m
选项可以在创建目录的同时设置其权限。
该命令涉及权限设置,放在后面修改权限命令一起再详述。
4) 显示详细信息:使用
-v
选项可以在创建目录时显示详细信息。让用户看到每个创建的目录的详细信息,这对于了解命令的执行过程和确认目录是否正确创建非常有帮助。例如,
mkdir -v test
例如,如果用户在当前目录下创建一个名为test的新目录,使用mkdir -v test命令,系统会显示类似于“Created directory 'test'”的信息,从而确认目录已经被创建;如果正在创建,则提示“Creating directory 'test'”。
6、rm命令
rm命令基本格式:rm [选项] 文件或目录
rm命令不带任何选项时,仅删除文件。
#删除单个文件
rm text1.txt
#删除多个文件
rm text2.txt text3.txt text4.txt
rm命令是Linux和类Unix系统中用于删除文件或目录的命令。使用时需要格外小心,因为删除的文件或目录无法恢复。命令的基本用法包括删除单个文件、多个文件、目录及其内容等,具体操作取决于所使用的选项。
选项含义
-f
或
--force
强制删除,忽略不存在的文件,不提示。
-i
或
--interactive
交互式删除,每个文件删除前都会询问用户。
-r
或
-R
或
--recursive
递归删除,用于删除目录及其内容。
-v
或
--verbose
显示详细信息,列出被删除的文件。
这些选项可以单独使用,也可以组合使用以满足不同的删除需求。例如,
rm -rf directoryName
命令会强制递归地删除名为
directoryName
的目录及其所有内容,而不进行任何提示。
在使用rm命令时,应始终谨慎,确保不会意外删除重要文件或目录。建议在执行rm命令之前,先确认所在的目录和要删除的内容,以避免不必要的损失。
此外,还有其他一些选项,如
--help
显示帮助信息,
--version
显示版本信息等。
默认情况下,rm命令不会删除目录,但如果使用**
-r
**选项,则可以递归地删除目录及其所有内容。因此,在使用rm命令时必须小心,因为它会永久性地删除文件或目录,且没有提供撤销删除的功能。
7、tree命令
tree命令基本格式:tree [选项] [目录]
选项含义
-a
或
--all
显示所有文件和目录,包括隐藏的(以点开头的)。
d
或
--dirs-only
-
仅列出目录。
-L level
或
--max-depth=level
限制目录树的显示深度到指定的层数。
-f
或
--fullpath
显示每个文件或目录的完整路径。
-P pattern
只显示符合提供的模式的文件名或目录名。
-I pattern
排除符合提供的模式的文件名或目录名。
-o filename
将输出重定向到指定的文件。
-i
不显示文件和目录前的缩进线。
tree命令用于在命令行界面以树状图形式显示目录及其子目录的内容,递归地列出所有子目录,并可选择显示每个目录中的文件。如果没有指定目录,
tree
会显示当前目录的树形结构。如果提供了目录路径,
tree
会显示该路径的树形结构。
#查看当前目录下的所有文件和目录(包括隐藏文件),并且限制显示深度为两级。
tree -a -L 2
注意:
tree
命令在不同的操作系统上可能有些许差异,且在大多数Linux发行版中,
tree
不是默认安装的,需要通过包管理器进行安装。
# 安装 tree 命令
sudo apt install tree
也可以方便查询当前目录结构
8、echo命令
echo
命令用于在终端显示一段文本或变量的值。它是Shell脚本中常用的命令之一,主要用于输出字符串或变量的内容。
echo命令的基本格式:echo [选项] [字符串...]
选项含义-n
在输出文本后不换行。
-e启用转义字符的解释,可以识别和显示转义字符(如 \n、\t 等)。-E禁用转义字符的解释,将转义字符原样显示。
1)显示普通文本信息
echo "Hello, World!"
#输出:Hello, World!
2)显示带有转义字符的文本
启用反斜杠转义字符。常用转义字符包括:
\n
:换行\t
:制表符\\
:反斜杠\b
:退格
echo -e "Hello\tWorld\n"
#输出:Hello World
echo -e "Line1\nLine2\nLine3"
#输出多行文本
3)不自动添加换行符
echo -n "Hello, World!"
#输出:Hello, World!
4)显示变量的值
name="John"
echo "My name is $name"
#输出:My name is John
5)输出命令的执行结果
echo "Today is $(date)"
#输出:Today is [当前日期和时间]
说明:CST代表了中国时区的标准时间。
6)将输出重定向到文件
echo "Hello, World!" > output.txt
#将文本"Hello, World!"写入output.txt文件中。
补充说明:有关cat命令的用法就不单独详细讲解,可以参考下面说明:
查看文件内容:使用cat命令查看文件内容是最基本的用法。
例如,要查看名为file.txt的文件内容,可以输入cat file.txt。
显示行号:使用-n选项可以在显示文件内容时同时显示行号。
例如,输入cat -n file.txt将显示file.txt文件的每一行内容及其对应的行号。
合并文件:cat命令还可以用于合并多个文件的内容。
例如,要将file1.txt和file2.txt的内容合并并输出到终端,可以输入cat file1.txt file2.txt。如果要将合并后的内容保存到新文件中,可以使用重定向操作符>。例如,输入cat file1.txt file2.txt > merged.txt将合并后的内容保存到名为merged.txt的新文件中。
创建文件并写入内容:使用cat命令还可以创建新文件并写入内容。
例如,输入cat > newfile.txt后,可以在终端中输入要写入的内容,按Ctrl+D保存并退出,从而创建一个名为newfile.txt的新文件并包含输入的内容。
6)追加输出到文件
echo "This is another test" >> testfile.txt
#将字符串 This is another test 追加到 testfile.txt 文件中,不会覆盖原有内容。
7)显示特殊字符
echo "This is a \"quoted\" text"
#输出:This is a "quoted" text
9、cp命令
cp命令是Linux系统中用于复制文件或目录的命令。
cp命令的基本格式:cp [选项] 源文件/目录 目标文件/目录
选项说明:
选项含义
-a
或
--archive
相当于
-dR --preserve=all
,用于归档目的,递归地复制文件,并保持所有属性。
-i
或
--interactive
在覆盖目标文件前进行询问。
-r
或
-R
或
--recursive
递归地复制目录及其内容。
-f
或
--force
如果目标文件已经存在,不提示而是直接覆盖。
-p
或
--preserve
保持源文件的属性,如修改时间和访问权限。
此外,还有其他选项如
--backup
为已存在的目标文件创建备份,
-b
类似
--backup
但不接受参数等,这些选项可以根据具体需求灵活使用。
1)复制单个文件
cp text1.txt text2.txt
#将源目标text1.txt文件中的内容复制一份到目标文件text2.txt中
** 2)将文件/多文件复制到目录中**
cp text1.txt text2.txt wl/
#将多文件text1.txt text2.txt复制到指定目录:当前目录下的wl目录中
3)递归复制整个目录
语法格式为:cp -r 源目录 目标目录
将复制源目录及其所有内容到目标目录中。
** 4)复制并重命名文件**
cp text1.txt text1.txt.bak
#将把text1.txt的内容复制到新创建的名为text1.txt.bak的文件中。
5)强制覆盖已有文件
语法格式为:cp -f 源文件 已存在的文件
请注意,在执行任何可能覆盖重要文件的操作时,请谨慎使用-f选项,并在必要时备份数据以防意外丢失。
6)交互式复制并保留属性
语法格式为:cp -ip 源文件 目标文件
7)使用通配符批量复制文件
cp *.txt wl/
#将当前目录下所有的txt文件都复制到当前目录下的wl目录中
10、mv命令
mv命令是Linux系统中用于移动文件或目录、重命名文件或目录的命令。
mv命令的基本格式:
- 移动文件或目录:
mv [选项] 源文件或目录 目标文件或目录
- 重命名文件:
mv <旧文件名> <新文件名>
该命令的主要功能包括:
- 当目标参数是文件时,mv命令完成文件重命名。
- 当目标参数是已存在的目录时,mv命令将源文件或目录移动到该目录中。
- 在跨文件系统移动文件时,mv命令会先拷贝文件,再将原有文件删除。
常用的选项包括:
实例演示:
#将文件file1.txt重命名为file2.txt
mv file1.txt file2.txt
#将文件file2.txt移动到目录dir1中
mv file2.txt dir1
#使用-i选项在重命名或覆盖前询问用户,如果log2已存在,会询问是否覆盖。
mv -i log1 log2
#使用-f选项强制覆盖目标文件,不询问用户,直接覆盖。
mv -f log1 log2
#使用-b选项在覆盖前备份目标文件,先备份log1,然后覆盖log2。
mv -b log1 log2
#使用-n选项不覆盖已存在的文件
mv -n file1.txt dir1/file2.txt
#如果dir1中有file2.txt,则不移动
#使用-u选项仅当源文件比目标文件新时才进行移动
mv -u source_file target_file
#如果source_file更新,才移动
三、打包和压缩文件命令
tar命令基本格式:tar [option] [file]
其中,file参数通常是我们要操作的文件名。而 option参数一般是我们要对该文件进行的操作,它可以简单的分为操作选项、附加选项。
操作选项主要有:
操作选项含义
-c:
创建压缩文件-x**对文件进行解压-t查看压缩包内容-r向压缩归档文件末尾追加文件-u更新原压缩包中的文件-d将压缩文件和文件系统上的文件进行对比附加选项含义
-z
文件有gzip属性-j文件有bz2属性-Z文件有compress属性-v详细列出所有处理过程-C指定工作目录(因为该参数后必须紧跟文件目录,故一般放在option参数的最后或单独使用)-f指定归档文件名(因为该参数后必须紧跟文件名,故一般放在option参数的最后或单独使用)**
需要注意的是,操作选项之间互相独立,一般不可同时使用,但可以和下面的附加选项参数配合使用,为了方便理解,我们一般会操作选项参数在前,附加选项参数在后。
1、打包压缩文件
tar命令在进行压缩操作时常用选项很多,如上述两个表格,用法也可谓较复杂,为了方便说明,下面以一些具体的示例加以解说。
tar -cvf wrfout.tar wrfout_d01_*
#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar,并详细显示压缩过程
tar -czf wrfout.tar.gz wrfout_d01_*
#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar后,并将其用gzip进行压缩,生成一个gzip压缩过的包,命名为wrfout.tar.gz
tar -cjf wrfout.tar.bz2 wrfout_d01_*
#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar后,并将其用bzip2压缩,生成一个bzip2压缩过的包,命名为wrfout.tar.bz2
tar -cZf wrfout.tar.Z wrfout_d01_*
#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar后,并将其用compress压缩,生成一个
compress压缩过的包,命名为wrfout.tar.Z
tar -cvf ../wrfout.tar wrfout_d01_*
#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar存放在上一级目录中,并详细显示压缩过程
其中,选项 "-cvf" 一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要用 ".tar" 作为扩展名。
打包目录也是如此:
tar -cvf text.tar text/
#把当前目录下目录text下所有文件打包为text.tar文件
tar命令也可以打包多个文件或目录,只要用空格分开即可。
tar -cvf wl.tar text.txt text1.txt /tmp/
#把当前目录下text.txt文件、text1.txt文件和/tmp目录打包成wl.tar文件包
#这里对系统根目录进行操作,如果不是root用户,需要加sudo
2、解包解压缩文件
tar在进行解压缩操作时,主要看打包文件的扩展名,依据扩展名所对应的包格式进行相应选项的选择进行解压操作。
其实解包和打包相比,只是把打包选项 "-cvf" 更换为 "-xvf"。
tar -xvf wrfout.tar #解包到当前目录下
如果使用 "-xvf" 选项,则会把包中的文件解压到当前目录下。
如果想要指定解压位置,则需要使用 "-C(大写)" 选项。
tar -xvf text.tar -C wl
#把文件包text.tar解包到wl/目录下
下面同样通过一些常用的具体实例进行说明。
tar -xvf wrfout.tar
#解压wrfout.tar到当前目录下,并详细显示解压过程
tar -xzf wrfout.tar.gz
#解压wrfout.tar.gz到当前目录下
tar -xjf wrfout.tar.bz2
#解压wrfout.tar.bz2到当前目录下
tar -xZf wrfout.tar.Z
#解压wrfout.tar.Z到当前目录下
tar -xzvf wrfout.tar.gz -C /home
#解压wrfout.tar.gz到/home目录下,并详细显示解压过程
3、tar其它操作举例
tar -rf wrfout.tar *.py
#将所有.py的文件增加到wrfout.tar压缩包里面去
tar -uf wrfout.tar plot.py
#用当前文件目录中的plot.py,更新压缩包wrfout.tar中plot.py文件
tar -tf wrfout.tar
#列出wrfout.tar包中的所有文件
tar -dvf wrfout.tar *.py
#将wrfout.tar压缩包中的文件与当前目录下的.py文件进行比较,并列出详细过程
版权归原作者 WL_arm 所有, 如有侵权,请联系我们删除。