1.Linux基础命令

qmtt Lv2
如何理解文件:
  1. 文件本文件

    • 在磁盘上创建,因为内存具有掉电易失性
    • 如果创建了一个空文件,也会占有磁盘空间
    • 文件=文件的内容(数据)+文件的属性(元数据)(属性也是数据)
    • 故文件的实际占有内存大于标的内存(数据)
  2. 操作文件:

    • 操作文件的内容
    • 操作文件的属性
  3. 文件之间(普通文件 vs 目录):

    • 普通文件
    • 目录->文件夹->保存其他文件的场所
文件的简单命令:
clear 清楚屏幕上显示的内容
touch 文件名 创建一个普通文件
若文件已存在,会更新文件的修改时间
stat 文件名 显示文件详细信息,
包括修改时间属性等
mkdir 文件名 创建一个空目录
mkdir-p 创建一串路径
rmdir 目录名 只能删除空目录(若目录非空,则无法删除)
rm 文件名 默认删除普通文件,但不能删除目录
rm -r 文件名 递归删除,删除这整个目录
rm -i 询问是否删除
rm -f 文件名 强行删除,不会再询问是否删除(f:force)
rm -rf 文件名 递归强制删除指定的目录及其内部文件
rm -rf / 系统直接挂掉
ls 显示当前路径下的文件或文件或目录名称
ls -l 显文件或目录以及更详细的属性信息
ls -all(简写为-a)
也可以写为:ll
列出目录下的所有文件,包括.开头的隐藏文件
ls 文件名
ls -l 文件名
ls -ld 文件名
1.只显示这一个文件
2.显示文件里面的内容
3.显示该文件本身的属性
-d 不进入目录,显示本身
-r 对目录反向排序
-t 以时间排序
-R 列出所有子目录下的文件(递归)
cd  /你的文件名/ 切换路径,进入某个目录
. 一个.当前目录
.. 两个..是上级目录
cd . 当前目录
cd .. 返回上一个目录
如果不断回退,会一直回退到根目录,无法再回退
cd - 回到之前最近一次所处的路径(可以在两个热点路径下来回切换)
绝对路径: 从根目录开始,查找某一个文件,具有唯一性
相对路径: 不从根目录,根据当前位置,去查找某个目录下的某个文件
pwd 显示当前用户所在的路径
/ 路径分隔符
tree 以树形结构显示目录
yum install -y tree 安装tree
whoami 查询当前是哪个用户正在使用系统
cd ~ 进入当前用户的目录
/home/名字 叫做某用户的工作路径(家目录)特命
用户登录时,默认所处的路径
man 命令 显示命令的用法,man是一个查看命令,系统调用,C接口的手册,手册是有编号的
安装man yum install man只能在root用户下安装
man touch touch的用法
man priintf printf的用法
man 3 printf 3号手册里printf的用法,若不带号,默认从1开始查,查到停止
1 shell命令
2 系统接口
3 C语言库
进入以后: 按q退出
cp src dst 拷贝命令,把src文件拷贝到dst里面
cp -r 文件 拷贝文件目录,命令和rm是一样的
cat 文件名 打印文件的内容,如cat a.txt是打印a.txt里面的内容
echo 向显示器显示信息的命令,跟printf一样,但没有格式化,把所有内容都显示出来
mv src dst 移动命令,类似于剪切功能,同时还能对文件或目录进行重命名,这里不用带-r
注意事项 mv移到一些目录会有权限问题 ,有-r和-f选项,和前面用法一样
写一个输出10000行字符串的命令行脚本:
cnt=0; 
while [ $cnt -le 10000 ];
do echo "hello world" [$cnt];
let cnt++;
done > test.txt
查看大文本(日志):
cat 选项 文件 查看目标文件的内容,但是cat是一次全输出,不适合查看大文本
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
tac 逆序输出
more 和cat一样一屏打满就不再打了
-n n为指定的行,就可以查看指定行的内容
/ 在more中输入/有搜索功能
less 和前面一样,但是支持上下翻,q退出
head -n 文件 查看文件头部的几行,n为指定的行,默认为10行
tail 查看尾部的几行
如何查看中间部分的内容:
  1. 临时文件
  2. 管道:
    • 都是传输资源的
    • 一个入口,一个出口
    • 管道的命令行操作:
      head -1010 test.txt | tail -10
    • #这里|前的默认将输出结果打印到管道空间中,tail再去读取
  3. 组合用法:
    head -1010 test | tail -10 | tac | head -3
时间相关的指令
data 显示时间
data +%Y/%m/%d-%H:%M:%S 格式化显示,这里面的格式可以随便调整
data +%s 时间戳,从1970年1.1凌晨0:00到现在所经过的秒数
data +%Y/%m/%d-%H:%M:%S -d@时间戳 转化成我们认识的时间戳
cal 年 看日历
find -name 查找命令,因为可能要访问磁盘,进而导致效率低下
find pathname -options 在文件树中查找文件
which 指令 只能搜索命令,所使用的命令在哪个目录下
whereis 名称 查找范围比which范围更大比find查找范围更小,作用好是只要包含关键字都找出来
alias 新命令 = ‘原命令’ 对命令进行重命名
grep 文本内容的行过滤工具,会匹配文本中的关键字,匹配上的进行行显示
grep ‘a’ test.txt 就会在test.txt中查找a来匹配,含a的全部显示出来
-n 输出行号
-i 忽略大小写
-v 反向选择,把没有关键字的显示出来
补充
  1. grep可以结合管道和其他命令一起使用,过滤关键内容
    grep ‘a’ test.txt | wc -l #统计行数
sort file.txt 对文本内容进行排序(按照ascall码值)
uniq 对文本相邻内容进行去重
组合使用
sort file.txt | uniq
先排序,后去重

压缩包

  1. zip
  • 安装zip
    yum install zip unzip
  • 使用
    zip -r my.zip
    unzip my.zip -d /路径 #解压缩到指定目录,若不‘加-d 路径’,默认为当前目录
  • 注:打包和压缩是两个概念,打包和压缩的目的是便于传输,同时压缩包不存在下载丢失问题,因为体积小,传输更高效
  1. tar
tar -czf my.tar.gz file 对文件打包并压缩
tar -xzf my.tar.gz 解包并解压
-v 把解包的过程也打印出来
-tf 不解压查看tar.gz里面的文件
-C(大写C) 解压到指定目录
bc 计算器
echo “1+2+3” | bc 管道
uname -a 显示系统信息
uname -r 查看内核版本(体系结构:cpu架构)

几个热键

Tab 命令自动补齐
ctrl C 终止在前台的异常程序,比如死循环
Ctrl r 根据命令片段去搜索历史命令,左右即可选中
Ctrl d 退出当前用户
\ 可以用来回车接着输入命令 ,对命令进行续行(其实C语言也可以)

补充几条指令

查看CPU
lscpu
查看内存情况
lsmem
查看磁盘结构
df -h
查看当前都有谁登录了Linux系统
  who
  • 标题: 1.Linux基础命令
  • 作者: qmtt
  • 创建于 : 2024-12-14 11:53:32
  • 更新于 : 2025-04-21 11:08:18
  • 链接: https://qmtt.wang/2024/12/14/1-Linux基础命令/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
1.Linux基础命令