阅读量:0
命令行本质是对操作系统进行直接或间接的操作,指令的本质就是由C、C++或者其他语言编译的可执行程序
ls
- ls:默认显示当前目录下的所里文件名
- -l选项:显示文件的详细信息
- -a选项:显示出隐藏文件(文件名以 '.' 号开头的文件)
- -d选项:结合通配符,来确认目录是否存在
- -i选项:用于显示文件或目录的 inode 号码(Inode 是文件系统中用于存储文件元数据(如权限、所有者、时间戳等)的数据结构,每个文件或目录都有一个唯一的 inode 号码)
cd
- cd 后面跟目录的相对路径或者绝对路径
- 非目录文件一定是多叉树的叶子节点
- 路径中的文件一定是目录
- 来用路径的方式来找到唯一标识文件的方式,因为如何一个子目录都只有一个父目录
- ~ 进入当前用户家目录;即whoami
- - 跳转到上一次的路径
touch
- 创建指定目录下的普通文件
- 若文件存在则修改对应的时间
stat
- 显示文件或文件系统的详细信息
- Access (
atime
):文件最后被访问的时间。例如,使用cat
命令查看文件内容时会更新该时间。 - Modify (
mtime
):文件内容最后被修改的时间。例如,使用echo
命令修改文件内容时会更新该时间。 - Change (
ctime
):文件属性或状态最后被修改的时间。例如,修改文件权限、所有者,或重命名文件时会更新该时间。
mkdir
- 默认创建在当前目录下
- 默认创建空目录,不能创建带路径的目录
- -p选项可以创建不存在的父目录
tree
- yum install -y tree
- 默认是当前目录为入口,显示其所有的叶子节点
rmdir
- 只能删空目录
★rm
- rm filename 默认删除普通文件,如果文件是只读的,可能会提示确认删除
- -r :递归删除目录及其所有内容
- -f :强制删除文件,不二次询问
- rm 一定要指定路径;不会默认删除当前目录下的所有内容
- 忌:rm -rf / ;会强制删除根目录下的所有文件和目录,将导致系统崩溃
man
- yum install -y man-pages
- 从1号开始查,查到就停
- 使用不了就是没有装,因为云服务器默认是一种身产环境,是真正的一个网络服务运行的环境,所以凡是和运行不相关的都是没有装的
- '↑' 上翻
- ‘↓’ '回车' 下翻
nano
- 记事本,保存:ctrl + x;大写Y;回车
★cp
- cp src dst
拷贝非目录文件
- cp test.c dir1 拷贝非目录文件到现有目录,dir1需要存在
- cptest.c dir1/rename.c 拷贝的同时重命名
拷贝目录文件 -r
- -r 拷贝src目录到dst;
- cp -r src dst 递归拷贝 src 目录及其所有内容到 dst;如果 dst 已经存在,则 src 目录将被拷贝到 dst 目录下;如果 dst 不存在,则 dst 将被创建,并且 src 的内容将被拷贝到 dst 中
- dst若是一个路径,路径中除最后一个的目录,其他都必须存在
- 看目标路径的最后一个目录,若这个目录存在,则拷贝到这个目录下;若不存在,则被认为是重命名操作,是拷贝到目标路径的父目录下,并重命名为这个目录
★mv
- mv src dst
剪切非目录文件
- 同一目录下,可以直接重命名非目录名
- 不同目录时,若目标目录的最后一个部分是目录,则剪切的该目录下;若是非目录文件,则是重命名
剪切目录文件
- 同一目录下,可以直接重命名目录名
- 不同目录下,若目标路径的最后一个部分不存在,则剪切到这个目录下;若存在,则覆盖这个目录
覆盖
- 若src的最后一个部分和dst的最后一个部分相同则是覆盖
总结归纳
- 可以重命名
- src和dst中间的目录必须存在
- 若最后一个部分同名则覆盖;若不同名,不是剪切到最后一个部分目录下,就是重命名非目录文件
>
- echo "Hello Linux">test.txt
- 若没有,则新建一个test.txt
- >输出重定向,由写入显示器文件的内容改写到指定的文件中
- 覆盖原来的内容;每次写入之前先清空内容
- Linux下一切皆文件
- >test.txt 清空test的内容
>>
- 追加重定向
cat
- -n:输出带行号
- -s:不输出多行空格;多行连续的空格压缩成一行
- -b:空行不算入行号
- cat适合小文本
- cat test.txt 其实是个输入重定向;由原来的从键盘读取内容,重定向到从文件读取内容
- 单独cat 则是从键盘读取内容,再回显会显示器
more
- 输出满一整个屏幕
- 回车下翻,不能上翻
- q:退出
- 结合管道使用
★less
- 适合大文件
- ‘↑’ 回车 上翻;‘↓’下翻
- "/str"向上搜索含有str的行;"?str"向下搜索含有str的行
- -i:搜索时忽略大小写
- -N:显示行号
- n:重复前一个搜索
- N:反向重复前一个搜索,就是原本向上搜索 变成向下搜索
cat
- 文件倒着打印
head tail
- 查看文件的头/尾部,默认10行
- -num:如-30,显示30行
查看300-320行
- cat big.txt | head -320 | tail -20
- 通过管道 " | " 将输入的内容作为输出,交给下一个指令,左侧的程序的输出会喂给管道;右侧的指令会将数据从管道中取出;
- 可以用管道配合其他指令如:cat big.txt | head -320 | tail -20 | less;cat big.txt | head -320 | tail -20 | tac 倒着打印
- head和tail配合使用,用来查找需要的地方;结合less方便查看和搜索
wc
- wc -l big.txt 统计并显示文件的行数
- cat big.txt | wc -l
uniq
- uniq test.txt 对相邻的信息压缩去重
sort
- sort test.txt 排序
- 取出相同行:sort test.txt | uniq
date
- [wzf@NineOne command]$ date +%Y_%m_%d_%H:%M:%S
2024_07_25_10:59:00 - [wzf@NineOne command]$ date +%s
1721876410 - ★时间戳,时间是被定义出来的,地球不同区域的时间不统一,互联网就很难同一;时间戳是1970.1.1累计到现在的秒数;线性增长,具有唯一性;用于标识对应的内容
cal
- cal 显示当月
- cal 2024 显示2024年的日历
- cal -3 前月 当月 后月
- 没什么用
★★★find
- find +路径 + 选项
- -name:按文件名搜索;find -name "*.txt"(单双引号都可以)
- -iname:按名称搜索(不区分大小写)
- -type:按文件类型搜索;f:普通文件;d:目录文件
- -size: c,k,M,G;-num +num
- -mtine:按修改时间搜索 -num +num
- -atime:按访问时间搜索 -num +num
- -ctime:按状态(属性)变化时间搜索 -num +num
- -delete:找到后删除
-path str-prune -o
- 不去str里搜索,常常和-o一起使用
- -path:用于匹配指定路径
- -prune:用于排除匹配路径及其子目录;路径匹配时,-prune返回真 (true)意味着此路径和其子目录将被排除
- -o:将排除条件与其他搜索条件分隔开
- 如果排除条件为真 (true),find命令就不会继续处理此路径及其子目录
which
- 查看指令在哪个目录下安装的
- 指令基本都在 /usr/bin
grep
- 行过滤器
- grep '999' big.txt :找到行中含有999的行
- -i:ignore,即忽略大小写
- -v:反选
- -n:行号
- 若在多个文件中grep,则在行开头加上对应的文件名
zip unzip
- Linux下根据打包压缩的算法和工具不同,打包压缩的方式有很多
- 什么是打包:把所有的东西放在一起
- 什么是压缩:按照一定的算法,把放在一起的东西体积减少
- 为什么要打包:防止文件丢失
- 为什么要压缩:便于网络中软件资源,安装包等的传输和下载
使用
- yum install-y zip unzip
- zip dst src
- dst 和 src 的规则和mv cp一样
- zip test.zip *:解压当前路径中的所有内容,不包括子目录
- unzip test.zip -d str:解压src (可以是一个路径,最后一个部分是zip)到 str
- -r:在打包压缩目录时,一般都带上这个选项,可以递归一个目录下的所以子目录
★tar
- 后缀:tar.gz 简称 tgz
- -c:创建一个归档文件
- -x:解压缩归档文件
- -z:通过 gzip 进行压缩或解压缩
- -v:显示处理过程中的详细信息
- -f:指定归档文件的名称,后面必须紧跟文件名
- tar cvzf src dst:打包压缩dst 目录下文件到src文件中,dst不能不写
- tar xvzf src (dst):dst 不写默认当前目录
- dst 和 src 的规则和mv cp一样
tar与zip的区别
- 最大的区别在于算法的不同,不同文件如:文本,视频,音频,图片,普通文件,二进制文件,他们的文件构成不一样;需要打包压缩的文件大小多少也不一样;不同的算法对应不同的场景,tar比较通用,一般云服务自带,无需yum下载
热键
- ctrl r:搜索历史命令
- Tab:提高指令的传输效率
- ctrl d:退出