1.信息查询
/etc/passwd文件保存了用户的基本信息
每一行保存有一个用户信息
每一行由“:”分割成7个字段,结构为user:passwd:UID:GID:用户全名:home :shell // UID:userid , GID:groupid
eg:root:x:0:0:root:/root:/bin/bash
/etc/group文件保存了组信息,对应着GID
每一行保存一个工作组信息
每一行被分成4段,结构为:组名:密码:GID:组内用户名
可使用useradd username添加新用户,当然也可用userdel删除用户,如果加上命令选项-r还会删除用户对应的home目录
2.基本操作
mkdir 创建文件夹 通过-m设置权限, -p可以一次创建多个目录,-v每次创建显示信息
ls 显示当前文件下所有文件夹 -a全部文件,-l详细信息,-R递归列举该目录下文件信息,
cd 更改工作目录
pwd 显示工作目录
cp 拷贝文件 cp file1 file2复制文件 cp file1 dic1 复制文件到目录下 cp -r dir1 dir2 复制文件夹1到2下,目标被改名为2(递归) cp -r dir1/*.* dir2 讲文件复制到2下
mv 移动(重命名)文件 -t移动多个文件到同一目录下 -i 询问是否覆盖 -f直接覆盖
rm 删除文件 -r递归 -f直接删除
cat 将文件内容打印到标准输出上 cat > filename 创建文件filename cat file1 file2 > file 将文件1,2的内容合并到file中
3.当前用户
whoami 命令会在控制台输出当前执行操作用户(EUID)
who am i 和who输出实际用户(登陆用户 UID)
4.文件权限
ls -l命令获取当前文件夹下所有文件信息
我们通过一个例子来解释权限
-rw-rw-r-- 1 zhang zhang 105 8月 28 08:33 123.cpp
最重要的部分是 -rw-rw-r--
第一个字符描述文件类型,-表示普通文件,d表示目录,1表示软连接
之后每三个字符r,w,x表示读,写,执行权限 ,分别为拥有者,用户组,其他用户
其他部分自行脑补:)
接下来的问题就是如何修改了。
修改文件用户组:chown [-R] username[:group] filename -R表示递归操作 加上group会修改用户组信息
修改文件权限: chmod命令 因为权限是3位(r,w,x)当做二进制来看,可以用0-7来表示读写,执行权限,比如chmod 777 filename就是赋予文件完整权限 -R一样适用
另外,我们可以通过文字来修改权限,我们使用u,g,o,a表示拥有者,所属组,其他,和全部。用+-=来改变权限,比如chmod a+x,go=rx filename就给拥有者增加执行权限,其他人有读取,执行权限
5.搜索文件
whereis和locate都是从一个数据库搜索,而该数据库每日更新一次,所以不是实时信息
whereis name 搜索到name命令所在的位置与帮助文档的位置
locate name 搜索name文件所在位置
which也可用来搜索命令 ,他是从环境变量中搜索,所以可以用来确认是否安装某个软件
find命令,直接搜索,很慢,使用复杂
6.文件压缩
解压 tar -vxf filename
压缩 根据 gz bz2 xz 命令选项选择压缩算法z,j,J,比如tar -zcvf filename.tar.gz files
cpio,用于备份文件,也可用于打包 find ... | cpio -ocB > filename 将搜索到的文件信息打包到filename中
解包的方法是 cpio -idc < filename
7.多任务执行
我们可以通过 |(管道)来实现流式处理,即将上一步操作的结果作为下一个操作的输入 例如find /boot | cpio -ocB | gzip -9 > /123.img 就是先找到文件信息,然后将其打包,压缩到文件中
而如果要执行不相关联的任务,我们可以用ctrl+Z来将前台任务切换为后台任务
比如 find 123 之后按下快捷键ctrl+Z,前台任务就到后台执行了。
也可以在命令最后加上 &来直接创建后台程序
使用jobs命令可以显示任务,根据fg 任务号来将后台任务变成前台任务
杀死任务:你可以通过对前台任务用ctrl+C杀死,但是用kill命令更加快捷方便
比如,我要杀死二号任务 kill -9 %2 -9表示强制杀死