【Acwing-Linux】01.常用文件管理命令
一、Linux文件系统目录结构
Linux的文件系统采用级层式的树状目录结构,最上层是根目录“/”,它是所有目录的顶点,在此目录下创建其他的目录。
在Linux世界中,一切皆文件。
- Linux的目录中有且仅有一个根目录
/
- Linux的各个目录存放的内容是规划好,不用乱放文件
- Linux是以文件的形式管理我们的设备,因此Linux系统,一切皆为文件
二、Linux绝对路径和相对路径
绝对路径
绝对路径一定是从根目录/开始写起。
相对路径
相对路径不是从根目录/开始写起,而是从当前所在的工作目录开始写起
使用相对路径表明某文件的存储位置时,经常会用到前面讲到的 2 个特殊目录,即当前目录(用 . 表示)和父目录或上级目录(用 .. 表示)
~ 表示用户的home目录(家目录),使用cd ~直接切换回家目录.
root用户下:~等价于/root/
普通用户下,~等同于/home/当前的普通用户名
. 表示当前所在的目录
/ 表示根目录
.. 表示当前目录位置的上级目录
备注:
用户的home目录:
root用户的home目录为: /root
其他用户的home目录为: /home/xxx
三、终端命令格式
command [-option] [parameter]
- command :命令名,相应功能的英文单词或单词的缩写
- [-option]:选项,可用来对命令进行控制,也可以省略
- [parameter]:传给命令行的参数,可以是零个、一个或者多个
四、查阅命令帮助信息
- 显示
command
命令的帮助信息
command --help
- 查阅
command
命令的帮助信息
man command
man是Manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明。
五、Linux命令格式
command [-options] [parameter]
说明:
command: 命令名
[-options]: 选项,可用来对命令进行控制,也可以省略
[parameter]: 传给命令的参数,可以是零个、一个或者多个
注意:
[] 代表可选
命令名、选项、参数之间有空格进行分隔
六、常用命令
(1) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,系统可以显示备选选项
(2) ↑/↓光标键:可以在曾今使用过的命令之间来回切换
(3) clear或Ctrl+l: 清空当前屏幕
(4) ctrl c: 取消(清空)本行命令,并且换行
(5) ctrl u: 清空本行命令
(6) ls: list,列出当前目录下所有文件
linux文件或目录名称最长可以有256个字符
以.开头的文件为隐藏文件,需要参数-a才可以显示
蓝色的是文件夹(或目录),白色的是普通文件,绿色的是可执行文件
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息,可简写为ll
-h 配合-l以人性化的方式显示文件大小
和通配符一起使用:
* 代表任意个数个字符
? 代表任意一个字符,至少一个
[] 代表匹配字符组中任意一个
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配从a到f范围内的任意一个字符
(7) cd: change directory
cd XXX 进入XXX目录下
cd 切换到当前用户的主目录
cd ~ 切换到当前用户目录的home目录
cd . 保持在当前目录不变
cd .. 切换到当前目录的上级目录
cd - 可以在最近两次工作目录之间来回切换
cd / 切换到根目录
cd /usr/local 切换到/usr/local目录
(8) touch:
touch XXX,创建一个叫XXX的文件
touch 1.txt 创建文件1.txt
touch 2.txt 3.txt 4.txt 一次性创建文件2.txt 3.txt 4.txt
如果文件不存在,可以创建一个空白文件
如果文件已经存在,可以修改文件的末次修改日期
(9) mkdir : make directory
mkdir XXX 创建目录XXX
mkdir 01 创建文件夹01
-p 可以递归创建目录 例如:mkdir -p a/b/c/d/e
新建目录的名称不能与当前目录中已有的目录或文件同名
(10) rm : remove,删除普通文件,删除后不能恢复;
rm 4.txt 删除文件4.txt(删除文件时,需要输入y确认)
-r: 删除目录
-f: 强制删除,忽略不存在的文件,无需提示
-r: 递归地删除目录下的内容,删除文件夹时必须加此参数
可以使用通配符(同上),例如:删除所有.txt的文件 rm *.txt
(补充) rmdir: 删除空目录
rmdir [-p] dirName
-p: 当子目录被删除后使父目录为空目录的话,则一并删除
rmdir it 删除名为it的空目录
rmdir -p it/test 删除it目录中名为test的子目录,若test目录删除后itcast目录变为空目录,则也被删除
rmdir it* 删除名称以it开始的空目录
(11) pwd: print work directory,显示当前路径
(12) tree: 可以以树状图列出文件目录结构
-d: 只显示目录
(13) cp 源文件 目标文件: copy,复制文件或者目录
-i:覆盖文件前提示
-r:若给出的源文件是目录文件,则cp将递归复制该目录下得所有子目录和文件,目标文件必须为一个目录名
cp hello.txt it/ 将hello.txt复制到it目录中
cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
cp -r it/ ./itheima/ 将it目录和目录下所有文件复制到itheima目录下
cp -r it/* ./it/ 将it目录下所有文件复制到it目录下
(14) mv 源文件 目标文件: 移动文件或者目录,也可以给文件或目录重命名
和cp命令一样,源文件和目标文件可以是一个路径
重命名:保证路径不变,修改文件名
-i:覆盖文件前提示
mv hello.txt hi.txt 将hello.txt改名为hi.txt
mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中
(15) cat XXX: concatenate,查看文件XXX文件内容、创建文件、文件合并、追加文件内容等功能
一次性显示所有的内容,适合查看内容较少的文本文件
-b:对非空输出行编号
-n:对输出的所有行编号(从1开始)
(16) more XXX: more,分屏显示文件内容
适用于查看内容较多的文本文件
(17) tail: 查看文件末尾的内容
-f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出
tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容
tail -f /itcast/my.log 动态读取/itcast目录下的my.log文件末尾内容并显示
(18) grep: 强大的文本搜索工具,允许对文本文件进行模式查找,所谓模式查找又称为正则表达式
-n:显示匹配行及行号
-v:显示不包含匹配文本的所有行(相当于求反)
-i:忽略大小写
常用的两种模式查找:
^a:行首,搜寻以a开头的行
ke$: 行尾,搜索以ke结束的行
(19) find: 在指定目录下查找文件
find dirName -option fileName
find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件
find /it -name "*.java" 在/it目录及其子目录下查找.java结尾的文件
(20) 复制文本
windows下:Ctrl + C
Linux下:Ctrl + insert
Mac下:command + c
(21) 粘贴文本
windows下:Ctrl + V
Linux下:Shift + insert
Mac下:command + v
说明:Linux中文件夹又称为目录,而单个文件被称为文件。
七、打包压缩命令
作用: 对文件进行打包、解包、压缩、解压
语法: tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
-z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
-c: c代表的是create,即创建新的包文件
-x: x代表的是extract,实现从包文件中还原文件
-v: v代表的是verbose,显示命令的执行过程
-f: f代表的是file,用于指定包文件的名称
举例:
打包
tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
本文作者:Ac_c0mpany丶
本文链接:https://www.cnblogs.com/keyongkang/p/16240538.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步