✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
📣专栏定位:为 0 基础刚入门 Linux 的小伙伴整理的详细笔记,也欢迎大佬们一起交流~
📚专栏地址:https://blog.csdn.net/newin2020/category_12190079.html
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
🎏唠叨唠叨:在这个专栏里我将会整理 PAT 甲级的真题题解,并将他们进行分类,方便大家参考。
常用文件管理命令
1. Linux 目录结构
(1)绝对路径:从根目录开始描述的路径,也就是路径开始 /
。
(2)相对路径:从当前目录开始描述的路径,也就是路径开头不是 /
。
(3).
代表当前目录,..
代表上级目录。
(4)~/
代表家目录,等价于 /home/acs/
,其中 acs
是用户的文件夹。它并不是根目录,而是根目录下的用户目录里。
Linux 系统目录:
文件 | 作用 |
---|---|
bin | 存放二进制可执行文件 |
boot | 存放开机启动程序 |
dev | 存放设备文件 |
home | 存放用户 |
etc | 用户信息和系统配置文件 |
lib | 库文件 |
root | 管理员宿主目录(家目录) |
usr | 用户资源管理目录 |
2. Linux 系统文件类型
类型 | 表示 |
---|---|
普通文件 | - |
目录文件 | d |
字符设备文件 | c |
块设备文件 | b |
软连接 | l |
管道文件 | p |
套接字 | s |
3. 文件权限说明
权限含义
目录项详细信息:
文件权限 | 硬链接计数 | 所有者 | 所属组 | 大小 | 时间 | 文件名/文件夹名 |
---|
权限具体展开(举例):
- | r | w | - | r | - | - | r | - | - |
---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |
1
代表文件类型234
代表所有者读写执行权限567
代表同组用户读写执行权限890
代表其他人读写执行权限
修改权限操作
(1)文字设定法
chmod [who] [+|-|=] [mode] filename
操作对象 who
可以是下述字母中的任一个或者它们的组合:
表示 | 含义 |
---|---|
u | 表示**”用户(user)”**,即文件或目录的所有者 |
g | 表示**”同组(group)用户”**,即与文件所有者有相同组 ID 的所有用户 |
o | 表示**”其他(others)用户”** |
a | 表示**”所有(all)用户”**,它是系统默认值 |
操作符号可以是:
表示 | 含义 |
---|---|
+ | 添加某个权限 |
- | 取消某个权限 |
= | 赋予给定权限并取消其他所有权限(如果有的话) |
下面就是一个给 file
添加权限的例子:
(2)数字设定法
- | r | w | - | r | - | - | r | - | - |
---|---|---|---|---|---|---|---|---|---|
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
三个组的权限都用二进制编号,比如要设置当前用户对文件的读写和执行权限,则要设置当前用户的操作权限为 4(读)+ 2(写)+ 1(执行) = 7 。
用户组和其他用户的权限设置也是一样的。
对于 file
的权限 -rw-rw-r—
,我们设置如下:
所有者:rwx = 7
所有者所在组:rw = 6
其他用户:r = 4
操作码就是 764
。
4. 软连接和硬连接
软连接
创建软连接
ln -s file file.s
软链接就像 windows
下的快捷方式。
注意: 软连接和
windows
下不完全相同,windows
将快捷方式移动到其它地方文件夹里仍然可以打开,但是将上述的软连接文件移到其它目录下就会失效。
所以,创建软链接最好使用绝对路径。
软连接的权限可以读写执行,和原文件不同。
硬链接
创建硬链接
ln file file.h
硬链接改变文件信息后,原文件信息也会跟着改变。
5. 创建修改用户和用户组
查看当前用户
添加新用户
sudo adduser newusername
修改文件所有者
chown username filename
切换当前用户
su username
添加新的用户组
sudo addgroup groupname
修改文件所属用户组
sudo chgrp groupname filename
同时修改文件所属用户和用户组
sudo chown username:groupname filename
删除用户
sudo deluser username
删除用户组
sudo delgroup groupname
6. 软件包安装
安装软件
sudo apt-get install softname
更新软件列表
sudo apt-get update
卸载软件
sudo apt-get remove softname
使用安装包进行软件安装
7. 常用命令介绍
7.1 ctrl c
取消命令,并且换行。
7.2 ctrl u
清空本行命令。
7.3 tab 键
可以补全命令和文件名,如果补全不了快速按两下 tab
键,可以显示备选选项。
7.4 ls
列出当前目录下所有文件,下列的图中蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件。
-
ls -l: 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名、文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等
-
ls -la: 显示所有文件信息,简写是
ll
-
ls -h: 不管是什么指令,后面加
h
就会人性化输出,显示的内容会更容易看懂 -
ls -a: 显示开头带
.
的隐藏文件;**ls -A:**显示的隐藏文件中不包括当前目录.
和上级目录..
7.5 pwd
显示当前路径。
7.6 cd
-
cd XXX
进入
XXX
目录下,cd ..
返回上层目录。
-
cd -: 返回上一个目录,连续两次这个操作就等于没操作
7.7 cp
-
cp XXX YYY
将
XXX
文件复制成YYY
,XXX
和YYY
可以是一个路径,比如../dir_c/a.txt
,表示上层目录下的dir_c
文件夹下的文件a.txt
。
-
cp XXX YYY/ZZZ
在复制的过程中,也可以对文件进行重命名。
-
cp XX YY -r
将整个文件夹复制到另一个路径中。
7.8 mkdir
-
mkdir XXX
创建目录
XXX
。
-
mkdir XX/XX -p
创建一系列文件夹,-p 的作用是当前目录如果找不到的话就会自动创建出来。
7.9 rm
-
rm XXX
删除普通文件。
-
rm XXX -r
删除文件夹以及文件夹中的所有文件。
如果没有权限,则加上
f
即rm XXX -rf
。 -
rm *.XXX
删除当前文件夹下的某一类文件。
-
rm * 或 rm XX/*
删除当前目录下的所有文件,不包括隐藏文件。
-
rm * -r
删除所有东西,包括文件夹,但不包括隐藏文件。
7.10 mv
mv XXX YYY
将 XXX
文件移动到 YYY
,和 cp
命令一样,XXX
和 YYY
可以是一个路径;重命名也是用这个命令。
可以直接进行重命名,即在当前目录下更改。
7.11 touch
touch XXX
创建一个文件 XXX
。
7.12 cat
cat XXX
展示文件 XXX
中的内容。
7.13 复制文本
系统 | 命令 |
---|---|
windows/Linux | Ctrl + insert |
Mac | command + c |
按住
shift
滑动鼠标可以选中文本。
7.14 粘贴文本
系统 | 命令 |
---|---|
windows/Linux | Shift + insert |
Mac | command + v |
7.15 history
显示历史指令。
7.16 find
find XXX
显示 XXX
目录下的所有文件。
7.17 tac
会将结果从最后一行往前输出,常用于日志的查询,可以改变按照时间输出的顺序。
7.18 reboot
重启 linux 系统。
7.19 shutdown
关机。
# 用法:shut -h [时间]
# 立即关机
shutdown -h now