最近在学习linux的基础知识,拖了很久了。。一定得在这周学完,学习网站为:linux基础入门-实验楼。
基本概念
基本指令
touch file | 创建文件 | |
cd /etc | 进入一个目录 | |
pwd | 查看当前目录 | |
Tab | 补全命令、目录、参数 | |
ctrl+c | 强行终止当前程序 | |
ls | 列出文件 | |
ls *.txt | *是通配符,匹配多个字符 |
? 匹配一个字符 [list] 匹配list中的任意一个字符
[^list] 匹配除了list以外的其他字符 [0-9]、[a-z] (哈哈哈这不是和MySQL里面的正则表达式一样嘛。。)
|
man | 用户手册 | |
Ctrl+d | 键盘输入结束或退出终端 | |
Ctrl+s
| 暂停当前程序,暂停后按下任意键恢复运行 | |
Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令fg | |
Ctrl+a | 将光标移至输入行头,相当于Home键 | |
Ctrl+e | 将光标移至输入行末,相当于End键 | |
Ctrl+k | 删除从光标所在位置到行末 | |
Alt+Backspace | 向前删除一个单词 | |
Shift+PgUp | 将终端显示向上滚动 | |
Shift+PgDn | 将终端显示向下滚动 |
用户
假如有一个屋子,里面住着三个人,每个人共用一个客厅。linux的用户道理是一样的,每个用户有自己的空间存储,也可以访问公共的内存区域。
查看用户
请打开终端,输入命令:$ who am i,就可以查看目前的用户。
创建用户
在linux中,root用户有至高无上的权利,可以增添,修改用户。(理解成一个国家的国王好了。。)
我们一般都是以普通用户身份登录的,如果想要root权限,有两个要求,首先你要在sudo用户组里面,第二点是你要知道当前登录用户的密码(首先你要是皇亲国戚,还得有钥匙)
现在我们新建一个用户:$ sudo adduser lihua
切换登录用户
$ su -l lihua
退出登录用户
exit或者用Ctrl+d
用户组
linux里面每个用户都归属于一个用户组,在同一个用户组里的用户就像你家里的兄弟姐妹一样,他们可以和你共用客厅,但是也要有独立的卧室。如果没经过主人的同意,不能随意打开别人的卧室门,同理,不经过用户的同意,你不能看到该用户的私人资源。当然,一个用户可以属于多个用户组,就像你可以同时属于学校和家庭。
查看自己属于什么用户组
$groups lihua
output: 用户:用户组
将其他用户加入sudo用户组
默认新建立的用户是没有root权限的,同时也不在sudo用户组中,输入下列命令:
$su -l lihua
$sudo ls
会显示该用户不在sudoers文件中,所以我们要将该用户加入sudoers用户组中:
$su student
$sudo usermod -G sudo lihua
$groups lihua
这个时候会显示lihua:lihua sudo,说明我们成功把lihua加入sudo用户组了。
删除用户
删除用户是一件很简单的事情,
$ sudo deluser lilei --remove-home
Linux文件权限
文件权限就是规定哪些用户可以访问哪些文件,并能做哪些操作。不同的用户有不同的地位,对文件有不同的权限。
查看文件权限
ls可以查看当前目录下的文件,我们来试试用较长格式列出文件
$ls -l
![](https://i-blog.csdnimg.cn/blog_migrate/a23961e990fc3b2f1fafbd472af83bf0.png)
- 第一个字母是文件类型,在linux里,一切皆文件!!软连接有点像windows里的快捷方式,这些文件的具体类型我们后面会谈到
- 文件权限:当要读文件时,可以用 cat <filename> 读文件
- 一个文件只有同时具有读权限r和执行权限x才能打开并查看内部文件。要有写权限w和执行权限x才能创建文件
- 链接数:连接到该文件所在的inode的文件名的数目,不在讨论范围内
变更文件所有者
使用$ll <filename>可以查看文件所有者
使用$sudo chown <要变更的所有者> <filename>就可以改变文件所有者了
修改文件权限
方法一:二进制
$ chmod go-rw bai
gou分别代表:group、others、user,+、-表示分别加上还是减掉相应的权限。
Linux目录结构
linux在存储文件上和windows有很大的不同,windows偏向把内存分为C盘,D盘。。所以比较邋遢的人(例如我),在用了一段时间电脑后,目录就会杂乱无章了。但linux不同,它喜欢用目录代表分区,用树形来表示。换个比喻就是,linux将磁盘挂在树上了。说难也不难,因为linux对文件目录有严格的限定,那就是filesystem heierarchy standard--FHS.
FHS
filesystem heierarchy standard,定义了每个目录,每个区域该放什么类型的文件。
如下图,
目录路径
需要注意的是,目录本身也是一个文件,在linux里面,一切皆文件。以.开头的是隐藏文件,如果要查看隐藏文件,要用ls -a
cd | 切换目录 |
. | 当前目录 |
.. | 上一级目录 |
~ | 当前用户的home目录 |
- | 上一次所在目录 |
pwd | 当前路径(绝对路径 |
Linux文件的基本操作
touch | 新建空白文件 | touch bai | |
mkdir(make director) | 创建空目录 | mkdir -p father/son/grandson | 使用-p参数,可以同时创建父目录(在安装软件,配置路径时有用) |
cp(copy) | 复制文件 | cp bai father/son/grandson | 此时用的路径是相对路径 |
复制目录 | cp -r father family | 加-r参数,表示递归复制,有点株连九族的意思 | |
rm | 删除文件 | rm -f bai | 当有些文件有只读权限时,无法直接删除,加-f参数,可以强制删除文件 |
删除目录 | rm -f path | 和复制目录一样,要加-f参数 | |
mv(move) | 移动文件 | mv bai path | move 源文件 目的目录 |
重命名 | mv bai bai1 | ||
rename | 批量重命名文件 | rename file{1..5}.txt | 使用正则表达式可以大量的重命名文件 |
cat/tac | 查看文件 | cat -n bai | 可以加参数-n限制显示行数;cat为正序,tac为倒叙 |
nl | 更专业的查看文件 (真的太专业了!) | 同上 | -b : 指定添加行号的方式,主要有两种: |
more/less | 分页查看文件 | more bai 打开文件 Enter 向下滚动一行 space 向下滚动一页 h 帮助 q退出 | cat是用来快速查看文件的,more/less是专业查看文件的 more的命令比较简单,只能向下滚动;less基于vi和more |
head | 查看文件头几行 | head -n 1 bai | 如果是head bai,默认查看前十行 -n 后面的数字是显示几行 |
tail | 查看文件尾几行 | 同上 | 同上 |
file | 查看文件类型 | file bai | |
vim | 编辑文件 | vimtutor |