Linux基础命令详解
1 遍历目录
cd:change dicrectory的缩写
.或者./代表当前目录,..或../代表上一级目录,cd -代表进入上一次的目录。
2 文件和目录列表
ls:list的缩写,会显示目录下的文件。
用法:ls [-laFR] [dir],其中-F表示在目录后加/表示区分,-R为递归显示。
3 处理文件
3.1 创建文件touch
命令格式:touch [-acdfmrt] 文件
命令参数:
-a 或--time=atime或--time=access或--time=use 只更改存取时间
-c 或--no-create 不建立任何文档
-d 使用指定的日期时间,而非现在的时间
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间
命令功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间
使用范例:
实例一:创建不存在的文件
touch a.log b.log 一次建立了两个日志文件
3.2 复制文件cp
命令格式:cp [-ipru] [file/dir]
命令参数:
-i 覆盖文件之前先询问
-p 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-r 递归处理,将指定目录下的文件及子目录一并处理,通常用作复制目录
-u 使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
命令功能:
cp可用于文件或者目录的拷贝
使用范例:
[root@leon data]# cp -p ett.xtx tte.txt 保留文件属性拷贝,并更名为tte.txt
3.3 移动或重命名文件mv
命令格式:mv [-bfiut] [file/dir]
命令参数:
-f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件 (destination) 已经存在时,就会询问是否覆盖
-u 若目标文件已经存在,且 source 比较新,才会更新(update)
命令功能:
mv命令可用于修改文件或者目录的名字
使用范例:
[root@leon data]# mv tte.txt changename.txt 修改tte.txt的名字
3.4 删除文件rm
命令格式:rm [-irf] [file/dir]
命令参数:
-i 进行任何删除操作前必须先确认
-f 强制删除
-r 递归删除
命令功能:
rm用于删除文件,一般常和find在一起使用,这点我们在find用法中会讲到。
使用范例:
[root@leon data]# rm -fr test/
4 处理目录
4.1 创建目录mkdir
命令格式:mkdir [-mpv] [dir]
命令参数:
-m mode,为目录指定访问权限,与chmod类似
-p 如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录。
-v 为每个目录显示提示信息
命令功能:
创建单个目录或者级联目录。
使用范例:
[root@leon data]# mkdir -p blog/{bin,lib,var/{etc,doc,logfile}}
[root@leon data]# tree blog/
blog/
├── bin
├── lib
└── var
├── doc
├── etc
└── logfile
4.2 删除目录rmdir
默认情况下rmdir命令只是用来删除空目录的,非空目录的删除需要用rm -fr来递归删除,这样用的风险很大,所以一般会和find联合使用。
5 查看文件
5.1 cat命令
命令格式:cat [-nbT] [file]
命令参数:
-n 给所有的行加上行号
-b 只给文本加上行号
-T 不显示制表符,用^I代替
命令功能:
查看整个文件内容
5.2 more/less
命令功能:
分页显示,比cat更方便。
5.3 查看部分文件
5.3.1 tail命令
命令参数:
-n 显示最后多少行的信息
命令功能:
显示尾部XXX行信息
使用范例:
[root@leon data]# tail -n 3 a.txt
18
19
20
5.3.2 head命令
命令参数:
同tail
命令功能:
显示头部XXX行信息
使用范例:
[root@oldboy data]# head -n 3 a.txt
1
2
3
6 find查找命令
命令格式:find [路径] [参数选项]
命令参数:
-name 按照文件名查找文件。
find /data -name filename 在/data目录及其子目录下面查找名字为filename的文件
find . -name "*.sh" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“sh”的文件
-perm 按照文件权限来查找文件。
find . -perm 755 在当前目录下查找文件权限位为755的文件
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
find /apps -path "/apps/bin" -prune 在/apps目录下查找文件,但不希望在/apps/bin目录下查找
-user 按照文件属主来查找文件
find ~ -user root 在$HOME目录中查找文件属主为sam的文件
-group 按照文件所属的组来查找文件
-mtime 按照文件的更改时间来查找文件
+7:表示7天以前
-7:最近七天
7:第七天
-type 按照文件类型查找
b - 块设备文件
d - 目录
c - 字符设备文件
p - 管道文件
l - 符号链接文件
f - 普通文件
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
find与xargs
在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定
find删除
[root@leon home]# find . -type f -name "*.txt" | xargs rm -f (推荐删除)
find+sed
[root@leon data]# find . -type f -name "*.sh" | xargs sed 's/oldboy/oldgirl/g'
参考资料:
https://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html
https://www.cnblogs.com/peida/archive/2012/11/16/2773289.html
Linux基础命令详解的更多相关文章
- Linux基础命令详解-3
本篇详解的命令有以下15个 1.chown 更改文件和文件夹的用户和组所有权 2.useradd 创建一个新用户 3.userdel 删除一个用户 4.usermod 修改用户帐户 5.echo 打印 ...
- Linux基础命令详解-2
本篇详解的命令有以下30个 1.rmdir 功能:删除一个空目录 2.telnet 功能:使用telnet协议连接到主机的指定端口 3.vim 功能:编辑器之神 vim三种模式的功能及其转换 ...
- Linux基础命令详解-1
本篇详解的命令有以下30个 1.cd 功能:切换工作目录 参数列表 2.ls 功能:查看目录里的内容 参数列表 3.mv 功能: 移动或重命名文件和目录 参数列表 4.pwd ...
- linux lsof命令详解
linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访 ...
- Linux lsof命令详解和使用示例【转】
所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接 ...
- [转贴]linux lsof命令详解
linux lsof命令详解 https://www.cnblogs.com/sparkbj/p/7161669.html 简介 lsof(list open files)是一个列出当前系统打开文件的 ...
- Linux常用命令详解上
Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- linux cat 命令详解
linux cat 命令详解 http://linux.chinaunix.net/techdoc/system/2007/11/16/972467.shtml adb shell su //这个不一 ...
随机推荐
- ajax的缺点
平时我们大多注意的都是ajax给我们所带来的好处诸如用户体验的提升.对ajax所带来的缺陷有所忽视. 下面所阐述的ajax的缺陷都是它先天所产生的. 1.ajax干掉了back按钮,即对浏览器后退机制 ...
- 网络基础Cisco路由交换四
NAT及静态转换 概述(NAT:网络地址转化) 作用: 通过将内部网络的私有ip地址翻译成全球唯一的公网ip地址, 使内部网络可以连接到互联网等外部网络上. NATA的特性 优点: 节省公有合法ip地 ...
- vxworks下文件读写示例
dev 1.create file on floopy disk and write contents: -> pdev=fdDevCreate(0,0,0,0) /* A:,1.44M ...
- org.hibernate.exception.GenericJDBCException: Could not open connection
1.错误描述 org.hibernate.exception.GenericJDBCException: Could not open connection at org.hibernate.exce ...
- (七)java类和对象
一个类定义一个新的数据类型,也就是定义了一个逻辑框架,定义了它的成员之间的关系.可以通过这种类型来声明该类型的对象,通过new关键词来实例化对象,也就是为该类型的对象动态的分配物理内存空间,这个分配过 ...
- Linux显示登录Shell信息
Linux显示登录Shell信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -p Login Name Tty Idle Login Tim ...
- Linux显示所有可更新的软件清单命令
Linux显示所有可更新的软件清单命令 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ yum check-update 程序"yum"尚未 ...
- Vue指令总结---小白同学必看
今天主要复习一下我们最熟悉vue指令,想要代码撸得快,就要多看书,多看看官方的文档和学习指令,学习编程是一个非常享受的过程,尤其是你不断地去解决问题,获得一项技能,实现薪水的上涨.进行Vue的指令烹饪 ...
- html标签自带样式总结
一.html标签自带样式 head { display:none; } body { margin:8px; line-height:1.12; } button, textarea, input, ...
- VMware vSphere学习整理
知识点整理 内存选择 一般来说,每个虚拟机需要的内存在1~4GB甚至更多,还要为VMware ESXi预留一部分内存 2个6核的2U服务器配置64GB内存,4个6核或8核心的4U服务器配置128GB或 ...