0


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

一、终端基本操作

(一) 终端操作技巧

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

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文件进行比较,并列出详细过程
标签: ubuntu linux 运维

本文转载自: https://blog.csdn.net/Eva20192020/article/details/141934673
版权归原作者 WL_arm 所有, 如有侵权,请联系我们删除。

“Ubuntu 16.04 终端操作及常用命令综合”的评论:

还没有评论