Linux常用命令--文件相关
文件与目录
命令 | 说明 | 备注 |
---|---|---|
pwd | 显示当前工作目录的绝对路径 | |
ls [路径] | 列出文件 | -a 显示隐藏文件,-l 以列表形式显示 |
cd (绝对/相对)路径 | 改变shell的当前工作目录 | cd .. 上一级 cd ~ 家目录 |
mkdir 路径 | 创建目录 | 如 mkdir /home/test/ ,-p 创建多级 mkdir -p /home/test/dog |
rmdir 路径 | 删除空目录 | 非空目录要用rm -rf (慎用) |
touch 路径 | 创建空文件 | 也可以> xx.txt |
cp 源路径 目标路径 | 将"源路径"下的东西拷贝到"目标路径"下 | -r 递归复制整个文件夹 。cp 强制覆盖不提示, 如 cp -r /home/test /tmp |
mv 源路径 目标路径 | 移动或重命名(在同一目录时为重命名,不同目录时为移动) | 如mv ./t1.txt ./t2.txt :重命名 ,mv ./t1.txt ./test/ :移动 |
rm 文件或目录路径 | 移除文件或目录 | -f 不提示, -r 递归删除整个文件夹 |
ln 文件或目录 软连接名 | 为文件(夹)创建链接 | 链接类型分为硬链接和符号链接,默认硬链接,使用-s 创建软连接 |
关于硬链接和软连接可以参考硬链接和软连接的区别
查看文件
命令 | 说明 | 备注 |
---|---|---|
cat 文件路径 | 查看文件内容,不能修改文件 | -n 显示行号 通常与mor e一起使用 :cat /etc/profile | more |
echo 输出内容 | 输出内容到控制台 | 如echo $SHELL 。-e 输出转义内容:echo -e "hello
world!" |
head 文件 | 显示文件的头部内容,默认前10行 | -n 指定行数,如:前20行 head -n 20 /etc/profile |
tail 文件 | 显示文件尾部,默认后10行 | -n 指定行数, -f 实时跟踪文件更新 |
more 文件
基于vi的文本过滤器
操作方式:
空格:下一屏
回车:下一行
q:离开more
f: 下一屏
b: 上一屏
=: 输出当前行号
:f: 输出文件名和当前行号
less 文件
用分屏查看文件内容,类似more但强于more,对于大型文件具有较高效率
操作方式:
空格/f:下一页
b: 上一页
q:离开less
?或/ :向上或下查找,使用n和N移动
j或k:上或下一行
h或H查看帮助
搜索查找
find命令
-
格式: find 路径,如:
find /etc -name a.txt
或者find /etc -size +1k
-
说明:从指定目录向下递归遍历,将满足条件的文件或文件夹显示到终端
-
常用选项:
选项 说明 -name
以文件名查 -user
以所属用户查 -size
以文件大小查 ( +
表示大于、-
表示小于、不写则为等于),单位有k(小写)、M、G,如例子的+1k
locate命令
- 格式:locate 文件名,如:
locate hello.txt
- 说明:快速定位文件路径
注意:第一次运行前,需要执行updatedb
命令,指定创建locate数据库 ,然后才能查询
which命令
- 格式:which 命令, 如:
which ls
- 说明:查找某个指令在那个目录下
grep命令
- 格式:grep 查找条件 源文件,如:
grep "root" /etc/passwd
- 说明:强大的文本搜索工具
- 常用选项:
-n
显示匹配行及行号;-i
忽略字母大小写
注意:grep命令通常配合管道符|
使用,如:cat /etc/passwd | grep root
压缩与解压
- gzip 文件路径,把*文件压缩为*.gz
- gunzip *.gz,把gz文件解压出来
- zip *.zip 路径,压缩文件或目录
-r
:递归压缩(压缩目录)- 如:
zip -r myHome.zip /home/
(连同home在内的全部压缩)
- unzip *.zip,解压缩文件
-d
指定解压路径
- tar 命令
tar -zcvf xxx.tar.gz 路径
,打包并压缩,如:tar -zcvf result.tar.gz /home/
tar -zxvf xxx.tar.gz -C 路径
,解包,如:tar -zxvf result.tar.gz -C ./temp/
- 选项详解:
-c
产生.tar打包件-x
解包.tar文件-v
显示详细信息-f
指定的文件名-z
打包的同时压缩或提取的同时解压-C
指定解压路径。
组管理和权限管理
命令 | 说明 | 备注 |
---|---|---|
ls -ahl | 查看文件的所有者等信息 | |
chown 用户名 文件或目录 | 修改文件所有者 | -R 递归改变;改变所有者和所有组:chown 新用户:新组 文件或目录 |
chgrp 组名 文件或目录 | 修改文件所在组 | -R 递归改变 |
chmod | 修改权限 | 方式一:+-= 结合 u g o a(所有人) 结合 wrx:chmod u=rwx,g=rx,o=x 文件或目录 ;chmod u+x,o-w 文件或目录 。方式二:利用数字r=4, w=2, x=1:chmod 751 文件或目录 |
关于所有者等
- linux中,每个用户必须属于一个组,不能独立于组外
- 所有者: 一般谁创建的文件,谁就是所有者
- 所有组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
- 其他人:除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
读写执行权限对文件和目录的作用
- 文件
- r:读取查看
- w:修改,但删除文件要看目录
- r: 执行
- 目录
- r: 可读,即可以ls
- w:可以创建、删除、重命名
- x:进入目录
假如输入ls -ahl
看到的一行文字:
-rw-rw-r--. 1 lczmx lczmx 21 12月 1 14:43 abc.txt
其含义:
- 第0位( - l d c b), 确定文件类型
- 普通文件
l 链接
d 目录
c 字符设备文件(鼠标,键盘、、)
b 块设备(硬盘) - 1-3位所有者对该文件的权限
- 4-6位所有组对该文件的权限
- 7-9位其他用户对该文件的权限
1
表示硬链接数lczmx
表示 所有者lczmx
表示所有组21
表示文件大小12月 1 14:43
最后修改日期abc.txt
文件名