前言: Linux操作系统的指令篇,Linux举出指令是Linux操作系统的核心工具,能帮助完成从文件管理到系统监控的各种基础任务,对于日常使用、开发或运维都至关重要。

文件和目录相关指令:

ls:列出该目录下的所有子目录与文件

语法:ls 选项 目录或文件

ls -l :列出文件的详细信息

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

在这里插入图片描述

ls 和其他的常用选项:

-d 将目录像文件⼀样显示,而不是显示其下的文件。
-i 输出⽂件的 i 节点的索引信息。
-k 以k字节的形式表⽰⽂件的⼤⼩。
-n ⽤数字的UID,GID代替名称。
-F 在每个⽂件名后附上⼀个字符以说明该⽂件的类型
-r 对⽬录反向排序
-t 以时间排序
-s 在l⽂件名后输出该⽂件的⼤⼩。
-R 列出所有⼦⽬录下的⽂件。(递归)
-1 一⾏只输出⼀个⽂件。

【注】 ls后面可以跟几个常用选项一起,比如:ls -al

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

在这里插入图片描述

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

首先要认识一些关于目录的相关知识:磁盘上的文件和目录组成一棵目录树,把根目录root当成根节点,其余的每个节点都是目录或文件。目录可能是叶子(空目录),也可能是节点。
绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式
相对路径:相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式

  • cd ~: 返回到用户目录
  • cd … : 返回上级目录
  • cd directory : 进入指定目录(该方式是相对路径)
  • cd - 返回最近目录
    在这里插入图片描述

touch 选项 文件名 :更改文档或目录的日期时间,或新建一个不存在的文件

  • -a : 改变文件内容最后一次被读取的时间
  • -c :改变文件内容最后一次被修改的时间

创建一个新文件:

在这里插入图片描述

-a选项和-c选项效果:

在这里插入图片描述

【注】-c选项改的是整个文件的属性,所以三个都会变。

mkdir 选项 dirname :在当前目录下创建一个名为“diename”的目录

  • -p : 一个路径的名称。若该路径目录尚未存在,加此选项系统会自动建立好那些尚不存在的目录,简单来说就是一次可以建立多个目录。

【注】该选项可加可不加,不加就是创建一个目录
效果图:

在这里插入图片描述

rmdir 选项(-p) dirname : 与mkdir对应的一个命令,功能是删除空目录

  • -p : 子目录删除后,父目录是空目录的话,连带父目录也删除

rm 选项 dirname/dir : 删除文件或命令

  • -f : 即使是只读文件也直接删除
  • -i : 删除时逐一询问确认
  • -r : 删除目录及其下面的所有文件

【注】以上的选项可以组合使用,如 rm -rf

在这里插入图片描述

cp 选项 源文件或目录名 目标文件或目录 : 复制文件或目录

  • -f : 强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在
  • -i : 覆盖⽂件之前先询问⽤⼾
  • -r : 递归处理,将指定⽬录下的⽂件与⼦⽬录一并处理

常用的命令:

  • cp src(源文件或目录) dst(目标文件或目录)
  • cp -rf src_dir dst_dir : 按树状给拷贝目录
  • cp src dst_dir/newname : 拷贝并修改名称

mv 选项 源文件或目录 目标文件或目录 :用来移动文件或将文件改名

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

常用的命令:

  • mv src(源文件或目录) dst(目标文件或目录)
  • mv src newname :对源文件或目录进行重命名

内容查看与搜索相关指令:

cat 选项 文件 : 查看目标文件内容

  • -b : 对⾮空输出⾏编号,空⾏不做编号
  • -n : 对输出的所有行进行编号
  • -s : 不输出多行空行

echo 向显示器写入,向指定文件写入–>重定向操作,文件不存在就创建

  • echo “aaa”>文件名:清空文件内容再写入
  • echo “aaaa”>>文件名:追加重定向
    【注】这部分内容后面章节会更加详细介绍

在这里插入图片描述

more 选项 文件: 功能类似 cat,但更适合查看内容较长的文件,可按页显示内容,避免信息一次性刷屏

  • -n:指定输出行数
  • q: 退出more

less 选项 文件 : lessmore类似,但使⽤less可以随意浏览文件,支持向前 / 向后翻页、搜索等高级操作,而more仅能向前移动

  • -i: 忽略搜索时的大小写
  • -N: 显示每行的行号
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前⼀个搜索(与/或?有关)
  • N:反向重复前一个搜索(与/或?有关)
  • q:退出

在这里插入图片描述

【注】更多功能得去试试才行,不多展示。

head/tail指令: head用来显示档案的开头⾄标准输出中,而tail就是看档案的结尾

head 选项 文件名

  • -n : 显示行数

tail 选项 文件名

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

在这里插入图片描述

【注】对于大文件的浏览有用,查看日志等。

grep 选项 " 字符 " 文件 : 在文件中搜索字符串,将找到的行打印出来

  • -i :忽略大小写
  • -n:顺便输出行号
  • -v:反向选择,即显示出没有" 字符 "内容的那一行

系统与权限管理相关指令:

date :显示时间

显示方面,设定指定格式,格式设定为一个加号后接数个标记,常用标记如下:

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

介绍:时间戳是一个用于标识某一事件发生的具体时间的数字或字符串,常指Unix时间戳,即从协调世界时(UTC)1970 年 1 月 1 日 0 时 0 分 0 秒(也称为 “Unix 纪元”)起至某一时刻的总秒数(不包含闰秒)。

cal 选项 年份: 用来显示公历(阳历)日历,如只有一个参数,表示年份(1-9999),如有两个参数,表示月份和年份

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

在这里插入图片描述

find 路径 选项: 用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)

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

which 指令: 搜索系统指定的命令

whereis 指令: 用于找到程序的源、二进制文件或手册

在这里插入图片描述

uname 选项 : 压缩与打包相关指令:用来获取电脑和操作系统的相关信息

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

lsb_release-a:查看操作系统版本(该指令是单独的指令)

zip 压缩文件.zip 目录或文件:将⽬录或⽂件压缩成zip格式

unzip 选项 压缩文件名.zip 目标目录: 解压文件

  • -r:递归处理,将指定目录下的所有文件和子目录一并处理
  • -d:指定解压目录
  • -l :列出压缩包内的文件和目录结构

在这里插入图片描述

tar 选项 文件与目录: 打包/解包,不打开它,直接看内容

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

在这里插入图片描述

【注】还有其他的案例,如:

  • tar -zcvf /root/tmp.tar.gz /root/tmp (路径写自己的) :打包后以gzip压缩
  • tar -jcvf /root/tmp.tar.bz2 /root/tmp (路径写自己的):打包后以bzip压缩
  • tar tar -zcvf /root/tmp.tar.gz :查阅该压缩文件内有哪些文件
  • tar -zcvf /root/tmp.tar.gz :把该文件压缩到当前路径下

重要的几个热键:

  • Tab键:具有命令补全和档案补齐的功能
  • Ctrl+c:把当前程序/进程杀掉
  • Ctrl+d:键盘输入结束;也可用来取代exit

Linux权限的概念:

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

  • 超级用户::可以在linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
    切换用户:su 用户名
    要从普通用户切换回root用户:
  • su root(root可以省略),然后输入root的密码
  • Ctrl+D

Linux权限管理:

文件访问者的分类:
  • 文件和目录的所有者:u–user
  • 文件和文件目录的所有者所在的组的用户:g–Group
  • 其他用户:o–others
文件类型和访问权限:
文件类型:
  • d:文件夹
  • -:普通文件
  • l:软连接(类似于快捷方式)
  • b:块设备文件(硬件)
  • p:管道文件
  • c:字符设备文件
  • s:套接口文件

基本权限:

  • 读(r–read):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • 写(w–write)::Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 执行(x–execute):execute对文件而言,具有执行文件的权限;对目录来说,具有进入文件的权限
  • “—”:表示不具有该项权限

在这里插入图片描述

文件访问权限的相关设置的方法:
chmod:

(1) chmod 选项 用户名 文件名 : 设置文件的访问权限

  • R :递归修改目录文件的权限(只有文件的拥有者和root可以改变文件的权限)

(2) chmod命令的权值格式:用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

(3)用户符号

  • u:拥有者
  • g:拥有者同组
  • o:其他用户
  • a:所有用户
chown:

(1)chown 选项 用户名 文件名:修改文件的拥有者(其他的内容同chmod)

chgrp:

(1)chgrp 选项 用户组名 文件名 :修改文件或目录的所属组(其他内容同上)

umask 权限值(八进制):

(1)功能:

  • 查看或修改文件掩码
  • 新建文件夹默认权限=0666
  • 新建目录默认权限=0777
  • 但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是:mask& ~umask
    【注】:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002
Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐