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

【Linux系统编程】2. Linux基本指令(上)

文章目录

  • 一、Linux下基本指令
    • 1、ls指令
    • 2、pwd指令
    • 3、cd指令
    • 4、touch指令
    • 5、mkdir 指令
    • 6、rmdir指令 和 rm指令
      • 1)rmdir指令
      • 2)rm指令
    • 7、man指令
    • 8、cp指令
    • 9、mv指令
    • 10、cat指令
    • 11、more指令
    • 12、less指令
    • 13、head指令
    • 14、tail指令
    • 15、date指令

一、Linux下基本指令

1、ls指令

语法: ls [选项] [目录或文件]
功能: 对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信息。
常⽤选项:

  • -a 列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件。
  • -d 将⽬录像⽂件⼀样显⽰,⽽不是显⽰其下的⽂件。如:ls ‒d 指定目录
  • -i 输出⽂件的 i 节点的索引信息。如:ls ‒ai 指定文件
  • -k 以 k 字节的形式表⽰⽂件的⼤⼩。如:ls ‒alk 指定文件
  • -l 列出⽂件的详细信息。
  • -n ⽤数字的 UID,GID 代替名称。
  • -F 在每个⽂件名后附上⼀个字符以说明该⽂件的类型,“*”表⽰可执⾏的普通⽂件;“/”表⽰⽬录;“@”表⽰符号链接;“|”表⽰FIFOs;“=”表⽰套接字(sockets)。
  • -r 对⽬录反向排序。
  • -t 以时间排序。
  • -s 在l⽂件名后输出该⽂件的⼤⼩。(⼤⼩排序,如何找到⽬录下最⼤的⽂件)
  • -R 列出所有⼦⽬录下的⽂件。(递归)
  • -1 ⼀⾏只输出⼀个⽂件。

举例:
列出当前⽬录下的所有子目录和⽂件:ls
在这里插入图片描述

列出当前⽬录下的所有⼦⽬录与⽂件,包括 . 开头的隐含文件:ls -a
在这里插入图片描述

以详细信息列出当前目录下的所有子目录和文件(包括隐含文件):ls -al
在这里插入图片描述

以详细信息列出当前目录下的所有文件和目录(包括隐藏文件),并在不同类型的文件 / 目录名称后添加特殊符号标记其类型:ls -alF
在这里插入图片描述

注意:llls -l的缩写。

2、pwd指令

语法: pwd
功能: 显⽰⽤⼾当前所在的⽬录。
常⽤选项:

举例:

在这里插入图片描述

3、cd指令

Linux理论知识: 路径的认识

  • Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件。
  • 其中普通⽂件⼀定是⽬录树的叶⼦节点。
  • ⽬录可能是叶⼦(空⽬录),也可能是路上节点。

理解路径存在的意义: 树状组织⽅式,都是为了保证快速定位查找到指定的⽂件,⽽定位⽂件就需要具有唯⼀性的⽅案来进⾏定位⽂件。其中任何⼀个节点,都只有⼀个⽗节点,所以,从根⽬录开始,定位指定⽂件,路径具有唯⼀性。

  • 绝对路径:⼀般从 / 开始,不依赖其他⽬录的定位⽂件的⽅式。
  • 相对路径:相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式。
  • 绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤。
  • 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多。
    在这里插入图片描述
    在这里插入图片描述

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

举例:
返回上级目录:cd ..
在这里插入图片描述

绝对路径定位目录:cd /home/mydir
在这里插入图片描述

相对路径定位目录:cd ../mydir
在这里插入图片描述

快速进入自己的家目录:cd ~
在这里插入图片描述

返回到最近访问目录:cd -
在这里插入图片描述

4、touch指令

语法: touch [选项] 文件
功能: touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者创建⼀个空的⽂件。
常⽤选项:

  • -a:仅更改访问时间
  • -c:仅更改修改时间

举例:
创建普通文件:touch newFile.txt
在这里插入图片描述

查看文件时间:stat newFile.txt
在这里插入图片描述

修改文件access时间:touch -a newFile.txt
在这里插入图片描述

修改文件Modify时间:touch -m newFile.txt
在这里插入图片描述

5、mkdir 指令

语法: mkdir [选项] dirname
功能: 在当前⽬录下创建⼀个名为“dirname”的⽬录
常⽤选项:

  • -p/–parents:可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多个⽬录。

举例:
创建普通空目录:mkdir mydir
在这里插入图片描述

递归建立多个目录,创建指定路径:mkdir -p path1/path2/path3/path4
在这里插入图片描述

tree命令是一个递归以树状结构显示指定目录的命令,如果没有安装且当前用户是root:yum install -y tree 可以下载tree命令。
如果当前用户是普通用户: sudo yum install -y tree

6、rmdir指令 和 rm指令

1)rmdir指令

rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除目录。

语法: rmdir [-p] [dirName]
适⽤对象: 具有当前⽬录操作权限的所有使⽤者
功能: 删除空⽬录
常⽤选项:

  • -p 当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除。

举例:
删除空目录:rmdir mydir
在这里插入图片描述

删除路径:rmdir -p path1/path2/path3/path4
在这里插入图片描述

指定路径中有不为空的路径,便无法删除
在这里插入图片描述

2)rm指令

rm指令可以同时删除⽂件或⽬录,一般更习惯于使用rm来进行删除。

语法: rm [-f-i-r-v] [dirName/dir]
适⽤对象: 所有使⽤者
功能: 删除⽂件或⽬录
常⽤选项:

  • -f 即使⽂件属性为只读(即写保护),亦直接删除
  • -i 删除前逐⼀询问确认
  • -r 删除⽬录及其下所有⽂件

举例:
删除普通文件:rm hello.txt
在这里插入图片描述

删除目录文件:rm -r dir
在这里插入图片描述

删除普通文件前询问:rm -i newFile.txt
在这里插入图片描述

删除目录前询问:rm -ri d
在这里插入图片描述

递归强制删除非空目录:rm -rf path1
在这里插入图片描述

7、man指令

Linux的命令有很多参数,我们不可能全记住,可以通过查看联机⼿册获取帮助。
语法: man [选项] 命令
常⽤选项:

  • -k 根据关键字搜索联机帮助
  • -num 只在第num章节查找
  • -a 将所有章节的都显⽰出来,⽐如man printf 它缺省从第⼀章开始搜索,知道就停⽌,直到所有章节都搜索完毕,当按下q退出。

解释⼀下: man⼿册分为9章(不同系统可能会有差别)

  • 1 是普通的命令
  • 2 是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么头⽂件)
  • 3 是库函数,如printf,fread是特殊⽂件,也就是/dev下的各种设备⽂件
  • 4 略
  • 5 是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义
  • 6 是给游戏留的,由各个游戏⾃⼰定义
  • 7 是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明
  • 8 是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig
  • 9 略

举例:
查看printf指令:man printf
在这里插入图片描述

查看系统调⽤:man 2 fork
查看C库函数:man 3 printf
查看变量:man 7 signal
查看man⼿册⾃⼰:man man

8、cp指令

语法: cp [选项] 源文件或目录 目标文件或目录
功能: 复制⽂件或⽬录
说明:

  • cp指令⽤于复制⽂件或⽬录。
  • 如同时指定两个以上的⽂件或⽬录,且最后的⽬的地是⼀个已经存在的⽬录,则它会把前⾯指定的所有⽂件或⽬录复制到此⽬录中。

常⽤选项:

  • -f 或 --force 强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
  • -i 或 --interactive 覆盖⽂件之前先询问⽤⼾
  • -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

cp普通文件:cp myfile.txt myfile-backup.txt
在这里插入图片描述

将多个文件拷贝到指定路径下:cp *.txt dir
注:*表⽰通配符,匹配所有.txt结尾的文件名。
在这里插入图片描述

cp如果目标文件存在,就覆盖:cp myfile.txt myfile-backup.txt
在这里插入图片描述

递归强制拷贝整个目录:cp -rf test test-backup
在这里插入图片描述

9、mv指令

mv命令是move的缩写,可以⽤来移动⽂件或者将⽂件改名(move(rename) files,经常⽤来备份⽂件或者⽬录。
语法: mv [选项] 源文件或目录 目标文件或目录
功能:

  • 视mv命令中第⼆个参数类型的不同(⽬标⽂件或⽬标⽬录),mv命令将⽂件重命名或将其移⾄⼀个新的⽬录中。
  • 当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,此时,源⽂件只能有⼀个(也可以是源⽬录),它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
  • 当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。

常⽤选项:

  • -f :force 强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖
  • -i:若⽬标⽂件(destination)已经存在时,就会询问是否覆盖!

举例:
更改名称:mv myfile.txt yourfile.txt
在这里插入图片描述

如果当前路径存在同名文件,改名即覆盖:mv yourfile.txt myfile.txt
在这里插入图片描述

如果当前路径存在同名文件,改名前可以添加 i 选项,让系统提出警告供用户做选择:mv -i yourfile.txt myfile.txt
在这里插入图片描述

移动文件:mv myfile.txt temp
在这里插入图片描述

移动目录:mv tmp tmp1
在这里插入图片描述

10、cat指令

语法: cat [选项] [文件]
功能: 查看⽬标⽂件的内容
常⽤选项:

  • -b 对⾮空输出⾏编号
  • -n 对输出的所有⾏编号
  • -s 不输出多⾏空⾏

举例:
命令行构建多行文本:cnt=0; while [ $cnt -le 10 ]; do echo "hello Linux"; let cnt++; done > temp.txt

查看文件内容:cat temp.txt
在这里插入图片描述

修改temp.txt,使其携带多行空行:vim temp.txt
先点击 i 进入编辑模式,编辑完成后点击Esc退出编辑模式,再输入:wq保存并退出。

测试 -b 对非空输出行编号:cat -b temp.txt
在这里插入图片描述

测试 -n 对输出的所有行编号:cat -n temp.txt
在这里插入图片描述

测试 -s 不输出多行空行,多行空行压缩成为⼀行:cat -s temp.txt
在这里插入图片描述

11、more指令

语法: more [选项]
功能: more命令,功能类似cat
常⽤选项:

  • -n 指定输出⾏数
  • q 退出more

举例:
命令行输出多行文本:cnt=0; while [ $cnt -le 2000 ]; do echo "hello Linux"; let cnt++; done > temp.txt

测试 -n 指定输出行数:more -10 temp.txt
在这里插入图片描述

12、less指令

  • less⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤。

  • less 的用法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻,只能往后⾯看。

  • 但若使用了 less 时,就可以使用 [pageup] [pagedown] 以及 上、下等按键的功能来往前往后翻看文件,更容易用来查看⼀个文件的内容。

  • 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。

语法: less [参数] 文件
功能: less与more类似,但使⽤less可以随意浏览⽂件,⽽more仅能向前移动,却不能向后移动,⽽且less在查看之前不会加载整个⽂件。

选项:

  • -i 忽略搜索时的⼤⼩写
  • -N 显⽰每⾏的⾏号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前⼀个搜索(与 / 或 ? 有关)
  • N:反向重复前⼀个搜索(与 / 或 ? 有关)
  • q:quit

举例:
命令行输出多行文本:cnt=0; while [ $cnt -le 2000 ]; do echo "hello Linux"; let cnt++; done > temp.txt

测试搜索功能:less -N temp.txt

13、head指令

head 与 tail 就像它的名字⼀样的浅显易懂,它是⽤来显⽰开头或结尾某个数量的⽂字区块,head ⽤来显⽰档案的开头⾄标准输出中,⽽ tail 想当然就是看档案的结尾。

语法: head [参数] [文件]
功能: head ⽤来显⽰档案的开头⾄标准输出中,默认head命令打印其相应⽂件的开头10⾏。
选项:

  • -n 打印的行数

举例:

默认打印文件前10行:head temp.txt
在这里插入图片描述

打印前5行:head -5 temp.txt
在这里插入图片描述

14、tail指令

tail 命令从指定点开始将⽂件写到标准输出。使⽤ tail 命令的 -f 选项可以⽅便的查阅正在改变的⽇志⽂件,tail -f filename会把 filename ⾥最尾部的内容显⽰在屏幕上,并且不断刷新,使你看到最新的⽂件内容。

语法: tail [参数] [文件]
功能: ⽤于显示指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。
选项:
• -f 循环读取
• -n 打印的⾏数

举例:

默认打印后10行:tail temp.txt
在这里插入图片描述

打印后5行:tail -5 temp.txt
在这里插入图片描述

如何显示文件的 [180,200] 行的内容:head -200 temp.txt | tail -20
在这里插入图片描述

15、date指令

指定格式显⽰时间: date +%Y:%m:%d
⽤法: date [OPTION] [+FORMAT]

在显⽰⽅⾯,使⽤者可以设定欲显⽰的格式,格式设定为⼀个加号后接数个标记,其中常⽤的标记列表如下:

  • %H:⼩时
  • %M:分钟
  • %S:秒
  • %X:相当于%H:%M:%S
  • %d:日
  • %m:⽉份
  • %Y:完整年份
  • %F:相当于 %Y-%m-%d

在设定时间⽅⾯:

  • date -s // 设置当前时间,只有root权限才能设置,其他只能查看。
  • date -s 20080523 // 设置成20080523,这样会把具体时间设置成当天的00:00:00
  • date -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″ // 这样可以设置全部时间

时间戳:

  • 时间->时间戳:date +%s
  • 时间戳->时间:date -d@1932342323
  • Unix时间戳(英⽂为Unix epoch,Unix time,POSIX time 或 Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

举例:
显示常规时间 :
date
date +%Y/%m/%d
date +%Y/%m/%d-%H:%M:%S

在这里插入图片描述

显示时间戳:date +%s
在这里插入图片描述

时间戳转成可视时间:date +%Y/%m/%d-%H:%M:%S -d @时间戳
在这里插入图片描述

http://www.dtcms.com/a/470227.html

相关文章:

  • 网站系统介绍如何设置wordpress的内存
  • 毕业设计做网站做不出网站建设手机端pc端分开
  • Git删除本地与远程tag操作指南
  • 爱网站推广优化wordpress第三方登录教程
  • 23种设计模式——享元模式(Flyweight Pattern)
  • 游戏编程模式-享元模式(Flyweight)
  • 新郑做网站优化桂林网站优化公司
  • B站排名优化:知识、娱乐、生活类内容的差异化实操策略
  • 闵行网站制作设计公司昆明哪些做网站建设的公司
  • Spring Boot 3.x核心特性与性能优化实战
  • 域名解析后多久打开网站建个人网站
  • 基于MATLAB的PIV(粒子图像测速) 实现方案
  • 北京市网站建设企业怎么自己开发一个app软件
  • 基于springboot的技术交流和分享平台的设计与实现
  • Spring Boot 处理JSON的方法
  • 在Gin项目中使用API接口文档Swagger
  • asp.net 4.0网站开发高级视频教程订阅号怎么做免费的视频网站吗
  • 重庆响应式网站制作没有后台的网站怎么做排名
  • ENSP Pro Lab笔记:配置STP/RSTP/MSTP(1)
  • ajax 效果网站中国室内装饰设计网
  • 5-流程控制语句
  • Dify实战:调试技巧深度解析
  • Linux下Mysql初始化如,密码如何查找
  • 2025知识管理平台深度测评:从工具进化为智能决策引擎
  • 网站后台开发教程jsp网站缓存在哪
  • 网站页面怎么做的好看百度在西安的公司叫什么
  • Python 打印1-100的素数
  • 创建子进程时的一些细节
  • STM32 EC11旋转编码器扫描读取
  • 如何对抗GPS欺骗式干扰之二:多天线阵列测向的识别原则和应用场景