Linux基础指令(汇总)

文章目录

    • [1. ls指令](#1. ls指令)
    • [2. pwd指令](#2. pwd指令)
    • [3. cd指令](#3. cd指令)
    • [4. touch指令](#4. touch指令)
    • [5. mkdir指令](#5. mkdir指令)
    • [6. rmdir指令&&rm指令](#6. rmdir指令&&rm指令)
    • [7. man指令](#7. man指令)
    • [8. cp指令](#8. cp指令)
    • [8. mv指令](#8. mv指令)
    • [9. cat指令](#9. cat指令)
    • [10. more指令](#10. more指令)
    • [11. less指令](#11. less指令)
    • [12. head指令](#12. head指令)
    • [13. tail指令](#13. tail指令)
    • [14. date指令](#14. date指令)
    • [15. cal指令](#15. cal指令)
    • [16. find指令](#16. find指令)
    • [17. which指令](#17. which指令)
    • [18. whereis指令](#18. whereis指令)
    • [19. alias指令](#19. alias指令)
    • [20. grep指令](#20. grep指令)
    • [21. zip/unzip指令](#21. zip/unzip指令)
    • [22. tar指令](#22. tar指令)
    • 拓展部分

1. ls指令

语法: ls 选项 目录或者文件

功能:对于目录,该命令列出该目录下的所有子目录与文件, 对于文件, 将列出文件名以及其他信息。

默认列出当前目录。

常用选项:

bash 复制代码
 -a 列出目录下的所有文件, 包括以.开头的文件
 -d 将目录像文件一样显示, 而不是显示其下的文件
 -i 输出文件的i节点的索引信息。如ls -ai 指定文件
 -k 以k个字节的形式表示文件的大小。 ls -alk 指定文件
 -l 列出文件的详细信息。 ll
 -n 用数字的UID, GID代替名称
 -F 在每个文件名后附上一个字符以说明文件的类型, "*"表示可执行的普通文件; "/"表示目录; "@"表示符号链接; "|"表示FIFOs; "="表示套接字(sockets)。(目录类型识别)
 -r 对目录反向排序
 -t 以时间排序
 -s 在l文件后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
 -R 列出所有子目录下的文件(递归)
 -l 一行只输出一个文件

2. pwd指令

语法: pwd

功能:显示用户当前所在的目录

常用选项:

3. cd指令

Linux理论知识:路径的认识

• Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件

• 其中普通文件⼀定是目录树的叶子节点

• 目录可能是叶子(空目录),也可能是路上节点

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

• 绝对路径:⼀般从/开始,不依赖其他目录的定位文件的方式

• 相对路径:相对于当前用户所处目录,定位文件的路径方式

• 绝对路径⼀般不会随着用户的路径变化而丧失唯⼀性,⼀般在特定服务的配置文件中经常被使用

• 相对路径因为它的便捷性,⼀般在命令行中使用较多


语法:cd 目录名

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

4. touch指令

语法: touch 选项 文件

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

常用选项:

-a : change only the access time

-c : change only the modification time

  1. Access(访问):
    就是你有没有权限查看或使用这个文件,比如你能不能打开它。就像你不能进入一个房间,如果没有钥匙。如果你可以打开文件(读取),那就是你有访问权限。
  2. Modify(修改):
    指的是你可以改变文件里面的内容,比如写字、删除或者添加内容。想象一下,你可以进入房间并在里面搬家具或者更换装饰品,那就是修改。
  3. Change(变更):
    主要是指改变文件的属性,比如权限、所有者等。比如说,你把房间的钥匙换给了别人,这样其他人也能进来。这个做法不改变房间内部的东西,而是改变了谁能进来或者使用这个房间。

简单总结一下:

访问:能不能打开和查看。

修改:能不能改内容。

变更:改变谁能使用或文件的属性。

5. mkdir指令

语法:mkdir 选项 dirname

功能:在当前目录下创建一个名为"dirname"的目录。

常用选项:

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

sql 复制代码
# tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装 
# 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤法) 
# 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree (后⾯讲讲完vim,⼤家才能将⾃⼰添加
#到系统信任列表中,暂时普通⽤⼾⽆法使⽤sudo)

6. rmdir指令&&rm指令

rmdir和mkdir相对应,mkdir是建立目录, 而rmdir是删除命令

语法:rmdir -p dirName

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

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


当指定路径中有不为空的路径, 便无法删除


rm命令可以同时删除文件或者目录

语法:rm 选项 dirname/dir

使用对象:所有使用者

功能:删除文件或目录

常用选项:

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

-i 删除前逐一询问确定

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

删除普通文件

删除目录文件

删除前询问

删除目录前询问

递归强制删除非空目录

7. man指令

Linux的命令有很多参数, 我们不可能完全记住, 可以通过查看联机手册获取帮助

语法: man 选项 命令

常用选项:

-k 根据关键字搜索联机帮助

num 只在第num章节查找

-a 将所有章节的都显示出来,比如man printf它缺省从第一章开始搜索,知道就停止,用a选项,他会继续继续往后搜索直到所有章节搜索完毕,当按下q退出。

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

• 1是普通的命令

• 2是系统调⽤,如open,write之类的(通过这个,⾄少可以很⽅便的查到调⽤这个函数,需要加什么头⽂件)

• 3是库函数,如printf,fread4是特殊⽂件,也就是/dev下的各种设备⽂件

• 4略

• 5是指⽂件的格式,⽐如passwd,就会说明这个⽂件中各个字段的含义

• 6是给游戏留的,由各个游戏⾃⼰定义

• 7是附件还有⼀些变量,⽐如像environ这种全局变量在这⾥就有说明

• 8是系统管理⽤的命令,这些命令只能由root使⽤,如ifconfig

• 9略

printf也是一个指令, 3查看C库函数

8. cp指令

语法:cp 选项 选文件或者目录 目标文件或者目录

功能:复制文件或者目录

说明:

cp指令用于复制文件或者目录

如同时指定两个以上的文件或者目录, 且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中

常用选项:

-f 或 --force强制复制文件或目录, 不论目的文件或目录是否已经存在

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

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

cp普通文件

将多个文件拷贝到指定路径下

cp如果目标文件存在,就覆盖

递归强制拷贝整个目录


8. mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名,经常用来备份文件或者目录

语法:mv 选项 源文件或者目录 目标文件或者目录

功能:

  1. 视mv命令中的第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或者目录重命名为给定的目录文件名。
  3. 当第二个参数是已存在的目录名称时,源文件或者目录参数可以有多个,mv命令将个参数指定的源文件均移至目标文件中。

常用选项:

-f : force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i : 若目标文件已经存在,就会询问是否覆盖!

更改名称

如果当前路径存在同名文件,改名即覆盖

mv整个目录

将temp移动到上级目录

9. cat指令

语法:cat 选项 文件

功能:查看目标文件的内容

常用选项:

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

10. more指令

命令行输出多行文本

语法:more 选项

功能:more命令,类似于cat

常用选项:

-n 指定输出行数

q 退出more

指定行输出

11. less指令

  • less工具也是对文件或其它输出进行分页显示的工具, 应该说是linux正统查看文件内容的工具,功能及其强大
  • less用法比起more更加具有弹性,在more的时候,我们没有办法向前面翻,只能往后面看
  • 但若使用了less时,就可以使用[pageip][pagedown]等按键的功能来往前后翻看文件,更容易用来查看一个文件的内容
  • 除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜索,也可以向上搜索。

语法: less 参数 文件

功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less再查看之前不会加载整个文件

选项:

-i 忽略搜索时的大小写

-N 显示每行的行号

/字符串:向下搜索"字符串"的功能

?字符串:向上搜索"字符串"的功能

n:重复前一个搜索(与/或?有关)

N:反向重复前一个搜搜(与/或?有关)

q:quit退出

12. head指令

head与tail就像它的名字一样浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail就是看档案的结尾。

语法:head 参数 文件

功能:用来显示档案的开头至标准输出中, 默认head命令打印其相应文件的开头10行。

选项:-n 显示行数

13. tail指令

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

功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件。

选项: -f 循环读取

-n<⾏数> 显⽰⾏数

14. date指令

指定格式显示时间:date + %Y:%m:%d

用法: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-%d

  2. 在设定时间⽅⾯• 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″ //这样可以设置全部时间

  3. 时间戳

    • 时间->时间戳:date +%s

    • 时间戳->时间:date -d@1508749502

    • Unix时间戳(英⽂Unixepoch,Unixtime,POSIX time或Unix timestamp)是从1970年1⽉1⽇(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

15. cal指令

cal命令可以⽤来显⽰公历(阳历)⽇历。公历是现在国际通⽤的历法,⼜称格列历,通称阳历。"阳历"⼜名"太阳历",系以地球绕⾏太阳⼀周为⼀年,为西⽅各国所通⽤,故⼜名"西历"。

命令格式:cal 参数 年份

功能: ⽤于查看⽇历等时间信息,如只有⼀个参数,则表⽰年份(1-9999),如有两个参数,则表⽰⽉份和年份

常用选项:

-3 显⽰系统前⼀个⽉,当前⽉,下⼀个⽉的⽉历

-j 显⽰在当年中的第⼏天(⼀年⽇期按天算,从1⽉1号算起,默认显⽰当前⽉在⼀年中的天数)

-y 显示当前年份的日历

16. find指令

  • Linux下find指令在目录结构中搜索文件,并执行指定的操作。
  • Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
  • 即使系统中有网络文件系统(NFS),find命令在该文件系统中同样有效,只要你具有相应权限。
  • 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。

语法:find pathname -options

功能:⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)

常⽤选项

-name 按照文件名查找文件

其他选项需要在查,这个命令其实比较复杂

17. which指令

功能:搜索系统指定的命令

alias其实是给命令起别名

18. whereis指令

功能:用于找到程序的源,二进制文件或手册

19. alias指令

功能:设置命令的别名

20. grep指令

语法: grep 选项 搜索字符串 文件

功能:在⽂件中搜索字符串,将找到的⾏打印出来

常⽤选项:

-i 忽略大小写的不同,所以大小写视为相同

-n 顺便输出行号

-v 反向选择,亦即显⽰出没有 '搜寻字符串' 内容的那⼀⾏

21. zip/unzip指令

语法: zip压缩文件.zip目录或文件

功能:将目录或者文件压缩成zip格式

常用选项

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



关于 rzsz

这个⼯具⽤于windows机器和远端的Linux机器通过XShell传输⽂件.安装完毕之后可以通过拖拽的⽅式将⽂件上传过去.

22. tar指令

打包/解包,不打开它,直接看内容

语法: tar 选项 文件或目录

参数:

  • -c:建⽴⼀个压缩⽂件的参数指令(create的意思);
  • -x:解开⼀个压缩⽂件的参数指令!
  • -t:查看tarfile⾥⾯的⽂件!
  • -z:是否同时具有gzip的属性?亦即是否需要⽤gzip压缩?
  • -j:是否同时具有bzip2的属性?亦即是否需要⽤bzip2压缩?
  • v:压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!
  • -f:使⽤档名,请留意,f之后要⽴即接档名喔!不要再加参数!
  • -C:解压到指定⽬录


特别注意,在参数f之后的⽂件档名是⾃⼰取的,我们习惯上都⽤.tar来作为辨识。

如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile〜

拓展部分

相关推荐
凯子坚持 c1 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
✿ ༺ ོIT技术༻1 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
摸鱼也很难4 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
watermelonoops4 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
woshilys4 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛5 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程6 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
Michaelwubo7 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07137 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<7 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传