你是否计划从Windows切换到Linux系统,或者最近是否已切换到Linux?如果是这样的话,作为Linux新手用户,那么有哪些基础命令是必须要了解的?
实际上,根据我作为Linux新人的早期经验,Linux命令和终端相当令人生畏,肯能需要花费大量的时间来了解学习,毫无疑问,在线文档、Linux书籍、手册页和用户社区提供了重要的帮助。
不过小编觉得,应该仍然有一篇文章以易于学习和理解的语言介绍基本的Linux基础命令,从而帮助Linux新手用户尽快入门,这也是本文内容的主要宗旨。
1、ls命令
ls
“ ls -l ”命令以详细的长列表格式列出文件夹的内容:
ls -l
“ ls -a ”命令列出文件夹的内容,包括以'.'
开头的隐藏文件:
ls -a
在Linux系统中,以 '.'
开头的文件名被视为隐藏。在Linux中,每个文件、文件夹、设备或命令都被视为一个文件。
ls -l命令的结果是:
- 文件类型:第一个字符代表文件类型(
'-'
常规文件、'd'
目录、'l'
符号链接等)。 - 权限:接下来的九个字符代表所有者、组和其他人的文件权限。这些字符可以包括
'r'
用于读取、'w'
用于写入和'x'
用于执行权限。 - 链接数:指示指向文件或目录的硬链接数。
- 所有者和组:指定与文件或目录关联的用户(所有者)和组。
- 文件大小:显示文件的大小(以字节为单位)。
- 修改时间:显示上次修改文件或目录的日期和时间。
- 文件或目录名称:文件或目录的实际名称。
2、lsblk命令
“ lsblk ”命令是“ List Block Devices”的缩写,它在标准输出上以树状格式按分配的名称(不包括RAM)显示块设备:
lsblk
“ lsblk -l ”命令以“列表”结构而不是树状方式列出块设备:
lsblk-l
lsblk是一种非常有用且简单的方法来识别你刚刚插入的新USB设备的名称,特别是当你必须在终端中使用磁盘或块时,这个命令非常的好用。
3、md5sum命令
“ md5sum ”代表“计算和检查MD5消息摘要”。MD5校验和(通常称为“哈希”)用于匹配或验证可能因文件传输错误、磁盘错误或非恶意干扰而更改的文件的完整性:
md5sum teamviewer_linux.deb 47790ed345a7b7970fc1f2ac50c97002 teamviewer_linux.deb
用户可以将生成的md5sum与官方提供的md5sum进行比较。需要注意的,如今MD5sum被认为不如sha1sum安全。
4、dd命令
dd命令代表“转换和复制文件”,一般可用于转换和复制文件。最常见的是,它用于将ISO文件(或任何其它文件)复制到USB设备(或其它位置),使其适合创建可启动USB记忆棒。
dd if=debian.iso of=/dev/sdb1 bs=512M; sync
dd命令的执行时间从几秒到几分钟不等,具体取决于文件的大小和类型以及U盘的读写速度。
5、uname命令
uname命令代表 (Unix Name ),输出有关机器名称、操作系统和内核版本的详细信息:
uname -a Linux TecMint 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Feb 2 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
该uname -a
命令的结果含义是:
- “ Linux ”:机器的内核名称。
- “ TecMint”:机器的节点名称。
- “ 6.2.0-39-generic ”:内核版本。
- “ 22.04.1-Ubuntu SMP ”:操作系统发行版本。
- “ x86_64 ”:处理器的架构。
- “ GNU/Linux ”:操作系统名称。
6、History
History命令代表History (Event) Record,它在终端中打印一长串已执行命令的历史记录:
history
注意:按'Ctrl + R'
可以搜索以前执行过的命令,从而可以使用自动完成功能来完成命令:
(reverse-i-search)`if': ifconfig
7、sudo命令
“ sudo ”(superuser do)命令允许允许的用户以超级用户或其他用户的身份执行命令,如sudoers列表中的安全策略所指定:
sudo apt update
注意:sudo允许用户借用超级用户权限,而类似的命令“ su ”允许用户以超级用户身份登录。一般来说,sudo比su更安全。
日常正常使用中不建议使用sudo或su ,因为一不小心就会导致严重的错误。
8、mkdir命令
( make directory ) 创建一个具有名称路径的新目录。但如果目录已经存在,则会返回错误信息“cannot create a folder, folder already exists”。mkdir命令用于创建具有指定路径的新目录。但是,如果该目录已经存在,它将返回一条错误消息:
mkdir ecscoupon
注意,只能在用户具有写入权限的文件夹内创建目录。
9、touch
touch命令代表“将每个FILE的访问和修改时间更新为当前时间”。仅当文件不存在时,“ touch ”命令才会创建该文件。如果文件已经存在,它将更新时间戳,但不会更新文件的内容,命令如下:
touch ecscouponfile
` touch ` 命令可用于在用户具有写入权限的目录中创建文件,前提是该文件尚不存在。
10、chmod命令
“ chmod ”命令代表“更改文件模式位”,它根据指定的模式更改每个指定文件、文件夹、脚本等的文件模式(权限) 。一个文件有三种类型的权限(文件夹或其它,但为了简单起见,这里将使用文件)。
Read (r)=4 Write(w)=2 Execute(x)=1
如果只想授予文件的读取权限,则将为该文件分配值“ 4 ”,对于仅写入权限,则分配值“ 2 ”,而对于仅授予执行权限,则分配值“ 1 ” 。对于读取和执行权限,应给出4+1=’ 5 ‘,依此类推。
接下来需要为3种用户类型设置权限。首先是所有者,然后是用户组,最后是其它用户。
rwxr-x--x abc.sh
这里root的权限是rwx(读、写和执行),它所属的用户组是rx(仅读取和执行,无写入权限),对于其它用户来说是-x(仅执行)。
要想更改其权限并向所有者、用户组和其它用户提供读取、写入和执行权限,命令如下:
chmod 777 abc.sh
对所有三个都具有读和写权限,命令如下:
chmod 666 abc.sh
对所有者的读、写和执行,只对组和其它用户的执行,命令如下:
chmod 711 abc.sh
chmod是最重要的命令之一,事实证明它对系统管理员和用户都有益。在多用户环境或服务器上,此命令是必不可少的,因为错误设置权限可能会导致文件无法访问或授予个人未经授权的访问权限。
11、chown命令
chown命令代表“更改文件所有者和组”,用于更改文件或目录的所有者和/或组。下面是chown命令典型用法的示例:
chown newowner:newgroup filename
例如,如果要将名为“ example.txt ”的文件的所有者更改为名为“ tecmint ”的用户和名为“ users ”的组,则命令将是:
chown tecmint:users example.txt
12、apt命令
在基于Debian的发行版(例如Ubuntu和Linux Mint)上,apt命令代表(高级软件包工具),用于从命令行在系统上安装、升级和管理软件包:
sudo apt search wget sudo apt install wget sudo apt update
与yum或dnf命令相比,apt命令被认为更先进、更智能。
13、tar命令
tar命令是一种磁带存档,可用于创建多种文件格式的存档及其提取,典型用法如下:
tar -zxvf abc.tar.gz (Remember 'z' for .tar.gz)
tar -jxvf abc.tar.bz2 (Remember 'j' for .tar.bz2)
tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc
注意:“ tar.gz ”表示gzip压缩。 ‘ tar.bz2 ‘ 使用bzip进行压缩,bzip使用更好但更慢的压缩方法。
14、cal命令
“ cal ”(日历)用于显示当前月份或任何一年中提前或过去的任何其它月份的日历。
cal
显示1835年2月的日历,该日期已经过去,命令如下:
cal 02 1835
显示2145年7 月的日历,该日历将提前:
cal 07 2145
注意:你不需要把日历倒退50年,也不需要进行复杂的数学计算来确定你的出生日期或即将到来的生日。
15、date命令
date命令用于显示当前日期和时间。它还可用于设置系统日期和时间。
显示当前日期和时间:
date
以“ YYYY-MM-DD ”格式显示当前日期:
date +"%Y-%m-%d"
设置系统日期和时间:
sudo date MMDDhhmm[[CC]YY][.ss]
上述命令允许你设置系统日期和时间。将MM、DD、hh、mm、CC、YY和ss分别替换为所需的月、日、小时、分钟、世纪、年和秒值。
注意:date命令在cron脚本编写中非常有用,特别是对于基于时间和日期的操作。此外,使用终端更改日期和时间可以让你感觉自己像一个真正的技术人员! (当然,需要具有root权限才能执行此操作,因为它涉及系统范围的更改)。
16、cat命令
cat命令代表 ( Concatenation ),这意味着(连接)两个或多个纯文件和/或在标准输出上打印文件的内容。
显示文件的内容:
cat filename
连接多个文件意味着以下命令连接file1和file2的内容并将结果显示在终端中:
cat file1 file2
a.txt、b.txt、c.txt和d.txt的内容将合并并附加到abcd.txt文件的末尾,命令如下:
cat a.txt b.txt c.txt d.txt >> abcd.txt
cat abcd.txt
注:“ >>
”和“ >
”称为附加符号,它们用于将输出附加到文件而不是标准输出。
“ >
”符号将删除已存在的文件并创建一个新文件,因此出于安全原因,建议使用“ >>
”来写入输出而不覆盖或删除文件。
在继续之前,需要了解通配符(在大多数电视节目中,你都会注意到通配符条目) ,通配符是一种shell功能,它使命令行比任何GUI文件管理器都强大得多。
众所周知,如果你想在图形文件管理器中选择一大组文件,你通常必须用鼠标选择它们。这可能看起来很简单,但在某些情况下,可能会非常令人烦恼。
例如,假设你有一个包含大量各种文件和子目录的目录,并且决定将名称中间带有“ Linux ”一词的所有HTML文件从该大目录移动到另一个目录。
有什么简单的方法可以做到这一点?如果该目录包含大量不同名称的HTML文件,那么移动就会非常麻烦,因为要手动一个个的选择。
不过在Linux命令行中,执行该任务就像仅移动一个HTML文件一样简单,并且由于shell通配符的存在,它变得如此简单。这些是特殊字符,允许你选择与某些字符模式匹配的文件名。
这可帮助你通过键入几个字符来选择甚至一大组文件,并且在大多数情况下,它比使用鼠标选择文件更容易。
以下是最常用通配符的列表:
通配符 匹配 * 零个或多个字符 ? 一个字符 [abcde] 列出的一个字符 [a-e] 给定范围内的一个字符 [!abcde] 未列出的任何字符 [!a-e] 不在给定范围内的任何字符 {debian,linux} 一个给定选项中的整个单词
!
被称为非符号,附加有“!”的字符串的反转是真的。
17、cp命令
cp命令代表(复制),它将文件从一个位置复制到另一个位置。
cp /home/user/Downloads abc.tar.gz /home/user/Desktop
注意:cp是shell脚本中最常用的命令之一,它可以与通配符(在上面的块中描述)一起使用,以进行自定义和所需的文件复制。
18、mv 命令
mv命令将文件从一个位置移动到另一个位置,示例如下:
mv /home/user/Downloads abc.tar.gz /home/user/Desktop
注意:mv命令可以与通配符一起使用。mv应谨慎使用,因为移动系统/未经授权的文件可能会导致安全性以及系统崩溃。
19、pwd命令
pwd命令(输出工作目录)从终端打印当前工作目录以及完整路径名:
pwd /home/user/Desktop
注意:pwd命令不会在脚本编写中频繁使用,但对于刚接触Linux时迷失在终端中的新手来说,它绝对是一个救星。 (Linux最常被称为nux或nix)。
20、cd命令
常用的cd命令代表(切换目录),它更改工作目录以从终端本身执行、复制、移动写入、读取等:
cd /home/user/Desktop pwd /home/user/Desktop
注意:当从终端在目录之间切换时, cd命令可以发挥作用。"cd~"
会将工作目录更改为用户的主目录,如果发现自己不知道在哪个目录中,这将非常有用。"cd .."
会将工作目录更改为当前工作目录的父目录。
结论
这些命令无疑会提高你对Linux的使用便利性,在使用Linux系统会经常遇到,而且也是基础性内容。当然,本文知识对上面的常用命令进行简单整理,至于详细的使用方法,可以自行查阅相关资料和文档,小编在后面的文章中也会陆续为大家介绍。