当前位置: 首页 > article >正文

Linux常用基本指令和shell

目录

1. cd指令

2. pwd指令 

3. ls指令

4. touch指令 

5. mkdir指令 

6. rmdir 和 rm指令

7. man指令

8. cp指令

9. mv指令

10. 输入/输出重定向  ​编辑

11. more/less指令

12. head/tail指令

13. 时间相关的指令

14. cal 指令 

15. find指令

16. grep指令

17. zip/unzip指令

18. 其它指令 

19. shell的简单讲解


1. cd指令

  Linux系统中,磁盘上的 文件和目录(文件夹)的组成结构是一颗 “多叉树”,每个节点都是目录或文件。

  如下示例: 

  叶子节点:一定是文件或空目录。

  非叶子节点:一定是目录。

  所以,访问一个文件,首先要找到它,找到文件的本质就是:在一棵多叉树中进行节点的查找 ——> 路径的本质就是这个多叉树的搜索路径,具有 唯一性

  绝对路径:从 / 开始,定位一个目录或文件的的方式(/ 也做路径分隔符) 

        比如:目录:/ 或  /usr/ 或 usr/lib/ 或 /usr/bin/ /home/nxf/

                   文件: /etc/passwd 或 /home/nxf/test.c

  相对路径:以当前所处目录为参考点,定位一个目录或文件的方式

  注意:. (1个点) 表示 当前所处目录;..(2个点)表示 上级目录 

        比如:当前所处目录是:/home/nxf/

        那么:. / test.c 或者 /test.c 表示:/home/nxf/test.c

                  .. 或者 ../  表示:/home/

                   ../.. 或者 ../../ 表示: /

                   ../../dev/ 表示:/dev/

  指令:cd 目录的相对 / 绝对路径

  功能: 将当前工作目录改变到指定的目录下

2. pwd指令 

  语法:pwd

  功能:显示用户当前所在的工作目录(process working directory)

3. ls指令

  功能:对于目录,列出该目录下所有子目录和文件信息

             对于普通文件,仅列出文件信息

  语法:ls 【选项】【目录名或文件名(绝对和相对路径)】

  不带选项: 列出目录下的所有文件/目录名;比如:

  不带路径:列出当前工作目录下的文件/目录

  常用选项:

  -a 列出目录下的所有文件,包含以 . ..开头的隐藏目录 。比如:

  -d 将目录像文件一样显示,而不是显示其下的文件比如:

   -l 列出文件的详细信息(属性:类型,读写权限,所属用户,大小等),可简写成 ll。比如:

  -n 用数字的UID,GID代替 用户ID和组ID,相当于系统用来识别判断用户的身份证比如: 

(可用 cat /etc/group 输出到屏幕上查看)

  -F 在每个文件名后附上一个字符以说明该文件的类型。

  * 表示可执行的普通文件;/ 表示目录

  @ 表示符号链接(软链接,类似于快捷方式);| 表示FIFOs;= 表示套接字(进程间通信)

  -r 对目录反向排序(主要基于文件名称的字母顺序)

  -t 按文件最新修改时间,倒序输出

  -S 按文件大小排序并倒序显示

  -R 列出所有子目录下的文件

  -l  一行输出一个文件

可组合使用,常用比如:ls -al;ll (ls -l),......

4. touch指令 

  在介绍touch指令之前,先介绍另一个指令:stat 显示文件/目录的详细信息,如下示例: 

  touch指令: 

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

  语法:touch [选项] ...文件... 

  常用选项:

        -a    更改访问时间(Access)为当前时间,Change也随同被修改

        -m   更改 内容修改时间(Modify)为当前时间,Access和Change也随同被修改

        -t     指定时间戳(Modify):touch -t [[CC]YY]MMDDhhmm[.ss] filename     

     CCYY 为世纪和年份(可选)

     MMDDhhmm 为月、日、小时和分钟

              可选的 .ss 表示秒

              比如:touch -t 202301250650.20 filename 
        

        -d    使用类似自然语言的时间描述来设置文件时间戳(Modify)(相对或绝对时间)

                比如: 

                绝对时间:touch -d "2024-11-02 16:30" filename

                相对时间(当前):touch -d "yestarday" filename

                还有:now,today(当前的时间),tomorrow(明天的相同时间), 加减时间:支持年(years)、月(months)、日(days)、小时(hours)、分钟(minutes)、秒(seconds)等时间单位;比如:

  • 2 天前的 3 小时touch -d "2 days ago 3 hours" filename
  • 1 年 2 个月前touch -d "1 year 2 months ago" filename 

  -c    在文件不存在时不创建文件,仅在文件存在时更新时间戳(Modify)为当前时间 

  -r    使用参考文件的时间,比如:touch -r reference_file filename

  注意,Access/Modify/Changes 存在一些相互影响的关系

5. mkdir指令 

  功能:创建目录

  语法:mkdir [选项,常用:-p] 目录名(当前目录下或指定路径)

  比如:mkdir -p test/t1/tt1   递归创建多个目录

6. rmdir 和 rm指令

  rmdir 删除目录:常用选项-p :当子目录被删除后如果父目录也成空,就一起删除

  但是常用:rm 【选项】文件或目录

  常用选项:-f    即使文件被读写保护,也强制删除

                    -i    删除前逐一询问

                    -r    删除目录及其下所有文件

7. man指令

  Linux 和 Unix 系统中显示命令的手册页(manual page),提供有关命令、系统调用、库函数、配置文件等的详细信息, 是帮助用户学习和了解系统内命令的首选工具。

  格式: man [section_number] command_name

  常用的章节编号:

  • 1:用户命令(如 lscd
  • 2:系统调用(如 openread
  • 3:库函数(如 printf
  • 4:特殊文件(如设备文件)
  • 5:文件格式和配置文件(如 passwd
  • 6:游戏和屏保
  • 7:杂项(如 man 7 regex
  • 8:系统管理命令(如 ifconfig

  在手册页中可以使用以下快捷键:

  • 上下箭头PgUp/PgDn:滚动浏览。
  • q:退出手册页。
  • /keyword:搜索关键字,按 n 查找下一个匹配项。
  • h:查看帮助。

  使用 -k 选项搜索包含特定关键字的手册页

  使用 -f 选项可以获取命令的简短描述,类似于 whatis 命令

  使用 -L 选项指定显示的语言(如果支持多语言),比如:man -L zh_CN ls

  使用 -a选项将所有章节都显示出来,比如man printf 从1章(用户指令)开始搜索,找到就停止,按q就退出,继续往后继续搜索,直到所有章节都搜索完毕  

8. cp指令

  功能:复制文件或目录

  语法:cp [选项]   源文件或目录  目标文件或目录

  常用选项:-f    强行复制,即使不存在 

                    -i    覆盖文件之前先询问用户

                    -r    递归处理,将指定目录下的文件和子目录一并处理,如果源不属于目录或符号链接,则一律视为普通文件处理

                     -R  递归处理,将指定目录下的文件及子目录一并处理

  示例:

9. mv指令

  功能:移动文件/目录 或者 改名

  格式:mv [选项]  源文件或目录  目标文件或目录 

  常用选项:-f    即使目标文件或目录已经存在,不会询问直接覆盖

                     -i   询问是否覆盖 

  示例:

10. 输入/输出重定向  

11. more/less指令

  more:功能类似cat,不同的是:逐页显示文件内容,方便查看内容较长的文件

  格式:more [选项]  文件

  主要选项

  • -num:每次显示指定行数。
  • -d:启用错误提示及底部帮助信息。
  • -c:翻页时先清屏,避免覆盖旧内容。
  • -s:压缩连续的空行。
  • +num:从指定行数开始显示。
  • +/string:从首次匹配字符串的位置开始显示。

    q   退出more

  less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,g功能极其强大;其用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容,并且less在查看之前不会加载整个文件。
  格式:less [选项]  文件

less 的常用选项

  1. -N:显示行号。
  2. -S:禁止自动换行(可左右滚动)。
  3. -X:退出后不清屏。
  4. -i:搜索时忽略大小写(除非包含大写字母)。
  5. -p pattern:打开文件时直接定位到匹配的字符串。
  6. +F:实时跟踪文件更新(类似 tail -f)。

less 的常用快捷键

  • 上下箭头 / PgUp / PgDn:向上/下滚动一行或一页。
  • Space:下一页。
  • b:上一页。
  • /pattern:向下搜索字符串pattern
  • ?pattern:向上搜索字符串pattern
  • n:重复上次搜索。
  • N:反向重复上次搜索。
  • g:跳到文件开头。
  • G:跳到文件末尾。
  • q:退出。

12. head/tail指令

  就像它们的名字一样,用来显示开头或结尾某个数量的区块 到标准输出中 (默认10行)。

  格式:head [-n 显示的函数] 文件

             tail [-n 显示函数 或者 -f循环显示最后一行数据(比如查看日志文件的不断更新)]  文

13. 时间相关的指令

14. cal 指令 

15. find指令

  功能:在文件目录树中查找文件

  格式:find 开始搜索路径 【选项】 ......

  常用选项:

 1. -name:按名称查找

   find /home -name "test.txt"                   # 查找名为 test.txt 的文件

 2. -iname:按名称查找,忽略大小写

   find /home -iname "Test.TXT"               # 查找名为 Test.TXT(忽略大小写)的文件

 3. -type:按类型查找

   find /var -type d                                     # 查找 /var 目录中的所有目录

 4. -size:按文件大小查找

   find /tmp -size +10M                               # 查找 /tmp 中大于 10 MB 的文件

 5. -user:按文件所属用户查找

   find /home -user alice                              # 查找属于用户 alice 的文件

6. -mtime / -ctime / -atime:按文件时间查找

   find /var/log -mtime -7                                # 查找 7 天内修改过的文件

7. -exec:对找到的文件执行命令

   find /home -name "*.tmp" -exec rm {} \;      # 删除所有 .tmp 文件

8. -perm:按权限查找

   find /var -perm 644                                       # 查找权限为 644 的文件

9. -maxdepth:限制最大搜索深度

   find /home -maxdepth 1 -name "*.log"         # 仅在当前目录查找 .log 文件

10. -mindepth:指定搜索的最小深度

    find /home -mindepth 2 -name "*.conf"       # 从第二层子目录开始查找 .conf 文件

16. grep指令

  功能:在文件中搜索字符串,将找到的行打出来

  格式:grep  [选项]  搜索字符串  文件 

  常用选项:-i    忽略大小写

                    -n    输出行号

                    -v     反向选择,即显示没有 搜索字符串 内容的一行 

17. zip/unzip指令

18. tar指令(打包或解压) 

18. 其它指令 

uname指令:

-a显示所有系统信息(以下内容)
-s显示操作系统名称
-n显示主机名
-r显示内核版本
-v显示内核版本详细信息
-m显示硬件架构
-p显示处理器类型
-i显示硬件平台信息
-o显示操作系统名称

lrzse:

scp:实现文件/目录递归传输、端口选择、压缩传输、权限保留、私钥身份验证以及静默模式,使得文件在本地和远程间安全高效传输。

  格式:

  1 从本地传输到远程

  scp 【选项】/path/to/local/file username@remote_host:/path/to/remote/destination
  2 从远程传输到本地

  scp 【选项】username@remote_host:/path/to/remote/file /path/to/local/destination

  常用选项有:

-r递归复制目录及其内容
-P指定远程服务器的 SSH 端口(大写 P)
-C启用传输压缩
-p保留文件的修改时间、访问时间和权限
-i指定 SSH 私钥文件
-q静默模式,不显示传输进度

19. shell的简单讲解


http://www.kler.cn/a/378782.html

相关文章:

  • CM API方式设置YARN队列资源
  • Linux和,FreeRTOS 任务调度原理,r0-r15寄存器,以及移植freertos(一)
  • 架构系列---高并发
  • Python小游戏19——滑雪小游戏
  • 【c++日常刷题】两个数字的交集、点击消除、最小花费爬楼梯
  • #渗透测试#SRC漏洞挖掘#自动化脚本的编写01
  • RK3568平台开发系列讲解(内存篇)Linux 内存优化
  • wordpress调用指定ID分类内容 并判断第一个与其它输出不同
  • 2025年PMP考试的3A好考吗?
  • YOLO系列再创新高:迎接YOLO11的到来!
  • 再探“构造函数”(2)友元and内部类
  • 机器学习-理论学习
  • 第三十四篇:URL和URI的区别,HTTP系列一
  • 实时监控工作状态!这八款电脑监控软件助你提升效率!
  • Django+Vue全栈开发项目入门(四)
  • 【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
  • 记录|SQL中日期查询出现的问题
  • 【k8s】-Pod镜像拉取失败问题
  • 为什么 jsp request.getParameter报红,但启动正常?原因在于tomcat内置lib
  • 六、k8s快速入门之容器探针
  • npm入门教程8:缓存管理
  • Swarm-LIO: Decentralized Swarm LiDAR-inertial Odometry论文翻译
  • sed提示不能识别 / 符号
  • 电子电气架构 --- 车载诊断的快速入门
  • 后端java——如何为你的网页设置一个验证码
  • 一些swift问题