文件操作
文件及目录
- 相关命令
说明 | 命令 |
---|---|
创建新文件(可以一次创建多个) | touch |
删除(目录需要添加“-r”) | rm(/bin/rm) |
拷贝文件(目录需要添加‘-r’) | cp |
移动文件或目录 | mv |
创建目录 | mkdir |
删除空目录 | rmdir |
递归删除 | rm -r |
强制递归删除 | rm -rf |
* 选项说明
- -f:表示强制操作
- -r:表示递归操作
- :表示模糊匹配,如:rm -f .c 删除所有的.c文件
- -p:创建中间目录时需要添加
查看文件
- 相关命令
命令 | 说明 |
---|---|
cat | 从上到下,将文件所有内容展示出来 |
tac | 从下往上,将文件所有内容展示出来 |
head [-n] | 查看文件开头的几行内容(默认10行),如:head -3 1.txt |
tail [-n] | 查看文件末尾的几行内容(默认10行),如:tail -3 1.txt |
nl | 功能同cat,会显示行号 |
wc | 统计显示,内容:行数 单词数 字符数 文件名 |
more | 一点一点查看内容 |
less | 一点一点查看内容 |
* more和less使用说明
- 内容显示一屏就会停止
- q可以退出查看
- enter向下翻一行
- 空格向下翻一页
- more查看到末尾会自动退出,less不会
- less可以通过上下按钮,上下翻看,more不可以
- 经常结合管道使用,如:
ls /etc | more
用户及用户组
- 相关命令
命令 | 说明 |
---|---|
who am i | 查看当前登陆的用户名 |
groups | 查看当前用户所属组 |
useradd | 添加用户,会在/home下创建一个同名目录 |
userdel | 删除用户,’-r’参数可以一并删除用户相关目录 |
passwd | 设定指定用户的密码,不指定时设置当前用户的密码 |
su - | 切换用户,一定要加“-”,否则只切换用户,若不指定用户,切换到root |
sudo | 临时切换到指定用户(root)执行命令,如: |
visudo | 修改配置文件/etc/sudoers,添加一个用户名 |
groupadd | 添加用户组 |
groupdel | 删除用户组 |
gpasswd | 向指定的组添加/删除指定用户gpasswd -a/-d 用户 用户组 |
chsh | 修改指定用户的shell命令解析器,如:chsh xiaoming -s /sbin/nologin |
chown | 修改文件所属用户[及用户组],如:chown xiaoming[:xiaoming] 1.py |
chgrp | 修改文件所属用户组,如:chgrp xiaoming 1.py |
cut -d : -f 1 /etc/passwd 查看系统中有哪些用户
涉及文件
/etc/passwd:系统中的所有用户信息 /etc/shadow:用户的密码 /etc/group:系统中的所有用户组信息
使用说明
- 创建用户时
1. 指定的UID要大于500,因为小于等于500的已被系统使用 2. 指定ID:useradd xiaoming -u 666 3. 指定家目录:useradd xiaogang -d /xxx/yyy 4. 指定shell:useradd xiaowang -s /sbin/nologin
- 修改权限
若要递归修改,需要添加参数‘-R’, 如:chown -R xiaoming abc
在使用用户及用户组的地方,都可使用UID和GID代替
用户身份标识
# 表示超级用户 $ 表示普通用户
文件权限
说明:在Linux中,所有的文件都会涉及权限,分为:所有者、所属组、其他
权限:所有文件涉及的权限分为:可读(r)、可写(w)、可执行(x),‘-’表示没有该权限
原理:
ls -l
的结果集,权限分为三组,刚好对应:所有者、所属者、其他修改权限:chmod,格式:
chmod [身份] [操作] [权限] 文件
选项 | 说明 |
---|---|
身份 | 说明 |
u | 拥有者(user) |
g | 所属组(group) |
o | 其他(other) |
a | 所有(all) |
操作 | |
+ | 添加权限 |
- | 去掉权限 |
= | 设置权限 |
权限 | |
r | 读 |
w | 写 |
x | 执行 |
如:chmod a+w 1.py,给所有的身份增加可写的权限
本质:使用一组(3位)八进制的数表示权限,如:0755,解析如下:
转为二进制: 0755 => 111 101 101 对应三个身份: 所有者 所属组 其他 每一组的权限:都包括可读、可写、可执行 实例解析:所有者可读可写可执行、所属组可读可执行、其他可读可执行
简化:chmod 0755 a.py
若需要递归修改,则需要添加‘-R’
umask
作用:限定新建文件的默认权限,权限与该值相反 操作:umask [value] 查看或设置掩码 分析: 掩码:0022 => 000 010 010 新建文件权限: 111 101 101 新建目录: 111 101 101 配置:文件 /etc/profile
文件搜索
find
作用:功能非常强大的文件搜索命令,可以搜索任意文件
格式:
find [目录] 条件选项
选项:
-name:指定名字 # find / -name passwd -type:指定类型(d/l/s/p/c/b) -size:指定大小,单位:k/m/g,+表示大于,-表示小于 # find . -size -5k -mtime/atime/ctime:指定修改、访问、创建的时间,单位是天,+几天之前,-表示几天内 -mmin/amin/cmin:指定时间,功能同上,单位:分 -user:指定用户 -group:指定用户组 -maxdepth:指定递归搜索的层次深度,默认查找所有 # find / -maxdepth 2 -name passwd
which
- 作用:查找命令的详细信息,如:
which ls
,结果如下:
alias ls='ls --color=auto' /bin/ls
- 作用:查找命令的详细信息,如:
whereis
- 作用:显示命令的详细信息,如:
whereis ls
- 作用:显示命令的详细信息,如:
grep
作用:按照正则表达式搜索(想用好该命令,需要学好正则)
格式:
grep [选项] pattern [文件名]
选项:
-i:忽略大小写 -n:显示行号
- 实例
grep -n /bin/bash /etc/passwd # 查找/etc/passwd中包含/bin/bash的行 grep i abc 1.py # 查找1.py中包含abc的行,忽略大小写 ls /bin/ | grep '^m' # 查找/bin目录下以m开头的命令
链接文件
命令:ln
作用:创建一个文件或目录的链接
格式:
ln [-s] 源文件 新文件
说明:ls -l 结果集中的第一列为l的文件
软硬链接对比
硬链接:使用ln创建时,不加-s选项,相当于给一个文件又起了一个名字,极少用到 1.不能给目录创建硬链接 2.不能跨文件系统 软链接:使用ln创建时,加-s选项,相当于windows中的快捷方式,比较常用 1.可以给目录创建 2.可以跨文件系统