前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux常用命令速查-文件管理

Linux常用命令速查-文件管理

作者头像
Java学习录
发布2019-04-18 15:05:41
1.4K0
发布2019-04-18 15:05:41
举报
文章被收录于专栏:Java学习录Java学习录

本文涉及:Linux中文件及目录的相关操作、文件查找、文件权限、统计、过滤、解压缩等相关内容

文件及目录

查看当前所在目录

代码语言:javascript
复制
pwd

切换目录

代码语言:javascript
复制
cd

常用参数:

  • cd进入用户主目录
  • cd .. 进入当前目录的上级目录
  • cd /app/logs 进入具体目录

列出当前目录的文件和子目录

代码语言:javascript
复制
ls 
  • -a 列出所有目录、子目录、文件和隐藏文件
  • -R 列出从当前目录开始的所有的子目录、文件并且一层层往下显示
  • -t 以修改时间为时间倒序来列出文件、子目录
  • -l 以长列表格式显示文件、目录的详细信息(简写方式:ll)

创建目录

代码语言:javascript
复制
mkdir directoryName

删除文件

代码语言:javascript
复制
rm fileName

常用参数:

  • -f 强制删除(不询问)
  • -r 删除目录
  • -rf 强制删除目录(不询问)

创建文件

代码语言:javascript
复制
touch fileName

移动文件目录或重命名文件目录

代码语言:javascript
复制
mv  file1 file2 //将file1重命名为file2mv file1 /usr   //将file1移动到/usr目录下

拷贝文件

代码语言:javascript
复制
cp file /directory 将file复制到directory目录中

常用参数:

  • -r 复制目录
  • -i 当目标文件存在,会询问是否覆盖,没有则不询问直接覆盖

跨主机复制

代码语言:javascript
复制
scp 本地文件 远程机器用户@远程机器ip:远程机器文件夹

常用参数:

  • -1 强制scp命令使用协议ssh1
  • -2 强制scp命令使用协议ssh2
  • -4 强制scp命令只使用IPv4寻址
  • -6 强制scp命令只使用IPv6寻址
  • -B 使用批处理模式(传输过程中不询问传输口令或短语)
  • -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  • -p 保留原文件的修改时间,访问时间和访问权限
  • -q 不显示传输进度条
  • -r 递归复制整个目录
  • -v 详细方式显示输出
  • -c 以cipher将数据传输进行加密,这个选项将直接传递给ssh
  • -F 指定一个替代的ssh配置文件,此参数直接传递给ssh
  • -i 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh
  • -l 限定用户所能使用的带宽,以Kbit/s为单位
  • -o 如果习惯于使用ssh_config(5)中的参数传递方式
  • -P 指定数据传输用到的端口号
  • -S 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项

文件查看

cat

代码语言:javascript
复制
cat fileName   //在屏幕上显示文件fileName的所有内容cat > filename //创建文件cat   file1  file2  > file //将file1、file2的内容合并到file中

常用参数:

  • -n 由 1 开始对所有输出的行数编号
  • -b 和 -n 相似,只不过对于空白行不编号
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行

浏览文件

代码语言:javascript
复制
more fileName

常用参数:

  • -num 一次显示的行数
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示

常用操作:

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • V 调用vi编辑器
  • !命令 调用Shell,并执行命令
  • q 退出more

浏览文件

代码语言:javascript
复制
less fileName

常用参数:

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将"tab"键显示为规定的数字空格

常用操作:

  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

查看文件开头

代码语言:javascript
复制
head fileName

常用参数:

  • 默认显示文件前10行
  • -c num 显示每个文件的前num 字节内容;如果附加"-"参数(-c -n),则除了每个文件的最后num字节数据外 显示剩余全部内容
  • -n num 显示每个文件的前num 行内容;如果附加"-"参数,则除了每个文件的最后num 行外 显示剩余全部内容

查看文件末尾

代码语言:javascript
复制
tail

常用参数:

  • 默认显示文件最后10行
  • -n num 显示最后num行
  • -f 随着文件的更新而刷新,常用于查看不断写入的日志

文件目录权限

Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

权限的分类:

r 读权限:可以打开文件、目录读取查看; w 写权限:对文件、目录可以编写更改; x 执行权限:对文件可执行

先看个实例:

代码语言:javascript
复制
[root@master1 ~]# ll-rw-r--r--.  1 root root      2234 Mar 22 17:30 apollo.yaml-rw-r--r--.  1 root root       360 Aug 31  2018 dashboard-admin.yaml-rw-r--r--.  1 root root 298393600 Dec 21 09:48 data_bak.tar-rwxr-xr-x.  1 root root       207 Nov 23 16:56 docker-secret-rw-r--r--.  1 root root       165 Nov 27 21:35 k8s-join-rw-r--r--.  1 root root       242 Nov 13 20:23 k8s-node-reset-rw-r--r--.  1 root root      2801 Aug 29  2018 kube-flannel.yml-rw-r--r--.  1 root root      4632 Nov 14 16:17 kubernetes-dashboard.yaml-rw-r--r--.  1 root root       199 Dec 28 16:52 ns-pod.yamldrwxrwxr-x. 14 root root      4096 Dec 21 14:59 prometheus-operator-0.26.0

上方每个文件最左侧的10个字符就是此文件的权限相关数据:

  • 第一个字符表示文件类型,d为目录 -为普通文件 l为连接 b为可存储的接口设备 c为键盘鼠标等输入设备
  • 2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
  • 第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
  • 第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
  • 第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
  • 第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
  • 第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
  • 第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
  • 第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
  • 第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
  • 第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-

修改权限

代码语言:javascript
复制
chmod abc file

其中a,b,c各为一个数字,分别表示所有者、所有者同组、及其他用户的权限其中r=4,w=2,x=1

  • rwx权限=7
  • rw权限=6
  • rx权限=5
  • r权限=4
  • 例如设置file所有人可读可写可执行则使用 chmod 777 file
  • 。。。

更改文件的所有者和所有组

代码语言:javascript
复制
chown user:group fileName

常用参数:

  • -R : 指定目录以及其子目录下的所有文件

查找文件

find

代码语言:javascript
复制
find [查找目录] [查找规则] [查找完后的操作] 

查找目录:

  • .表示当前目录
  • /usr 路径

查找规则:

  • -name 按文件名 (可以使用通配符)
  • -iname 按文件名,不区分大小写(可以使用通配符)
  • -user 按用户(文件属主)
  • -size 按大小
  • -mtime 按最后一次修改时间
  • -atime 按最后一次访问时间
  • -type 按文件类型 f:file d:directory
  • -perm 按权限

Locate

代码语言:javascript
复制
Locate 

常用参数:

  • -e 将排除在寻找的范围之外
  • -1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案
  • -f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。
  • -q 安静模式,不会显示任何错误讯息。
  • -n 至多显示 n个输出。
  • -r 使用正规运算式 做寻找的条件。
  • -o 指定资料库存的名称。
  • -d 指定资料库的路径

查找二进制文件

代码语言:javascript
复制
whereis

常用参数:

  • -b  只查找二进制文件。
  • -B<目录>  只在设置的目录下查找二进制文件。
  • -f  不显示文件名前的路径名称。
  • -m  只查找说明文件。
  • -M<目录>  只在设置的目录下查找说明文件。
  • -s  只查找原始代码文件。
  • -S<目录>  只在设置的目录下查找原始代码文件。
  • -u  查找不包含指定类型的文件。

统计过滤

过滤

代码语言:javascript
复制
grep 

常用参数:

  • -E 开启扩展的正则表达式。
  • -i 忽略大小写
  • -v 只打印没有匹配的,而匹配的反而不打印。
  • -n 显示行号
  • -w 被匹配的文本只能是单词,而不能是单词中的某一部分
  • -c 显示总共有多少行被匹配到了,如果同时使用-cv选项是显示有多少行没有被匹配到。
  • -o 只显示被模式匹配到的字符串。
  • --color 将匹配到的内容以颜色高亮显示。
  • -A n显示匹配到的字符串所在的行及其后n行
  • -B n显示匹配到的字符串所在的行及其前n行
  • -C n显示匹配到的字符串所在的行及其前后各n行
代码语言:javascript
复制

统计

代码语言:javascript
复制
wc 

常用参数:

  • -l 统计多少行
  • -w 统计多少个单词
  • -c 统计多少个字符

◆解压缩

代码语言:javascript
复制

tar包

  • 解压:tar zxvf FileName.tar
  • 压缩:tar czvf FileName.tar DirName

gz包

  • 解压:gunzip FileName.gz
  • 压缩:gzip FileName

tar.gz包

  • 解压:tar zxvf FileName.tar.gz
  • 压缩:tar zcvf FileName.tar.gz DirName

Z包

  • 解压:uncompress FileName.Z
  • 压缩:compress FileName

tar.Z包

  • 解压:tar Zxvf FileName.tar.Z
  • 压缩:tar Zcvf FileName.tar.Z DirName

zip包

  • 解压:unzip FileName.zip
  • 压缩:zip FileName.zip DirName
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看当前所在目录
  • 拷贝文件
  • 先看个实例:
  • 上方每个文件最左侧的10个字符就是此文件的权限相关数据:
  • find
  • 常用参数:
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档