当前位置:   article > 正文

Linux入门-(超详细指令汇总)

Linux入门-(超详细指令汇总)

下面我会从基本操作、文件查看与编辑、文件操作、时间相关指令以及总结扩展

目录

基本操作

ls

touch

pwd

cd

mkdir

rmdir

rm

cp

mv

文件查看与编辑 

cat

tac

more

less

head

tail

拓展:如何读取文件中间某一段内容?

vim

nano

文件操作

find

which

grep

alias

zip

unzip

tar

file

时间相关指令

date

cal

总结扩展

基本操作

文件查看与编辑

用户与权限

系统信息与管理

网络相关

文件搜索

进程管理

软件包管理(示例为基于Debian和RedHat的系统)

系统控制


基本操作

ls

        在Windows当中会自动显示当前目录当中的所有子目录与文件,我们若想在Linux当中查看当前目录当中的所有子目录与文件就需要用到 ls 指令。

语法: ls 选项 目录或文件
功能: 对于目录,该命令列出该目录下的所有子目录与文件;对于文件,该命令列出文件名以及其他信息。

常用选项:

(1)-d 将目录像文件一样显示,而不是显示其下的文件。

(2)-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

(3)-i 输出文件的i节点的索引信息。 

(4)-sk 以列表形式显示目录中的文件和目录,同时文件大小按千字节(KB)显示。

(5)-l 列出文件的详细信息。

小技巧:ls -l 也可以简写为 ll。 

(6)-n 用数字的UID,GID代替名称。

(7)-F 在每个文件名后附上一个字符以说明该文件的类型。(“*”表示可执行的普通文件,“/”表示目录,“@”表示符号链接,“|”表示FIFOs,“=”表示套接字sockets)

(8)-r 对目录反向排序。

(9)-t 以时间排序。

(10)-s 在文件名前输出该文件的大小。

(11)-R 列出所有子目录下的文件。

(12)-1 一行只输出一个文件。

touch

语法: touch 选项 文件
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项:
1)-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。
2)-c 或 --no-create 不建立任何文档。
3)-d 使用指定的日期时间,而非现在的时间。
4)-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
5)-m 或 --time=mtime 或–time=modify 只更改变动时间。
6)-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
7)-t 使用指定的日期时间,而非现在的时间。

pwd

语法: pwd
功能: 显示用户当前所在的目录。

cd

        在Linux系统中,磁盘上的文件和目录被组成一棵目录树,其中每个结点都是目录或文件。

在Windows当中,我们可以通过鼠标点击的方式在各个目录之间来回跳转,而在Linux当中我们需要用到cd指令来实现该操作。

语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下。

常用方式:

(1)cd . . (返回上级目录)。

(2)cd 绝对路径 (使用绝对路径改变当前工作目录)。

(3)cd 相对路径 (使用相对路径改变当前工作目录)。

(4)cd ~ (进入主工作目录)。

小贴士:普通用户的主工作目录默认为 /home/xxx,root用户的主工作目录默认为 /root。 

(5)cd - (返回上一次所在目录)。

mkdir

        在Windows中我们通过Ctrl+Shift+N在当前目录新建一个空目录,我们若是想在Linux当中新建一个空目录,则需要用到mkdir指令。

语法: mkdir 选项 dirname
功能: 在当前目录下创建一个名为“dirname”的目录。

常用选项: 

(1) -p dirname可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir

        rmdir是一个与mkdir相对应的指令,mkdir是建立目录,而rmdir是删除目录。

语法: rmdir 选项 dirname
功能: 删除空目录。
适用对象: 具有当前目录操作权限的所有使用者。

常用选项: 

(1)-p 当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除。

rm

        rmdir指令只能用于删除空目录,若是要相删除其他文件,则需要用到rm指令。

语法: rm 选项 dirname
功能: 删除文件或目录。
适用对象: 所有使用者。

常用选项:

(1)-i 删除前逐一询问确认。

(2)-f 即使文件属性为只读(即写保护),亦直接删除。

(3)-r 删除目录及其下所有文件(递归式删除)。

小技巧: 当你要删除当前目录下的所以文件时,可以使用通配符 * 。

特别注意: 上面说到 -f 是强制性删除,-r 是递归式删除,这两个结合在一起就是递归式强制性删除,千万不要执行以下指令,因为在Linux当中没有类似回收站的东西也没有撤销删除的功能,删除指令一旦执行则是不可逆的。

该指令的意思是从(/)根目录开始进行递归式强制性删除,即删除根目录下所有文件,这是一个大忌,典型的删库跑路行为。所以,当你要使用“rm -rf dirname”这条指令前,你必须明确以下两点:
 1、你清楚的知道你自己正在干什么。
 2、执行该命令后所造成的结果是你能够承担的。 

cp

        在Windows中我们可以通过Ctrl+C和Ctrl+V将一个地方的文件或目录复制一份到另一个地方,我们若是在Linux当中想要完成该操作,就要用到cp指令。

语法: cp 选项 源文件或目录 目标文件或目录
功能: 复制文件或目录。

常用选项:
(1)-f 或 --force 强行复制文件或目录,不论目标文件或目录是否已经存在。 

(2)-i 或 --interactive 覆盖文件之前先询问用户。 

(3)-r 或 -R 递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理。

小技巧: 当我们需要将当前目录的所有内容进行拷贝时,可以用到通配符进行拷贝。

mv

        在Windows中我们经常使用Ctrl+X和Ctrl+V将一个地方的文件或目录移动到另一个地方,我们若是要在Linux当中完成此操作,则需要使用mv指令。

语法: mv 选项 源文件或目录 目标文件或目录
功能: 视mv指令当中两个参数的不同而不同。
(1)当第二个参数是不存在的名称时,mv指令完成文件重命名或目录重命名。

(2)当第二个参数是已存在目录名称时,mv指令将文件移动置该目录中。

常用选项:
(1)-f 强制的意思(force),如果目标文件已经存在,不会询问而直接覆盖。

(2)-i 若目标文件已经存在,则会询问是否覆盖。

文件查看与编辑 

cat

        在Linux当中无法想Windows一样用鼠标点开某一文件进行阅读,要想阅读文件可以用cat指令。

语法: cat 选项 文件
功能: 查看目标文件的内容。

常用选项:
(1)-b 对非空输出行编号。 

(2)-n 对输出的所有行编号。

(3)-s 禁止重复的空输出行。

注意: cat指令会将目标文件内容全部打印到屏幕上。若是目标文件内容过大,则会导致刷屏(直到将文件内容全部打印到屏幕上)。因此cat指令一般仅适用于查看内容较少的文件。

tac

使用tac指令,我们可以反向查看目标文件的内容。

语法: cat 文件
功能: 反向查看目标文件的内容。

more

上面说到,cat指令仅适用于查看内容较少的文件,我们若是要查看海量信息文件,则可以适用more指令。

语法: more 文件
功能: 查看目标文件的内容。

注意: more指令只能通过按回车键进行下翻操作,无法进行上翻操作,并且more指令在查看之前会先加载整个文件。

less

上面的more指令只能进行下翻操作,而less指令可以同时支持上翻和下翻操作。

语法: less 选项 文件
功能: 既有查看目标文件的内容的功能,又有搜索功能。

注意: less指令可以通过按上下键进行上翻和下翻操作,并且less指令在查看之前不会加载整个文件。

常用选项:
(1)-i 忽略搜索时的大小写。
(2)-N 显示每行的行号。
(3)/字符串 向下搜索“字符串”的功能。
(4)?字符串 向上搜索“字符串”的功能。
(5)n 重复前一个搜索(与/或?有关)。
(6)N 反向重复前一个搜索(与/或?有关)。

语法: head 选项 文件
功能: 用于显示文件的开头至标准输出中,默认head指令打印其相应文件的开头10行。

注意:默认打印文件的前十行内容至标准输出。

常用选项:
(1)-n 需要显示的行数。

tail

语法: tail 选项 文件
功能: 用于显示文件的末尾至标准输出中,默认tail指令打印其相应文件的末尾10行。

常用选项:
(1)-n 需要显示的行数。

(2)-f 循环读取。

        会持续查看指定文件的末尾,并且只要文件有新的内容追加,这些新内容就会立刻显示在终端上,而不需要你重复执行命令。

拓展:如何读取文件中间某一段内容?

        例如,现在test.txt文件当中有一万行内容,我们如何读取第1001至1010行?

        在认识了head和tail指令后,你可能很容易想到如下方法:先用head指令读取test.txt文件中的前1010行存入临时文件temp.txt中,然后将temp.txt文件的后10行打印输出即可。

注意: >(输出重定向),图中第一条指令的意思是,将本应该输出到屏幕的内容输出重定向到temp.txt文件当中。

这样写显然有点麻烦(还需要创建一个临时文件),有一种简便的方式可以实现该操作,该方式需要用到“命令行管道”。
我们知道,管道是用于传输某种资源的(下水管道用于传输水,天然气管道用于传输天然气),而计算机上面最重要的资源就是数据。

管道:

        用“|”来表示,管道左边接收产生的数据,右边读取数据。

将test.txt文件的前1010行从管道左侧输入管道,并在管道右侧读取数据进行进一步的操作即可。 

vim

语法:在命令行中输入vim 文件名来启动vim并编辑指定文件,或者直接输入vim进入交互界面后使用:e 文件名来打开文件。

功能:vim(Vi Improved)是一个高度可配置的、功能强大的文本编辑器,旨在提供高效的文本编辑能力。它继承并增强了vi编辑器的功能,支持语法高亮、多级撤销、编译器集成、宏录制、分屏编辑等多种高级特性。vim具有两种主要模式:正常模式(用于浏览和执行命令)和插入模式(用于文本输入),还有其他辅助模式,如可视模式、命令行模式等。

nano

语法:在命令行中输入nano 文件名来启动nano并直接编辑或创建指定的文件。如果省略文件名,nano会以新文件状态启动。

功能:nano是一个用户友好、易于上手的文本编辑器,特别适合初学者或偏好简化界面的用户。它在界面上集成了基本的编辑命令,不需要记忆复杂的按键组合。nano在底部显示当前可用的命令快捷键,支持自动换行、鼠标操作、搜索和替换、 undo/redo 功能,并能够高亮显示语法。与vim相比,nano的界面更为直观,操作更为直接,减少了模式切换的复杂性。

        总结来说,vim适合那些追求极致编辑效率和高度自定义的高级用户,而nano则更适合新手或寻求简单编辑体验的用户。两者都是Unix/Linux环境下非常重要的文本编辑工具,各有千秋。

文件操作

find

语法: find 路径 选项 …
功能: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘->效率比较低)。

常用选项:

(1)-name 按照文件名查找文件。

(2)-size 按照文件大小查找文件。

which

        Linux当中的每个指令其实都是用计算机语言编写出的可执行程序,这些程序都存储在文件当中,我们可以通过which指令查看某一指令的程序文件所在路径。

语法: which 指令
功能: 用于查找某一指令的程序文件所在路径。

当我们执行某一指令时,实际是调用其可执行程序,因此我们还可以通过其程序文件的所在路径进行调用该指令。

grep

        grep指令类似于关键词搜索(行过滤器)。

语法: grep 选项 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来。

常用选项:

(1)-i 忽略大小写进行查找。 

(2)-n 输出行号。 

(3)-v 反向选择,显示出没有待搜索字符串的行。

alias

        当你觉得某一指令太长时,你可以使用alias指令给它起一个别名。

语法: alias 别名=‘原名’
功能: 可以用于给指令取别名。

zip

        zip指令用于打包压缩目录或文件。

语法: zip 选项 压缩文件.zip 待打包目录或文件
功能: 将目录或文件打包压缩成zip格式。

常用选项:
(1)-r 递归处理,将指定目录下的所有文件和子目录一并处理。

unzip

        unzip指令用于解压文件。

语法: unzip 压缩文件.zip 选项 目录
功能: 将压缩文件解压到指定目录当中。

注意: 解压文件时若不带-d选项和目标目录,则默认解压到当前目录下。 

tar

        tar指令也可以用来打包压缩和解压文件,并且还可以实现不解开压缩包,直接查看里面内容的操作,以及只打包不压缩等操作。

语法: tar 选项 压缩文件 …
功能: 打包/解包,不解开压缩包,直接查看里面内容。

常用选项:
(1)-c 建立一个压缩文件的参数指令(create的意思)。
(2)-x 解开一个压缩文件的参数指令。
(3)-t 查看tarfile里面的文件。
(4)-z 是否同时具有gzip属性?即是否需要用gzip压缩?
(5)-j 是否同时具有bzip2属性?即是否需要用bzip2压缩?
(6)-v 压缩的过程中显示文件(常用)。
(7)-f 使用档名,请留意,在f之后要立即接档名,不要再加参数。
(8)-C 解压到指定目录。

打包示例:

解包示例:

不解开压缩包,直接查看里面内容:

file

语法: file
功能: 查看文件的更多属性信息。

时间相关指令

date

语法: date 选项 格式
功能: 用于显示时间、设置时间、完成时间与时间戳之间的相互转换等。

用法一: 用于显示时间,使用者可以选定欲显示的格式,格式设定为一个加号,后接数个标记,其中常用的标记如下:

%H : 小时(00~23)
%M : 分钟(00~59)
%S : 秒(00~61)
%X : 相当于 %H:%M:%S
%d : 日 (01~31)
%m : 月份 (01~12)
%Y : 完整年份 (0000~9999)
%F : 相当于 %Y-%m-%d

用法二: 用于设定时间。

date -s 设置当前时间,只有root用户才能设置,普通用户只能查看。
date -s 20210725 将时间设置为20210725,这样会将具体时间设置为空(00:00:00)。
date -s 01:01:01 设置具体时间,不会对日期做更改。
date -s “01:01:01 2021-07-25” 同时设置日期和具体时间。
date -s “01:01:01 20210725” 同时设置日期和具体时间。
date -s “2021-07-25 01:01:01” 同时设置日期和具体时间。
date -s “2021072501:01:01” 同时设置日期和具体时间。

用法三: 完成时间与时间戳之间的相互转换。

(1)date +%s 显示当前时间的时间戳。 

注意:时间戳是当前时间与计算机起始时间的差值,单位为秒。

(2)date -d @时间戳 将时间戳转换为时间。

cal

        cal指令可以用于显示公历(阳历)日历。

语法: cal 选项 月份 年份
功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1~9999),如有两个参数,则表示月份和年份。

常用选项:
(1)-3 显示系统前一个月、当前月以及下一个月的日历。 

(2)-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。

(3)-y 显示当前年份的日历。

总结扩展

基本操作

  1. ls - 列出目录内容。
  2. cd - 切换目录。
  3. pwd - 显示当前工作目录。
  4. mkdir - 创建新目录。
  5. rm - 删除文件或目录(使用rm -r删除目录)。
  6. cp - 复制文件或目录。
  7. mv - 移动或重命名文件或目录。

文件查看与编辑

  1. cat - 查看文件内容。
  2. less 或 more - 分页查看文件内容。
  3. head / tail - 查看文件开头/结尾部分。
  4. vim 或 nano - 文本编辑器。

用户与权限

  1. su - 切换用户身份。
  2. whoami - 显示当前用户名。
  3. passwd - 修改用户密码。
  4. sudo - 以超级用户权限执行命令。
  5. chmod - 改变文件或目录的权限。
  6. chown - 改变文件或目录的所有者。
  7. chgrp - 改变文件或目录的所属组。

系统信息与管理

  1. uname - 显示系统信息。
  2. df - 显示磁盘空间使用情况。
  3. du - 估算文件或目录占用的磁盘空间。
  4. top 或 htop - 实时查看系统进程状态。
  5. ps - 显示当前进程状态。
  6. kill - 终止进程。
  7. free - 显示内存使用情况。
  8. uptime - 显示系统运行时间。

网络相关

  1. ifconfig 或 ip addr - 查看网络接口配置。
  2. ping - 测试网络连接。
  3. curl - 传输数据,支持多种协议,常用于HTTP请求。
  4. wget - 下载网络文件。

文件搜索

  1. find - 在文件系统中查找文件。
  2. grep - 在文件中搜索指定模式的字符串。

进程管理

  1. bg - 将作业放到后台运行。
  2. fg - 将后台作业放到前台运行。
  3. jobs - 查看当前shell下的后台作业。

软件包管理(示例为基于Debian和RedHat的系统)

  1. apt 或 apt-get - Debian/Ubuntu系统中的软件包管理工具,用于安装、更新软件包。
  2. dpkg - Debian系的底层包管理工具。
  3. yum 或 dnf - RedHat/CentOS/Fedora系统中的软件包管理工具。
  4. rpm - RedHat系的包管理工具。

系统控制

  1. shutdown - 关机或重启系统。
  2. reboot - 重启系统。
  3. halt - 关闭系统。
  4. logout - 注销当前用户会话。

        这只是Linux命令的冰山一角,实际上Linux系统提供了成百上千的命令,每个命令又可能有多个选项和参数,以满足不同的需求。随着你对Linux的深入学习,你会发现更多高效且强大的命令。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/912081
推荐阅读
相关标签
  

闽ICP备14008679号