Linux 基本指令大全

ls 指令

语法:ls 选项 目录或文件

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

常用选项:

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

  2. -d 将目录像文件一样显示,而不是显示其下的文件。如:ls - d 指定目录。

  3. -i 输出文件的 i 节点的索引信息。如 ls - ai 指定文件。

  4. -k 以k字节的形式表示文件的大小。如 ls - alk 指定文件。

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

  6. -n 用数字的 UID(User ID 用户编号;root 的 UID=0),GID(Group ID 用户组编号)代替名称 。

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

  8. -r 对目录方向排序。

  9. -t 以时间排序。

  10. -s 在l文件名后输出该文件的大小。(大小排序,任何找到目录下最大的文件)

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

  12. -l 一行只输出一个文件。

pwd 命令

语法:pwd

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

cd 指令

语法:cd 目录名

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

Linux 理论知识:路径的认识

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

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

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

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

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

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

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

touch 指令

语法:touch 选项 文件

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

常用选型:

  1. -a 只更新访问时间

  2. -m 只更新内容修改时间

  3. -c 文件不存在就不创建,存在则更新时间

mkdir 指令

语法:mkdir 选项 dirname

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

常用选型:

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

**注意:**tree 命令是一个递归以树状结构显示指定目的命令,如果没有安装

如果当前用户是root:yum install -y tree (运行这行指令会自动下载)

如果当前用户是普通用户:sudo yum install -y tree (运行这行指令会自动下载)

rmdir 指令

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

语法:rmdir -p dirName

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

**功能:**删除目录

常用选项:

  1. -p 当子目录被删除后,如果父目录也变成空目录的话,就连带父目录一起删除;指定目录中有不为空的目录,边无法删除。

rm 指令

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

语法:rm 选项 dirName / dir

**适用对象:**所以使用者

**功能:**删除文件或目录

常用选项:

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

  2. -i 删除前逐一询问确定

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

man 指令

语法:man 选项 命令

常用选项:

  1. -k 根据关键字搜索联机帮忙

  2. num 只在第num 章节查找

  3. -a 将所有章节的都显示出来,比如 man printf 它缺省从第1章开始搜索,默认执行 man printf man会从第1章开始一次查找,一旦找到第1章的printf,直接展示,不再往后找,看不到第3章的printf;加上 -a(man -a printf)就会全部章节挨个展示,先弹出第1章的printf手册,你看完按 q键退出当前页面,不会直接结束, 会自动继续查找下一个章节(第3章),弹出第3章的printf,没看完一章按 q键退出,持续循环,所有存在该名字的章节全部看完,才会彻底退出。

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

章节1 用户指令:普通用户可执行的 shell 命令(如:ls, cp, mkdir)

章节2系统调用:内核提供的接口,用户态陷入内核的函数,可查看头文件,参数,返回值(如:open,write,read)

章节3 库函数:C标准库 / 共享库函数,封装了系统调用,不属于内核(如:printf,fread,malloc)

章节4特殊文件:/dev目录下设备文件,驱动相关(如:/dev/null,/dev/tty)

章节5 文件格式:配置文件的语法,字段含义(如:/etc/passwd,/etc/fstab)

章节6 游戏:早期 Unix 小游戏,现代系统基本废弃(如:老式字符游戏)

章节7杂项:宏,全局变量,协议,概念说明,无函数/命令(如:environ 全局变量,signal,regex)

章节8系统管理命令:系统运维命令,大多需要 root 权限(如:ifconfig,mount,iptables)

章节9 内核例程:内核内部函数,供内核开发人员查阅,普通用户基本不用(如:内核源码函数)

cp 指令

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

**功能:**复制文件或目录

说明:

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

常用选项:

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

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

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

mv 指令

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

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

功能:

  1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其一至一个新的目录中。

  2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

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

  2. -i:若目标文件已将存在时,就会询问是否覆盖

cat 指令

语法:cat 选项 文件

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

常用选型:

  1. -b 对非空输出行编号,空行不做编号

  2. -n 对输出的所有行编号(包括空行)

  3. -s 压缩多行连续空行,只保留1个空行

more 指令

语法:more 选项

**功能:**分页显示文本内容,适合查看大文件或很长的命令输出,不会一行全部刷屏。和 cat指令一次性输出全部内容不同,more指令一屏一屏展示。

常用选项:

  1. -n 指定输出行数

  2. q 退出more指令

less 指令

^ less 工具也是对文件或其他输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能及其强大。

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

^ 若使用了 less 时,就可以使用 pageup⬆️ pagedown⬇️等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。

语法:less 选项 文件

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

常用选项:

  1. -i :忽略搜索时的大小写

  2. -N: 显示每行的行号

  3. /字符串:代表往下搜, 往文件后面、屏幕下方找(如:/hello,回车,从当前光标位置,向后找 hello。找到后光标跳到匹配处。)

  4. ?字符串 :代表往上搜,往文件开头、屏幕上方找(如:?hello,回车,从当前光标位置,向前找 hello。)

  5. n: 重复前一个搜索(与 / 或 ?有关)。如果刚才用 / 向下搜的,按 n → 继续往下 找下一个匹配;如果刚才用 ? 向上搜的,按 n → 继续往上找下一个匹配。

  6. N :反向重复前一个搜索,和上一次搜索方向相反(与 / 或 ?有关)。如果刚才 / 向下搜,按 N → 回头向上 找上一个;如果刚才 ? 向上搜,按 N → 回头向下找下一个。

  7. q;quit

head 指令

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

语法:head 选项 文件

常用选项:

  1. -n <行数> 显示的行数

tail 指令

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

语法:tail 选项 文件

**功能:**用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件

常用选项:

  1. -f 循环读取

  2. -n <行数> 显示行数

date 指令

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

用法:date OPTION +FORMAT

在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,常用标记:

  1. %H:小时

  2. %M:分钟

  3. %S:秒

  4. %X:相当于 %H:%M:%S

  5. %d:日

  6. %m:月

  7. %Y:完整月份

  8. %F:相当于 %Y-%m-%d

在设定时间方面:

  1. date -s :设置当前时间,只有 root 权限才能设置,其他只能查看

  2. date -s 20060121,这条命令只给了年月日,没有给几点几分几秒,系统不知道你要几点,就默认把时分秒设为 00:00:00

  3. date -s "01:01:01 2008-05-23″ :这样可以设置全部时间

  4. date -s "01:01:01 20080523″ :这样可以设置全部时间

  5. date -s "2008-05-23 01:01:01″ :这样可以设置全部时间

  6. date -s "20080523 01:01:01″ :这样可以设置全部时间

时间戳:

  1. 时间 -> 时间戳:date + %s

  2. 时间戳 -> 时间:date -d@1508749502

  3. Unix 时间戳是从 1970 年 1 月 1 日开始所经过的秒数,不考虑闰秒

cal 指令

cal 指令可以用来显示公历日历。公历是现在国际通用的历法,又称格列历,通称阳历。"阳历"又名"太阳历",系以地球绕行太阳一周为一年,为西方各国所通用,故又名"西历"。

命名格式:cal 选项 年份

**功能:**用于查看日历等时间信息,如只有一个参数,则表示年份,如有两个参数,则表示月份和年份

常用选项:

  1. -3 显示系统前一个月,当前月,下一个月的月历

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

  3. -y 显示当前年份的日历

find 指令

语法:find pathname -options

**功能:**用于在文件树中查找文件,并做出相应的处理(可能访问磁盘)

常用选项:

  1. -name 按照文件名查找文件

  2. -type 按文件类型查找(f:普通文件;d:目录;l:软链接)

  3. -size 按大小

  4. -mtime 按时间

which 指令

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

whereis 指令

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

alias 指令

功能:设置命令的别名

grep 指令

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

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

常用选项:

  1. -i:忽略大小写的不同,将大小写视为相同

  2. -n:顺便输出行号

  3. -v:反向选择,亦即显示出没有 "搜索字符串" 内容的那一行

zip / unzip 指令

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

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

常用选项:

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

tar 指令

语法:tar 选项 文件与目录

常用选项:

  1. -c:建立一个压缩文件的参数指令

  2. -x:解开一个压缩文件的参数指令

  3. -t:查看 terfile 里面的文件

  4. -z:是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

  5. -j:是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

  6. -v:压缩的过程显示文件!这个常用,但不建议用在背景执行过程!

  7. -f:使用档名,请留意,在 f 之后要立即接挡位喔!不要在加参数!

  8. -C:解压到指定目录

bc 指令

bc = Basic Calculator ,任意精度计算器语言,Linux 下常用,直接浮点数,高精度计算,进制转换,Shell 脚本里做小数运算很常用。

语法:选项 文件

常用选项:

  1. -l:加载数学库(三角函数,ln,e等),默认 scale = 20

  2. -q:静默模式,不输出版本版权信息

  3. -i:强制交互模式

  4. -v:输出版本

重要的几个热键 Tab , Ctrl - c, Ctrl -d

  1. Tan 按键:具有命令补全和档案补齐的功能

  2. Ctrl -c 按键:让当前的程序停顿

  3. Ctrl -d 按键:通常代表着:键盘输入结束的意思:另外也可以用来取代 exit

关机

语法:shutdown 选项

常见选项:

  1. -h:将系统的服务停掉后,立即关机

  2. -r:在将系统的服务停掉之后就重新启动

  3. -t sec:-t 后面加秒数,亦即过几秒后关机的意思

以下命令作为扩展

安装和登录命令: login,shutdown,halt,reboot,install,mount,umount,chsh,exit,last;

文件处理命令: file,mkdir,grep,dd,find,mv,ls,diff,cat,ln;

系统管理相关命令: df,top,free,quota,at,lp,adduser,groupadd,kill,crontab;

网络操作命令: ifconfig,ip,ping,netstat,telnet,ftp,route,rlogin,rcp,finger,mail,nslookup;

其他命令: tar,unzip,gunzip,unarj,mtool,man,unendcode,uudecode。

Shell 命令以及运行原理

Linux 严格意义上说的是一个操作系统,我们称之为 "核心(kernel)",但我们一般用户,不能直接使用kernel。而是同 kernel 的 "外壳" 程序,也就是所谓的 shell,来与 kernel 沟通。如何理解,为什么不能直接使用 kernel?

从技术角度,Shell 的最简单定义:命令行解释器主要包含:

  1. 将使用者的命令翻译给核心(kernel)处理

  2. 同时,将核心的处理结果翻译给使用者

对比 windows GUI,我们操作 windows 不是直接操作 windows 内核,而是通过图形接口,点击,从而完成我们的操作

Linux 权限的概念

Linux 下有两种用户:超级用户(root),普通用户

**^ 超级用户:**可以在 linux 系统下做任何事情,不受限制

**^ 普通用户:**在 linux 下做有限的事情

^ 超级用户的命令提示符是 " # ",普通用户的命令提示符是 " $ "

语法:su 用户名

**功能:**切换用户

例如:要从 root 用户切换到普通用户 user,则使用 su user;用从普通用户user切换到 root 用户则使用 su root(root可以省略),此时系统会提示输入 root 用户的口令。

相关推荐
拂拉氏2 小时前
【知识讲解】 Linux动静态链接认识
linux·动静态链接
做运维的阿瑞3 小时前
利用GitHub配置镜像加速,解决 Docker镜像拉取问题
运维·docker·容器·github
Huangjin007_3 小时前
【Linux 系统篇(二十八)】文件(五):Ext 系列文件系统(下):Ext2块组结构,inode与文件寻址原理
linux·运维·服务器
javachen__3 小时前
JsonView:一套VO实现多角色字段返回
java·linux·服务器
睡一觉就好了。3 小时前
TcpSocket
linux
小陈运维3 小时前
使用kubeadm初始化IPV4/IPV6集群
linux·docker·云原生·容器·kubernetes
东风微鸣3 小时前
精简 Ubuntu Linux 固件包:每个 N100 节点省下约 450 MB
linux·ubuntu·postgresql
snhna3 小时前
Agent 上云部署实战(上):从 GitHub 到 Linux,用 Dify 跑通中间件、域名和 HTTPS
linux·中间件
Pniubi4 小时前
基于openclaw开发skill与自研agent中的skill开发区别
服务器·agent·skill·openclaw·龙虾