17、Ubuntu 命令全解析

Ubuntu 命令全解析

在 Ubuntu 系统中,掌握各类命令是高效使用和管理系统的关键。本文将详细介绍一系列常用的 Ubuntu 命令及其使用方法。

1. 文件与系统信息查看命令
  • tail :用于查看文件的末尾内容。例如:
jaskiran@jaskiran-VirtualBox:~/Desktop/new_directory$ tail text_file.txt
6
7
8
9
10
11
12
13
14
15
  • uname :显示系统信息。
    • uname :显示内核名称,如 Linux
    • uname -a :显示详细的系统信息,如:
jaskiran@jaskiran-VirtualBox:~/Desktop/new_directory$ uname -a
Linux jaskiran-VirtualBox 5.11.0-43-generic 
#47~20.04.2-Ubuntu SMP
Tue Dec 14 11:06:56 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2. 软件包管理命令
  • apt-get update :更新软件包列表,但不更新软件。此命令需要 root 权限。示例:
jaskiran@jaskiran-VirtualBox:~$ apt-get update
Reading package lists... Done
E: Could not open file /var/lib/apt/lists/lock - open 
(13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.b​in - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.b​in - RemoveCaches (13: Permission denied)
  • sudo apt-get update :从配置的源下载软件包信息,源定义在 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d/ 目录下的其他文件中。
  • apt-get upgrade :下载并更新已安装的软件,但不安装或移除其他额外软件包。若该命令不起作用,可尝试 sudo apt upgrade 。示例:
jaskiran@jaskiran-VirtualBox:~$ sudo apt upgrade
[sudo] password for jaskiran:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
alsa-ucm-conf ghostscript ghostscript-x gir1.2-
mutter-6 gir1.2-udisks-2.0
gnome-control-center gnome-control-center-data 
gnome-control-center-faces
gnome-shell-extension-desktop-icons libasound2 
libasound2-data
libatopology2 libfprint-2-2 libfprint-2-tod1 libgs9 
libgs9-common
libmbim-glib4 libmbim-proxy libmm-glib0 
libmutter-6-0………………
  • apt-get dist-upgrade :是 apt-upgrade 命令的改进版本,除了升级现有软件包外,还会根据依赖关系安装和移除软件包。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ sudo apt-get 
dist-upgrade
[sudo] password for jaskiran:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were installed and are no 
longer required:
linux-headers-5.11.0-27-generic 
linux-hwe-5.11-headers-5.11.0-27
linux-image-5.11.0-27-generic 
linux-modules-5.11.0-27-generic
  • apt-get install :下载并安装新的软件包。例如,安装 Gimp 图像编辑软件:
sudo apt-get install gimp

安装 Opera 浏览器稳定版:

sudo apt-get install opera-stable

或使用 snap 安装:

snap install opera
  • apt-get remove :从系统中移除软件。例如,移除 Opera 浏览器:
sudo apt-get remove opera-stable

或使用 snap 移除:

snap remove opera
  • apt-get -f install :用于修复软件安装过程中因下载问题或依赖关系导致的安装失败。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ Sudo apt-get 
-f install
Reading package lists... Done
Building dependency tree....Done
Reading state information... Done
The following packages were installed and are no 
longer required:
linux-headers-5.11.0-27-generic 
linux-hwe-5.11-headers-5.11.0-27
linux-image-5.11.0-27-generic 
linux-modules-5.11.0-27-generic
linux-modules-extra-5.11.0-27-generic
Use ‘sudo apt autoremove’ to remove.
0 upgraded, 0 installed, 0 to remove and 0 not 
upgraded.
  • sudo apt-get install “package-name” – reinstall :重新安装软件包。例如,重新安装 Opera 浏览器:
sudo apt-get install opera-stable – reinstall
3. 用户管理命令
  • adduser :用于向当前系统添加新用户,并允许修改待创建用户的配置,比 useradd 命令更具交互性。在 Debian/Ubuntu 系统中安装 adduser 工具:
sudo apt-get install adduser
  • passwd :用于更改用户账户密码。root 用户可以更改任何用户的密码,普通用户只能更改自己的账户密码。语法:
passwd [options] [username]
4. 帮助与信息查看命令
  • man :查看系统参考手册。例如,查看 ls 命令的手册:
jaskiran@jaskiran-VirtualBox:~/Desktop$ man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
It lists information about the FILEs (the current 
directory by default).
It sorts entries alphabetically if none of -cftuvSUX 
nor --sort is speci‐
fied.
It is mandatory arguments to long options are 
mandatory for short options
too.
-a, --all
It do not ignore entries starting with.
-A, --almost-all
do not list implied. and..
--author
with -l, print the author of each file
-b, --escape
print C-style escapes for nongraphic characters

man 命令的常用选项:
| 选项 | 功能 |
| ---- | ---- |
| man -aw | 列出命令的所有可用章节 |
| man -a | 查看命令的所有手册页 |
| sman -k | 显示包含关键字匹配的手册页结果列表 |
| -f, whatis | 显示手册页中的描述(如果可用) |
| whereis | 确定手册页的位置 |

5. 日期与日历命令
  • date :显示系统日期和时间,也可用于设置系统日期和时间。默认显示操作系统配置时区的日期。更改日期和时间需要 root 权限。
    • date :显示当前日期和时间。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ date
Wednesday 05 January 2022 02:57:41 PM IST
- `date -u`:显示 GMT/UTC 时区的时间。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ date -u
Wednesday 05 January 2022 09:30:57 AM UTC
- `date -d`:操作系统在特定日期。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ date -d now
Wednesday 05 January 2022 04:24:14 PM IST
jaskiran@jaskiran-VirtualBox:~/Desktop$ date -d 
last-Sunday
Sunday 02 January 2022 12:00:00 AM IST
  • cal :查看日历。
    • cal :显示当前月份的日历,当前日期会高亮显示。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ cal
January 2022
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
- `cal -y`:显示当前年份的日历,当前日期会高亮显示。
- `cal [month] [year]`:显示指定月份和年份的日历。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ cal 11 1998
November 1998
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
6. 网络与文件操作命令
  • wget :非交互式网络下载器,用于从服务器下载文件,可跟随 HTML 和 XHTML 页面中的链接并创建远程网站的本地版本,设计用于在慢速或不稳定网络连接下保持健壮性,可在用户未登录时在后台工作,支持 FTP、HTTP、HTTPS 协议以及 HTTP 代理检索。语法:
wget [option] [URL]

例如:

wget https://download.virtualbox.org/virtualbox/6.1.26/VirtualBox-6.1.26-145957-Win.exe
  • ping :检查主机与服务器/主机之间的网络连接性。输入 IP 地址或 URL,发送包含 “PING” 消息的数据包,并从服务器/主机获取响应。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ ping -V
ping from iputils s20190709
  • clear :清除终端屏幕,类似于其他操作系统中的 cls 命令。语法:
clear
  • exit :退出当前运行的 shell。可接受一个参数 [N] ,并以状态 N 退出 shell。若未提供 n ,则返回最后执行命令的状态。
exit [n]

exit –help 可显示帮助信息。
- uptime :显示系统运行时长,结果包括当前时间、系统运行时间、当前登录用户数量以及过去 1、5 和 15 分钟的系统负载。语法:

uptime

示例:

jaskiran@jaskiran-VirtualBox:~/Desktop$ uptime
16:26:42 up 4:34, 1 user, load average: 0.19, 0.10, 
0.06
  • w :显示当前登录系统的用户详细信息。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop$ w
16:30:07 up 4:37, 1 user, load average: 0.01, 0.06, 
0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
jaskiran :0 :0 10:04 ?xdm? 12:09 0.03s /usr/lib/gdm3/
  • shutdown :用于关闭系统。语法:
shutdown
  • mv :有两种用途:
    • 移动文件或目录到系统中的另一个路径。语法:
mv Source_File Destination_File

示例:

jaskiran@jaskiran-VirtualBox:~/Desktop$ touch file1
jaskiran@jaskiran-VirtualBox:~/Desktop$ mkdir folder1
jaskiran@jaskiran-VirtualBox:~/Desktop$ touch file2
jaskiran@jaskiran-VirtualBox:~/Desktop$ mv file1 folder1
jaskiran@jaskiran-VirtualBox:~/Desktop$ cd folder1
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ ls
file1
- 更改文件或文件夹的名称。
  • cp :用于将数据从源文件复制到目标文件,类似于 mv 。语法:
cp source_file_name destination_file_name

示例:

jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ cat 
file1
First file data
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ cat 
fil2
cat: fil2: No such file or directory
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ cat 
file2
Second file data
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ cp 
file1 file2
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ cat 
file2
First file data
  • echo :显示作为参数传递的任何表达式。语法:
echo expression

示例:

jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ echo 
“Demo content”
Demo content
  • grep :在指定文件/文件夹中搜索文本。语法:
grep “expression_to_be_Searched” file_name_to_search_in

示例:

jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ cat 
file1
First file data
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ grep 
“file” file1
First file data

若文本存在于文件内容中,将以红色高亮显示。
- unzip :解压缩 .zip 文件并将其中的所有文件提取到当前目录。语法:

unzip file_name.zip

例如:

unzip Files.zip
  • history :显示用户会话开始以来执行的所有命令列表。语法:
history

示例:

jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ 
history
 1  wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
 2 sudo snap install vlc
 3 sudo snap install atom-classic
 4 sudo snap install atom
 5 sudo apk install atom
 6 sudo apt install atom
 7 sudo apt install atom-classic
 8 sudo snap install atom --classic
 9 clear
10 sudo snap install atom --classic
11 sudo snap install gimp
12 sudo apt install franz
13 sudo apt install franz_.5.7.0_and64.deb
14 sudi -h
15 sudo -h
16 whoami
  • whereis :显示特定内置 Linux 命令的软件包所在路径。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ 
whereis zip
zip: /usr/bin/zip /usr/share/man/man1/zip.1.gz
  • whatis :显示特定内置 Linux 命令的功能简要描述。示例:
jaskiran@jaskiran-VirtualBox:~/Desktop/folder1$ whatis 
cat
cat - it concatenate files and print on the standard 
output
7. 文件权限命令
  • ls -l :查看文件权限。示例:
jaskiran@jaskiran-VirtualBox:~$ ls -l
total 87304
drwxr-xr-x 3 jaskiran jaskiran 4096 Jan 5 16:41 
Desktop
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 
Documents
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 
Downloads
-rw-rw-r-- 1 jaskiran jaskiran 0 Jan 5 10:59 fil1.txt
-rw-rw-r-- 1 jaskiran jaskiran 0 Jan 5 10:59 fil2.txt
-rw-rw-r-- 1 jaskiran jaskiran 89348996 Dec 12 14:00 
google-chrome-stable_current_amd64.deb
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 Music
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 
Pictures
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 
Public
drwx------ 11 jaskiran jaskiran 4096 Jan 4 11:47 snap
drwxrwxr-x 3 jaskiran jaskiran 4096 Dec 31 22:31 Steam
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 
Templates
drwxrwxr-x 2 jaskiran jaskiran 4096 Jan 4 17:05 Ubuntu
drwxr-xr-x 2 jaskiran jaskiran 4096 Dec 28 10:38 
Videos

用户类型:
- 所有者(Owner):拥有文件的用户。
- 组(Group):属于用户组的用户。
- 其他(Others):除所有者和组成员之外的用户。

用户权限:
| 权限 | 含义 |
| ---- | ---- |
| read (r) | 用户只能读取或查看文件 |
| write (w) | 用户可以编辑或删除文件 |
| execute (x) | 用户可以运行文件 |

权限用字符或 “–” 表示,“–” 表示用户没有该权限。

  • chmod :用于更改文件的访问模式。语法:
chmod {users options} {operator} {permission} {filename}

运算符:
- + :添加权限。
- - :移除权限。
- = :指定明确的权限。

权限表示方法:
- 使用符号(字母数字字符)。
- 八进制数字(0 到 7)。

例如,设置文件 myfile 的权限,使所有者可以读、写、执行,组成员可以读、执行,其他用户只能读:

chmod u=rwx,g=rx,o=r myfile

八进制数字 7、5、4 分别代表用户、组和其他用户的权限,每个数字是 4、2、1、0 的组合。

通过掌握这些 Ubuntu 命令,用户可以更加高效地管理和使用 Ubuntu 系统,满足不同的操作需求。无论是软件安装、用户管理还是文件操作,这些命令都提供了强大而灵活的功能。

Ubuntu 命令全解析

8. 命令总结与使用建议

为了更清晰地了解各个命令的用途和语法,下面将常用的 Ubuntu 命令进行总结:
| 命令 | 用途 | 语法 | 示例 |
| ---- | ---- | ---- | ---- |
| tail | 查看文件末尾内容 | tail [文件名] | tail text_file.txt |
| uname | 显示系统信息 | uname uname -a | uname -a |
| apt-get update | 更新软件包列表 | apt-get update | apt-get update |
| sudo apt-get update | 从配置源下载软件包信息 | sudo apt-get update | sudo apt-get update |
| apt-get upgrade | 更新已安装软件 | apt-get upgrade | sudo apt upgrade |
| apt-get dist-upgrade | 升级并处理依赖包 | apt-get dist-upgrade | sudo apt-get dist-upgrade |
| apt-get install | 安装软件包 | apt-get install <PACKAGE-NAME> | sudo apt-get install gimp |
| apt-get remove | 移除软件包 | apt-get remove <PACKAGE-NAME> | sudo apt-get remove opera-stable |
| apt-get -f install | 修复安装问题 | apt-get -f install | Sudo apt-get -f install |
| sudo apt-get install “package-name” – reinstall | 重新安装软件包 | sudo apt-get install “package-name” – reinstall | sudo apt-get install opera-stable – reinstall |
| adduser | 添加新用户 | adduser | sudo apt-get install adduser |
| passwd | 更改用户密码 | passwd [options] [username] | passwd jaskiran |
| man | 查看命令手册 | man [命令名] | man ls |
| date | 显示或设置日期时间 | date [OPTION] [+FORMAT] | date -u |
| cal | 查看日历 | cal [[month] year] | cal 11 1998 |
| wget | 下载文件 | wget [option] [URL] | wget https://download.virtualbox.org/virtualbox/6.1.26/VirtualBox-6.1.26-145957-Win.exe |
| ping | 检查网络连接 | ping [IP 地址或 URL] | ping -V |
| clear | 清除终端屏幕 | clear | clear |
| exit | 退出 shell | exit [n] | exit |
| uptime | 显示系统运行时长 | uptime | uptime |
| w | 显示登录用户信息 | w | w |
| shutdown | 关闭系统 | shutdown | shutdown |
| mv | 移动或重命名文件/目录 | mv Source_File Destination_File | mv file1 folder1 |
| cp | 复制文件 | cp source_file_name destination_file_name | cp file1 file2 |
| echo | 显示表达式 | echo expression | echo “Demo content” |
| grep | 搜索文本 | grep “expression_to_be_Searched” file_name_to_search_in | grep “file” file1 |
| unzip | 解压缩 .zip 文件 | unzip file_name.zip | unzip Files.zip |
| history | 显示命令历史 | history | history |
| whereis | 显示命令所在路径 | whereis [命令名] | whereis zip |
| whatis | 显示命令功能描述 | whatis [命令名] | whatis cat |
| ls -l | 查看文件权限 | ls -l | ls -l |
| chmod | 更改文件访问模式 | chmod {users options} {operator} {permission} {filename} | chmod u=rwx,g=rx,o=r myfile |

在使用这些命令时,建议遵循以下几点:
- 权限问题 :许多命令需要 root 权限才能执行,如软件包管理命令和系统设置命令。在执行这些命令时,使用 sudo 前缀,并输入管理员密码。
- 备份重要数据 :在进行系统更新、软件安装或文件操作时,可能会出现意外情况导致数据丢失。因此,在执行这些操作之前,建议备份重要的数据。
- 仔细阅读手册 :对于不熟悉的命令,建议先使用 man 命令查看其手册,了解命令的详细用法和选项。

9. 命令使用流程示例

下面通过一个具体的示例,展示如何使用这些命令完成一系列操作。假设我们要在 Ubuntu 系统上安装和配置一个开发环境,具体步骤如下:

graph TD;
    A[更新软件包列表] --> B[安装开发工具];
    B --> C[创建工作目录];
    C --> D[下载项目文件];
    D --> E[解压项目文件];
    E --> F[配置项目依赖];
    F --> G[启动项目];
  • 更新软件包列表
sudo apt-get update
  • 安装开发工具 :例如,安装 Python 开发环境和 Git 版本控制工具。
sudo apt-get install python3 python3-pip git
  • 创建工作目录
mkdir ~/development
cd ~/development
  • 下载项目文件 :假设项目文件托管在 GitHub 上。
git clone https://github.com/example/repo.git
  • 解压项目文件 :如果项目文件是压缩文件。
unzip project.zip
  • 配置项目依赖 :使用 pip 安装项目所需的 Python 包。
pip3 install -r requirements.txt
  • 启动项目 :根据项目的启动脚本启动项目。
python3 main.py
10. 常见问题及解决方法

在使用 Ubuntu 命令的过程中,可能会遇到一些常见的问题,下面为你提供相应的解决方法:
- 权限不足 :当执行某些命令时,可能会收到 “Permission denied” 错误。这通常是因为没有足够的权限执行该命令。解决方法是使用 sudo 前缀以管理员权限执行命令。
- 软件安装失败 :软件安装失败可能是由于网络问题、依赖关系错误或软件源配置问题。可以尝试以下方法解决:
- 检查网络连接,确保可以正常访问软件源。
- 使用 apt-get -f install 命令修复依赖关系问题。
- 检查 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d/ 目录下的文件,确保软件源配置正确。
- 命令找不到 :如果执行某个命令时提示 “command not found”,可能是该命令没有安装或者没有在系统的 PATH 环境变量中。可以尝试以下方法解决:
- 使用 apt-get install 命令安装该命令对应的软件包。
- 检查 PATH 环境变量,确保命令所在的目录已经添加到 PATH 中。

11. 总结

通过本文的介绍,我们详细了解了 Ubuntu 系统中常用的命令,包括文件与系统信息查看、软件包管理、用户管理、帮助与信息查看、日期与日历、网络与文件操作以及文件权限等方面的命令。这些命令为用户提供了强大而灵活的功能,能够满足不同的操作需求。

在使用这些命令时,需要注意权限问题、备份重要数据,并仔细阅读命令手册。同时,通过具体的示例和常见问题的解决方法,希望能够帮助你更好地掌握和使用这些命令,提高在 Ubuntu 系统上的工作效率。

无论是初学者还是有经验的用户,都可以通过不断练习和实践,熟练掌握这些命令,从而更加高效地管理和使用 Ubuntu 系统。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值