一、一些常用快捷键
按键 | 作用 |
---|---|
tab | 补全命令 |
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+a | 将光标移至输入行头,相当于Home键 |
Ctrl+e | 将光标移至输入行末,相当于End键 |
Ctrl+k | 删除从光标所在位置到行末 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
二、Shell 常用通配符
比如通配符*
就可以这样用,效果就是打印出当前目录下所有txt后缀的文件。
$ ls *.txt
一切其他Shell常用通配符:
字符 | 含义 |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[!list] | 匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如{1..10} |
三、who
命令
$ who am i
或者
$ who mom likes
参数 | 说明 |
---|---|
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-m | 同am i,mom likes (=。=!) |
-q | 打印当前登录用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
四、用户管理
su,su- 与 sudo
su <user>
可以切换到用户user,执行时需要输入目标用户的密码,sudo <cmd>
可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。su - <user>
命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
现在我们新建一个叫 hadoop123 的用户:
$ sudo adduser hadoop123
这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录:
$ ls /home
然后可以通过下面的命令切换过去。
$ su -l hadoop123
用户组
在 Linux 里面如何知道自己属于哪些用户组呢?
如何查看自己属于哪些用户组
方法一:使用groups命令
$ groups shiyanlou
shiyanlou:~/ $ groups hadoop123 [21:58:26]
hadoop123 : hadoop123
以下摘自实验楼:
其中冒号之前表示用户,后面表示该用户所属的用户组。这里可以看到 shiyanlou 用户属于 shiyanlou 用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组(差不多就相当于家长的意思,或者说是老总)。默认情况下在sudo用户组里的可以使用sudo命令获得root权限。shiyanlou 用户也可以使用 sudo 命令,为什么这里没有显示在 sudo 用户组里呢?可以查看下
/etc/sudoers.d/shiyanlou
文件,我们在/etc/sudoers.d
目录下创建了这个文件,从而给 shiyanlou 用户赋予了 sudo 权限:
如下图
方法二:查看/etc/group
文件
$ cat /etc/group | sort
/etc/group
的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list
你看到上面的 password 字段为一个 ‘x’ 并不是说密码就是它,只是表示密码不可见而已。
将其他用户加入sudo用户组
在root权限下执行以下命令,可以
$ sudo usermod -G sudo hadoop123
删除用户
$ sudo deluser hadoop123–remove-home
五、文件权限
在用命令:ls -l
时会列出本目录下面所有文件(不包括隐藏文件)的相关权限,和一些详细信息
文件类型和权限分别是第一个字母和另外九个字母
文件类型:
d : 目录
l : 软连接
b :块设备
c :字符设备
s :socket
p 管道
- :普通文件
文件权限这里实验楼有特殊的说明 原文如下:
读权限,表示你可以使用
cat <file name>
之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件; 执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同 Windows 上的 ‘exe’ 后缀的文件,不过 Linux 上不是通过文件后缀名来区分文件的类型。你需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息
至于修改文件所有者和修改文件权限可以分别用
chown
chmod
这两个命令来实现,具体的可以用man
命令来查看具体语法。
本文主要结合之前的认知和实验楼的实验文档来写的笔记,所以内容虽然很基础但是也是比较重要,重新总结一遍也有利于更好地掌握linux操作系统,之后也会尽快完善此笔记。