文章目录
重点命令:
ls,pwd,cd,mkdir,touch,cat(tac,more,less,tail,ldd,hexdump,rev),
tree,cp,mv,rm,type,which(whereis,whatis),du,cut,paste,wc,sort,uniq,diff
1.文件路径
> 1.绝对路径:
> a)以“/”开头的,他是唯一一个绝对能够描述文件在路径的方式
> b)“/”根路径是linux操作系统最顶级的目录,
> c)表示bozai家的路径:/home/bazai/file1
> 2.相对路经
> a)路径是相对的,文件所在的路径是相对于前所在的路径而言的
> b)当前路径使用 . 或者 ./
> i.当前目录的上一级目录使用 ..或者 ../
> 当前用户家目录使用 ~
> 上次工作路径使用 -
2. 文件的类型
File判断文件类型
选项
-b列出文件识别结果不显示文件名称
-f filelist列出文件filelist中文件名的文件类型
-F 使用指定分隔符替换输出文件名后默认的:”;”分隔符
-L 查看对应软连接对应的文件类型
--help 帮助说明
命令
1. ls命令
常用选项
-A 列出所有的文件,包括隐藏文件 除了… 和.文件
-a 也可以用ls --all,查看目录下所有的文件,包括隐藏文件(就是以.开头的文件)
-l (小) 长度显示(显示所有信息)
-r(小) 逆序排序
-R (大) 递归列出目录中的内容、(包括子文件夹里面的内容)
-S(大) 按文件的大小排序
-h human,以人性化的方式显示出来(按字节M显示文件)
-d 只列出目录名本身,不列出其他内容
-t 按修改时间排序
-i 显示文件的inode号(索引号) df -i 查看磁盘空间的节点大小
-m 拥逗号分隔显示内容
例如:
ls -lS /root( 把/root 的文件 按 大小排序,默认会把最大的文件放在第一个)
ls -lt /root (按修改时间排序)
ls -ltr /root (按修改时间反向排序)
ls -dt /root (查看本身的详细信息)
2.pwd 显示当前所处的目录
pwd -P 显示实际的工作目录,而非使用链接路径
3.cd 更改目录,切换目录
用法:cd 目标目录
. 当前目录
. .父目录
cd . . 切换到父目录,切换到上一-级目录
cd 类似cd~命 令,切换到当前用户家目录
cd ~ 切换到当前用户的家目录
cd - 返回上- -次所处的目录
cd \ 回车 ,输入目录名就会切换到对应的目录
4.mkdir创建目录
-m 可以设置权限
-p 连级创建
-v 显示详细信息
**创建目录最好写绝对路径 ./表示该目录下面**
特殊的:a 如果上级目录不存在就要是用 -p 连级创建文件夹
b .可以同时创建多个目录
例如:
mkdir -pv ./testdir/dir1{x,y}/{a,b} #可以使用花括号组合
创建一个first目录其中包括目录dir1x和dir1y 并且分别创建两个子目录a,b
5.touch创建目录
也可以这样创建文件
> 文件名 #重名文件 会被清空
>> 文件名 #不会清空重名文件内容
缺陷,如果重复在一个目录下创建同一个文件,则会导致,该文件被清空文件
文件名区分大小写
文件名不能包含特殊符号
文件名最多可达255个字符
如果所创建的文件存在(则就为—修改文件的时间戳)
-h
1.修改“访问acccess”时间-a
touch –a file –t “202010101111”
2.修改 “更改modify”时间是-t
touch –m file –t “201810101111”
3.修改访问时间又修改更改时间-d --文件放到最后
touch –d “20171010” file
6.cat查看文件内容(小文件)
-E:显示行结束符$
-n:对显示出的每一行进行编号
-A:显示所有控制符
-b:非空行编号
-s:压缩连续的空行成一行
特殊功能:文件合并
cat 文件1 文件2 > 文件路径
选项:
-n显示行号
-A(大)显示控制字符 (如:换行符$)
其他命令
tac,more,less,head,less,tail,ldd,hexdump,rev
-
tac 方向查看,是cat的反义
-
more 和less 命令:分页查看, 用法: q退出查看 ,建议less命令 (空格翻页,enter翻行)
搜索时用
/关键字 #搜索
· 在less中搜索的关键字会高亮显示,而more中不会
- head开头查看
-c # 指定获取前#字节
-n # 指定获取前#行
-# 指定行数
tail结尾查看
-c # 指定获取后#字节
-n # 指定获取后#行 -# 同上
-f 跟踪显示文件fd新追加的内容,常用日志监控
相当于 --follow=descriptor
-F 跟踪文件名,相当于--follow=name --retry
tail -f 动态查看文件变化(用于日志文件跟踪))Ctrl+c退出 或者q键
tail -f 文件名
-
ldd 一般用来查看二进制命令文件
-
Hexdump 查看二进制文件 外部命令(-c 查看其中的符号)
- rev命令可以将查找到的内容倒置(反过来看)
7.tree显示目录结构-----你得安装包tree
选项
-d 只显示目录
-L 指定层级数目 例如tree -L 2 /boot 只显示这个目录下面的前两集目录结构
-P 显示由指定的pattern模式 匹配到的路径
8.cp拷贝文件
默认为cp -i
格式
cp 源文件 生成的文件
注意拷贝时 不包括隐藏文件
. 代表当前目录
注意:拷贝隐藏文件全完不能用 /root/.*
因为 .*中包含 . 文件和 .. 文件
所以拷贝时用/root/.[^.] 排除..文件
-r 递归拷贝目录 -rf是强制性递归拷贝
-v 显示拷贝过程信息
-u --update只复制源比目标更新文件或目标不存在的文件
-b 目标存在,覆盖先备份,形式为filename~
-p 文件属性信息一起拷贝
如果拷贝其他用户的文件,可能会导致文件属性的改变,所以用 –p
-a 递归拷贝文件,包括目录及文件属性信息(都不会改变)
如果同时复制两次同一个文件夹到同一个目录下,则会将第二次复制的文件夹,放到该目录下面--------------幂等性
9.mv文件的移动和重命名
移动文件 (文件路径不一样)
mv 源文件 新路径
重命名:(老文件和新文件路径一样)
mv 原名 新名
rename一次性更改多个文件的文件名使用
10.rm删除文件
切记:要经常问自己(who–where–what)不会立即释放空间 如果正在使用这个文件,则不会删除 建议使用 # > 目录名
常用选项
-r 递归删除
-f 强制删除 或者将两个合起来 –rf(没有提示)
建议:
在工作中使用mv 文件 /tmp/ 将文件移动到临时目录 用这个方法删除不需要的文件
一般情况下吧 rm定义为别名mv 避免删除后无法恢复
文件能不能删,看的是文件夹的权限
rm 删除的是这个文件的节点表,并没有删除数据,而这些数据的空间,在下一个数据 存入是 会被覆盖-----------------所以有些情况下是能还原的
rmdir
删除目录------------只能删除空目录
-p 递归删除父空目录(如果发现父目录为空,也删除)
-v显示详细信息
8.tree显示目录结构
得安装包tree
选项
-d 只显示目录
-L 指定层级数目 例如tree -L 2 /boot 只显示这个目录下面的前两集目录结构
-P 显示由指定的pattern模式 匹配到的路径
13.du -sh查看目录的真实大小
-s只显示汇总的大小(summarles)
-h 表示以较高可读性显示(就是以K,MB,GB显示)自己判别大小(并给单位)
14.按列抽取文本cut和合并文件paste
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符
显示文件或STDIN数据的指定列
cut -d: -f1 /etc/passwd
cat /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/word
paste 合并两个文件同行号的列到一行
paste [OPTION]… [FILE]…
-d 分隔符:指定分隔符,默认用TAB
-s : 所有行合成一行显示
示例:
paste f1 f2
paste -s f1 f2
15. 收集文本统计数据wc
计数单词总数、行总数、字节总数和字符总数
行数 字数 字节数
常用选项
-l 只计数行数
-w 只计数单词总数
-c 只计数字节总数
-m只计数字符总数
-L 显示文件中最长行的长度
wc 统计文件信息(包括行数-l(lines),单词数-w(words依据空格区分),字节数-c)
所以一般使用时wc -lwc
(也可以不加-lwc 显示的结果与这个一样)
例如:
wc -l /etc/passwd 查看当前系统有多少个用户
cat /etc/passwd|wc -l
16. 文本排序sort
把整理过的文本显示在STDOUT,不改变原始文件
sort [options] file(s)
常用选项
-r 执行反方向(由上至下)整理
-R 随机排序
-n 执行按数字大小整理
-f 选项忽略(fold)字符串中的字符大小写
-u 选项(独特,unique)删除输出中的重复行
-t c 选项使用c做为字段界定符
-k X 选项按照使用c字符分隔的X列来整理能够使用多次
17. uniq
uniq命令:从输入中删除前后相接的重复的行
uniq [OPTION]… [FILE]…
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行
注:连续且完全相同方为重复
常和sort 命令一起配合使用:
sort userlist.txt | uniq -c
18. 比较文件diff
比较两个文件之间的区别
diff foo.conf foo2.conf
5c5
< use_widgets = no
---
> use_widgets = yes
第5行有区别(改变)
19.bc
相当于计算机用quit退出
输入十进制输出二进制 需要小obase =2
ibase用于设置输入数据的进制
obase用于输出的数据进制
练习
1、找出ifconfig “网卡名” 命令结果中本机的IPv4地址
2、查出分区空间使用率的最大百分比值
3、查出用户UID最大值的用户名、UID及shell类型
4、查出/tmp的权限,以数字方式显示
5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序