linux下各个文件颜色
文件类型.png
- 绿色文件代表可执行文件
- 蓝色文件代表文件夹
- 白色文件代表普通文件
- 红色代表压缩文件
- 常见的文件是普通文件
(-)、目录(d)、软连接(l)。- 块设备文件、字符设备文件、套接字文件和管道文件是特殊文件,一般不用做其他操作。
一、增
touch a.txt 创建普通文本
mkdir 文件夹 创建文件夹
mkdir -p test/{a,b,c,d} 批量创建
mkdir -p a/b/c/d/e 递归创建
二、删
rmdir 文件名 删除空的,文件夹
rm 文件名 删除文件
rm -rf 文件(指定某个文件) 递归删除(不会用者慎用)
三、改
vi/vim 文件名(前提是有vim编辑器) 编辑文本文件
mv 旧文件名字 新文件夹名字 修改文件名
mv 文件路径 文件路径 移动文件路径
cat >>/t1.txt << EOF 追加文字到文件
>追加的内容
>EOF 再次输入EOF结束
ip addr > /tmp/network.txt (>)把命令执行的结果信息,写入到文件中
sed命令:sed还可以修改文本
s 替换指令
d 删除指令
g 全局替换
例1:找到/tmp/pwd.txt文件中所有的root字符串,全局替换为ROOT(不加-i不会写入到文件,只会返回替换结果)
sed -i 's/root/ROOT/g' /tmp/pwd.txt
例2:找到26行,删除
sed -i '26d' /tmp/pwd.txt
例3:删除文件空白行
sed -i '/^$/d' filename.txt
四、查
-
cat
cat查看文件内容
cat /etc/os-release查看系统版本 -
ls
ls查看文件夹内容
ls -l(简写ll)查看文件夹详细内容
ls -la显示文件详细信息,包括隐藏文件
ls -lh可以直接看出文件大小
ls -i查看文件inode号
ls -ld /etc/查看目录本身相关信息 -
stat
stat 文件名查看文件的具体信息 -
whereis 命令:whereis ls
搜索系统命令所在位置(还可查看命令帮助文档,不能搜索普通文件键)
-
which 命令:which ll
搜索命令所在位置(可以查看别名,(并不是所有都能看到别名))
-
more
more /etc/passwd用于查看内容较多的文本
按下空格space是翻页
按下b键是上一页
回车键向下读取内容 -
echo
echo 用于在终端输出字符串或变量提取后的值,格式是"echo 【字符串|$变量】"
echo 字符串显示字符串
echo $PATH查看环境变量
echo > test.txt用echo清空一个文件 -
head / tail
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
head -2 /t11.txt:查看前两行
tail -2 /t1.txt:查看后两行
tail -f /var/log/mysql.log#持续刷新显示,常用于 对日志文件监控,检测,日志实时写入的信息, 可用echo "xxxxxx" >> /var/log/mysql.log验证实时变化。 -
pwd
pwd查看当前工作目录 -
find:查找文件(耗费资源大,功能全,可按不同的文件属性查询)
按名字查找
find / -name settings.py找到服务器上的settings.py
find /etc -name 'ifc*'找到/etc下的网卡配置文件(网卡配置文件名是ifc开头)
通配符:*匹配任意内容?匹配任意一个字符[]匹配任意一个中括号内的字符
find /root -iname install.log不区分大小写按时间查找
find /var/log/ -mtime +10:查找10天谴修改的文件
-10:10天内修改文件
10:10天当天修改的文件
atime:文件访问时间
ctime:改变文件属性
mtime:修改文件内容按大小查找
find . -size 25k:查找文件大小是25kb的文件
-25k小于25kb
+25k大于25kb
2M等于2M的-
可以加上逻辑条件
逻辑条件综合查询
-
grep
grep [选项] 字符串 文件名:在文件中匹配符合条件的字符串
-i忽略大小写
-v排除指定字符串
find和grep的区别
-
locate
locate 文件名:在后台数据库中按文件名搜索,搜索速度快
(locate命令只能按照文件名搜索)(且按照/etc/updatedb.conf配置文件搜索的)配置文件内容含义/var/lib/mlocate:locate命令所搜索的后台数据库(不是实时更新,一天更新一次)
updatedb:更新数据库
五、复制
-
cp
cp xxx.py /tmp/复制xxx.py到/tmp/下
cp xxx.py /tmp/ooo.py复制xxx.py到/tmp/下顺便改名为ooo.py
cp -r: 递归,复制目录以及目录的子孙后代
cp -p:连带文件属性复制(包括为文件的创建时间)
cp -d:若源文件是链接文件,则复制连接属性
cp -a:相当于-pdr(完全复制,所有信息都和原文件一模一样)cp是个好命令,操作文件前,先备份: cp main.py main.py.bak -
scp
- 传输本地文件到远程地址:
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
scp -r /tmp/ root@192.168.1.155:/home/ - 复制远程文件到本地:
scp root@192.168.1.155:/home/a.txt /tmp/a.txt
scp -r root@192.168.1.155:/home/ /home/
- 传输本地文件到远程地址:
六、路径切换
-
cd ~切到当前登录的用户的家目录 root用户是/root家目录,普通用户/home/ -
cd -切到上一次的工作目录 -
cd ..切到上一级工作目录 -
cd ./xxx切到当前工作目录下的某个目录 -
cd /xxx/xxx/xxx切到具体的某个目录
七、软连接配置(类似于Windows快捷方式)
ln -s 目标文件 软连接名
ln -s /tmp/xiaofeng.txt /home/xf.txt
还有一个`硬链接`:硬链接相当于是两个文件名对应同一块内存,
对一个文件修改之后另一个也变,一个删除了,另一个可以正常使用,
硬链接不常用,所以就不过多介绍,理解就行。
八、文件,文件夹的权限
1.通过
ls -l /tmp/*去查看文件 文件夹所有权限
drwx------. 2 root root 6 Nov 8 19:05 vmware-root
-rw-r--r--. 1 root root 1977763 Nov 8 22:17 gaoxiao.gif-
2.用户分类
文件,文件夹的用户分类分为三种, user(属主) group(属组) other(外包,其他人 ) - rw- r-- r-- 文件类型 属主的权限 属组的权限 other(外包)的权限 -
3.解读权限
对于普通文本权限来说- 是普通文本 r 读取 w 写入 x 执行对于文件夹来说
d 文件夹类型 r 可以对此目录执行ls列出所有文件 w 可以在这个目录创建文件 x 可以cd进入这个目录,或者查看详细信息 -
4.文件权限的 r w x 对于数字的转化,转化为8进制的数字
r 4 w 2 x 1 -
5.文件权限练习:
提示:
r w x rwx rwx
4 2 17 0 0 rwx --- --- 7 4 4 rwx r-- r-- 7 7 7 rwx rwx rwx 7 5 5 rwx r-x r-x -
6.更改文件所有者和所属组,语法:
命令 解释 chown 用户名 文件名改变文件的所有者 chgrp 组名 file改变文件的所属组 chown root:root 文件名即修改所有者,又修改所属组 chmod 700 test.py修改test.py文件权限为700 groupadd 组命添加组命 gpasswd -a user1 user将user1用户,添加至user组里



