拓冰建站拓冰建站
首页 / 资讯中心 / 正文

【Linux】 基本指令(ls/pwd/cd/touch/mkdir/rm/man/cp/mv/cat/more/less/head/tail/...)

目录ls 指令pwd命令cd 指令touch指令mkdir指令mrdir指令rm 指令man指令cp指令mv指令cat指令more指令less指令head指令tail指令时间相关的指令find指令grep指令zip/unzip指令tar指令bc指令uname –r指令文件相关说明用户相关说明指令相关说明几个重要热键在 Linux 中写代码ls 指令语法 ls [选项][目录或文件]功能对于目录该命令列出该目录下的所有子目录与文件。对于文件将列出文件名以及其他信息。常用选项-a 列出目录下的所有文件包括以 . 开头的隐含文件。-d 将目录像文件一样显示而不是显示其下的文件。 如ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件-l 列出文件的详细信息。等价于 ll-n 用数字的 UID,GID 代替名称。 介绍 UID GID-F 在每个文件名后附上一个字符以说明该文件的类型“*”表示可执行的普通文件“/”表示目录“”表示符号链接“|”表示FIFOs“”表示套接字(sockets)。目录类型识别-r 对目录反向排序。-t 以时间排序。-s 在l文件名后输出该文件的大小。大小排序如何找到目录下最大的文件-R 列出所有子目录下的文件。(递归)-1 一行只输出一个文件。[ test ] * 或 * [ .txt ]列出所有以 test 开头的文件或列出所有以 .txt 结尾的文件pwd命令语法: pwd功能显示用户当前所在的目录cd 指令语法: cd 目录名功能: 改变工作目录。将当前工作目录改变到指定的目录下。举例cd .. : 返回上级目录cd /home/litao/linux/ : 绝对路径cd ../day02/ : 相对路径cd ~进入用户的家目录不管当前位置在哪cd -返回最近访问目录touch指令语法:touch [选项]... 文件1 文件2 文件3...功能touch命令参数可更改文档或目录的日期时间包括存取时间和更改时间或者新建一个或多个文件。常用选项-a 或--timeatime或--timeaccess或--timeuse只更改存取时间。-c 或--no-create 不建立任何文档。-d 使用指定的日期时间而非现在的时间。-f 此参数将忽略不予处理仅负责解决BSD版本touch指令的兼容性问题。-m 或--timemtime或--timemodify 只更改变动时间。-r 把指定文档或目录的日期时间统统设成和参考文档或目录的日期时间相同。-t 使用指定的日期时间而非现在的时间。mkdir指令语法mkdir [选项] dirname...功能在当前目录下创建一个名为 “dirname”的目录常用选项-p 一次建立多个目录mrdir指令语法mrdir dirname...功能在当前目录下删除一个名为 “dirname”的空目录不能删除非空目录或普通文件。常用选项-p 当子目录被删除后如果父目录也变成空目录的话就连带父目录一起删除。rm 指令语法rm [选项] dirname...功能在当前目录下删除一个名为 “dirname”的文件。会询问是否删除输入 y 确认删除输入 n 取消删除。常用选项-f 不要询问直接删除-r 递归式删除目录若想直接删除该目录和其下的所有文件可以使用 -r -f-i 删除前逐一询问确认* -rf 删除该目录下的所有文件man指令Linux的命令有很多参数我们不可能全记住我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是语法: man [选项] 指令名常用选项man 后面不跟数字选项默认从 1 开始查找-k 根据关键字搜索联机帮助num 只在第num章节找-a 将所有章节的都显示出来比如 man printf 它缺省从第一章开始搜索知道就停止用a选项当按下q退出他会继续往后面搜索直到所有章节都搜索完毕。解释一下,man手册分为8章1 是普通的命令2 是系统调用,如open,write之类的(通过这个至少可以很方便的查到需要加什么头文件)3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义6 是给游戏留的,由各个游戏自己定义7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明8 是系统管理用的命令,这些命令只能由root使用,如ifconfigcp指令语法cp [选项] 源文件或目录 目标文件或目录功能: 复制文件或目录说明: cp指令用于复制文件或目录如同时指定两个以上的文件或目录且最后的目的地是一个已经存在的目录则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录而最后的目的地并非一个已存在的目录则会出现错误信息常用选项-f 或 --force 强行复制文件或目录 不论目的文件或目录是否已经存在-i 或 --interactive 覆盖文件之前先询问用户root 用户一律询问不管加不加 -i普通用户加 -i 后询问-f -i 安全起见仍然询问-r 拷贝目录要带 -r 。递归处理将指定目录下的文件与子目录一并处理。若源文件或目录的形态不属于目录或符号链接则一律视为普通文件处理-R 或 --recursive递归处理将指定目录下的文件及子目录一并处理mv指令mv命令是move的缩写可以用来移动文件或者将文件改名是Linux系统下常用的命令。语法: mv [选项] 源文件或目录 目标文件或目录功能:mv 原文件名 重命名文件名 文件重命名与 mv 原文件名 . / 重命名文件名 等价因此所有的 mv 操作都可以认为是剪切重命名操作只是 mv 原文件名 重命名文件名 这种操作是剪切到当前目录下。mv 原文件名 目标目录 将文件移动到目标目录mv 原文件名 目标目录/重命名文件名将文件移动到目标目录并重命名mv 原目录名 重命名目录名重命名目录mv 原目录名 目标目录名将原目录移动到目标目录mv 原目录名 目标目录名/重命名目录名将原目录移动到目标目录并重命名常用选项-f force 强制的意思如果目标文件已经存在不会询问而直接覆盖-i 若目标文件 (destination) 已经存在时就会询问是否覆盖cat指令语法cat [选项][文件]功能 查看目标文件的内容不适合看大文本。常用选项如果 cat 后面什么都不跟默认从键盘读取数据打印在屏幕上输入什么就打印什么 目标文件名 查看目标文件的内容-n 对输出的所有行编号-b 对非空输出行编号-s 不输出多行空行多行空行只输出一行创建大文本cnt0; while [ $cnt -le 100000 ]; do echo Hello bit $cnt; let cnt; done log.txtmore指令语法more [选项][文件]功能more命令功能类似 cat 看大文本用。按回车向下显示更多文本。不能按上或下浏览时可以输入 -num 跳到第 num 行。常用选项-num 输出到文本的第 num 行-n 对输出的所有行编号q 退出moreless指令less 工具也是对文件或其它输出进行分页显示的工具应该说是linux正统查看文件内容的工具功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候我们并没有办法向前面翻 只能往后面看使用 less 就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件更容易用来查看一个文件的内容。除此之外在 less 时可以拥有更多的搜索功能不但可以向下搜也可以向上搜。语法 less [参数] 文件功能less与more类似但使用 less 可以随意浏览文件而 more 仅能向前移动却不能向后移动而且 less 在查看之前不会加载整个文件。选项-i 忽略搜索时的大小写-N 显示每行的行号/字符串向下搜索“字符串”的功能?字符串向上搜索“字符串”的功能/num浏览时可以输入 /num 跳到第 num 行n重复前一个搜索与 / 或 ? 有关N反向重复前一个搜索与 / 或 ? 有关q: quithead指令head 与 tail 就像它的名字一样的浅显易懂它是用来显示开头或结尾某个数量的文字区块head 用来显示档案的开头至标准输出中而 tail 就是看档案的结尾。语法 head [参数]... [文件]...功能head 用来显示档案的开头至标准输出中默认head命令打印其相应文件的开头10行。选项-num 显示文件的前 num 行tail指令tail 命令从指定点开始将文件写到标准输出.使用tail命令的 -f 选项可以方便的查阅正在改变的日志文件,tail -f filename 会把 filename 里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.语法 tail[必要参数][选择参数][文件]功能 用于显示指定文件末尾内容不指定文件时作为输入信息进行处理。常用查看日志文件选项f 循环读取-num 显示文件的末 num 行head 指令和 tail 指令截取文本文件的中间一段到另一个文本文件中如截取test.txt 文件的第 10 到 25 行方法1临时文件1、用 head 指令截取文件的前 15 行到 temp.txt 文件中2、用 tail 指令截取 temp.txt 的末 5 行方法2管道“ | ” 是一种符号会被 “ 系统 ” 解释为管道文件内存级管道支持 “ 流水线 ” 操作时间相关的指令date指令date 指定格式显示时间 date %Y:%m:%ddate 用法date [OPTION]... [FORMAT]1.在显示方面使用者可以设定显示的格式格式设定为一个加号后接数个标记其中常用的标记列表如下标记之间可以有非空白字符做连接。%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-%d2.在设定时间方面date -s //设置当前时间只有root权限才能设置其他只能查看。date -s 20080523 //设置成20080523这样会把具体时间设置成空00:00:00date -s 01:01:01 //设置具体时间不会对日期做更改date -s “01:01:01 2008-05-23″ //这样可以设置全部时间date -s “01:01:01 20080523″ //这样可以设置全部时间date -s “2008-05-23 01:01:01″ //这样可以设置全部时间date -s “20080523 01:01:01″ //这样可以设置全部时间3.时间戳Unix时间戳英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp是从1970年1月1日UTC/GMT的午夜开始所经过的秒数不考虑闰秒时间-时间戳date %s时间戳-时间date %Y-%m-%d_%H:%M:%S -d时间戳cal指令命令格式 cal [参数][月份][年份]功能 用于查看日历等时间信息如只有一个参数则表示年份(1-9999)如有两个参数第一个参数表示月份第二个参数表示年份。常用选项-3 显示系统前一个月当前月下一个月的日历不能输入其他数字-j 显示在当年中的第几天一年日期按天算从1月1号算起默认显示当前月在一年中的天数-year 显示当前年份的日历find指令Linux下find命令在目录结构中搜索文件并执行指定的操作。Linux下find命令提供了相当多的查找条件功能很强大。由于find具有强大的功能所以它的选项也很多其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统(NFS)find命令在该文件系统中同样有效只要具有相应的权限。在运行一个非常消耗资源的find命令时很多人都倾向于把它放在后台执行因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。语法 find pathname -options功能 用于在文件树中查找文件并作出相应的处理可能访问磁盘常用选项-name 文件名 按照文件名查找文件其他有查找功能的指令which 指令专门查找指令的指令在/usr/bin 目录下查找whereis 指令在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册,安装包压缩包等之类grep指令行文本过滤工具语法 grep [选项] 搜寻字符串 文件名1 文件名2 文件名3 ...功能 在指令包含的所有文件中搜索字符串将找到的行打印出来常用选项-i 忽略大小写的不同-n 顺便输出行号-v 反向选择即显示出没有搜寻到字符串内容的那一行应用管道zip/unzip指令语法 zip [选项] 压缩文件名自定义.zip 目录或文件多个目录和多个文件可以一起压缩unzip 压缩文件名.zip [选项] [目标目录]功能 将目录或文件压缩成zip格式常用选项-r 递归处理将指定目录下的所有文件和子目录一并处理-d 解压到指定文件夹tar指令语法tar [选项] 文件1 文件2 ...目录1 目录2 目录3... [选项] [目标目录]常见选项-ccreate创建归档包打包时必选-xextract解压解包时必选-vverbose显示处理过程建议保留方便查看进度-ffile指定归档文件名必须放在选项最后因为它后面紧跟文件名-z通过 gzip 压缩/解压后缀.tar.gz-J通过 xz 压缩/解压后缀.tar.xz压缩率更高但速度较慢-Ccapital C解压到指定目录建立一个压缩文件.tgz : 全称 tar.gz tar打包后缀.gz 压缩后缀预览一个压缩文件解压一个压缩文件解压到目标目录对于陌生的打包压缩后缀只需上网查阅即可bc指令bc命令可以很方便的进行浮点运算输入 quit 退出使用管道uname –r指令语法uname [选项]功能 uname用来获取电脑和操作系统的相关信息。补充说明uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。常用选项-a或–all 详细输出所有信息依次为内核名称主机名内核版本号内核版本硬件名处理器类型硬件平台类型操作系统名称Linux VM-16-12-centos 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux这些参数的含义1.VM-16-12-centos主机名Hostname当前系统的网络名称这里是VM-16-12-centos表明这是一台虚拟机VM可能是腾讯云的 CentOS 实例-centos后缀。2.3.10.0-1160.119.1.el7.x86_64内核版本Kernel Version3.10.0主版本号3.10 是 Linux 内核的长期支持版本LTS。-1160.119.1修订号由 Red Hat/CentOS 维护的补丁版本包含安全更新和 bug 修复。.el7表示该内核适用于RHEL/CentOS 7Enterprise Linux 7。x86_6464 位架构兼容 AMD64/Intel 64。3.#1 SMP Tue Jun 4 14:43:51 UTC 2024内核编译信息#1这是该内核版本的第一次编译。SMPSymmetric Multi-Processing支持多核 CPU。Tue Jun 4 14:43:51 UTC 2024内核编译时间UTC 时区。4.x86_64 x86_64 x86_64硬件架构信息重复三次通常为冗余全部为x86_64表示系统硬件架构CPU 指令集。内核运行模式64 位。用户态程序运行环境64 位。5.GNU/Linux操作系统类型基于 GNU 工具集的 Linux 发行版如 CentOS、RHEL 等。文件相关说明Linux系统中磁盘上的文件和目录被组成一棵目录树每个节点都是目录或文件。文件的分类文件分为目录和普通文件目录类比 windows 的文件夹。文件的结构创建一个文本文件但什么都不写该文本文件要占据空间吗答案是要。因为文件的属性也是数据也要存储。文件 文件内容 文件属性对文件的操作 对文件内容的操作 or 对文件属性的操作隐藏文件文件名以 . 开头的文件ls 指令不会显示使用 ls -a 指令显示linux 下任何一个文件目录都有两个隐藏文件 . 和 .. 。.. 表示当前路径的上一级路径所以 cd .. 相当于回退到上级路径。. 表示当前路径路径分割符linux 下 用 “ / ” 表示路径分割符windows 用 “ \ ” 表示路径分割符路径linux 的整个目录结构一定是一个树状结构叶子结点一定是空目录或者非目录文件路上结点一定是非空目录。通常用路径来定位一个文件路径定位有唯一性任何结点只有一个父结点。绝对路径把从根目录开始定位到指定位置具有唯一性的路径称为绝对路径。相对路径以当前位置为参照点进行特定文件的定位这种路径称为相对路径。参照点位置发生变化相对路径可能就失效了。绝对路径和相对路径的使用场景1. 绝对路径往往比较长,但是不变,一般在一些固定场景,比如配置文件中使用2. 一般命令行输入比较常用相对路径使用 root 用户安装 tree输入 yum install -y tree安装完成后可以将当前路径以树状形式显示输出重定向使用echo 指令可以向显示屏打印字符串会自动换行也可以使用 printf 指令向显示屏打印字符串不会换行如果在 Hello Linux 后面加上 和一个文本文件名比如 test.txt会发现 Hello Linux 没有打印在屏幕上而是打印在了 test.txt 文件中这就叫做输出重定向意思是本应打印在屏幕上却打印在其他地方。另外如果输出重定向的文件不存在会自动创建。所以可以使用 “ 加文件名”的方式创建一个文件而不用 touch指令也可以使用 “ 加文件名”的方式清空一个已存在的文件输出重定向的特点向目标文件进行写入时是覆盖写入1、清空原文件 2、写入新内容加文件名可以清空该文件追加重定向如果想不断向某个文件写入字符串而不被覆盖只需将 该为 即可也可以使用 printf 指令向文件写入字符串输入重定向如果 cat 指令后面什么都不跟默认从键盘读取数据打印在屏幕上输入什么就打印什么但是如果 cat 指令后面有 加目标文件名就从目标文件读取数据这就叫输入重定向意思是本来要从键盘输入却从其他地方输入Limux 下一切皆文件比如显示器是文件只写不读读方法为空键盘是文件只读不写写方法为空普通文件可读可写话筒网卡等等。文件的打包和压缩将多个文件打包压缩成一个整体,由多个文件变成一个文件就不容易造成文件缺失并且体积变小下载时间变短存储占据空间变小。Linux 也有文件打包和压缩的工具因为Linux充当服务器的时候,也需要各种网络应用场景满足通讯的需求。用户相关说明创建一个新用户删除一个用户1、通过修改用户密码2、永久删除一个用户-r 不能漏掉家目录用户分为超级用户和其他普通用户。超级用户登陆后所处的root目录称为超级用户的家目录普通用户登陆后所处的 /home/用户名 目录称为普通用户的家目录centos系统中,所有的普通用户用户账号都会统一放在 /home 这一目录下。支持多用户的操作系统称为多用户操作系统linux 和 windows 都是多用户操作系统~的含义~波浪号是用户主目录的简写例如如果你用户名是zhang那么~/home/zhangroot 用户的~/root指令相关说明指令的本质指令和可执行程序都是可以被执行的指令就是可执行程序输入一条指令后要先在 /usr/bin 目录中查找对应的指令找到后执行没找到就报错。如果我们用编程语言写一段代码将生成的可执行程序放到 /usr/bin 目录那么该可执行程序就可以像指令一样使用。给指令起别名使用 alias 指令可以给指令起别名这种起别名的方法是临时的重启 XShell 后失效。shell命令以及运行原理Linux严格意义上说的是一个操作系统我们称之为“核心kernel“ 但我们一般用户不能直接使用kernel。而是通过kernel的“外壳”程序也就是所谓的shell来与kernel沟通。如何理解为什么不能直接使用kernel从技术角度Shell的最简单定义命令行解释器command Interpreter主要包含1、将用户的指令翻译给核心kernel处理拦截非法请求保护操作系统。2、同时将核心的处理结果翻译给使用者。几个重要热键1、双击 Tab具有命令补全和档案补齐的功能2、Ctrl c让当前的程序停掉3、Ctrl r搜索历史指令 也可以输入history查看最近的1000条历史指令4、Ctrl d通常代表着键盘输入结束(End Of File, EOF 戒 End OfInput) 也可以用来取代 exit在 Linux 中写代码1、创建 以.c 为后缀的文件比如 test.c2、输入 nano test.c 进入编写界面3、编写完成后按 Ctrl x再按 y 确定再按回车4、输入 gcc test.c 编译生成以 .out 为后缀的可执行文件5、输入 ./test.c 执行可执行文件
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门