Shell
Shell理解
普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的 UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”
Shell版本
在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME)
Linux命令
- touch file:创建一个名称为file的文件;
- cd /etc/:查看当前目录
- [Tab]: 用于命令的补全
- Ctrl+c:强行终止当前程序
- Ctrl+d:键盘结束输入或者推出终端;
- Ctrl+s:暂停当前程序,按下任意键恢复;
- Ctrl+d 键盘输入结束或退出终端
- Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行
- Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
- Ctrl+a 将光标移至输入行头,相当于Home键
- Ctrl+e 将光标移至输入行末,相当于End键
- Ctrl+k 删除从光标所在位置到行末
- Alt+Backspace 向前删除一个单词
- Shift+PgUp 将终端显示向上滚动
- Shift+PgDn 将终端显示向下滚动
Shell通配符
-
- 匹配 0 或多个字符
- ? 匹配任意一个字符
- [list] 匹配 list 中的任意单一字符
- [^list] 匹配 除 list 中的任意单一字符以外的字符
- [c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9][a-z]
- {string1,string2,…} 匹配 string1 或 string2 (或更多)其一字符串
- {c1…c2} 匹配 c1-c2 中全部字符 如{1…10}
获取帮助
- man <command_name>
- –help
Linux用户管理
查看用户
- who am i;
- who mom likes;
- who + -a 打印能打印的全部;-d 打印死掉的进程;-m 同am i,mom likes;-q 打印当前登录用户数及用户名;-u 打印当前登录用户登录信息;-r 打印运行等级
创建用户
root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,这个操作等同于在 Windows 下就是将新建的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
- su 切换用户到user,需要输入密码
- su - 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的
- sudo adduser :新建用户
用户组
- groups :冒号之前表示用户,后面表示该用户所属的用户组
- cat /etc/grooup | sort:cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出;
- grep 命令过滤: cat /etc/group | grep -E “username”
- 获取root权限:su
- sudo deluser --remove-home
Linux 文件权限
文件类型:
socket:网络套接字;
pipe:管道
软件文件连接
- 查看文件权限:ls -l
drwxr-xr-x: ‘d’: 目录; ‘l’:软连接; ‘b’:块设备; ‘c’:字符设备; ‘s’: socket ;‘p’: 管道; ‘-’:普通文件
rwx:拥有者权限
r-x:所属用户组权限
r-x:其他用户权限
- adduser:按步骤创建用户
- useradd:只创建用户