文件和目录操作命令(18个)
ls
功能:查看目录
参数:
-a 显示目录下的所有文件包含隐藏文件
-l 以长格式显示目录下的内容
-ihl 以长格式显示目录下的iode值
-r 将输出的结果以倒叙显示
-t 将输出的结果按照修改时间排序显示
-S 以文件的大小显示目录下的内容
-h:将文件内容大小以GB、KB等易读的方式显示
ls --help 查看帮助ls的参数
cd
功能:切换目录
参数:
cd 不加参数 切换到家目录
.. 上级目录
../../ 上级目录的上级目录
(-) 返回上次切换的目录
cp
功能:拷贝 粘贴复制
参数
-a 此参数的效果和同时指定"-dpR"参数相同
-P 保持属性
-r 递归复制
find
【命令形式】
find [path] [option] [action]
path:指定开始查找的路径
option:指定选项,一般是设定查找的条件
action:指定动作,默认为print
find【常见用法】
转https://blog.csdn.net/csyuana/article/details/75212287
- 1.根据文件名进行搜索
涉及选项:
(1) -name:设定需要查找的文件名
(2)-iname:同上,但是不区分大小写
例子:
在当前目录下搜索所有doc文件:
find ./ -name "*.doc" c++
- 2.根据文件类型进行搜索
涉及选项:
(1)-type:设定文件类型
文件类型:
(1)f:普通文件
(2)l:符号链接
(3)d:目录
(4)c:字符设备
(5)b:块设备
(6)s:套接字
(7)p:FIFO
例子:
在当前目录下搜索所有普通文件:
find ./ -type f
- 3.根据文件大小进行搜索:
涉及选项:
(1)-size [+-]s:设定文件大小限制,+/-分别代表大于/小于s
例子:
在当前目录下找到大小为100k的文件:
find ./ -size 100k
- 4.根据文件时间进行搜索
涉及选项:
(1)-[x]time [+-]n:x可选a/m/c,分别代表访问时间/修改时间/属性修改时间;+/-分别代表n天之前/之内。
(2)-[x]min [+-]n:同上,但时间单位换成分钟。
例子:
在当前目录下找到24小时之内改动过的文件:
find ./ -mtime 0
- 5.根据文件权限进行搜索
涉及选项:
(1)-perm [+-]p:设定权限限制,+/-分别代表文件需要完全包含/包含任一所设权限
例子:
在当前目录下找到含有SBIT权限的文件:
find ./ -perm +4000
【更多用法】
- 6.删除匹配文件
涉及选项:
(1)-delete
之前的例子都没有使用可选的action,这是利用了默认是-print。如果需要将符合条件的文件删除,则使用-delete作为action部分。
例子:
删除当前目录下所有的doc文件:
find ./ -name "*.doc" -delete
- 7.执行命令
涉及选项:
(1)-exec cmd:cmd可以替换成需要执行的命令。
例子:
将5天之前的log文件删除:
find ./ -mtime +5 -name "*.log" -exec rm -f {} ;
- 8.限定目录深度
涉及选项:
(1)-maxdepth:限制最大深度
(2)-mindepth:限制最小深度
例子:
只在当前目录搜索doc文件:
find ./ -maxdepth 1 -name "*.doc"
- 9.否定
可以使用"!"来将参数的含义取反。
例子:
将当前目录下的非doc文件列出:
find ./ ! -name "*.doc"
- 10.设定多条件
涉及选项:
(1)-a:表示多个条件之间的与关系
(2)-o:表示多个条件之间的或关系
例子:
搜索doc文件或者docx文件:
find ./ ( -name ".doc" -o -name ".docx" )
- 11.搜索时跳过特定目录
涉及选项:
(1)-prune:设定需要排除的文件(prune本身为精简的含义)
例子:
递归打印当前目录下所有文件,但不包括名为.git的文件:
find ./ ( -name ".git" -prune ) -o ( -type f -print )
mkdir
功能:创建目录
参数
-p 递归创建
{} 一次创建多个
chuan
mv
功能:移动
参数
-f 强制覆盖不进行提示
-t先指定目标地址在指定目标源文件
pwd
功能:显示当前路径
rename
功能:更改文件名的名字可以批量替换
rename a b * 把以文件名a开头的替换成b
rm
功能:删除文件或者而目录
参数
-i 删除前进行提示
-f 只删除文件
-r 强制删除不进行提示
rmdir
功能:只删除一个空目录
touch
功能:创建文件修改文件时间
-d 指定时间创建文件
tree
功能:以树形状态显示
没安装用yum install -y tree
参数-a 显示所有文件和目录
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 只显示目录包含子目录
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码
-i 不以阶梯状列出文件或目录名称
-p 列出权限标示
-s 列出文件或目录大小。
-t 根据更改文件的时间排序
-L 指定显示多少层 需要跟数字(123...)配合
basename
功能
显示文件名或目录名。
dirname
功能
显示文件或目录路径
chattr
功能
给文件加上隐藏属性
+a 给文件加上隐藏属性
-a 给文件去除隐藏属性
lsattr
功能
显示文件的隐藏属性
file
功能
显示文件的详细信息类型(文件要以.txt结尾)
md5sum
功能:计算和校验文件的MD5值。
参数
-c 验证文件有没有改动
查看文件及内容处理命令(21个)
cat
功能 查看文件内容
参数:
-n 显示航航
-A 显示文件内容的隐藏字符
-b 显示行号,对空白行不显示。
tac
功能,反序显示文件内容
more
功能:类似于cat 。看文件内容能页显示
less
功能:查看文件内容
head
功能:显示文件的头几行默认是前十行
参数
-n 取消默认输出,
tail
功能:默认显示文件的后十行
参数
-n 取消默认输出
-f 实时监控文件的变化
cut
功能:将文件的每一行按指定分隔符分割并输出
-d 指定分隔符 格式为cut -d . -f 1 oldboy.txt
-f 选取列的列表,即选取每行的第N列
-c 选取字符的列表,即选取每个的第N个字符
-b 类似于-c参数 选取字节的列表,即选取每行的第N个字节。
split
功能 split命令可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
参数:
-b:值为每一个输出档案的大小,单位为byte
-C:每一输出档中,单行的最大byte数
-d: 使用数字作为后缀
-l: 值为每一输出档的列数大小
-a:指定后缀的长度
列:
dd if=/dev/zero of=/40/bb bs=100M count=2
split -b 10M date.file -d -a 3
split -b 10M bb -d -a 3
paste
功能:合并文件行
参数
-d 指定分隔符
-s 将每个文件合并成行而不是按行粘贴
- 标准输出
列:
[root@bobobobo ~]# cat 3.txt
bb : 2
cc : 1
ee : 4
rr : 2
aa : 1
root@bobobobo ~]# paste -d : -s 3.txt
bb : 2:cc : 1:ee : 4:rr : 2:aa : 1
sort
功能:对文件的文本内容排序
用途:将输入行按照键值字段与数据类型选项以及locale 排序
主要选项:
-b 忽略开头的空白
-c 检查输入是否已正确排序,如输入未经排序,但退出码(exit code)为非零值,则不会有任何输出
-d 字典顺序:仅文字数字与空白才有意义
-g 一般数值:以浮点数字类型比较字段。这个选项的运作有点类似 -n.差别仅在于这个选项的数字可能有小数点及指数。(仅GNU版本提供此功能)
-f 以不管字母大小写的方式排序
-i 忽略无法打印的字符
-k 定义排序键值字段(该选项后接一个字段编号,或则是一对数字。有时-k之后可用空白分隔。每个编号后都可以接一个点号的字符位置,及/ 或 修饰符(modifier)字母之一
.且当出现多个-k选项时候,会先从第一个键值开始排序,找出匹配该键值的记录后,再进行第二个键值字段的排序,以此类推。)
-m 将以排除的输入文件,合并为一个排序后的输出数据流。
-n 以整数类型比较字段
-o outfile 将输入写到指定文件,而非标准输出。如果该文件为输入文件之一,则sort 在进行配需与写到输入文件之前,会先将它复制到一个临时文件
-r 倒置排序的顺序为 由大至小(descending),而非默认的由小至大(ascending)
-t char 使用单个字符char作为默认的字段分割字符,取代默认的空白字符。
-u 只有唯一的记录,丢弃所有具有相同键值的记录,只留其中的第一条。只有键值字段是重要的,也就是说:被丢弃的记录其他部分可能是不同值
uniq
功能:把重复的东西去掉或者是删除重复的行
参数:
-c 在输出行前面加上每行在输入文件中出现的次数。
-d 仅显示重复行。
-u 仅显示不重复的行
wc
功能:计算统计
用法:wc [选项]... [文件]...
或:wc [选项]... --files0-from=F
-c, --bytes 输出字节数统计
-m, --chars 输出字符数统计
-l, --lines 输出行数统计
--files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-L, --max-line-length 显示最长行的长度
-w, --words 显示单词计数
--help 显示此帮助信息并退出
--version 显示版本信息并退出
iconv
功能:转换文件的编码格式
dos2unix
功能:格式转换,列如将windowns的文件传到linux中有时候看的文件内容一样linux却不能用。需要用cat -A来检查一下。然后用这个命令转换一下
diff
比较两个文件有什么不同
格式:diff 1.txt 2.txt
vimdiff
功能:比较两个文件的不同
但是比diff显示的更清楚
格式:vimdiff 1.txt 2.txt
rev
功能:反序显示文件内容
例:cat 1.txt 123456
rev 1.txt 654321
grep/egrep
功能:过滤文件内容
常用选项:
--color=auto:对匹配到的文本着色后进行高亮显示;
-i:忽略字符的大小写
-o:显示匹配过程
-v:显示不能被模式匹配到的行
-E:支持使用扩展的正则表达式
-A #:显示被模式匹配的行及其后#行
-B #:显示被模式匹配的行及其前#行
-C #:显示被模式匹配的行及其前后各#行
注:使用grep匹配时需使用双引号引起来(单引号为强引用),防止被系统误认为参数或者特殊命令而报错。
扩展grep使用方式
使用方式:egrep [OPTIONS] PATTERN [FILE...]
grep -E [OPTIONS] PATTERN [FILE...]
-i:忽略字符的大小写
-o:仅显示匹配到的字符串本身
-v:显示不被模式匹配到的行
-q:静默模式,即不输出任何信息
-A #:显示被模式匹配的行及其后#行
-B #:显示被模式匹配的行及其前#行
-C #:显示被模式匹配的行及其前后各#行
-G:支持基本正则表达式
grep正则表达式元字符
‘^‘: 锚定行首
‘$’: 锚定行尾
‘.‘: 匹配任一一个字符
‘*’: 匹配零个或多个先前字符
‘?‘:匹配其前面的字符0次或者1次;
‘+’:匹配其前面的字符1次或者多次;
‘{m}‘:匹配其前面的字符m次(\为转义字符)
‘{m,n}’:匹配其前面的字符至少m次,至多n次
‘[]‘: 匹配一个指定范围内的字符 | ‘[^]’匹配指定范围外的任意单个字符
‘<‘或‘\b’:锚定词首,‘>’或‘\b’:锚定词尾(可用<PATTERN>:匹配完整单词)
‘’:将多个字符当做一个整体进行处理
扩展正则表达式与正则表达式略有不同:
'[]':依旧匹配指定范围内的任意单个字符;但是有很多特殊匹配方式。
[:digit:] 匹配任意单个数字
[:lower:] 匹配任意单个小写字母
[:upper:] 匹配任意单个大写字母
[:alpha:] 匹配任意单个字母
[:alnum:] 匹配任意单个字母或数字
[:punct:] 匹配任意单个符号
[:space:] 匹配单个空格
一些地方取消了转义字符的使用:
‘?‘:匹配其前面的字符0次或者1次;
‘+’:匹配其前面的字符1次或者多次;
‘{m}‘:匹配其前面的字符m次(\为转义字符)
‘{m,n}’:匹配其前面的字符至少m次,至多n次
join
功能:按两个文件的相同字段合并
tr
功能:一对一的替换文件内容的数字相加
替换格式 tr ' ' '\n' < 1.txt
参数
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
列如:tr -s ["\n"] < plan.txt 去除这个文件里的空行
vim
功能:编辑文件内容 vi的加强版
他的三种工作模式
1)命令行模式
2) 底行模式
3) 编辑模式
小错误:如图 需要删除他的隐藏文件
上次没有保存推出,需要删除黄色线的部分
文件压缩及解压缩命令(4个)
tar
功能:打包和解压
格式 tar 参数 框 蔬菜
组合参数:
-zcvf 打包的时候用
-xf 解压
-tf 查看压缩包文件内容
--exclude 派出某个包
--delete 在创建压缩包的时候删除某个压缩包
常用参数:
-c 产生新的包
-r 像压缩归档文件末尾追加文件
-u 更新原压缩包中的文件,仅将较新的文件附加到存档中 -t 列出存档中文件的目录
-x 解包
-f 指定包的文件名,用在最后一个参数
-v 详细显示处理的文件
unzip
功能:解压文件以zip结尾的
gzip
功能:gzip压缩工具
zip
功能:压缩工具。
信息显示命令(11个)
uname
功能:显示操作系统相关信息的命令。
-a 打印全部信息
-s 打印当前操作系统名称,也是默认的选项
-r 打印内核版本
-m 打印电脑类型
-n 打印主机号
hostname
功能:修改主机名
dmesg
uptime
stat
du
df
top
free
date
cal
搜索文件命令(4个)
which
find
whereis
locate
用户管理命令(10个)
useradd
usermod
userdel
groupadd
passwd
chage
id
su
visudo
sudo
基础网络操作命令(11个)
telnet
ssh
scp
wget
ping
route
ifconfig
ifup
ifdown
netstat
ss
深入网络操作命令(9个)
nmap
lsof
mail
mutt
nslookup
dig
hsot
traceroute
tcpdump
有关磁盘与文件系统的命令(16个)
mount
umount
fsck
dd
dumpe2fs
dump
fdisk
parted
mkfs
partprobe
e2fsck
mkswap
swapoff
sync
resize2fs
系统权限及用户授权相关命令(4个)
chmod
chown
chgrp
umask
查看系统用户登陆信息的命令(7个)
whoami
who
w
last
lastlog
users
finger
内置命令及其它(19个)
echo
printf
rpm
yum
watch
alias
unalias
date
clear
history
eject
time
nc
xargs
exec
export
unset
type
bc
系统管理与性能监视命令(9个)
chkconfig
vmstat
mpstat
iostat
sar
ipcs
ipcrm
strace
ltrace
关机/重启/注销和查看系统信息的命令(6个)
shutdown
halt
poweroff
logout
exit
Ctrl +d
进程管理相关命令(15个)
bg
fg
jobs
kill
killall
pkill
crontab
ps
pstree
nice/renice
nohup
pgrep
runlevel
init
service
!!!
fio
iotop 显示每个进程的读写速度
fscks 磁盘检查 -a 自动检查,修复
megacli 查询raid状态
ipmitool 查询物理服务器信息(风扇转速 温度)
pstree 以树形显示进程结构
jobs 查看在后台运行的进程
dstat 监视性能
sar 监控性能