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 //这个不一 ...
随机推荐
- 创建基于MailKit和MimeKit的.NET基础邮件服务
邮件服务是一般的系统都会拥有和需要的功能,但是对于.NET项目来说,邮件服务的创建和使用会较为的麻烦..NET对于邮件功能提供了System.Net.Mail用于创建邮件服务,该基础服务提供邮件的基础 ...
- html、text、val、attr、prop区别。this.value和$(this).val()区别以及return用法
html(): html() 方法返回或设置被选元素的内容 (inner HTML). 当使用该方法读取多个值时,它会返回第一个匹配元素的内容. 当使用该方法设置一个值时,它会覆盖所有匹配元素的内容. ...
- Scheme change not implemented
1.错误描述 2.错误原因 由于在改变Java代码中的方法或运行代码出现,导致Tomcat编译的代码不能替换工作空间的代码,即不能及时同步,出现错误 3.解决办法 (1)关闭Tomcat,clean一 ...
- select(Linux 编程)
select系统调用时用来让我们的程序监视多个文件句柄的状态变化的.程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变. 关于文件句柄,其实就是一个整数,通过socket函 ...
- JavaScript获取地址栏中的参数
JavaScript获取地址栏中的参数 1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&p ...
- Java代码输出是“father”还是“child”(一)
1.实例 /** * 以下代码输出的结果是 */ package com.you.model; /** * @author YouHaidong * 输出的结果 */ public class Fat ...
- Python基础__Python序列基本类型及其操作(1)
本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合.这里的对象可以是数字.字符串等.根据功能的不同将序列分为字符串.列表.元组,本文将以下这几种对象做一些介绍. 一. 字 ...
- HTTP的长连接,你不知道的连接。。。
长连接起源 什么样的连接才能称之为长连接?要多长.... http是一种无状态的协议,也就是stateless协议,而http协议又是建立在tcp/ip协议的基础之上的. 无状态表示每次请求都是一次独 ...
- 【HNOI 2002 】营业额统计(splay)
题面 Description Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营 ...
- 【ZJOI2010】网络扩容
费用流+最大流 先一遍最大流 再所有边扩容,新加节点限制扩容量k # include <bits/stdc++.h> # define IL inline # define RG regi ...