Linux(三) - 文件操作相关命令
Ctl-A 光标移动到行首
Ctl-C 终止命令
Ctl-D 注销登录
Ctl-E 光标移动到行尾
Ctl-U 删除光标到行首的所有字符,在某些设置下,删除全行
Ctl-W 删除当前光标到前边的最近一个空格之间的字符
Ctl-H 删除光标前边的字符
Ctl-R 匹配最相近的一个文件,然后输出
Ctl-Z 将目前任务转为后台运行
Path 相关(cd、ls)
pwd #print working dir
// 目录查看
ls == ls -h #list files under current directory
ls -l #list with block and property
ls -A #list including hidden files
ls -Alh #list in a friendly view
ls /home #list a upper dir
ls *.json #list by wildcards
ls -lrt #按时间排序,以列表的方式显示目录项
// 目录跳转
cd - #switch to last path
cd .. #switch to upper path
cd / #switch to root path
cd ~/hexo #switch by absolute path
cd ./user/xx #switch by relative path
帮助命令(help、man、info、type)
help #仅适用于内置命令,效果不佳
man ls #查看命令手册
info ls #GNU的更详细的命令手册
type xxx
$ xxx is a shell builtin #说明是内建命令,这些命令都是在 bash 源码中的 builtins 的 .def 中
$ xxx is /usr/bin/xxx #说明是外部命令
$ xxx is an alias for xx #说明该指令为命令别名所设定的名称
文件相关
文件查看(cat、nl、head、tail、more、less、file)
//文件内容
cat file #preview file
cat -n fileA #preview file with linenum
nl fileA #preview trim file with linenum
more/less fileA #分页查看,more会直接结束,less 需要q退出
tail file #只看后几行
tail -n 2 file #只看2行
cut -c -5 file #每行前五个字节(包含第五个)
cut -c 5- file #每行前五个之后的字节(包含第五个)
cut -c 5 file #每行第五个字节
cut -c 2-5 file #每行第2到5之间的字节(包含第五个)
//文件类型
file file #查看文件类型
文件创建、复制、删除、重命名(touch、mkdir、rm、cp、mv)
// 创建
touch filename #create empty file
mkdir xxx/xx -p #create path(-p: create xxx)
//复制
cp -r A B #duplicate A's files to B(B unexist & only one floor)
cp -r A B #copy A to B(if B exist)
//删除
rm filename #delete filename
rm -r dir #delete dir
//重命名
mv xxx/oldfile xxx/newfile #rename a file
mv oldfile xxx/newfile #rename & move a file
mv dir xxx/dir #move dir to xxx/dir which is created
文件压缩和解压
// 压缩 zip
zip -rqo file.zip ./filename #普通压缩
zip -{1…9} -rqo zip.zip ./filename #不同级别压缩、加密压缩
zip -dv cp.zip file #从cp.zip中删除文件
# -d 从压缩文件内删除指定的文件
# -o 将压缩文件的更改时间设成和文件的最新更改时间一致
# -q 不显示指令执行过程
# -r 递归处理,将指定目录下的所有文件和子目录一并处理
# -v 显示指令执行过程或显示版本信息
//查看
unzip -l file.zip #显示压缩文件内所包含的文件
//解压 unzip
unzip file.zip #直接解压
unzip -q file.zip -d ./dir #解压到 dir 中
# -d <目录> 指定文件解压缩后所要存储的目录
# -q 执行时不显示任何信息
# -v 执行时显示详细的信息
//tar
//压缩
tar -cf file.tar xxx.xx #把xxx.xx 压缩为 file.tar
tar -czvf file.tar.gz xxx.xx #把xxx.xx 打包为 tar.gz 文件
# -c 建立新的备份文件
# -f 指定备份文件
# -v(--verbose) 显示指令执行过程
# -z(--gzip) 通过gzip指令处理备份文件
tar -cphf etc.tar /dir #一般用于系统备份
# -p 保留文件属性和跟随链接(符号链接或软链接)
# -h(--dereference) 不建立符号连接,直接复制该连接所指向的原始文件
# 使用 tar 备份文件当你在其他主机还原时希望保留文件的属性和备份链接指向的源文件而不是链接本身
//查看压缩内容
tar -tf file.tar #查看 file.tar
tar -tzvf test.tar.gz #查看压缩文件内容
# -C<目录>(--directory) 指定文件解压缩后所要存储的目录
# -f 指定备份文件
//解压
tar -xf file.tar -C ./dir #解压 file.tar
tar -xzf file.tar.gz #解压 tar.gz 打包文件
# -x (--extract) 从备份文件中还原文件
# -z(--gzip) 通过gzip指令处理备份文件
文件软链接(ln)
软链接:
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 软链接可以 跨文件系统 ,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
ln -s log.log link #为log.log 建立名为 link 的软链接
# -s 软链接(符号链接)
文件查找(whereis、which、find)
locate \*.jpg #locate 会维护一个数据库,查找时不会真的去找
which who #查找安装的命令、程序可以用
//find 命令
find [path] [option] [action]
find . -name \*.jpg #查找 jpg 文件
find . -type f #查找一般文件
#d: 目录
#c: 字型装置文件
#b: 区块装置文件
#p: 具名贮列
#f: 一般文件
#l: 符号连结
#s: socket
find . -ctime n #在过去n天内被变更过的文件
find . -atime n #在过去n天内被访问过的文件
find . -mtime n #在过去n天内容最后被修改的时间的文件
# -mtime n:n 为数字,表示为在 n 天之前的一天之内修改过的文件
# -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件
# -mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件
find . -newer /home/shiyanlou/Code
# -newer file:file为一个已存在的文件,列出比file还要新的文件
find . -type f -perm 644 -exec ls -l {} \;
#查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
File Permission(chown、chmod)
- 3 个权限组,每组 3 位
- 一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件

chmod 600 file #为 file 设置600权限
//g、o 还有 u 分别表示 group、others和user
//+ 和 - 分别表示增加和去掉相应的权限
chmod go-rw iphone6 #表示去掉group、others 的读写权限
chown username file #grant file ownership to user
chown :group file #grant file ownership to group
chown xx:xx file #grant file ownership to xx & xx
chown -R user:group dir #grant dir(-r) ownership to xx & xx
文件合并(join、paste)
join file1 file2 #逐行合并,相同的部分仅保留一份
#「1 hello」和「1 world」合并为「1 hello world」
paste f1 f2 [文件...] #逐行合并
# -d 自定义合并后的分割符( '\n' 以回车为每行的分割符)
paste -s file #将一个文件中的多行数据合并为一行显示,但不修改原文件
Linux(三) - 文件操作相关命令的更多相关文章
- linux 常用文本操作相关命令
平时工作经常会对文本进行相关操作,包括读写.替换.统计等等,借此整理和学习一下有关命令. 1. cat 查看文件中的内容, -n 查看时为每一行加编号; -b 和-n类似,只不过对于空白行不编号: 2 ...
- Linux文件操作相关命令
1.创建文件夹: [root@izuf6ih01h8fzeziddwkfdz sm]# mkdir a 创建一个名为a的文件夹 2.创建文件: [root@izuf6ih01h8fzeziddwkfd ...
- Linux文件操作常用命令整理
收集.整理日常系统管理或维护当中的,常用到的一些关于文件操作的命令或需求,后续会慢慢补充.完善! 查看.生成指定目录的目录树结构? [root@DB-Server ~]#tree #当前目录 ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- linux 目录结构及其相关命令
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用 ...
- linux学习(2):linux服务器常用操作和命令
linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单 ...
- Unix/Linux常用文件操作
Unix/Linux常用文件操作 秘籍:man命令是Unix/Linux中最常用的命令,因为命令行命令过多,我相信每个人都会经常忘记某些命令的用法,man命令就可以显示一个命令的所有选项,参数和说明, ...
- IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
上次写到<idea下仓库初始化与文件提交涉及到的基本命令>,今天我们继续写IDEA环境下GIT操作之二--idea下分支操作相关命令以及分支创建与合并. 1.idea 下分支操作相关命令 ...
- linux文件管理 文件操作
文件操作 pwd 命令 该命令的英文解释为print working direction(打印工作目录).输入pwd命令,Linux输出当前目录. cd 命令 用来改变所在目录 cd / 转到根目录 ...
随机推荐
- python set_index与reset_index的妙用
- 【Linux】tcp缓冲区大小的默认值、最大值
Author:阿冬哥 Created:2013-4-17 Blog:http://blog.csdn.net/c359719435/ Copyright 2013 阿冬哥 http://blog.cs ...
- (转)mkpasswd 的使用
原文:http://blog.csdn.net/u010339879/article/details/69788032 这个命令是随机生成 密码的一个工具, 如果没有这个命令,请安装相应的包. yum ...
- 牛客网Java刷题知识点之什么是单例模式?解决了什么问题?饿汉式单例(开发时常用)、懒汉式单例(面试时常用)、单例设计模式的内存图解
不多说,直接上干货! 什么是单例设计模式? 解决的问题:可以保证一个类在内存中的对象唯一性,必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性. 如何保证? 1.不允许其他程序用new ...
- DB2错误码大全
sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 0 ...
- VUE中给template组件加背景
<template> <div class="index_background" > </div> </template> < ...
- Redis-Service.Stack的初级使用
主要解决Redis服务器带有密码的情况下初始化. 创建RedisHelper类,直接贴代码: using ServiceStack.Redis;using System;class RedisHelp ...
- AOP切面编程
1.JDK动态代理方式实现 public static UserService createService(){ //目标类 final UserService userService = new U ...
- C#中关于静态与非静态的一个疑问
关于静态方法.变量和非静态方法.变量的区别,园里的大神早就有了许多详细的总结,个人觉得静态方法.变量与非静态方法.变量的区别可以总结为以下两句话: 静态的是属于类的 非静态是属于对象的 就是说调用静态 ...
- Android Studio修改默认Activity继承AppCompatActivity(转)
在Android Studio中新建Activity默认继承AppCompatActivity,感觉这点十分不爽,找了很久,终于发现在Android Studio安装目录下有个模板文件,修改其中的参数 ...