Linux的常用指令

文章目录

前言

一位真正的man,不仅会使用高级语言编程,还要能够熟练地使用Linux。当然,对我而言Linux还是像暗流涌动、深不可测的太平洋。希望接下来的日子能够解开LInux神秘的面纱。那么接下来文章中所使用的LInux版本为centOS 7.9.xxx

ls指令

语法:ls 选项目录或文件

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

常用选项:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls --d 指定目录
  • -l 列出文件的详细信息。
  • -F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。(目录类型识别)
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。
  • -R 列出所有子目录下的文件。(递归)

多个选项可以一同使用,语法上不分先后,如要使用-a -l选项可以:ls -la或者ls -al

ls使用效果如下:

ls -a使用效果如下:

可以看到我在同一个目录下用ls和ls -a得到的结果不一样,ls -a可以看到一些隐藏文件。而且经过观察可以发现,这些隐藏文件都是由 . 开头的。

尤其注意.和...这两个文件是什么意思。"."代表当前目录、"..."代表上一级目录。

并且,以后如果我们想要隐藏一些文件名,就可以使用.开头的命名方式。

pwd

语法:pwd

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

能够帮助在目录里迷路的小伙伴找到自己的位置哦,就跟导航一样呢!!

cd

语法:cd 目录名

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

后面的目录名,既能用绝对路径也可以用相对路径。

  • 所谓绝对路径是指以根目录"/"开始的到所在目录的路径,例如到root/目录的绝对路径为:/root/或者/root
  • 相对路径就是以.或者...开头表示的路径,如在/root中根目录的相对路径为: . 或者 ./
  • 还有就是 cd - 能够进入刚刚所在的目录。
  • cd~ 返回家目录

注意这里提到的家目录的概念。首先我们得清楚,LInux是一个多用户的操作系统,对于每个用户都有其专属的目录,这个目录称为家目录。对于root用户来说,其家目录为/root

touch

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

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

常用选项:

  • -a 或--time=atime或--time=access或--time=use只更改存取时间。
  • -d 使用指定的日期时间,而非现在的时间。

mkdir

语法:mkdir 选项 dirname...

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

常用选项:

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

rmdir&&rm

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

语法:rmdir -pdirName

功能:删除空目录

常用选项:

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

可以发现,rmdir只能删除空目录,对于删除来说局限性还是很强的。也就是我们还需要一个既可以删除目录又可以删除文件的指令:
rm命令可以同时删除文件或目录

语法:rm -f-i-r-vdirName/dir

功能:删除文件或目录

常用选项:

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

man

学习了前面的指令,我们知道一个指令会对应较多的选项,这么多的选项我们真的能记下来吗?

我们每个人的记忆能力都是有限的,毕竟不是谁都是过目不忘的。

那么接下来这个指令能够帮我们查阅一个指令怎么使用:

语法:man 选项 命令

功能:通过查看联机手册获取帮助。

常用选项:

  • num 只在第num章节找
  • -k 根据关键字搜索联机帮助
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

关于man的章节有8页:

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

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

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

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

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

以上常用的页数其实也就是1、2而已。

cp

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

功能:复制文件或目录

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

常用选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

mv

前面我们学习了怎么创建、赋值、进入一个文件:

接下来就是学习如何移动一个文件:

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

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

功能:

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

常用选项:

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

cat

语法:cat 选项文件

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

常用选项:

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

如果用tac则倒着查看目标文件内容。

例:

log.txt文件内容为:

I love Linux very much!

hello Linux

输入cat -n log.txt

输入tac log.txt

more

语法:more 选项文件

功能:类似于cat,不过可以翻页(不能往前翻页)

常用选项:

  • -n 对输出的所有行编号
  • q 退出more

less

语法: less 参数 文件

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

常用选项:

  • -i 忽略搜索时的大小写
  • -N 显示每行的行号
  • q:quit

学习了前面的cat、more和less指令,我们知道less的指令更为强大,事实上我们也更常用的是less指令。

语法:head 参数... 文件...

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

tail

语法: tail必要参数选择参数文件

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

常用选项:

  • -f 循环读取
  • -n<行数> 显示行数

有了head、tail指令我们就可以查看一个文件的前面和后面的内容,那有没有指令可查看中间的内容呢?就我目前而言还未掌握这样的指令。不过我们可以利用head、less以及==管道"|"==实现这个功能。

关于"|","|"前的数据会传输给"|"后的数据,那么如果我们想要查看一个big.txt文件的7000到8000行就可以这么操作:head -8000 big.txt | tail -1001

对了,如果屏幕上输出了这么多数据看的眼花撩乱那么我们还可以使用clear指令来清理屏幕哦!

date

语法: date OPTION... +FORMAT

格式:

  • %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

例如:date +%F_%X

以及可以打印时间戳,格式为%s

将时间戳转为时间:date -d@时间戳

所谓时间戳,即 Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

  • 注意:我们这里时间戳0对应的不是1970年1月1日00:00:00哦,而是1970年1月1日08:00:00即北京时间。

cal

语法:cal 参数月份年份

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

常用选项:

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y 显示当前年份的日历

例如:cal -3

find

语法:find pathname -options

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

常用选项:

  • -name 按照文件名查找文件。

提到查找文件,那么就不得不提到通配符"*"

通配符可以使用它来代替一个或多个真正字符,例如:b*.txt就是以b开头.txt结尾的文件。

grep

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

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

常用选项:

  • -i :忽略大小写的不同,所以大小写视为相同
  • -n :顺便输出行号
  • -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

zip/unzip

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

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

常用选项:

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

tar

tar是一个兼具压缩和解压功能的指令。

语法:tar -cxtzjvf 文件与目录

常用选项:

  • -c :建立一个压缩文件的参数指令(create 的意思)
  • -x :解开一个压缩文件的参数指令
  • -t :查看 tarfile 里面的文件
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数
  • -C : 解压到指定目录

bc

bc指令就是Linux的一个内置计算器

uname

语法:uname 选项

功能:uname用来获取电脑和操作系统的相关信息。

常用选项:

  • -a或--all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称

热键

提完了上面的常用指令,现在来谈谈LInux中的热键:

ctrl + insert :复制

shift + insert :黏贴

tab :命令补全和档案补齐

ctrl + c :让当前的程序停掉

ctrl + r :查找曾输入的指令

ctrl + d :键盘输入结束(End Of File, EOF 戒 End OfInput)的意思,另外还可以用来代表exit.

也就是说,我们既有man,也有tab还有ctrl r等功能来帮我们记忆和使用指令。所以学习Linux的时候,并不用担心指令记不住哦!

那么以上就是本篇的所有内容了,由于常用指令确实太多,所以篇幅较长,希望能够耐性阅读哦!

相关推荐
木古古181 小时前
搞一个高效的c/c++开发环境,工具VIm+自研vim插件+Shell脚本
linux·编辑器·vim
茫忙然1 小时前
U 盘搭建免驱 Linux 便携系统教程
linux·服务器
一起逃去看海吧3 小时前
dify-03
java·linux·开发语言
fengyehongWorld3 小时前
Linux 根据端口进行的相关查询
linux
lihao lihao3 小时前
linux匿名管道
linux·运维·服务器
うちは止水3 小时前
weston出图调试
linux·wayland·weston
STDD3 小时前
Farming Simulator 25(模拟农场 25) Linux 专服搭建完全指南
linux·运维·javascript
好好风格3 小时前
宝塔面板 HTTPS 端口证书不生效排查记录
linux·运维·nginx
用户2367829801684 小时前
Linux pgrep 命令详解:按名称查找进程 PID 的高效方法
linux