【Linux】指令不迷路:零基础也能看懂的命令用法+场景化案例
本文针对零基础用户的Linux指令指南,详细介绍了核心指令及用法。内容涵盖文件和目录管理(如ls、pwd、cd、touch、mkdir等,含各指令选项及示例)、内容查看与搜索(如cat、more、less、grep等)、系统与权限管理相关指令(如date、cal、find、压缩打包指令等),还包括重要热键、用户分类及权限管理(文件访问者分类、权限类型、设置方法如chmod等),并配有图示辅助理解,
前言: 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 选项 文件 : less
与more
类似,但使⽤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
更多推荐
所有评论(0)