首页 > 系统相关 >Linux 常用命令——文件目录篇(保姆级说明)

Linux 常用命令——文件目录篇(保姆级说明)

时间:2025-01-18 12:32:32浏览次数:3  
标签:文件 显示 文件目录 常用命令 查找 参数 Linux txt 目录

文件及目录类

列出当前目录中的文件和子目录(ls)

ls [-参数] [name...]

# 列出所有根目录
ls /

# 列出所有txt文件
ls *.txt

参数:
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-d 只列出目录(不递归列出目录内的文件)。
-l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等。
-r 倒序显示文件和目录。
-t 将按照修改时间排序,最新的文件在最前面。
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R 递归显示目录中的所有文件和子目录。

显示当前工作目录的路径(pwd)

pwd [--help][--version]

# 查看当前所在目录
pwd

切换工作目录(cd)

# dirName:要切换的目标目录,可以是相对路径或绝对路径。
cd [dirName]

cd /usr/bin

创建新目录( mkdir)

# -p 确保目录名称存在,不存在的就建一个。
mkdir [-p] dirName

mkdir folder

# folder目录下建立test文件夹,加了-p参数后,若folder不存在则直接新建。
mkdir -p folder/test

删除空目录(rmdir)

# -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
rmdir [-p] dirName

# 删除目录test
rmdir test

# 递归删除目录
rmdir -p 目录1/test

删除一个文件或者目录

rm:删除文件或目录
rm file_name
rm -r 目录1/test # 递归删除目录及其内容

rm [参数] name

rm  test.txt 

# 删除目录必加参数r
rm  -r  homework  

参数
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。

复制文件或目录(cp)

cp [选项] 源文件 目标文件

# 复制文件并重命名
cp file.txt /path/to/destination/newfile.txt

# 递归复制目录及其内容
cp -r /path/to/source_dir /path/to/destination/

参数
-r 或 -R:递归复制目录及其内容(用于复制目录)。
-i:交互模式,覆盖前提示用户确认。
-f:强制复制,覆盖目标文件而不提示。
-v:显示详细的复制过程(verbose)。
-p:保留文件的原始属性(如权限、时间戳等)。
-a:归档模式,等同于 -dpR,保留所有文件属性和递归复制目录。
-u:仅当源文件比目标文件新时才复制(更新模式)。
-l:创建硬链接而不是复制文件。
-s:创建符号链接(软链接)而不是复制文件。

移动或重命名文件或目录(mv)

mv [参数] source dest

# 文件 aaa 改名为 bbb 
mv aaa bbb

# info 目录放入 logs 目录中
mv info/ logs

参数
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

创建空文件或更新文件的时间戳(touch)

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

# 修改文件"testfile"的时间属性为当前系统时间
touch testfile              

参数:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
–no-create 不会建立新档案。
–help 列出指令格式。
–version 列出版本讯息。

连接和显示文件内容(cat)

cat [选项] [文件]

# 查看文件内容
cat filename

# 创建文件
cat > filename

参数说明:
-n:显示行号,会在输出的每一行前加上行号。
-b:显示行号,但只对非空行进行编号。
-s:压缩连续的空行,只显示一个空行。
-E:在每一行的末尾显示 $ 符号。
-T:将 Tab 字符显示为 ^I。
-v:显示一些非打印字符。

将文本输出到标准输出(echo)

# 追加内容进test.txt
echo  内容>> test.txt

# 显示字符串
echo "Hello, World!"

逐页显示文本文件内容(more/less:)

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

# 逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示
more -s testfile

# 从第 20 行开始显示 testfile 之文档内容。
more +20 testfile

参数:
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数

less [参数] 文件 

# 查看文件
less log2013.log

# ps查看进程信息并通过less分页显示
ps -ef |less

参数:
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

在文件中搜索指定文本(grep)

grep [options] pattern [files]

# 在文件 file.txt 中查找字符串 "hello"
grep hello file.txt

常用参数:
-i:忽略大小写进行匹配。
-v:反向查找,只打印不匹配的行。
-n:显示匹配行的行号。
-r:递归查找子目录中的文件。
-l:只打印匹配的文件名。
-c:只打印匹配的行数。

修改文件或目录的权限(chmod)

chmod [-cfvR] [--help] [--version] mode file

# 将文件 file1.txt 设为所有人皆可读取 
chmod a+r file1.txt
chmod 777 file1.txt

参数:
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

  • 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

chmod也可以用数字来表示权限
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;
若要 rw- 属性则 4+2=6;
若要 r-x 属性则 4+1=5。

-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本

在文件系统中查找文件和目录(find)

find [路径] [匹配条件] [动作]

# 查找当前目录下名为 file.txt 的文件:
find . -name file.txt

# 查找 /home 目录下大于 1MB 的文件:
find /home -size +1M

参数:

路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。

匹配条件 中可使用的选项有二三十个之多,以下列出最常用的部份:
-name pattern:按文件名查找,支持使用通配符 * 和 ?。
-type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
-size [±]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
-mtime days:按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
-user username:按文件所有者查找。
-group groupname:按文件所属组查找。
动作: 可选的,用于对匹配到的文件执行操作,比如删除、复制等。

find 命令中用于时间的参数如下:

-amin n:查找在 n 分钟内被访问过的文件。
-atime n:查找在 n24 小时内被访问过的文件。
-cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
-ctime n:查找在 n
24 小时内状态发生变化的文件(例如权限)。
-mmin n:查找在 n 分钟内被修改过的文件。
-mtime n:查找在 n*24 小时内被修改过的文件。
在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。

正数应该表示时间之前,负数表示时间之内。
例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。
关于时间 n 参数的说明:
+n:查找比 n 天前更早的文件或目录。
-n:查找在 n 天内更改过属性的文件或目录。
n:查找在 n 天前(指定那一天)更改过属性的文件或目录。

标签:文件,显示,文件目录,常用命令,查找,参数,Linux,txt,目录
From: https://blog.csdn.net/snowman1019/article/details/145225235

相关文章

  • Linux性能调优:技术宅的魔法秘籍
    各位观众朋友们,大家好!今天,咱们来聊聊一个听起来就特别技术范儿,但实际上和我们每个人的生活都息息相关的话题——Linux系统性能调优。别急,我知道你们可能已经在心里默念:“这不就是那些技术宅才关心的事儿嘛,跟我有啥关系?”别走开,我保证,这事儿比你想象的有意思多了,而且说不定还......
  • 【Linux系统】深刻理解软硬链接
    1、操作层面软链接先说结论:软链接本质是一个独立的文件先创建一个文件file.txt再创建一个软链接:命令ln-sfile.txtfile-soft.link(后者链接前者)软链接的名字和后缀随便取的使用命令ls-li查看,你可以发现两个文件有着不同的inode号,即可证明这两个属于不同......
  • 蓝易云 - Linux系统中常见的远程管理协议!
    Linux系统中常见的远程管理协议有以下几种:1.SSH(SecureShell):SSH是一种安全的远程登录协议,用于在网络上安全地远程登录到Linux服务器。它提供了加密的传输和身份验证机制,可以防止数据在传输过程中被拦截和篡改。SSH使用用户名和密码或公钥认证来验证用户身份,并允许用户在远程......
  • Linux SSH服务配置
    在Linux中配置SSH(SecureShell)服务,通常涉及安装SSH服务器软件(OpenSSH是最常见的选择)、修改配置文件以符合特定需求、管理密钥对以及确保服务的安全性。下面是详细的步骤指南:1.安装OpenSSH服务器大多数Linux发行版已经预装了OpenSSH服务器(sshd),但如果没有,可以通过包管理器安装。例......
  • 深入理解 Linux systemd 单元类型及配置详解
    深入理解Linuxsystemd单元类型及配置详解在Linux系统中,systemd是一种强大的初始化系统和服务管理工具,它通过**单元(Unit)**来管理服务、文件系统、设备等。systemd支持多种单元类型,如服务单元(.service)、目标单元(.target)、挂载单元(.mount)、设备单元(.device)、计时单元(.t......
  • Linux系列(一)
    一、什么是LinuxLinux是一套免费使用和自由传播的操作系统。说到操作系统,大家比较熟知的应该就是Windows和MacOS操作系统,我们今天介绍的Linux也是一款操作系统。   二、为什么要学Linux那么我们为什么要学习Linux呢,主要出于两个方面的原因。1).企业用人要求以......
  • Linux 符号链接
    在Linux中,符号链接(也称为软链接)是一种特殊类型的文件,它指向文件系统中的另一个文件或目录。符号链接类似于Windows系统中的快捷方式,但与硬链接不同,硬链接不能跨文件系统创建,而软链接可以。创建符号链接就像为实际文件创建别名一样。如果您尝试访问符号链接,您实际上访问的是符号链......
  • 在 Linux 中查看符号链接指向
    在Linux系统中,符号链接(symboliclink)是一种特殊类型的文件,它指向另一个文件或目录。为了查看符号链接指向的目标文件或目录,可以使用以下几种方法。使用readlink命令readlink命令用于找出符号链接所指向的位置。它可以递归处理所有子文件,并输出符号链接的真实路径。以下是一......
  • Anaconda安装教程及环境变量添加;Anaconda环境管理;Anaconda包管理;Anaconda常用命令
    Anaconda安装教程及环境变量添加;Anaconda常用命令什么是AnacondaAnaconda的主要特点Anaconda安装方法下载Anaconda在Windows上安装在macOS/Linux上安装Anaconda环境管理常用环境管理命令Anaconda包管理常用包管理命令使用Anaconda的Python检查Python......
  • Linux基础:文件系统&目录操作
    Linux基础:文件系统&目录操作文件系统Linux本质上就是一个文件系统,Linux文件系统是操作系统组织、存取、保存数据的一种手段。整体采用层级式的倒状树目录结构。倒状树结构中的目录/:根目录,Linux中的绝对路径就是由这个开始的/bin:主要存放系统的普通指令/boot:主要存放......