LFCA:学习基本的 Linux 系统命令 - 第 3 部分
本文是LFCA 系列的第 3 部分,在本部分中,我们将列出 LFCA 认证考试所需的 24 个最广泛使用的 Linux 系统管理命令。
Linux 系统提供了大量的命令,您可以使用它们来管理您的系统,它们如下。
1. uptime 命令
uptime 命令显示系统自上次开机以来运行了多长时间。如果不带任何参数,它会显示大量信息,例如系统运行时间、正在运行会话的用户以及平均负载。
$ uptime 11:14:58 up 1:54, 1 user, load average: 0.82, 1.60, 1.56
要获取系统开启以来的确切日期和时间,请使用标志-s
。
$ uptime -s 2021-03-17 09:20:02
为了以更加用户友好的格式获取准确的持续时间,请附加-p
标志。
$ uptime -p up 1 hour, 55 minutes
下面的输出显示系统已经启动1小时55分钟。
2. uname 命令
uname 命令会打印出有关操作系统和底层硬件的基本信息。如果不使用任何参数,uname命令只会打印出操作系统 - 在本例中为 Linux。
$ uname Linux
附加-a
标志以显示所有信息,例如内核名称、版本、发布、机器、处理器和操作系统。
$ uname -a Linux ubuntu 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
要显示内核版本,请附加-r
标志。
$ uname -r 5.4.0-65-generic
要获取内核版本请使用标志-v
。
$ uname -v #50~20.04.1-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021
要查看您正在使用的内核类型,请使用标志-s
。
$ uname -s Linux
有关更多命令,请查看下面的帮助部分。
$ uname --help
3. whoami 命令
whoami 命令显示当前登录的用户,如下所示。
$ whoami example
4. w 命令
w 命令提供有关当前登录用户的信息。
$ w 11:24:37 up 2:04, 1 user, load average: 2.04, 1.95, 1.74 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT example tty7 :0 09:21 2:04m 7:52 0.52s xfce4-session
5. free 命令
free 命令提供有关交换和主内存使用情况的信息。它显示总大小、已用内存和可用内存
$ free total used free shared buff/cache available Mem: 8041516 2806424 1918232 988216 3316860 3940216 Swap: 11534332 0 11534332
为了以更易于阅读的格式显示信息,请附加标志-h
。
$ free -h total used free shared buff/cache available Mem: 7.7Gi 2.7Gi 1.9Gi 954Mi 3.2Gi 3.8Gi Swap: 10Gi 0B 10Gi
6. top 命令
这是 Linux 系统中非常有用的工具之一。top命令可以查看当前正在运行的进程,还可以实时概览系统资源的使用情况。
在输出的最顶部,您可以获得有关正常运行时间、正在运行的任务、CPU 和内存使用情况的信息。
$ top
让我们简单分析一下每列代表什么。
- PID——这是用于标识进程的进程 ID。
- 用户——这是启动或生成该进程的用户的用户名。
- PR——这是任务的调度优先级。
- NI — 这是流程或任务的良好值。
- VIRT—这是一项任务用掉的总虚拟内存。
- RES——进程使用的内存。
- SHR—一个进程使用的并被其他进程共享的内存量。
- %CPU – 这是该进程的 CPU 使用率。
- %RAM ——RAM 使用率百分比。
- TIME+ – 进程自开始运行以来使用的总 CPU 时间。
- COMMAND——这是进程名称。
要显示特定于某个用户的进程,请运行命令
$ top -u example
7. ps 命令
ps命令列出当前 shell 上当前正在运行的进程及其 PID。
$ ps PID TTY TIME CMD 10994 pts/0 00:00:00 bash 12858 pts/0 00:00:00 ps
要显示用户当前正在运行的进程,请使用-u
如图所示的选项。
$ ps -u example
8. sudo 命令
sudo是Super User do的混合词,是一种命令行实用程序,可授予普通用户执行管理或高级任务的能力。在使用该命令之前,请确保先将用户添加到 sudo 组。添加后,首先以 sudo 开头执行命令。
例如,要更新包列表,请运行以下命令:
$ sudo apt update
系统将提示您输入执行任务的密码。
9. echo 命令
echo 命令可以做很多事情。首先,它可以在终端上打印出字符串的值,如下所示。
$ echo “Hey guys. Welcome to Linux” “Hey guys. Welcome to Linux”
您还可以使用重定向运算符将字符串保存到文件中( > )
。如果该文件不存在,则会创建该文件。
$ echo “Hey guys. Welcome to Linux” > file1.txt $ cat file1.txt “Hey guys. Welcome to Linux”
请注意,这会覆盖文件。要添加或附加信息,请使用双大于运算符( >> )
。
$ echo “We hope you will enjoy the ride” >> file1.txt $ cat file1.txt “Hey guys. Welcome to Linux” We hope you will enjoy the ride
此外,可以使用echo 命令显示环境变量。例如,要显示当前登录的用户运行:
$ echo $USER example
要显示主目录的路径,请运行:
$ echo $HOME /home/example
10. history 命令
顾名思义,history 命令为您提供了在终端上最后执行的命令的历史记录。
$ history
11. head 命令
有时,您可能想查看文本文件的前几行,而不是查看整个文件。head 命令是一个命令行工具,可显示文件中的前几行。默认情况下,它显示前 10 行。
$ head /etc/ssh/ssh_config
您可以添加-n
标志来指定要显示的行数。例如,要显示5行,请运行以下命令:
$ head -n 5 /etc/ssh/ssh_config
12. tail 命令
tail 命令与head 命令正好相反。它显示文件的最后 10 行。
$ tail /etc/ssh/ssh_config
就像head 命令一样,你可以定义要显示的行数。例如,要查看文件的最后 5 行,请运行:
$ tail -n 5 /etc/ssh/ssh_config
13. wget 命令
wget 命令是一个用于通过 Web 下载文件的命令行工具。它支持多种功能,包括下载多个文件、限制下载带宽、后台下载等等。
其基本形式是从给定的 URL 下载文件。在下面的命令中,我们正在下载最新的 Linux 内核。
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
该命令首先解析 URL 的 IP 地址,然后连接到远程服务器,并开始下载文件。文件将下载到当前目录。
要将文件保存到其他目录,请使用标志-P
,后跟目录路径,后跟 URL。例如,要将文件下载到目录/opt
,请运行该命令。
$ wget -P /opt https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
要下载并以不同的名称保存文件,请使用-O
标志后跟所需的文件名。
$ wget -O latest.tar.xz https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
14. finger 命令
finger 命令提供有关登录用户的一些简要信息,包括姓名、shell、主目录以及用户登录的时间。
$ finger example Login: example Name: Example Directory: /home/example Shell: /bin/bash On since Wed Mar 17 09:21 (IST) on tty7 from :0 2 hours 52 minutes idle No mail. No Plan.
15. alias 命令
alias 命令允许您为 Linux 命令指定自己的名称,以方便使用。例如,要为命令ls -a指定名为show 的别名,请按如下所示运行 alias 命令。
$ alias show=ls -a $ show
16. passwd 命令
passwd命令允许您更改密码。只需按照所示运行 passwd 命令即可。
$ passwd
系统将提示您输入当前密码,然后您需要提供新密码并稍后确认。
此外,您只需将用户名作为参数传递即可更改其他用户的密码。
$ sudo passwd username
17. groups 命令
要检查用户属于哪些组,请运行如下组命令:
$ groups OR $ groups example example sudo
18. du 命令
想要关注文件和文件夹的磁盘使用情况?du 命令(磁盘使用情况的缩写)是检查文件和目录磁盘使用情况的标准命令。
该命令遵循如下所示的基本语法。
$ du OPTIONS FILE
例如,要以可读的方式查看当前目录中的磁盘使用情况,请执行以下命令:
$ du -h .
要检查另一个目录(例如/var/log/)中的磁盘使用情况,请运行以下命令:
$ du -h /var/log
19. df 命令
The df command – short for disk free – checks the total disk space, space being used and the available disk space in various file systems. It takes the syntax shown below:
$ df OPTIONS FILE
The most crucial options are -T
and -h
. The -T
flag prints the file system type whilst the -h
flag displays the output in a human-readable format.
The command below lists the free disk space in all the filesystems.
$ df -Th
20. chown Command
The chown command is used for altering the user and group ownership of files and directories. When you list the contents of a directory using the ls -l command, you will get an output similar to what we have here.
$ ls -l
In columns 3 and 4, you can clearly see example example. The first of these points to the user and the second entry refers to the group, which is also example. When a new user is created, they are assigned a new default group, of which they are the only member by default. This is an indicator that the file(s) or directories are not shared with anyone.
Using the chown command, you can change the file ownership quite easily. Simply provide the name of the owner followed by the group name, separated by a full colon ( : ) This is an elevated task and you will have to invoke the sudo command.
For example, to change the group of the file1.txt to james but retain the owner as example run:
$ sudo chown example:james file1.txt $ ls -l
To change both the owner as well as the group, run the command:
$ sudo chown james:james file1.txt $ ls -l
To change ownership of a directory use the -R
flag for recursive. We have created a new directory called data and we shall change both the user and group to james.
$ sudo chown -R james:james data $ ls -l
21. chmod Command
The chmod command is used to set or modify file or folder permissions. Back to the output of the ls -l command. The first column comprises of the following characters
drwxrwxrwx
The first character ( d )
indicates that this is a directory. A file is represented using a hyphen ( - )
. The rest of the nine characters are divided into 3 sets of rwx (read, write, execute) flags. The first set represents the file owner (u), the second represents the group (g), and the last set represents all other users.
There are two ways of assigning file permissions: Numeric and symbolic (text) notation. For Numeric notation, each of the flags represents a value as shown.
r = 4 w = 2 x = 1 No permissions = 0
To get the file permissions of a file simply add the corresponding values in all the sets. For example:
drwxrwxr-x
- For the owner for the file (u) rwx = 4+2+1 = 7
- For the group (g) rwx = 4+2+1 = 7
- For other (o) r-x = 4+0+1 = 5
Finally, we arrive at the notation 775.
Let’s take another example of file 1.txt.
-rw-rw-r-- 1 james james 59 Mar 6 18:03 file1.txt
Here, we have rw-rw-r–.
Let’s add them up.
- For the owner for the file (u) rw- = 4+2+0 = 6
- For the group (g) rw- = 4+2+0 = 6
- For other (o) r– = 4+0+0 = 4
This comes to 644.
We will set this to 775. This gives the owner and group of the file all permissions – i.e rwx, and other users read and execute permissions only.
Run the command:
$ sudo chmod 775 file1.txt
The other way of assigning permissions is using symbolic notation. Using the symbolic notation, the following flags are used to either add or remove permissions
-
– Removes the permissions.+
– Adds specified permissions.=
– Sets the current permissions to the specified permissions. If there are no permissions specified after the = symbol, then all permissions from the specified user class are removed.
For example, to remove execute permissions from all sets – owner of the file, group members, and other users, run the command
$ sudo chmod a-x file1.txt
To assign group members read permissions only and not write and execute, run.
$ sudo chmod g=r file1.txt
To remove write permissions from other users, run.
$ sudo chmod o-r file1.txt
To give the group members and other users read and write permissions, run:
$ sudo chmod og+rw file1.txt
To assign permissions to directories, use the -R
flag for setting permissions recursively.
For example:
$ sudo chmod -R 755 /var/www/html
22. The poweroff / reboot Commands
The poweroff command, as the name suggests, shuts down your system.
$ poweroff
Another command that accomplishes the same task is the shutdown command as shown.
$ shutdown -h now
The -h
flag stands for a halt, implying stopping the system. The second parameter is the time option which can also be specified in minutes and hours.
The command below displays a message to all logged-in users notifying them of the system shutdown that’s scheduled in 5 minutes.
$ shutdown -h +5 “System is shutting down shortly. Please save your work.”
To reboot the system, use the reboot command as shown.
$ reboot
Alternatively, you can reboot using the shutdown command with an -r
option as shown.
$ shutdown -r now
23. exit Command
The exit command closes the terminal or exits the shell. If you have initiated an SSH session, the session is closed.
$ exit
24. man Command
The man command, short for manual, displays the manual pages for any Linux command. It comes in handy when you want to see how a command is used. It gives a detailed description of the command including a brief synopsis, options, return statuses, and authors to mention a few.
For example, to view insights on the ls command, run:
$ man ls
结论
这是系统命令列表,可以帮助您开始管理系统并收集各种见解。俗话说,熟能生巧。不言而喻,不时练习这些命令将有助于您更好地掌握系统。