基础命令
ls:显示指定工作目录下的内容
ls语法:ls [参数] [file]
作用:命令用于显示指定工作目录下的内容
参数:
-l
:以长格式显示当前目录中的文件和目录
-a
:显示当前目录中的所有文件和目录,包括隐藏文件
-lh
:以人类可读的方式显示当前目录中的文件和目录大小
-t
:按照修改时间排序显示当前目录中的文件和目录
-R
:递归显示当前目录中的所有文件和子目录
-l /etc/passwd
:显示/etc/passwd文件的详细信息
例:
ls
ls -l
lrwxrwxrwx列
:文件属性和权限
1 列
:连接数
root列
:文件目录拥有者
root 列
:文件拥有者所在组
7 列
:文件大小
Mar18 03:54 列
:最近访问文件时间
bin -> usr/bin
:文件名称
cd:进出各种文件夹
cd语法:cd /路径名/
作用:用来进出各种文件夹
参数:
cd /path/to/directory
:指定完整的目录路径来切换到目标目录
cd relative/path/to/directory
:指定相对于当前目录的路径来切换到目标目录
cd ..
:切到上级目录
cd ~
:直接传送到主目录
cd -
:切换到上次访问的目录
例:
man:查看各种命令、函数和配置文件的手册页面
man语法:man [参数] [节号] 命令/主题
作用:用于查看各种命令、函数和配置文件的手册页面
参数:
-f
:显示与指定关键字相关的手册页面。
-k
:搜索手册页中与关键字匹配的条目。
-a
:显示所有匹配的手册页面。
-w
:仅显示手册页的位置,而不显示其内容
例:
man w
w:查询用户相关详细
w语法:w [参数] [user]
作用:查询用户相关详细
参数:
-h
:不显示打印标题头部信息
-f
:隐藏FROM
字段
-o
:使用旧样式输出
-s
:使用短样式输出
-i
:显示用户IP地址
例:
w
04:34:41
——当前系统时间
up 31 main
—— 系统运行时长
1 users
—— 登录用户数
load average: 0.00, 0.01, 0.01
—— 系统过去1,5,15分钟的平均负载信息。平均系统负载是对当前正在运行或正在等待磁盘I/O的作业数的度量。 它基本上告诉您系统在给定间隔内的繁忙程度
pwd:显示从根目录到目前目录的路径
pwd语法:pwd
作用:显示从/到目标位置的完整描述
vi/vim:编辑文本
vi/vim语法: vi [file]
作用:编辑文本
i
:切换到输入模式,在光标当前位置开始输入文本。
x
: 删除当前光标所在处的字符。
:
:切换到底线命令模式,以在最底一行输入命令。
a
: 进入插入模式,在光标下一个位置开始输入文本。
o(小写)
:在当前行的下方插入一个新行,并进入插入模式。
O(大写)
:在当前行的上方插入一个新行,并进入插入模式。
dd
: 剪切当前行。
yy
:复制当前行。
p(小写)
: 粘贴剪贴板内容到光标下方。
P(大写)
:粘贴剪贴板内容到光标上方。
u
: 撤销上一次操作。
Ctrl + r
: 重做上一次撤销的操作。
:w
: 保存文件。
:q
: 退出 Vim 编辑器。
:q!
: 强制退出Vim 编辑器,不保存修改。
cat:输出文件内容
语法:cat [参数] [file]
作用:命令用于连接文件并打印到标准输出设备上。
-b
再内容前显示行数
例:显示koniaoer1中的内容
file :辨识文件类型
file语法:file [file]
作用:辨识文件类型
参数:
-b
列出辨识结果时,不显示文件名称
-c
详细显示指令执行过程,便于排错或分析程序执行的情形
-f<名称文件>
指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称
-m
<魔法数字文件> 指定魔法数字文件
-v
显示版本信息
-z
尝试去解读压缩文件的内容
[文件或目录...]
要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件
例:
mkdir:创建一个新的目录
mkdir语法:mkdir [file]
作用:创建一个新的目录
例:
Linux第二讲:如何区分不同文件-口鸟人 (koniaoer.top)
touch:修改文件时间戳或创建新文件
语法:touch [参数] [file]
作用:命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
参数:
a: 改变档案的读取时间记录。
m: 改变档案的修改时间记录。
c :假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f :不使用,是为了与其他 unix 系统的相容性而保留。
r :使用参考档的时间记录,与 --file 的效果一样。
d: 设定时间与日期,可以使用各种不同的格式。
t :设定档案的时间记录,格式与 date 指令相同。
no-create :不会建立新档案。
例:更改koniaoer2时间戳,创建koniaoer3
rmdir:删除一个空的目录
rmdir语法:rmdir [file]
作用:删除一个空的目录
例:
cp: 复制文件或目录
cp语法: cp [参数] [file] [file]
作用: 复制文件或目录
参数:
-a
:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容
-d
:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式
-r
:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项
-i
:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖
-u
:仅复制源文件中更新时间较新的文件
-v
:显示详细的复制过程
-p
:保留源文件的权限、所有者和时间戳信息。
-f
:强制复制,即使目标文件已存在也会覆盖,而且不给出提示
-l
:不复制文件,只是生成链接文件
例:
rm:移除文件或目录
rm语法:rm [file]
作用:移除文件或目录
参数:
-i
:删除前逐一询问确认
-f
:即使原档案属性设为只读,亦直接删除,无需逐一确认
-r
:将目录及以下之档案亦逐一删除
例:
mv:移动文件与目录,或修改文件与目录的名称
mv语法: mv [参数] [file] [file]
作用:移动文件与目录,或修改文件与目录的名称
参数:
-b
: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
-i
: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作
-f
: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件
-n
: 不要覆盖任何已存在的文件或目录
-u
:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
例:
移动修改
history 显示历史命令
语法:history [参数]
参数:
-c:清空历史命令记录。
-a:将当前会话中执行的命令追加到历史命令记录中。
-w:将历史命令记录写入历史命令文件(默认为~/.bash_history)。
-r:读取历史命令文件中的命令记录,并将其添加到当前命令历史记录中。
-n:显示最近的N条历史命令。
-p:显示以指定字符串开头的历史命令。
-s:将指定的字符串添加到命令历史记录中。
调用历史记录命令 ![命令行数]
权限管理
1.通过ls -l对文件所有信息进行查询 使用资源的用户分4类
管理员用户——root
我自己的账户——user——u
自己账户所在的组——group ——g
其他人——other ——o
2.文件的权限用rwx描述
r——读权限——4
w——写权限——2
x——执行权限——1
一共8种组合:0、1、2、3、4、5、6、7 (八进制)
3.任何一个文件的产生都有一个基础的权限
文件的权限的最高值:6
目录文件的权限的最高值就是:7
4.chmod更改用户对文件权限
chmod [参数] [权限] [file]
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
5. chgrp 变更文件或目录的所属群组(chown有相同的用法)
chgrp [group] [file]
-c 或 --changes:效果类似"-v"参数,但仅回报更改的部分。
-f 或 --quiet 或 --silent: 不显示错误信息。
-h 或 --no-dereference: 只对符号连接的文件作修改,而不改动其他任何相关文件。
-R 或 --recursive: 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 或 --verbose: 显示指令执行过程。
--help: 在线帮助。
--reference=<参考文件或目录>: 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
--version: 显示版本信息
6.chown 命令用于设置文件所有者和文件关联组的命令
只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令
chown -[参数] [user]:[group] [file]
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
隐藏权限管理
lsattr命令用于显示文件属性
lsattr [参数] [file]
参数:
-a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
-d 显示,目录名称,而非其内容。
-l 此参数目前没有任何作用。
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 显示文件或目录版本。
-V 显示版本信息。
chattr命令用于改变文件属性
chattr [参数] [属性] [file]
koniaoer文件加 i 属性后无法被删除
属性:
a:让文件或目录仅供附加用途。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
参数
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。
特殊权限管理
拥有者的特殊权限:SUID(u)
作用:只对系统中的二进制可执行命令有效。有该权限的命令可以被其他用户使用且使用过程中临时获得该命令拥有者的权限
所属组的特殊权限:SGID(g)
作用:对文件或目录文件有效。有该权限的文件或目录文件,被其他用户使用时,临时获得该文件的所属组的权限,如果是目录文件,则在该目录中创建的文件或目录文件自动继承该目录文件的所属组
其他人的特殊权限:SBIT(o)
作用:只对目录文件有效。有该权限的目录文件可以被自己任意使用,且该目录中的文件不可以被其他用户修改删除。通常用在共享目录中
chmod更改用户(u,g,o)对文件的权限
语法:chmod [u,g,o]+[s,s,t]
getfacl其功能是显示文件或目录的ACL策略
语法:getfacl [参数] [file]
参数:
-a 显示文件的ACL策略
-n 显示用户ID和组群ID
-c 不显示注释标题
-P 不找符号链接对应的文件
-d 显示目录的ACL策略
-R 递归处理所有子文件
-e 显示所有的有效权限
-t 设置表格输出格式
-h 显示帮助信息
-v 显示版本信息
-L 找到符号链接对应的文件
#file:文件名称
#owner:拥有者的名称
#group:所属组的名称
user::默认用户权限
group:默认组权限
other::默认其他人权限
setfacl 命令用于管理文件的ACL规则
语法:setfacl [参数] u:[user]:rwx [file]
chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限。 换句话说,setfacl可以更精确的控制权限的分配ACL(访问控制列表)
参数:
-m:设置后续acl参数
-x:删除后续acl参数
-b:删除全部的acl参数
-k:删除默认的acl参数
-R:递归设置acl,包括子目录
-d:设置默认acl
评论区