一文掌握linux基本操作命令

简介: 一文掌握linux基本操作命令

首先介绍一个名词"控制台(console)",它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。

有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

ls

这个命令就相当于dos下的dir命令一样,肯定是我第一个就要介绍的,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。

ls -a

Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

ls -l(这个参数是字母L的小写,不是数字1)

这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

位置1 2 3 4 5 6 7

文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名

drwx------ 2 Guest users 1024 Nov 21 21:05 Mail

-rwx–x--x 1 root root 89080 Nov 7 22:41 tar*

-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*

lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip

-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*

-rwsr-x— 1 root bin 9853 Aug 15 5:46 su*

下面,解释一下这些显示内容的意义。

第一个栏位,表示文件的属性。

Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横"-"表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

rwx(Owner)r-x(Group)r-x(Other)

这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

第二个栏位,表示文件个数。

如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

第三个栏位,表示该文件或目录的拥有者。

若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

第四个栏位,表示所属的组(group)。

每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

第五栏位,表示文件大小。

文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls -k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。

第六个栏位,表示创建日期。

以"月,日,时间"的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

第七个栏位,表示文件名。

我们可以用ls -a显示隐藏的文件名。

Ls -F(注意,是大写的F)

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

cd

这个命令是用来进出目录的,它的使用方法和在dos下一样,但有两点补充一下。

首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。

其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。

mkdir,rmdir

mkdir命令用来建立新的目录,rmdir用来删除以建立的目录,这两个指令的功能同dos下的md,rd功能和用法都是基本一样的。

cp

这个命令相当于dos下面的copy命令,具体用法是:

cp -r 源文件(source) 目的文件(target) 

参数r是指连同元文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

rm

这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个: -i,-r,-f。

比如我现在要删除一个名字为text的一个文件:

rm -i test 

系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。

rm -r 目录名

这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。

rm -f 文件名(目录名)

这个操作可以进行强制删除。

mv

这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。另外因为linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:

mv 原文件(目录)名 新的文件(目录)名 

du,df

du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。

如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。

cat

这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:

cat text 显示text这个文件
    cat file1 file2 依顺序显示file1,file2的内容  
    cat file1 file2>file3 把file1,file2的内容结合起来,再"重定向(>)"到file3文件中。

>是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。

如果>左边没有文件的名称,而右边有文件名,例如:

cat >file1 

结果是会"空出一行空白行",等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。

另外,如果你使用如下的指令:

cat file1>>file2

这将变成将file1的文件内容"附加"到file2的文件后面,而file2的内容依然存在,这种重定向符>>比>常用,可以多多利用。

more,less

这是两个显示一般文本文件的指令。

如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或网下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。

clear

这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的clr具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

pwd

这个命令的作用是显示用户当前的工作路径。

ln

这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:

ln -s 源文件 目标文件

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:

ln -s /bin/less /usr/local/bin/less 

-s 是代号(symbolic)的意思。

这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。

man

Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细。

logout

这是退出系统的命令。要强调的一点是,linux是多用户多进程的操作系统,因此如果你不用了,退出系统就可以了,关闭系统你就不用操心了,那是系统管理员的事情。但有一点切记,即便你是单机使用linux,logout以后也不能直接关机,因为这不是关机的命令。

mount

由于大家已习惯了微软的访问方法,总想用类似的思路来找到软盘和光盘。但在Linux下,却沿袭了UNIX将设备当作文件来处理的方法。所以要访问软盘和光盘,就必须先将它们装载到Linux系统的/mnt目录中来。

装载的命令是mount,格式如下:

mount -t 文件系统类型 设备名 装载目录 

文件系统类型就是分区格式,Linux支持的文件系统类型有许多:

msdos DOS分区文件系统类型

vfat 支持长文件名的DOS分区文件(可以理解为Windows文件)系统类型

iso9660 光盘的文件系统类型

ext2 Linux的文件系统类型 …

设备名,指的是你要装载的设备的名称。软盘一般为/dev/fd0 fd1;光盘则根据你的光驱的位置来决定,通常光驱装在第二硬盘的主盘位置就是/dev/hdc;如果访问的是DOS的分区,则列出其设备名,如/dev/hda1是指第一硬盘的第一个分区。 装载目录,就是你指定设备的载入点。

  • 装载软盘
    首先用mkdir /mnt/floppy 在/mnt目录下建立一个空的floppy目录,然后输入mount -t msdos /dev/fd0 /mnt/floppy 将DOS文件格式的一张软盘装载进来,以后就可以在/mnt/floppy目录下找到这张软盘的所有内容。
  • 装载Windows所在的C盘
    mkdir /mnt/c 在/mnt目录下建立一个空的c目录;
    mount -t vfat /dev/hda1 /mnt/c 将Windows的C盘按长文件名格式装载到/mnt/c目录下,以后在该目录下就能读写C盘根目录中的内容.
  • 装载光盘
    mkdir /mnt/cdrom 在/mnt目录下建立一个空的cdrom目录;
    mount -t iso9660 /dev/hdc /mnt/cdrom 将光盘载入到文件系统中来,将在/mnt/cdrom目录下找到光盘内容。有的Linux版本允许用mount /dev/cdrom或mount /mnt/cdrom命令装载光盘。
    要注意的是,用mount命令装入的是软盘、光盘,而不是软驱、光驱。有些初学者容易犯一个毛病,以为用上面命令后,软驱就成了/mnt/floppy,光驱就成了/mnt/cdrom,其实不然,当你要换一张光盘或软盘时,一定要先卸载,再对新盘重新装载。
  • 卸载
    卸载的命令格式是:umonut 目录名,例如要卸载软盘,可输入命令umonut /mnt/floppy。要注意的是,在卸载光盘之前,直接按光驱面板上的弹出键是不会起作用的。

618图书推荐

书籍是知识的海洋,计算机好书推荐

🔥🔥🔥618,清华社 IT BOOK 多得图书活动开始啦!活动时间为2023 年6 月7 日至6 月18 日,清华社为您精选多款高分好书,涵盖了 C++、Java、Python、前端、后端、数据库、算法与机器学习等多个IT 开发领域,适合不同层次的读者。全场5 折,扫码领券更有优惠哦!快来京东点击链接 IT BOOK多得查看详情吧!


相关文章
|
1天前
|
Linux Shell 开发工具
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
8 0
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(下)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
9 2
|
1天前
|
Linux Shell Python
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)(上)
Linux常用命令大全:一杯水时间让你掌握!(附目录和快捷键)
13 2
|
1天前
|
缓存 网络协议 Linux
Linux 网络命令大全,详细归纳!
【4月更文挑战第24天】
21 3
Linux 网络命令大全,详细归纳!
|
2天前
|
运维 监控 Linux
【专栏】别再只会使用简单的 ping 命令了,Linux 中这些高级 ping 命令可以提高工作效率!
【4月更文挑战第28天】Linux中的ping命令不仅用于基础网络连通性检查,还有许多高级功能。了解如`-c`(设置数据包数量)、`-i`(设置间隔时间)和`-w`(设置超时时间)等选项能提升效率。进阶技巧包括自定义数据包大小(`-s`)、详细统计信息(`-v`)、持续ping(`-t`)、指定源地址(`-S`)和多目标ping。这些在网络性能测试、故障排查和监控中极其有用。注意权限、参数选择,并结合其他工具以准确解读结果。提升网络管理技能,善用ping命令的全部潜力。
|
2天前
|
监控 Linux
【专栏】如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
【4月更文挑战第28天】在 Linux 中,掌握检查内存使用情况至关重要,因为内存问题可能导致系统性能下降甚至崩溃。本文介绍了 5 个常用的检查内存命令:1) `free` 提供内存和交换区的详细信息;2) `top` 显示进程信息及内存使用;3) `vmstat` 输出系统综合信息,包括内存动态变化;4) `pidstat` 监控特定进程的内存使用;5) `/proc/meminfo` 文件提供系统内存详细数据。了解和使用这些命令能帮助用户及时发现并解决内存相关问题,确保系统稳定运行。
|
2天前
|
Linux 网络安全 数据处理
【专栏】Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
【4月更文挑战第28天】Linux下的xxd命令是一个强大的二进制数据处理工具,用于十六进制转储和数据分析。它可以显示文件的十六进制和ASCII表示,方便查看内容、分析数据结构和比较文件。xxd支持指定输出格式、写入文件、数据提取和转换等功能。在网络安全分析、程序调试和数据恢复等领域有广泛应用。通过掌握xxd,用户能更深入理解和处理二进制数据。
|
2天前
|
安全 Linux 数据安全/隐私保护
【专栏】如何在 Linux 中使用 Chage 命令,修改 Linux 系统用户密码更改策略
【4月更文挑战第28天】`Chage` 命令在 Linux 中用于管理用户密码策略,包括有效期、过期警告和锁定。本文将介绍如何使用 `chage` 修改这些设置。通过 `chage -l` 查看用户策略,`-M` 设置最大有效期,`-W` 设置过期警告,`-I` 设置过期后锁定天数。文章还将探讨企业环境和特殊用户的应用案例,以及使用时的注意事项,如谨慎修改、通知用户和验证效果。了解并有效利用 `Chage` 可提升系统安全性和稳定性。
|
2天前
|
Linux
【专栏】如何在 Linux 中查找所有符号链接,这几个命令得会!
【4月更文挑战第28天】在Linux中,符号链接是特殊的文件类型,指向其他文件或目录。本文介绍了查找符号链接的三种方法:1) 使用`ls -l`查看文件类型为'l'的项;2) 使用`find / -type l`遍历文件系统;3) 使用`lsof -L`列出打开的链接。此外,还讨论了命令的详细用法、高级技巧和应用场景,并提供了实际案例。注意权限、系统负载和目标文件存在性等问题。掌握这些命令有助于管理和维护系统符号链接。
|
2天前
|
运维 网络协议 Linux
【专栏】运维工程师工作时最常用的 20 个 Linux 命令有哪些?建议收藏
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。