tips
一、Linux目录结构
Linux中 根目录和子目录结构是相对固定的,不同的目录功能也是固定的
目录名称 | 功能 |
---|---|
bin | 二进制文件目录, 存储了可执行程序, 命令对应的可执行程序都在这个目录中 |
sbin | super binary, root用户使用的一些二进制可执行程序 |
etc | 配置文件目录, 系统的或者用户自己安装的应用程序的配置文件都存储在这个目录中 |
lib | library, 存储了一些动态库和静态库,给系统或者安装的软件使用 |
media | 挂载目录, 挂载外部设备,比如: 光驱, 扫描仪 |
mnt | 临时挂载目录, 比如我们可以将U盘临时挂载到这个目录下 |
proc | 内存使用的一个映射目录, 给操作系统使用的 |
tmp | 临时目录, 存放临时数据, 重启电脑数据就被自动删除了 |
boot | 存储了开机相关的设置 |
home | 存储了普通用户的家目录,家目录名和用户名相同 |
root | root用户的家目录 |
dev | device , 设备目录, Linux中一切皆文件, 所有的硬件会抽象成文件存储起来,比如:键盘, 鼠标 |
lost+found | 一般时候是空的, 电脑异常关闭/崩溃时用来存储这些无家可归的文件, 用于用户系统恢复 |
opt | 第三方软件的安装目录 |
var | 存储了系统使用的一些经常会发生变化的文件, 比如:日志文件 |
usr | unix system resource, 系统的资源目录 |
/usr/bin | 可执行的二进制应用程序 |
/usr/games | 游戏目录 |
/usr/include | 包含的标准头文件目录 |
/usr/local | 和opt目录作用相同, 安装第三方软件 |
二、命令解析器
1.命令提示行
root : 表示当前登录用户的用户名
@ : 在(相当于一个分隔符)
sewerperson : 即自定义的主机名
“~” :表示当前的家目录 (普通用户:/home/用户名 — root用户 : /root
shcode : 表示当前用户所在的目录
“#” : 表示当前用户为root用户
“$” : 表示当前用户为普通用户
2.工作原理
命令解析器在Linux操作系统中就是一个进程(运行的应用程序)
有bash和shell
unix版本时的命令解析器为shell
Linux版本时有人(Bourne)进行了更改 取名为bash(Bourne Again SHell)即shell的更新版
在Linux操作系统中默认使用的命令解析器是 bash, 当然也同样支持使用sh。
当我们打开窗口,输入指令,按下回车键,此时命令解析器就开始了工作
1 | Linux中有 PATH 环境变量,存储了一些系统目录 (window : path) |
3.命令行快捷键
快捷键 | 功能 | 备注 |
---|---|---|
Tab | 命令自动补全 | / |
Ctrl+p | 显示输入的上一个历史命令 | 也可以使用 ↑键 |
Ctrl+n | 显示输入的下一个历史命令 | 也可以使用 ↓键 |
Ctrl+a | 光标移动命命令行首 | 也可以使用 Home键 |
Ctrl+e | 光标移动命命令行尾 | 也可以使用 End键 |
Ctrl+u | 删除光标前的部分字符串 | / |
Ctrl+k | 删除光标后的部分字符串 | / |
三、文件管理命令
1.cd
对于切换为根目录的三种方法
1 | cd |
对于在两个较深且复杂的目录下一直切换
1 | cd /目录1 |
2.ls
1 | ls [args] #查看当前目录 |
ls -l :(list)显示文件详细信息
查询文件详细信息有简单写法 : ll
有的版本ll等价于 ls -l
有的则是 ls -laF
ls -a : (all) 显示所有文件,包括隐藏文件
默认情况下,隐藏的文件不会被显现出来
文件名前有一个 . 就说明文件有隐藏属性
ls -h :(human) 人性化的将ls -l中显示文件大小的数据显示出来
原本的默认大小单位是字节(byte)
ls -F : 将文件类型的前面加上/
3.文件详细信息
如果文件名所表示的是一个目录,那么其大小只是表示目录的大小,而并非其子目录/文件的和
文件类型又分为7种
- | 普通的文件, 在Linux终端中没有执行权限的为白色, 压缩包为红色, 可执行程序为绿色字体 |
---|---|
d | 目录(directory), 在Linux终端中为蓝色字体, 如果目录的所有权限都是开放的, 有绿色的背景色 |
l | 软链接文件(link), 相当于windows中的快捷方式, 在Linux终端中为淡蓝色(青色)字体 |
c | 字符设备(char)(键盘..), 在Linux终端中为黄色字体 |
b | 块设备(block)(u盘,磁盘…), 在Linux终端中为黄色字体 |
p | 管道文件(pipe), 在Linux终端中为棕黄色字体 |
s | 本地套接字文件(socket), 在Linux终端中为粉色字体 |
4.目录的创建和删除
1 | mkdir 目录名 #单层目录的创建 |
1 | rmdir 目录名 #只能删除空目录(如果目录种有子文件/目录就无法删除) |
5.cp
1 | cp 要拷贝的文件 得到的文件 |
1 | cp -r 目录A 目录B |
6.mv
1 | #文件/目录的移动 |
1 | #文件/目录改名 |
1 | #文件覆盖 |
7.查看文件内容
终端是有缓存的,因此显示的字节也会受限,需要用合适的命令
1 | cat 文件名 #直接显示所有 |
8.链接的创建
1 | #软链接的创建 |
9.更改文件权限
1 | #文字设定法 |
10.修改文件所有者/组
1 | #修改文件所有者 |
对于普通用户无法使用sudo的解决方式
11.其他命令
1 | tree [目录名] -L n #树状显示(目录)n层 |
四、用户管理命令
1.用户的切换
1 | su 用户名 #此时切换工作目录并不会发生变化 |
2.添加删除用户
1 | #添加用户 |
检测是否真的添加成功
1.在home下观察是否有新用户名目录
2.在etc/passwd文件中观察(vim)
用户名:加密后的密码:用户id:所属组id:用户家目录:用户默认使用的命令解析器
1 | #删除用户 |
3.添加删除用户组
1 | sudo groupadd 组名 #添加组 |
可通过/etc/group文件检验(vim)
最后的数字是用户组的id
1 | 在Ubuntu中可以使用 addgroup/groupadd 和 delgroup/groupdel |
4.更改用户所属组
1 | #增加用户时直接指定组 |
5.修改密码
1 | passwd #修改自己的用户密码 |