常见的linux命令

简介: Linux命令是在命令行上运行的程序或实用程序。命令行是一个界面,它接受文本行并将其处理为计算机的指令。

一、Linux的结构


Command [-option] [argument]


Command:即是要运行的命令的本身,说白了就是一个软件(程序);

Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如df -hT);

Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;

在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择,在非第一部分按[tab]键两下为[文件补全];


二、什么是linux命令?

Linux命令是在命令行上运行的程序或实用程序。命令行是一个界面,它接受文本行并将其处理为计算机的指令。


任何图形用户界面(GUI)都只是命令行程序的抽象。例如,当您通过单击“X”关闭窗口时,该操作后面会运行一个命令。


标志(flag)是我们可以向您运行的命令传递选项的一种方式。大多数Linux命令都有一个帮助页面,我们可以使用-h标记调用该页面。大多数情况下,标志是可选的。


argument或parameter是我们给命令的输入,以便它可以正常运行。在大多数情况下,参数是一个文件路径,但它可以是您在终端中键入的任何内容。


可以使用连字符 (-) 和双连字符 (--)调用标志,而参数的执行取决于将它们传递给函数的顺序。


三、常见的linux命令

1.ls

ls可能是每个Linux用户在其终端中键入的第一个命令。它允许您列出您想要的目录的内容(默认情况下是当前目录),包括文件和其他嵌套目录。


它有很多选择,所以最好使用 --help 来获得一些帮助。此标志返回所有可以与 ls一起使用的flags参数。


2.alias命令

alias命令允许您在shell会话中定义临时别名。创建别名时,您指示shell用一系列命令替换单词。


3.unalias命令

顾名思义,unalias命令旨在从已定义的别名中删除alias。要删除以前的ls别名,可以使用:


unalias ls


4.pwd命令

pwd命令代表“打印工作目录”,它输出您所在目录的绝对路径。例如,如果您的用户名是“john”,并且您位于文档目录中,则其绝对路径将是 /home/john/Documents.


要使用它,只需在终端中键入pwd:


pwd
# My result: /home/wbolt/Documents/linux-commands


5. cd命令

cd命令与ls都非常流行。它指的是“更改目录”,顾名思义,它会将您切换到您试图访问的目录。

例如,如果您在Documents目录中,并且试图访问其名为Videos的子文件夹之一,则可以通过键入以下内容来输入:


cd Videos


您还可以提供文件夹的绝对路径:


cd /home/wbolt/Documents/Videos


在使用cd命令时,有一些技巧可以为您节省大量时间:


(1) 进入home文件夹


cd


(2) 向上移动一个级别


cd ..


(3)返回上一个目录


cd -


6. cp 命令

直接在Linux终端上复制文件和文件夹非常容易,有时它可以取代传统的文件管理器。


要使用cp命令,只需将其与源文件和目标文件一起键入即可:


cp file_to_copy.txt new_file.txt


还可以使用递归标志复制整个目录:

cp -r dir_to_copy/ new_copy_dir/


请记住,在Linux中,文件夹以正斜杠 (/)结尾


7. rm命令

既然您已经知道了如何复制文件,那么了解如何删除它们将很有帮助。


您可以使用rm命令删除文件和目录。但在使用时要小心,因为用这种方法恢复删除的文件非常困难(但并非不可能)。


要删除常规文件,请键入:


rm file_to_copy.txt


如果要删除空目录,可以使用递归(-r)标志:


rm -r dir_to_remove/


另一方面,要删除包含内容的目录,需要使用force(-f)和recursive标志:


rm -rf dir_with_content_to_remove/


警告:误用这两个标志,你可能会抹掉一整天的工作!


8. mv命令

您可以使用mv命令在文件系统中移动(或重命名)文件和目录。


若要使用此命令,请将其名称与源文件和目标文件一起键入:


mv source_file destination_folder/
mv command_list.txt commands/


要使用绝对路径,请使用:


mv /home/wbolt/BestMoviesOfAllTime ./

…where ./是您当前所在的目录。


您还可以使用mv重命名文件,同时将其保留在同一目录中:


mv old_file.txt new_named_file.txt


9. mkdir命令

要在shell中创建文件夹,可以使用mkdir命令。只需指定新文件夹的名称,确保它不存在,然后就可以开始了。


例如,要创建一个保存所有图像的目录,只需键入:


mkdir images/


要使用简单命令创建子目录,请使用parent(-p)标志:


mkdir -p movies/2004/


10. man命令

另一个重要的Linux命令是man。它显示任何其他命令的手册页面(只要有)。


要查看mkdir命令的手册页,请键入:


man mkdir


您甚至可以查看 man 命令手册页面:


man man


man命令手册页面。


基础的命令只能保证您在这门技术上打好根基,如果需要在这方面有所造诣,还需要进行深度学习。比如参加知学堂APP的教程培训……


知乎知学堂知乎旗下职业教育平台立即听课


11. touch命令

touch命令允许您更新指定文件的访问和修改时间。


旧日期。


要将其修改日期更改为当前时间,我们需要使用-m标志:


touch -m old_file

现在日期与今天的日期相符(开始编写本文时的日期为8月8日)。


新日期


尽管如此,大多数情况下,您不会使用touch来修改文件日期,而是创建新的空文件:


touch new_file_name


12. chmod 命令

chmod命令允许您快速更改文件的模式(权限)。它有很多可用的选项。


文件的基本权限包括:

  • r (只读)
  • w (写入)
  • x (执行)



chmod最常见的用例之一是使文件可由用户执行。为此,请键入chmod和标志+x,然后键入要修改其权限的文件:


chmod +x script


您可以使用它使脚本可执行,从而允许您使用./ 符号直接运行它们。


13. ./ 命令

也许 ./ 符号本身不是命令,但在这个列表中值得一提。它允许shell直接从终端运行可执行文件,并在系统中安装任何解释器。不再双击图形文件管理器中的文件!


例如,使用此命令,您可以运行Python脚本或仅以.run格式提供的程序,如XAMPP。运行可执行文件时,请确保它具有可执行(x)权限,您可以使用chmod命令修改该权限。


下面是一个简单的Python脚本,以及如何使用 ./ 符号运行它:


#! /usr/bin/python3
# filename: script
for i in range(20):
print(f"This is a cool script {i}")


下面是我们如何将脚本转换为可执行文件并运行它:


chmod +x script
./script


14. exit 命令

exit命令完全按照其名称执行:使用它,您可以结束shell会话,并且在大多数情况下,可以自动关闭正在使用的终端:


exit


15. sudo 命令

此命令代表“超级用户do”,它允许您在运行特定命令时充当超级用户或根用户。这就是Linux如何保护自己,防止用户意外修改机器的文件系统或安装不合适的软件包。


Sudo通常用于安装软件或编辑用户主目录以外的文件:


sudo apt install gimp
sudo cd /root/


在运行您键入的命令之前,它会要求您输入管理员密码。


16. shutdown 命令

正如您可能猜到的,shutdown命令允许您关闭机器电源。但是,它也可以用来停止和重新启动它。

要立即关闭计算机电源(默认为一分钟),请键入:


shutdown now


您还可以计划以24小时格式关闭系统:


shutdown 20:40


要取消以前的shutdown调用,可以使用-c标志:


shutdown -c


17. htop 命令

htop是一种交互式流程查看器,可让您直接从终端管理计算机的资源。在大多数情况下,默认情况下它并没有安装,所以请确保在下载页面上阅读更多关于它的信息


htop


“htop” 交互界面.


18. unzip 命令

unzip命令允许您从终端提取.zip文件的内容。同样,默认情况下可能不会安装此软件包,因此请确保使用package管理器安装它。


下面命令行,指正在解压一个包含图像的.zip文件:


unzip images.zip


19. apt, yum, pacman 命令

无论您使用的是哪个Linux发行版,您都可能使用package管理器来安装、更新和删除您每天使用的软件。


您可以通过命令行访问这些package管理器,并根据您的计算机运行的发行版使用其中一个或另一个package管理器。


以下示例将安装GIMP,这是一种通常在大多数package管理器中可用的免费开源软件:


1. Debian-based (Ubuntu, Linux Mint)


sudo apt install gimp


2. Red Hat-based (Fedora, CentOS)


sudo yum install gimp


3. Arch-based (Manjaro, Arco Linux)


sudo pacman -S gimp


20. echo 命令

echo命令在终端中显示定义的文本-就这么简单:


echo "Cool message"


echo命令


它的主要用途是在这些消息中打印环境变量


echo "Hey $USER"
# Hey wbolt


知学堂目前已经发布了Python、Java、C/C++、前端、大数据和人工智能等类型的课程培训,部分精选课程还是免费提供的,赶紧去深造吧!


知乎知学堂知乎旗下职业教育平台立即听课


21. cat 命令

cat 是“concatenate”的缩写,用于直接从终端创建、查看和连接文件。它主要用于在不打开图形文本编辑器的情况下预览文件:


cat long_text_file.txt


cat命令.


22. ps 命令

使用ps,您可以查看当前shell会话正在运行的进程。它打印有关正在运行的程序的有用信息,如进程ID、TTY(电传打字机)、时间和命令名。


ps


ps命令.


如果您想要更具交互性的内容,可以使用htop


23. kill 命令

当一个程序没有响应,并且你不能用任何方法关闭它时,这是很烦人的。幸运的是,kill命令解决了这类问题。


简单地说,kill向终止它的进程发送一个TERM或kill信号。


您可以通过输入PID(进程ID)或程序的二进制名称来终止进程:


kill 533494
kill firefox


使用此命令时要小心-使用kill时,可能会意外删除您正在执行的工作。


24. ping 命令

ping 是用于测试网络连接的最流行的网络终端工具。ping 有很多选项,但在大多数情况下,您将使用它来请求域或IP地址:


ping google.com
ping 8.8.8.8


25. vim 命令

vim 是一个免费的开源终端文本编辑器,从90年代开始使用。它允许您使用高效的键绑定编辑纯文本文件。


有些人认为使用困难——退出VIM是最常见的StackOverflow问题之一,但一旦习惯了,它就成为命令行中最好的盟友。


要启动Vim,只需键入:


vim


vim文本编辑器.


26. history 命令

如果你正在努力记住一个命令,history就会派上用场。此命令显示一个枚举列表,其中包含您过去使用过的命令:


history



history命令.


27. passwd 命令

passwd 允许您更改用户帐户的密码。首先,它会提示您输入当前密码,然后要求您输入新密码并确认。

它类似于您在其他地方看到的任何其他密码更改,但在本例中,它直接在您的终端中:


passwd


passwd命令


使用时要小心-一不小心可能会混肴用户密码!


28. which 命令

which命令输出shell命令的完整路径。如果它不能识别给定的命令,它将抛出一个错误。

例如,我们可以使用它来检查Python和Brave web浏览器的二进制路径:


which python
# /usr/bin/python
which brave
# /usr/bin/brave


29. shred 命令

如果您希望文件几乎无法恢复,shred 可以帮助您完成此任务。此命令会重复覆盖文件的内容,因此,给定的文件极难恢复。


下面是一个内容很少的文件:


粉碎文件.


现在,让我们通过键入shred命令来完成工作:


shred file_to_shred.txt


覆盖内容.


如果要立即删除文件,可以使用-u标志:


shred -u file_to_shred.txt


30. less 命令

less(与more相反)是一个允许您前后检查文件的程序:


less large_text_file.txt


less命令.


less的优点在于它在其界面中包含了更多和vim命令。如果您需要比cat更具交互性的东西,less是一个不错的选择。


学无止境。尝试在测试环境这些基础的Linux命令逐一体验,或者可以有更好的收获。有了这些扎实的基础之后,再学习一些在线课程,或者会有更好的,意想不到的收获哦!


知乎知学堂知乎旗下职业教育平台立即听课


31. tail 命令

cat类似,tail打印文件内容时有一个主要警告:它只输出最后几行。默认情况下,它打印最后10行,但您可以使用-n修改该数字。


例如,要打印大型文本文件的最后几行,可以使用:


tail long.txt


tail命令.


要仅查看最后四行,请执行以下操作:


tail -n 4 long.txt


tail命令尾四行.


32. head 命令

这是对tail命令的补充。head输出文本文件的前10行,但您可以使用-n标志设置要显示的任意行数:


1. head long.txt
2. head -n 5 long.txt


head命令.


33. grep 命令

Grep是处理文本文件的最强大的工具之一。它搜索与正则表达式匹配的行并打印它们:


grep "linux" long.txt



您可以使用-c标志计算与给定条件匹配的次数:


grep -c "linux" long.txt
# 2


34. whoami 命令

该命令(who am I的缩写)显示当前使用的whoami用户名:


whoami
# wbolt


使用echo和环境变量$USER可以得到相同的结果:


echo $USER
# wbolt


35. whatis 命令

whatis 打印任何其他命令的单行说明,使其成为有用的参考:


whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions


36. wc 命令

Wc代表“字数计数”,顾名思义,它返回文本文件中的字数:


wc long.txt 
# 37 207 1000 long.txt


让我们分析一下此命令的输出:


  • 37行
  • 207字
  • 1000字节大小
  • 文件名(long.txt)


如果只需要字数,请使用-w标志:


wc -w long.txt
207 long.txt


37. uname 命令

uname(Unix name的缩写)打印可操作的系统信息,当您知道当前的Linux版本时,这些信息很方便。

大多数情况下,您将使用-a(–all)标志,因为默认输出没有那么有用:


uname 
# Linux 
uname -a 
# Linux wboltmanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux


38. neofetch 命令

Neofetch是一个CLI(命令行界面)工具,它在Linux发行版的ASCII徽标旁边显示有关系统的信息,如内核版本、shell和硬件:


neofetch


neofetch命令


在大多数计算机中,此命令在默认情况下不可用,因此请确保首先使用package管理器安装它。


39. find 命令

find命令根据regex表达式在目录层次结构中搜索文件。要使用它,请遵循以下语法:


find [flags] [path] -name [expression]


要在当前目录中搜索名为long.txt的文件,请输入以下命令行:


find ./ -name "long.txt" # ./long.txt


要搜索以.py (Python) 扩展名结尾的文件,可以使用以下命令行:


find ./ -type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py


40. wget命令

wget(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。


以下是您如何从GitHub获取一个Python文件:


wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
16天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
112 5
|
15天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
51 4
|
2天前
|
缓存 监控 Linux
|
6天前
|
Linux Shell 数据安全/隐私保护
|
7天前
|
域名解析 网络协议 安全
|
14天前
|
监控 Linux Shell
|
13天前
|
运维 监控 网络协议
|
16天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
28 3
Linux | Rsync 命令:16 个实际示例(下)
|
20天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
75 2
Linux系统之lsof命令的基本使用
|
3天前
|
缓存 Linux 开发者
深入理解Linux命令 `autom4te`
`autom4te` 是 GNU Autotools 中不可或缺的组件,通过高效处理 M4 宏,生成配置脚本并提供强大的调试功能。了解 `autom4te` 的工作机制和常用选项,可以帮助开发者更好地编写和维护配置文件,从而提高软件项目的配置和编译效率。在实际应用中,结合 `autoconf` 等工具,`autom4te` 能够为项目的构建过程提供坚实的基础。
11 2

热门文章

最新文章