Linux命令行操作
快捷键
- Tab :代码补全
- Ctrl+c : 中断回复
- ↑ : 历史输入
- man : 获取命令帮助
- $ man
- 8大分区 :
- 通配符
- 一次性创建多个文件
- $ touch PreName_{1..n}_AftName
输出图形字符命令
- banner
- 安装
- $ sudo apt-get update
- $ sudo apt-get install sysvbanner
- 输入
- $ banner
- $ printerbanner -w 50 A
- -w : 打印宽度
- 安装
Linux 用户管理
用户切换
- su <user> : 切换用户user </user>
- sudo <cmd> : 以特权级别运行cmd</cmd>
- su- <user> : 切换用户并且改变成目标用户的环境变量</user>
新建用户
- sudo adduser
adduser 和 useradd 的区别是什么?
答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
用户组
一组用户的集合,组内成员共享一些资源和权限同时拥有着自己的私有资源,Linux里每个用户都有一个归属(用户组)
####查看用户组
1.groups命令
- groups
2.查看/etc/group文件
- cat /etc/group
- cat /etc/group | sort | grep - E "<user>"</user>
添加用户至用户组
usermod命令:
- sudo usermod -G sudo
删除用户
deluser
- sudo deluser <user> --remove-home</user>
Linux文件权限
对文件的访问权限。
文件查看
文件类型:
- socket:网络套接字
- pipe管道
- 软连接文件:等同于Windows上的快捷方式
文件权限:
- 写权限:编辑和修改文件
- 执行权限:可以运行的二进制程序文件或脚本文件
链接数:连接到该文件所在的inod节点的文件名数目
文件大小:以inode结点大小为单位来表示文件的大小,可通过ls -1h参数查看文件大小
较长格式列出文件
- ls -l
修改文件权限
1.二进制数字表示
每个文件的三组权限(拥有者,所属用户组,其他用户,顺序是一定的)对应一个 “ rwx “
2.加减法赋值
环境变量
- declare : 预声明变量
- unset [name] : 删除环境变量
- source [name](. [name] 但需要完整或相对路径名) : 让环境变量立即生效
在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,除了创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。Shell 程序也作为一个进程运行在操作系统之上,而我们在 Shell 中运行的大部分命令都将以 Shell 的子进程的方式运行。
三种变量类型:
- 当前Shell进程私有用户自定义变量,只有在当前Shell中有效
- Shell本身内建的变量
- 从自定义变量导出的环境变量
按变量的生存周期来划分,Linux 变量可分为两类:
- 永久的:需要修改配置文件,变量永久生效;
- 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。
变量修改
搜索文件
1.whereis name : 从数据库查询,只能搜索二进制文件(-b),man帮助文件(-m)和源代码文件(-s)
2.locate(快而全) : 通过“ /var/lib/mlocate/mlocate.db ”数据库查找
- sudo updatedb
- locate ...
3.which(小而精) : 通常用来查看受否安装了某个指定软件(只从path环境变量指定路径搜素)
4.find [path] [option] [action] (精而细) : 不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索