1. 首页 > 服务器系统 > Ubuntu

Ubuntu16.04终端五大项目常用命令(图文教程)

Ubuntu 16.04 LTS (Long Term Support) 是一个长期支持版本,这意味着它将获得几年的安全更新和常规维护。在Ubuntu 16.04上,你可以通过终端(Terminal)进行各种操作和管理系统。,Ubuntu 16.04 虽然已经停止支持,但它的终端命令与现代 Ubuntu 版本绝大部分是通用的。

一、终端基本操作

终端操作技巧

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

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退出。

终端快捷键

快捷键/命令解释
Ctrl + C终止当前正在运行的命令
Ctrl + Z暂停当前进程,可后用 fg 或 bg 恢复
Ctrl + D退出当前终端会话 (相当于输入 exit)
Ctrl + L清屏 (相当于 clear 命令)
Ctrl + R反向搜索命令历史
Tab命令/文件名自动补全
↑ / ↓浏览命令历史
history查看命令历史记录
man <command>查看命令的手册页,最重要的帮助工具
command --help查看命令的快速帮助

查询命令的帮助信息

1、第一种方式

command --help:显示命令的帮助信息,例如查询“ls”命令的帮助信息

ls --help

 第一种方式

 2、第二种方式

man command :查阅命令使用手册(manual)。

同样输入"ls"命令

man ls

第二种方式

第二种方式_图2

提示: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命令

某些选项的联合使用举例:

ls命令_图2

 ls命令_图3

说明:ls查询结果不同颜色
白色 : 普通文件 text.txt, image.jpg, document.pdf
蓝色 : 目录 Documents, Downloads, 任何文件夹
绿色 : 可执行文件 编译后的程序、脚本(如 bash, python_script.py 如果设置了可执行权限)
青蓝色 : 符号链接 快捷方式文件,指向另一个文件或目录
红色 : 压缩文件或包文件 .zip, .tar.gz, .deb, .rpm
洋红色/粉色 : 图片、视频、多媒体文件 .png, .mp4, .mp3, .avi
黄色 : 设备文件 通常在 /dev 目录下,如 sda1 (磁盘分区)
黄底蓝字 : 其他文件 (sticky bit) 设置了 sticky bit 的目录,如 /tmp
蓝底绿字 : 其他文件 (setgid) 设置了 setgid 的目录,文件在该目录下会继承组权限
红底黄字 : 具有SUID权限的可执行文件 执行时会以文件所有者的权限运行,如 /usr/bin/passwd
黑色底红字 : 具有不可修改权限的文件 设置了 immutable 属性的文件(需 root 权限)

此外,ls命令还支持结合来过滤所显示的文件和目录。

通配符 含义

*代表任意个数个字符
代表任意一个字符,至少一个
[]代表可以匹配字符组中的任意一个
[abc]匹配a、b、c中的任意一个
[a-f]匹配从a到f范围内的任意一个字符

ls命令_图4

ls命令_图5

2、pwd命令

pwd命令用于显示用户当前工作目录的完整路径。这个命令非常简单且直接,帮助用户确定他们目前所在的目录位置。

pwd命令基本格式:pwd [选项]‌

选项 含义

-L(逻辑)

打印出逻辑工作目录的名称,即包含符号链接的路径

-P(物理)

显示不包含符号链接的物理路径,即实际路径。

-help 

显示帮助并退出

–version 

输出版本信息并退出

pwd命令

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键可以自动补全目录名称,减少输入错误。

cd 命令

cd 命令_图2

4、touch命令

touch 命令基本格式:touch [选项] 文件

该命令的主要功能是更改文件的访问和修改。如果文件不存在,touch 会创建一个新的空文件。

1‌) 创建空文件

如果指定的文件不存在,touch命令可以创建一个空文件。例如,touch text1.txt命令将在当前目录下创建一个名为text1.txt的空文件,也可以同时创建多个文件。

touch命令

touch命令_图2

2‌) 更新文件时间戳

如果指定的文件已经存在,touch命令可以更新文件的访问时间戳和修改时间戳。例如,touch text1.txt命令将更新text1.txt的访问时间戳和修改时间戳为当前时间。

touch命令_图3

3) 使用特定选项

选项 含义

-a只更新文件的访问时间。
-m只更新文件的修改时间。
-t指定文件的时间戳,格式为YYYYMMDDhhmm或其它。
-d使用日期字符串来设置文件的时间戳,格式可以是多种,如YYYY-MM-DD、YYYY-MM-DD HH:MM:SS等。
-r使用现有文件的时间戳来更新目标文件的时间戳。

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

touch -a -t 202409101230 text1.txt
touch -m -t 202409101230 text1.txt

touch命令_图4

touch命令_图5

touch -r text1.txt text2.txt 
#将text2.txt的时间戳设置为与text1.txt相同

touch命令_图6

设置时间戳格式‌:时间戳可以按照特定的格式设置。

例如,使用-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分

touch命令_图7

 5、mkdir命令

mkdir命令基本格式:mkdir [选项] 目录名

mkdir命令用于在文件系统中创建新的目录。

mkdir是"make directory"的缩写,是Unix/Linux系统中用于创建目录的基本命令。

通过使用不同的选项,可以实现创建单个目录、多级目录、设置目录权限以及显示创建过程中的详细信息等功能。

1) 创建单个目录‌:使用mkdir 目录名命令可以在当前目录下创建一个新的目录。例如,

mkdir text

将在当前目录下创建一个名为text的目录。

mkdir命令

2) 创建多级目录‌:使用-p选项可以一次性创建多级目录,如果路径中的某些目录尚不存在,系统将自动建立这些目录。例如,

mkdir -p text1/text2/text3

将创建text1\text2\text3这三级目录,即使它们中的某些尚未存在。

mkdir命令_图2

mkdir命令_图3

3) 设置目录权限‌:使用-m选项可以在创建目录的同时设置其权限。

该命令涉及权限设置,放在后面修改权限命令一起再详述。

4) 显示详细信息‌:使用-v选项可以在创建目录时显示详细信息。让用户看到每个创建的目录的详细信息,这对于了解命令的执行过程和确认目录是否正确创建非常有帮助。例如,

mkdir -v test

例如,如果用户在当前目录下创建一个名为test的新目录,使用mkdir -v test命令,系统会显示类似于“Created directory 'test'”的信息,从而确认目录已经被创建‌;如果正在创建,则提示“Creating directory 'test'”。

mkdir命令_图4

6、rm命令

‌rm命令基本格式:rm [选项] 文件或目录

rm命令不带任何选项时,仅删除文件。

#删除单个文件
rm text1.txt
#删除多个文件
rm text2.txt text3.txt text4.txt

rm命令

rm命令是Linux和类Unix系统中用于删除文件或目录的命令。使用时需要格外小心,因为删除的文件或目录无法恢复。命令的基本用法包括删除单个文件、多个文件、目录及其内容等,具体操作取决于所使用的选项。

选项 含义

-f 或 --force强制删除,忽略不存在的文件,不提示。
-i 或 --interactive交互式删除,每个文件删除前都会询问用户。
-r 或 -R 或 --recursive递归删除,用于删除目录及其内容。
-v 或 --verbose显示详细信息,列出被删除的文件。

这些选项可以单独使用,也可以组合使用以满足不同的删除需求。例如,rm -rf directoryName命令会强制递归地删除名为directoryName的目录及其所有内容,而不进行任何提示。

在使用rm命令时,应始终谨慎,确保不会意外删除重要文件或目录。建议在执行rm命令之前,先确认所在的目录和要删除的内容,以避免不必要的损失‌。

此外,还有其他一些选项,如--help显示帮助信息,--version显示版本信息等。

默认情况下,rm命令不会删除目录,但如果使用-r选项,则可以递归地删除目录及其所有内容。因此,在使用rm命令时必须小心,因为它会永久性地删除文件或目录,且没有提供撤销删除的功能‌。

rm命令_图2

rm命令_图3

rm命令_图4

rm命令_图5

rm命令_图6

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命令

# 安装 tree 命令‌
sudo apt install tree 

tree命令_图2

tree命令_图3

 也可以方便查询当前目录结构

tree命令_图4

8、echo命令

echo 命令用于在终端显示一段文本或变量的值。它是Shell脚本中常用的命令之一,主要用于输出字符串或变量的内容。

echo命令的基本格式:echo [选项] [字符串...]

选项 含义

-n

在输出文本后不换行。

-e启用的解释,可以识别和显示转义字符(如 \n、\t 等)。
-E禁用转义字符的解释,将转义字符原样显示。

 1)显示普通文本信息

echo "Hello, World!"
#输出:Hello, World!

 2)显示带有转义字符的文本

启用反斜杠转义字符。常用转义字符包括:

\n:换行 \t:制表符(将文本按固定间隔对齐,即水平对齐功能,其功能与Tab键相同,但不触发命令行自动补全或特殊功能) \\:反斜杠 \b:退格

echo -e "Hello\tWorld\n"
#输出:Hello   World
echo -e "Line1\nLine2\nLine3"
#输出多行文本

echo命令

3)不自动添加换行符

echo -n "Hello, World!"
#输出:Hello, World!

echo命令_图2

4)显示变量的值

name="John"
echo "My name is $name"
#输出:My name is John

5)输出命令的执行结果

echo "Today is $(date)"
#输出:Today is [当前日期和时间]

echo命令_图3

说明:CST代表了中国时区的标准时间。 

6)将输出到文件

echo "Hello, World!" > output.txt
#将文本"Hello, World!"写入output.txt文件中。

echo命令_图4

补充说明:有关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 文件中,不会覆盖原有内容。

echo命令_图5  7)显示

echo "This is a \"quoted\" text"
#输出:This is a "quoted" text

 9、cp命令

‌cp命令是‌系统中用于复制文件或目录的命令‌。

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中

cp命令

  2)将文件/多文件复制到目录中

 cp text1.txt text2.txt wl/
#将多文件text1.txt text2.txt复制到指定目录:当前目录下的wl目录中

cp命令_图2

3)递归复制整个目录

语法格式为:cp -r 源目录 目标目录
将复制源目录及其所有内容到目标目录中。

cp命令_图3

 4)复制并重命名文件

cp text1.txt text1.txt.bak
#将把text1.txt的内容复制到新创建的名为text1.txt.bak的文件中。

cp命令_图4 

5)强制覆盖已有文件

语法格式为:cp -f 源文件 已存在的文件

 请注意,在执行任何可能覆盖重要文件的操作时,请谨慎使用-f选项,并在必要时备份数据以防意外丢失。

6)交互式复制并保留属性

语法格式为:cp -ip 源文件 目标文件

7)使用通配符批量复制文件

cp *.txt wl/
#将当前目录下所有的txt文件都复制到当前目录下的wl目录中

 10、mv命令

‌是‌系统中用于移动文件或目录、重命名文件或目录的命令。

mv命令的基本格式:

移动文件或目录:mv [选项] 源文件或目录 目标文件或目录 重命名文件:mv <旧文件名> <新文件名>

该命令的主要功能包括:

当目标参数是文件时,mv命令完成文件重命名。 当目标参数是已存在的目录时,mv命令将源文件或目录移动到该目录中。 在跨文件系统移动文件时,mv命令会先拷贝文件,再将原有文件删除。

常用的选项包括:

-i :交互式移动,如果目标文件已经存在,则询问用户是否覆盖。

-f :强制移动,如果目标文件已经存在,则不询问直接覆盖。

-n: 如果目标文件已经存在,则不覆盖。
-v:显示详细的移动过程。
-u:如果目标文件已经存在,但源文件更新,则更新目标文件。

实例演示:

#将文件file1.txt重命名为file2.txt 
mv file1.txt file2.txt

mv命令

#将文件file2.txt移动到目录dir1中
mv file2.txt dir1

mv命令_图2

#使用-i选项在重命名或覆盖前询问用户,如果log2已存在,会询问是否覆盖。
mv -i log1 log2

mv命令_图3

#使用-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更新,才移动

三、系统相关命令

1、关机/重启命令

(1)shutdown命令

shutdown命令格式:shutdown [选项] [时间] [警告信息]

[选项]:
-r :重新启动,不加就是关机;- h 关机后不重新启动;-c : 取消
[时间]:
new : 现在
如果不指定选项和时间,则默认1分钟后关闭电脑

shutdown可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。

shutdown now     #立刻关机
shutdown -c      #取消shutdown的计划 
shutdown -r now  #立刻重启
shutdown 20:00   #将在20:00关机
shutdown +10     #将在十分钟之后自动关机

(2)halt命令,最简单的关机命令,其实际上是调用shutdown -h命令。

   halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。

(3)reboot 命令工作过程与halt类似,其作用是重新启动,而halt是关机。

    其参数也与halt类似,reboot命令重启动系统时是删除所有的进程,而不是平稳地终止它们。因此,使用reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。所以使用reboot 命令的场合主要是在单用户模式。

实例总结
重启命令:
  reboot
  shutdown -r now 立刻重启 (root用户使用)
  shutdown -r 10 过10分钟自动重启 (root用户使用)
  shutdown -r 20:35 在时间为20:35时候重启 (root用户使用)
  如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

关机命令:
  halt 立刻关机
  poweroff 立刻关机
  shutdown -h now 立刻关机 (root用户使用)
  shutdown -h 10 10分钟后自动关机
  如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

2、磁盘管理命令

Linux 常用三个命令为 df、du 和 fdisk。

df(英文全称:disk free):列出文件系统的整体磁盘使用量

du(英文全称:disk used):检查磁盘空间使用量

fdisk:用于磁盘分区

(1)df
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

#命令格式:
df [选项]  [目录或文件名]

[选项]:

-h:以人类可读的方式显示输出结果(例如,使用 KB、MB、GB 等单位)。
-T:显示文件系统的类型。
-t <文件系统类型>:只显示指定类型的文件系统。
-i:显示 inode 使用情况。
-H:该参数是 -h 的变体,但是使用 1000 字节作为基本单位而不是 1024 字节。这意味着它会以 SI(国际单位制)单位(例如 MB、GB)而不是二进制单位(例如 MiB、GiB)来显示磁盘使用情况。
-k:这个选项会以 KB 作为单位显示磁盘空间使用情况。
-a:该参数将显示所有的文件系统,包括虚拟文件系统,例如 proc、sysfs 等。如果没有使用该选项,默认情况下,df 命令不会显示虚拟文件系统。

df
#如果df没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 
#都以 1 Kbytes 的容量来列出来!

 磁盘管理命令

df -h

#将容量结果以易读的容量格式显示出来

 磁盘管理命令_图2

df -aT

#将系统内的所有特殊文件格式及名称都列出来

 磁盘管理命令_图3

df -h /etc

#将 /etc 底下的可用的磁盘容量以易读的容量格式显示

 磁盘管理命令_图4

显示内容参数说明:Filesystem:文件系统
Size: 分区大小
Used: 已使用容量
Avail: 还可以使用的容量
Use%: 已用百分比
Mounted on: 挂载点 

磁盘管理命令_图5

相关命令

df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)

(2) du命令du命令是linux系统里的文件大小查看的命令。
需要查看单个目录里面多个文件总大小; 
需要查看目录中每个文件的大小以及每个子文件夹中文件的大小; 
查看日志文件的大小;
查看文件大小并排序,找出最大的或最小的文件;
其它需要统计文件大小的场景。
ls, df也有类似的功能,但是du更侧重于文件大小,并且更灵活好用。是运维人员、服务端开发人员以及其他linux用户很好的工具。掌握du命令的用法十分有必要。

du -h   #查看当前目录各文件占用磁盘大小

 磁盘管理命令_图6

sudo du -s #查看文件夹总大小,注意该命令操作需要超级管理员权限

 磁盘管理命令_图7

du -hd1 #查看当前目录下各目录文件大小,层级深度为1

 磁盘管理命令_图8

du -ah   #查看所有文件大小

 磁盘管理命令_图9

(3)fdisk

  fdisk是一个用于磁盘分区的命令,适合给小于2T的磁盘分区。

命令格式如下:

  fdisk [选项] -l <磁盘> :列出分区表

  fdisk -s <分区> :给出分区大小(块数)

  fdisk [选项] <磁盘> :用于更改分区表

在fdisk的交互操作方式下,可以使用以下子命令:

a:调整硬盘的启动分区,设置可引导标记。

d:删除一个硬盘分区,删除一个分区。

l:列出所有支持的分区类型,显示所有已知的分区类型。

m:列出所有命令,显示帮助菜单。

n:创建一个新的分区,新建分区。

p:列出硬盘分区表,显示分区列表。

q:退出fdisk,不保存更改,不保存退出。

t:更改分区类型,改变一个分区的默认id。

u:切换所显示的分区大小的单位,改变显示单位。

w:把设置写入硬盘分区表,然后退出,写入分区表,保存退出 。

#列出所有分区信息
sudo fdisk -l

磁盘管理命令_图10

有关该命令实现分区的具体操作在这里不作详细讲解,如有需要进行分区操作的可以参考博文:

四、打包/解压命令tar

tar命令基本格式:tar [选项] [文件名]

其中,文件名即是我们要操作的文件。

选项参数一般是我们要对该文件进行的操作,它可以简单的分为操作选项、附加选项

操作选项主要有:

操作选项 含义

-c:

创建压缩文件
-x对文件进行解压
-t查看压缩包内容
-r向压缩归档文件末尾追加文件
-u更新原压缩包中的文件
-d将压缩文件和文件系统上的文件进行对比

附加选项 含义

-z

文件有gzip属性
-j文件有bz2属性
-Z文件有compress属性
-v详细列出所有处理过程
-C指定工作目录(因为该参数后必须紧跟文件目录,故一般放在option参数的最后或单独使用)
-f指定归档文件名(因为该参数后必须紧跟文件名,故一般放在option参数的最后或单独使用)

需要注意的是,操作选项之间互相独立,一般不可同时使用,但可以和下面的附加选项参数配合使用,为了方便理解,我们一般会操作选项参数在前,附加选项参数在后。

1、打包/压缩操作

(1) 打包/压缩文件

tar命令在进行压缩操作时常用选项很多,如上述两个表格,用法也可谓较复杂,为了方便说明,下面以一些具体的示例加以解说。

tar -cvf wlout.tar wl*
#将当前目录里所有以wl开头的文件打包成wlout.tar,并详细显示压缩过程

tar -czf wlout.tar.gz wl*
#将当前目录里所有以wl开头的文件打包成wlout.tar后,并将其用gzip进行压缩,生成一个gzip压缩过的包,命名为wlout.tar.gz

tar -cjf wlout.tar.bz2 wl*
#将当前目录里所有以wl开头的文件打包成wlout.tar后,并将其用bzip2压缩,生成一个bzip2压缩过的包,命名为wlout.tar.bz2

tar -czf wlout.tar.Z wl*
#将当前目录里所有以wl开头的文件打包成wlout.tar后,并将其用compress压缩,生成一个compress压缩过的包,命名为wlout.tar.Z

tar -cvf WL/wl.tar wlout*
#将当前目录里所有以wlout开头的文件打包成wl.tar存放在上当前目录下WL目录中,并详细显示压缩过程

其中,选项 "-cvf" 一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要用 ".tar" 作为扩展名。 

(1) 打包/压缩文件

(1) 打包/压缩文件_图2

(1) 打包/压缩文件_图3

(1) 打包/压缩文件_图4

(1) 打包/压缩文件_图5

(2) 打包目录

tar -cvf text.tar text/
#把当前目录下text目录中所有文件打包为text.tar文件

(2) 打包目录

tar命令也可以打包多个文件或目录,只要用空格分开即可。

tar -cvf WL.tar WL1.txt WL2.txt WL/
#把当前目录下WL1.txt文件、WL.txt文件和WL目录打包成WL.tar文件包
#如果对系统根目录进行操作,若不是root用户,需要加sudo

(2) 打包目录_图2

2、解包/解压操作

tar在进行解压缩操作时,主要看打包文件的扩展名,依据扩展名所对应的包格式进行相应选项的选择进行解压操作。

其实解包和打包相比,只是把打包选项 "-cvf" 更换为 "-xvf",操作方法类似。

tar -xvf wlout.tar #解包到当前目录下

如果使用 "-xvf" 选项,则会把包中的文件解压到当前目录下。

如果想要指定解压位置,则需要使用 "-C(大写)" 选项。

tar -xvf wl.tar -C wl
#把文件包text.tar解包到wl/目录下

具体操作同上述打包操作,操作命令汇总如下,就不再作详细说明 。

tar -xvf wlout.tar
#解压wrfout.tar到当前目录下,并详细显示解压过程

tar -xzf wlout.tar.gz
#解压wrfout.tar.gz到当前目录下

tar -xjf wlout.tar.bz2
#解压wrfout.tar.bz2到当前目录下

tar -xZf wlout.tar.Z
#解压wrfout.tar.Z到当前目录下

tar -xzvf wlout.tar.gz -C /home
#解压wrfout.tar.gz到/home目录下,并详细显示解压过程

 3、tar其它操作举例

tar -rf wlout.tar *.py
#将所有.py的文件增加到wrfout.tar压缩包里面去

tar -uf wlout.tar plot.py
#用当前文件目录中的plot.py,更新压缩包wrfout.tar中plot.py文件

tar -tf wlout.tar
#列出wrfout.tar包中的所有文件

tar -dvf wlout.tar *.py 
#将wrfout.tar压缩包中的文件与当前目录下的.py文件进行比较,并列出详细过程

五、文件及目录权限命令

1、命令语法

语法:chmod  [选项]  模式  文件/目录名...

其中:
• [选项] 是可选的,用于指定特定的行为
• 模式 是指要设置的权限模式
• 文件名... 是一个或多个文件或目录的路径

[选项] 中一般最常用的就是-R,

命令语法

模式

权限模式可以通过八进制模式(Octal Mode)或符号模式(Symbolic Mode)来表示,本文以八进制模式为主进行讲解。

功能:修改文件及文件夹权限(注意,只有文件及目录的所属用户或root用户可以修改)

说明:在Linux中,r、w 和 x 分别表示读(read)、写(write)和执行(execute)权限。

它们是英语单词的首字母缩写。

r:表示读权限,允许用户读取文件内容。
w:表示写权限,允许用户修改、编辑文件。
x:表示执行权限,对于文件来说,允许用户作为可执行文件运行;对于目录来说,允许用户进入该目录。
这些权限控制了用户对文件或目录的不同操作能力。

通过为所有者(用户,u表示)、所有组( g表示)和其他组( o表示)分配不同的权限,可以实现对系统资源的灵活管理和访问控制。

如下图所示,三组权限分别属于所有者(用户)、所有组、其他组,例如图中第一个目录"Desktop"当前权限为所有者可读、可写、可执行;所有组可读、可执行,不可写;其他组可读、可执行,不可写。

命令语法_图2

2、八进制模式实现方法

模式下的八进制权限是由三组权限对应的三位八进制组成,每组权限又由三位二进制转化成的八进制来表示,下面仍然以目录"Desktop"来说明:

权限:   r w x    r - x       r - x

二进制  1 1 1    1 0 1     1 0 1

十进制      7         5          5

即目录"Desktop" 的权限值为755。

八进制模式实现方法

如上图红框中所示,十位权限表示时,第一位代表文件的类型,类型可以是下面几个中的一个:

d代表的是目录(directroy)
-代表的是文件(regular file)
s代表的是套字文件(socket)
p代表的管道文件(pipe)或命名管道文件(named pipe)
l代表的是符号链接文件(symbolic link)
b代表的是该文件是面向块的设备文件(block-oriented device file)
c代表的是该文件是面向字符的设备文件(charcter-oriented device file) 

后九位为权限,常见的权限表示形式有:

-rw------- (600)      只有所有者有读写权限。
-rw-r--r-- (644)      只有所有者有读写权限;而所有组用户和其他用户只有读权限。
-rwx------ (700)     只有所有者有读、写、执行权限。
-rwxr-xr-x (755)    所有者有读、写、执行权限;而所有组用户和其他用户只有读、执行权限。
-rwx--x--x (711)    所有者有读、写、执行权限;而所有组用户和其他用户只有执行权限。
-rw-rw-rw- (666)   所有用户都有文件读、写权限。
-rwxrwxrwx (777)  所有用户都有读、写、执行权限。
......

解析: Linux权限总共有三个属组,这里我们给每个属组使用三个位置来定义三种操作(读、写、执行)权限,合起来则是权限的后九位。 其中 -代表无权限,r代表读权限,w代表写权限,x代表执行权限。我们将各个位置权限的有和无分别用二进制数 1和 0来代替,有则为1,无则为0,每组权限先用三位二进制表示,并进一步转变成八进制数字,如下所示:

rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0

下面通过一些实例来强化说明。

(1)将文件test.txt的所有组权限全打开

一般系统根目录下的文件都是不能修改的,如果想要修改,得修改其权限。

chmod 777 ftest.txt #(等价于chmod u=rwx,g=rwx,o=rwx test.txt或 chmod a=rwx test.txt)

(2)将文件test.txt的所有者权限全打开,用户组及其他组权限全关闭

chmod 700 test.txt # (等价于chmod u=rwx,g=---,o=--- test.txt )

(3)-R:递归修改目录及其子目录下的所有文件和目录权限

例如,将目录Desktop及其子目录下所有文件的读写权限设置为 只有所有者有读、写、执行权限。

chmod -R 700 Desktop

例如,将目录Desktop及其子目录下所有文件的读写权限设置为 所有用户都有读、写、执行权限。

chmod -R 777 Desktop

六、网络相关命令

1、ifconfig

ifconfig是Linux中常用的工具之一,用于配置和显示网络接口的具体状况。

注意事项:
用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件。
要使用ifconfig命令,必须具有superuser权限。
在一些较新的Linux发行版中,ifconfig命令已经被ip命令所取代,因此在使用ifconfig命令之前,需要先检查系统是否支持该命令。
ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数。

查看 ip 网络相关信息,如果命令不存在的话, 执行命令 yum install net-tools 安装。

ifconfig

以上显示信息详细说明,可自行查看。

ifconfig_图2ifconfig_图3

ifconfig_图4

ifconfig_图5

ifconfig_图6ifconfig_图7

2、ping

作用:检测当前主机与目标主机之间的连通性(不是100%准确,有的是禁ping)。

ping 主机地址(ip地址、主机名、域名等)

用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
            [-r count] [-s count] [[-j host-list] | [-k host-list]]
            [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
            [-4] [-6] target_name

选项:
    -t             Ping 指定的主机,直到停止
                   若要查看统计信息并继续操作,请键入 Ctrl+Break
                   若要停止,请键入 Ctrl+C
    -a             将地址解析为主机名
    -n count       要发送的回显请求数
    -l size        发送缓冲区大小
    -f             在数据包中设置“不分段”标记(仅适用于 IPv4)
    -i TTL         生存时间
    -v TOS         服务类型(仅适用于 IPv4。该设置已被弃用
                   对 IP 标头中的服务类型字段没有任何影响)
    -r count       记录计数跃点的路由(仅适用于 IPv4)
    -s count       计数跃点的时间戳(仅适用于 IPv4)
    -j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)
    -k host-list    与主机列表一起使用的严格源路由(仅适用于 IPv4)
    -w timeout     等待每次回复的超时时间(毫秒)
    -R             同样使用路由标头测试反向路由(仅适用于 IPv6)
                   根据 RFC 5095,已弃用此路由标头
                   如果使用此标头,某些系统可能丢弃回显请求
    -S srcaddr     要使用的源地址
    -c compartment 路由隔离舱标识符
    -p             Ping Hyper-V 网络虚拟化提供程序地址
    -4             强制使用 IPv4
    -6             强制使用 IPv6

ping

若要停止,请键入 Ctrl+C。

如若限制发送ping请求的次数

我们可以用 -c 选项来限制发送ping请求的次数:

ping -c 5 192.168.124.62

ping_图2

3、netstat

作用:Netstat 命令用于显示各种网络相关信息,如网络连接,,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

执行netstat后,其输出结果为  :

netstat

 执行 netstat -a,1. 列出所有端口 (包括监听和未监听的),其输出结果为:

netstat_图2

 执行netstat -at,列出所有 tcp 端口,其输出结果为:

netstat_图3

执行netstat -au,列出所有 udp 端口,其输出结果为:

netstat_图4

执行 netstat -l,列出只显示监听端口,其输出结果为:

netstat_图5

 执行netstat -s,列出所有端口的统计信息,其输出结果为:

netstat_图6

......

4、ssh 连接远程服务器

通过非对称加密以及对称加密的方式(同 HTTPS 安全连接原理相似)连接到远端服务器。

ssh 用户@ip:port
 
ssh root@172.20.10.1:22

# 端口号可以省略不写,默认是22端口
# 输入连接密码后就可以操作远端服务器了

配置 ssh:config 文件可以配置 ssh ,方便批量管理多个 ssh 连接。配置文件分为以下几种:

全局 ssh 服务端的配置:/etc/ssh/sshd_config ;
全局 ssh 客户端的配置:/etc/ssh/ssh_config(很少修改);
当前用户 ssh 客户端的配置:~/.ssh/config 。

配置当前用户的 config :

# 创建config
vim ~/.ssh/config
 
# 填写一下内容
Host lion # 别名
HostName 172.x.x.x # ip 地址
Port 22 # 端口
User root # 用户

这样配置完成后,下次登录时,可以这样登录 ssh lion 会自动识别为 root 用户。

七、重要目录说明

  • /home/username:用户的家目录,存放个人文件和配置。

  • /etc:系统全局配置文件存放地。

  • /var/log:系统日志文件存放地。

  • /tmp:临时文件目录。

  • /opt:可选的应用软件包安装目录。

这份指南涵盖了 Ubuntu 16.04 终端操作的绝大多数常用场景。对于任何命令,如果想了解更详细的用法,请务必使用 man <命令名> 来查阅其官方手册。

以上就是3-Ubuntu 16.04 终端操作及常用命令综合的详细内容,更多相关资料请阅读主机测评网其它文章!

本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhujiwo.jb51.net/ubuntu/4460.html

联系我们

在线咨询:点击这里给我发消息

Q Q:2220678578