码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Linux】Linux下的常用命令汇总


    f72b340b9bb04aa6b51d7538246d8c0b.gif


    需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。


    目录

    一、操作系统的概念

    二、文件的理解

    三、ls(显示当前路径中的文件和目录)

    1、ls -l或ll(显示更多的属性信息(list))

    2、ls -a(显示隐藏文件(all))

    3、ll -d(不进入目录,显示目录详细信息)

    4、ls -R(递归式列出子目录下的文件)

    四、pwd(显示当前用户所处的路径)

    五、cd(改变工作目录(change directory))

    1、cd .(进入当前目录) cd ..(进入上级目录)

    2、cd (绝对路径)/(相对路径)

    3、cd ~(回到当前用户的家目录(工作目录))

     4、cd -(回到上一次的目录)

    六、tree(将文件以树状形式打印出来)

    七、touch(创建普通文件)

    1、创建普通文件

    2、更改文件的最近修改时间

    八、stat(文件/文件系统的详细信息显示)

    九、mkdir(创建空目录)

    1、创建单个空目录

    2、创建一串路径

    十、rmdir(删除目录)

    1、rmdir(用于删除单个空目录)

    十一、rm(默认删除普通文件)

    1、删除普通文件

    2、递归删除目录

    3、rm -rf(递归、强制删除目录及其内部文件(force))

    十二、man(查看命令/系统调用/C接口的手册)

    1、安装man手册

    2、查询指令/库函数

    3、man手册数字的含义

    十三、cp(拷贝)

    1、拷贝文件和目录

    十四、mv(剪切、重命名)

    1、剪切

    2、重命名

    十五、cat(打印少量文本)tac(逆置打印)

    1、cat打印时带行号

    2、tac逆置打印

    十六、more和less(打印海量数据)

    1、打印数据

    2、查找匹配

    十七、head(打印头部数据)tail(打印尾部数据)

    1、打印数据

    2、提取1000-1010行数据

    十八、date(时间)cal(日历)

    1、时间

    2、日历

    十九、find(精确查找)whereis(近似查找)which(查找指令)

    1、find 路径 -name 文件名

    2、whereis 文件名(指令)

    3、which 指令名

    4、alias(指令重命名)

    二十、grep(文本内容行过滤工具)

    1、grep的用法

    2、指令与管道配合

    1.1wc -l(获取行数)

    1.2sort 文本名(按ASCII码对文本进行排序)uniq(相邻文本去重)

    1.3sort和uniq配合管道,进行去重

    二十一、zip(打包压缩)unzip(解包解压)tar(打压+解tgz压缩包)

    1、zip(打包压缩)

    2、unzip(解包解压)

    3、tar(tgz包)

    4、打包压缩的目的

    二十二、常用热键

             1、TAB键

    2、ctrl+c(终止前台的异常程序。)

    3、ctrl+r(搜索历史命令,左右即可选中)

    4、ctrl+d(退出当前用户,退出一层)

    5、lscpu(查看cpu信息)

    6、lsmcm(查看内存信息)

    7、df -h(查看磁盘使用情况)

    8、who(当前linux在线用户)whoami(我是谁)


    可在本页面使用ctrl+f进行指令的快速搜索~~~

    一、操作系统的概念

    操作系统是管理软硬件的软件。

    操作系统对下需要管理好软硬件资源,通过驱使驱动来管理硬件。

    操作系统对上需要为用户提供安全、稳定、高效的运行环境。

    二、文件的理解

    文件=文件内容数据+文件属性(元数据)数据,如果我们创建了一个空文件,那么这个空文件将存储于磁盘并占用磁盘空间。

    三、ls(显示当前路径中的文件和目录)

    1、ls -l或ll(显示更多的属性信息(list))

    2、ls -a(显示隐藏文件(all))

    在Linux下,以. 开头的文件,是隐藏文件。

    .是当前目录

    ..是上级目录

    3、ll -d(不进入目录,显示目录详细信息)

    ll -d directory

    4、ls -R(递归式列出子目录下的文件)

    四、pwd(显示当前用户所处的路径)

    /root/106,在Linux下,/代表路径分隔符

    C:\Microsoft\Windows,在Windows下,\代表路径分隔符

    五、cd(改变工作目录(change directory))

    1、cd .(进入当前目录) cd ..(进入上级目录)

    一直执行cd ..指令,最后只剩下一个/,这个/被叫做根目录

    2、cd (绝对路径)/(相对路径)

    1. cd /home/jly/linux/ (绝对路径)
    2. cd ../day02/ (相对路径)

    3、cd ~(回到当前用户的家目录(工作目录))

    1、普通用户的家目录在/home/xxx

    我们可以查看一下/home中的普通用户

    2、root用户的家目录是/root

    登上云服务器输入pwd指令,出来的就是家目录。

    查看/root目录的详细信息

     4、cd -(回到上一次的目录)

    多次cd -会反复在两个目录下跳转。

    六、tree(将文件以树状形式打印出来)

    yum install -y tree   安装tree命令

    七、touch(创建普通文件)

    1、创建普通文件

    1. touch file1.txt
    2. echo " "> file2.txt
    3. >file3.txt

    注意touch只能用于创建普通文件,不能创建目录。

    2、更改文件的最近修改时间

    touch 同名文件

    touch 同名文件即可 更新该文件的最近修改时间(Modify time被修改)

    八、stat(文件/文件系统的详细信息显示)

    stat 106/test.c

    stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

    1. [root@VM-4-11-centos ~]# stat 106/test.c
    2. File: ‘106/test.c’
    3. Size: 0 Blocks: 0 IO Block: 4096 regular empty file
    4. Device: fd01h/64769d Inode: 658416 Links: 1
    5. Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
    6. Access: 2022-09-17 21:13:21.098656019 +0800//最近访问
    7. Modify: 2022-09-17 21:13:21.098656019 +0800//最近修改
    8. Change: 2022-09-17 21:13:21.098656019 +0800//最近改动
    9. Birth: -

    1、读取文件时,Access time被改变,而Modify、Change time不会被改变

    2、修改文件时,三个时间都会被改变

    3、修改属性时,Change time被改变,而Access、Modify time不会被改变

    九、mkdir(创建空目录)

    1、创建单个空目录

    mkdir 目录名

    2、创建一串路径

    mkdir -p a/b/c/d

    十、rmdir(删除目录)

    1、rmdir(用于删除单个空目录)

    rmdir 目录名

    十一、rm(默认删除普通文件)

    1、删除普通文件

    1. rm test.c//系统不询问
    2. rm -i test.c//系统询问是否删除

    2、递归删除目录

    rm -r directory

    3、rm -rf(递归、强制删除目录及其内部文件(force))

    rm -rf directory

    不准写sudo rm -rf /

    十二、man(查看命令/系统调用/C接口的手册)

    1、安装man手册

    yum install -y man-pages//需要root权限

    2、查询指令/库函数

    1. man printf//查询printf指令
    2. man 3 printf//查询库函数printf

    3、man手册数字的含义

    1. The table below shows the section numbers of the manual followed by the types of pages they contain.
    2. 1 Executable programs or shell commands
    3. 可执行程序或shell命令
    4. 2 System calls (functions provided by the kernel)
    5. 系统调用(内核提供的函数)
    6. 3 Library calls (functions within program libraries)
    7. 库调用(程序C语言库中的函数)
    8. 4 Special files (usually found in /dev)
    9. 特殊文件(通常在/dev目录下的设备文件)
    10. 5 File formats and conventions eg /etc/passwd
    11. 文件格式和约定,例如 /etc/passwd
    12. 6 Games
    13. 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
    14. 其他(宏和约定),例如man(7), groff(7)
    15. 8 System administration commands (usually only for root)
    16. 系统管理命令(通常仅适用于 root)
    17. 9 Kernel routines [Non standard]

    重点关注1、2、3号手册

    如果不加数字,man会在手册中按顺序查找,如果找到了,就停止搜索。

    退出man手册请按q键

    十三、cp(拷贝)

    1、拷贝文件和目录

    1. cp file.txt cp_file//将file.txt拷贝至cp_file中
    2. cp test.c ..//复制文件test.c到上级目录(重复拷贝是覆盖式的)
    3. cp -r dir ..//拷贝目录dir到上一级目录,递归式拷贝(强制拷贝加-f)
    4. cp -i test.c ..//复制test.c到上级文件
    5. cp 文件名 文件名+自定义名字(拷贝一份)

    十四、mv(剪切、重命名)

    1、剪切

    mv src dest//可以剪切普通文件和目录,将src剪切到dest

    2、重命名

    1. mv ../test.txt hhhhhh.txt
    2. 注意这里是将上级目录的test.c移动到当前目录,并重命名为hhhhh.txt

    十五、cat(打印少量文本)tac(逆置打印)

    1、在文本文件写入10000行

    cnt=0; while [ $cnt -le 10000 ] ; do echo  " hello [$cnt] "; let cnt++; done > test.txt

    2、安装nano

    sudo yum install -y nano

    ctrl+x退出

    1、cat打印时带行号

    cat -n test.txt

    2、tac逆置打印

    tac tetx.c

    十六、more和less(打印海量数据)

    1、打印数据

    1. more test.txt//使用回车键进行下翻一行或空格向下翻n行
    2. more -5 test.txt//打印5行数据,使用回车键进行下翻一行或空格向下翻n行

    less指令相同。 

    2、查找匹配

    /想要查找的内容

    less支持上翻下翻,且在查找时,高亮显示查找结果。

    十七、head(打印头部数据)tail(打印尾部数据)

    1、打印数据

    1. head test.txt//默认是打印10行
    2. tail test.txt//默认是打印10行
    3. head -20 test.txt//打印前20行数据
    4. tail -20 test.txt//顺序打印后20行数据

    2、提取1000-1010行数据

    1. head -1010 test.txt | tail -10//head,tail默认是从文件中读取数据的
    2. 相当于head把1010行数据写进管道里,tail通过管道拿数据
    3. head -1010 test.txt | tail -10 | tac | head -3

    十八、date(时间)cal(日历)

    1、时间

    1. date//打印当前时间
    2. date +%Y/%m/%d//打印当前年月日
    3. date +%Y/%m/%d-%H:%M:%S//打印当前年月日,时分秒,分隔符随便用哪个(分隔符不能断)
    4. date +%s//时间戳
    5. date +%Y/%m/%d-%H:%M:%S -d@1664112061//将时间戳转换为年月日,时分秒

    2、日历

    1. cal//跳出当月日历
    2. cal 2022//显示2022年的日历
    3. cal -3//显示上月、本月、下月的日历(只能-3,不能-其他数字)

    十九、find(精确查找)whereis(近似查找)which(查找指令)

    1、find 路径 -name 文件名

    find /home/jly -name test.c//通过名字查找出/home/jly路径下的test.c文件

    注意find有可能访问磁盘,在大文件系统中搜索速度较慢,但是结果很真实。

    2、whereis 文件名(指令)

    用于查找文件名对应的指令或文档或压缩包等,是一种近似查找。

    3、which 指令名

    which用于查找指令位置及重命名信息

    4、alias(指令重命名)

    alias jly='ls -l --color=auto'//将ls -l指令重命名为jly,以后想用ls -l敲jly就行

    二十、grep(文本内容行过滤工具)

    grep是文本内容行过滤根据,默认匹配文本关键字,匹配上了行显示。

    grep处理完数据后可以和通过管道,让数据给其他指令继续加工。

    1、grep的用法

    1. grep '666' test.txt//在test.txt中搜索所有666字段
    2. grep -n '666' test.txt//-n选项将查找到的内容在原文本中的行号也带出来
    3. grep -i 'hello' test.txt//-i选项将会无视大小写,将大小写的hello全部查找出来
    4. grep -v 'hello' test.txt//-v选项,忽略文本中所有的hello字段

    2、指令与管道配合

    1.1wc -l(获取行数)

    grep -v 'hello' test.txt | wc -l//输出非hello字段的行数

    1.2sort 文本名(按ASCII码对文本进行排序)uniq(相邻文本去重)

    sort test.txt

    注意文本排完序后将被打印至屏幕,但是原文本没有被改变。

    uniq test.txt

    注意相邻文本行去重后将被打印至屏幕,但是原文本没有被改变。

    1.3sort和uniq配合管道,进行去重

    sort test.txt | uniq

    二十一、zip(打包压缩)unzip(解包解压)tar(打压+解tgz压缩包)

    1、zip(打包压缩)

    zip -r my.zip test//对当前目录中的test进行.zip格式的打包压缩

    2、unzip(解包解压)

    1. unzip my.zip//解包解压
    2. unzip my.zip -d 路径//将zip压缩包解包解压至指定路径

    打包压缩的优点是便于传输,将多个文件合为一个文件,不存在丢失,高效传输。

    3、tar(tgz包)

    1、打包压缩

    1. tar czvf my.tgz 文件
    2. //c代表创建,z代表压缩,v代表显示压缩过程,f代表创建的压缩包文件名(后面马上得跟上这个名字)

    2、解包解压

    1. tar xvzf my.tgz//将my.tgz解压至当前文件夹
    2. //x代表解包,v代表显示压缩过程,z表示解压,f代表创建的压缩包文件名(后面马上得跟上这个名字)

    3、不解压看tgz压缩包内容

    tar tf my.tgz//不解压看tgz压缩包内容

    4、将tgz包解包解压至指定目录

    tar xvzf my.tgz -C ~//将my.tgz压缩包解包解压至家目录

    4、打包压缩的目的

    节省空间、将多个文件压缩成一个压缩包便于管理、压缩包科可加密、体积小便于传输

    二十二、常用热键

    1、TAB键

    例如输入whi,连按两下TAB键,将会显示出所有whi开头的命令

    当输入cle时,因为只有clear指令,所以按一下TAB键将会把clear指令自动补齐。

    输入cp ../指令后,再按下TAB键,会显示上级目录下的文件。

    2、ctrl+c(终止前台的异常程序。)

    3、ctrl+r(搜索历史命令,左右即可选中)

    4、ctrl+d(退出当前用户,退出一层)

    5、lscpu(查看cpu信息)

    6、lsmcm(查看内存信息)

    7、df -h(查看磁盘使用情况)

    8、who(当前linux在线用户)whoami(我是谁)

     CSDN话题挑战赛第2期
    参赛话题:学习笔记

  • 相关阅读:
    【Blender实景合成】会跳舞的神里绫华
    使用depp在小程序中子组件修改第三方ui库uview,样式不生效问题
    ps gif动图怎么做,教你一招更简单
    大厂炸锅了!这份全程无尿点的 Java 彩版面试开挂攻略在 GitHub 火了
    vue导入数据添加在列表数据中
    深入理解XGBoost:集成学习与堆叠模型
    flume的安装配置笔记
    Redis高频面试题完整版
    java 迭代器 Iterator
    排序算法-插入排序详解
  • 原文地址:https://blog.csdn.net/gfdxx/article/details/127113771
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号