当前位置:首页 » 《休闲阅读》 » 正文

Ubuntu 16.04 终端操作及常用命令综合

27 人参与  2024年10月04日 08:01  分类 : 《休闲阅读》  评论

点击全文阅读


一、终端基本操作

(一) 终端操作技巧

终端,一个链接计算机的命令窗口。终端界面,即字符界面。

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指定文件的时间戳,格式为YYYYMMDDhhmmYYYY-MM-DD HH:MM:SS
-d使用日期字符串来设置文件的时间戳,格式可以是多种,如YYYY-MM-DDYYYY-MM-DD HH:MM:SS等。
-c只创建新文件,不更新现有文件的时间戳。
-r使用现有文件的时间戳来更新目标文件的时间戳。

使用 -a 和 -m 选项分别修改访问时间和修改时间:

touch -a -t 202409101230 text1.txttouch -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.gztar -cjf wrfout.tar.bz2 wrfout_d01_*#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar后,并将其用bzip2压缩,生成一个bzip2压缩过的包,命名为wrfout.tar.bz2tar -cZf wrfout.tar.Z wrfout_d01_*#将当前目录里所有以wrfout_d01_开头的文件打包成wrfout.tar后,并将其用compress压缩,生成一个compress压缩过的包,命名为wrfout.tar.Ztar -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文件进行比较,并列出详细过程


点击全文阅读


本文链接:http://zhangshiyu.com/post/167498.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1