Linux 常用命令总结

Linux 常用命令总结

文件和目录

  • ls --> 列出目录内容
    • -a --> 列出包括.a开头的隐藏文件的所有文件
    • -A --> 和-a相似,但不列出".“和”…"
    • -l --> 列出文件的详细信息
    • -c --> 根据创建时间排序显示
    • -t --> 根据文件修改时间排序显示
  • cd --> 进入具体某个目录
  • cp --> 复制文件
    • -r -R --> 递归复制该目录及其子目录内容
    • -p --> 连同档案属性一起复制过去
    • -f --> 不询问而强制复制
    • -s --> 生成快捷方式
    • -a --> 将档案的所有特性都一起复制
  • find --> 查找目录及目录下的所有文件
  • mv --> 移动或重命名文件
    • -b --> 覆盖前做备份
    • -f --> 如果存在不询问而强制覆盖
    • -i --> 如果存在则询问是否覆盖
    • -u --> 较新才覆盖
  • pwd --> 显示当前工作目录的绝对路径
  • rename --> 重命名
  • rm --> 删除一个或者多个文件
    • -r --> 删除文件夹
    • -f --> 删除不提示
    • -i --> 删除提示
    • -v --> 详细显示进行步骤
    • 若删除时出现 Permission denied 的提示,可以在命令前加sudo 即:sudo rm -rf 文件夹的名字,即可删除。
  • rmdir --> 删除空目录
  • touch --> 创建新的空文件,改变已有文件时间戳属性
  • tree --> 以树形结构显示目录下的内容
  • basename --> 显示文件和目录名
  • lsattr --> 查看文件的类型
  • file --> 显示文件的类型
  • md5sum --> 计算和校验文件的md5值

查看文件及内容命令

  • cat --> (顺序)打印文件内容到屏幕

  • tac --> (倒序)打印文件内容到屏幕

  • head --> 显示文件内容的头部

    • -v --> 显示文件名
    • -c number --> 显示前number个字符,若number为负数,则显示除最后number个字符的所有内容
    • -number/n (+)number --> 显示前number行内容,
    • -n number --> 若number为负数,则显示除最后number行数据的所有内容
  • tail --> 显示文件内容的尾部

    • -v --> 显示详细的处理信息
    • -q --> 不显示处理信息
    • -num/-n (-)num --> 显示最后num行内容
    • -n +num --> 从第num行开始显示后面的数据
    • -c --> 显示最后c个字符
    • -f --> 循环读取
  • vi/vim --> 命令行文本编辑器

    •   :w filename 将文章以指定的文件名保存起来  
        :wq 保存并退出
        :q! 不保存而强制退出
        
        1)插入模式
           按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
           按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
           按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
           
        2)从插入模式切换为命令行模式
         按「ESC」键。
         
         3)移动光标
           vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
           按「ctrl」+「b」:屏幕往"后"移动一页。
           按「ctrl」+「f」:屏幕往"前"移动一页。
           按「ctrl」+「u」:屏幕往"后"移动半页。
           按「ctrl」+「d」:屏幕往"前"移动半页。
           按数字「0」:移到文章的开头。
           按「G」:移动到文章的最后。
           按「$」:移动到光标所在行的"行尾"。
           按「^」:移动到光标所在行的"行首"
           按「w」:光标跳到下个字的开头
           按「e」:光标跳到下个字的字尾
           按「b」:光标回到上个字的开头
           按「#l」:光标移到该行的第#个位置,如:5l,56l。
         
         4)删除文字
           「x」:每按一次,删除光标所在位置的"后面"一个字符。
           「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。
           「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。
           「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。
           「dd」:删除光标所在行。
           「#dd」:从光标所在行开始删除#行
         
         5)复制
           「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
           「#yw」:复制#个字到缓冲区
           「yy」:复制光标所在行到缓冲区。
           「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
           「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
         
         6)替换
           「r」:替换光标所在处的字符。
           「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
         
         7)回复上一次操作
           「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
         
         8)更改
           「cw」:更改光标所在处的字到字尾处
           「c#w」:例如,「c3w」表示更改3个字
         
         9)跳至指定的行
           「ctrl」+「g」列出光标所在行的行号。
           「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
      
  • more --> 按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

    • +n --> 从第n行开始显示
    • -n --> 每次查看n行数据
    • +/String --> 搜寻String字符串位置,从其前两行开始查看
    • -c --> 清屏再显示
    • -p --> 换页时清屏
  • less --> 可前后移动地逐屏查看文章内容,在查看前不会加载整个文件

    • -m --> 显示类似于more命令的百分比
    • -N --> 显示行号
    • / --> 字符串:向下搜索“字符串”的功能
    • ? --> 字符串:向上搜索“字符串”的功能
    • n --> 重复前一个搜索(与 / 或 ? 有关)
    • N --> 反向重复前一个搜索(与 / 或 ? 有关)
    • b --> 向后翻一页
    • d --> 向后翻半页

文件压缩及解压命令

  • tar --> 打包压缩
  • unzip --> 解压文件
  • gzip --> GZIP压缩工具
  • zip --> 压缩工具

信息显示命令

  • uname --> 显示操作系统相关信息命令
  • hostname --> 显示当前系统的主机名
  • top --> 实时显示系统资源使用情况

搜索文件

  • find [PATH] [option] [action] --> 从磁盘变了查找文件目录
    •   选项与参数:
        
        1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime 和-amin,-cmin与-mmin,以 -mtime 说明
           -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的档案;
           -mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的档案档名;
           -mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的档案档名。
           -newer file :file 为一个存在的档案,列出比 file 还要新的档案档名
        
        2. 与使用者或组名有关的参数:
           -uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID
           -gid n :n 为数字,这个数字是组名的 ID,亦即 GID
           -user name :name 为使用者账号名称!例如 dmtsai
           -group name:name 为组名,例如 users ;
           -nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
           -nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
        
        3. 与档案权限及名称有关的参数:
           -name filename:搜寻文件名为 filename 的档案(可使用通配符)
           -size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:
               c: 代表 byte
               k: 代表 1024bytes。所以,要找比 50KB还要大的档案,就是『 -size +50k 』
           -type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:
               一般正规档案 (f)
               装置档案 (b, c)
               目录 (d)
               连结档 (l)
               socket (s)
               FIFO (p)
           -perm mode :搜寻档案权限『刚好等于』 mode的档案,这个mode为类似chmod的属性值,举例来说,-rwsr-xr-x 的属性为4755!
           -perm -mode :搜寻档案权限『必须要全部囊括 mode 的权限』的档案,举例来说,
               我们要搜寻-rwxr--r-- 亦即 0744 的档案,使用-perm -0744,当一个档案的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
           -perm +mode :搜寻档案权限『包含任一 mode 的权限』的档案,举例来
               说,我们搜寻-rwxr-xr-x ,亦即 -perm +755 时,但一个文件属性为 -rw-------也会被列出来,因为他有 -rw.... 的属性存在!
        
        4. 额外可进行的动作:
           -exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
           -print :将结果打印到屏幕上,这个动作是预设动作!
           eg:
               find / -perm +7000 -exec ls -l {} \; ,额外指令以-exec开头,以\;结尾{}代替前面找到的内容
           | xargs 
               -i  默认的前面输出用{}代替 
               eg:
                   find . -name "*.log" | xargs -i mv {} test4       
      
  • whereis [-bmsu] [BMS 目录 -f] 文件名 --> 定位可执行文件、源代码文件、帮助文件在文件系统中的位置
    • -b --> 定位可执行文件。
    • -m --> 定位帮助文件。
    • -s --> 定位源代码文件。
    • -u --> 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
    • -B --> 指定搜索可执行文件的路径。
    • -M --> 指定搜索帮助文件的路径。
    • -S --> 指定搜索源代码文件的路径。
  • grep ‘正则表达式’ 文件名 --> 用正则表达式搜索文本,并把匹配的行打印出来
    • -c --> 只输出匹配行的计数。
    • -I --> 不区分大小写(只适用于单字符)。
    • -l --> 只显示文件名
    • -v --> 显示不包含匹配文本的所有行。
    • -n --> 显示匹配行数据及其行号

用户管理命令

  • useradd [-u UID] [-g 初始群组] [-G 次要群组] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名 --> 添加用户
    • -M --> 不建立用户家目录!(系统账号默认值)
    • -m --> 建立用户家目录!(一般账号默认值)
    • -r --> 建立一个系统的账号,这个账号的 UID 会有限制
    • -e --> 账号失效日期,格式为『YYYY-MM-DD』
    • -D --> 查看useradd的各项默认值
  • usermod [-cdegGlsuLU] username --> 修改系统已经存在的用户属性
    • -c --> 后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。
    • -d --> 后面接账号的家目录,即修改 /etc/passwd 的第六栏;
    • -e --> 后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据啦!
    • -f --> 后面接天数为 shadow 的第七字段。
    • -g --> 后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是GID的字段!
    • -G --> 后面接次要群组,修改这个使用者能够支持的群组
    • -l --> 后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!
    • -s --> 后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。
    • -u --> 后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;
    • -L --> 冻结密码
    • -U --> 解冻密码
  • userdel --> 删除用户
    • -r --> 用户文件一并删除
  • groupadd --> 添加用户组
  • password --> 修改用户密码
    • -l --> 使密码失效
    • -u --> 与-l相对,用户解锁
    • -S --> 列出登陆用户passwd文件内的相关参数
    • -n --> 后面接天数,shadow 的第 4 字段,多久不可修改密码天数
    • -x --> 后面接天数,shadow 的第 5 字段,多久内必须要更动密码
    • -w --> 后面接天数,shadow 的第 6 字段,密码过期前的警告天数
    • -i --> 后面接『日期』,shadow 的第 7 字段,密码失效日期
  • chage [-ldEImMW] 账号名 --> 修改用户密码有效期
    • -l --> 列出该账号的详细密码参数;
    • -d --> 后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式YYYY-MM-DD
    • -E --> 后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
    • -I --> 后面接天数,修改 shadow 第七字段(密码失效日期)
    • -m --> 后面接天数,修改 shadow 第四字段(密码最短保留天数)
    • -M --> 后面接天数,修改 shadow 第五字段(密码多久需要进行变更)
    • -W --> 后面接天数,修改 shadow 第六字段(密码过期前警告日期)
  • id --> 查看用户的uid,gid及归属的用户组
  • su --> 切换用户
  • visudo --> 编辑/etc/sudoers文件的专属命令
  • sudo --> 以另一个用户身份(默认是root)执行
  • who --> 登录在本机的用户与来源
  • last --> 查看用户的登录日志

关机/重启/注销和查看系统信息的命令

  • shutdown --> 关机
  • halt --> 关机
  • poweroff --> 关闭电源
  • logout --> 退出当前登录的shell
  • exit --> 退出当前登录的shell
  • Ctrl + D --> 退出当前登录的shell快捷键

进程管理相关命令

  • bg --> 将一个在后台暂停的命令,变成继续执行
  • fg --> 将后台中的命令调至前台继续运行
  • jobs --> 查看当前有多少在后台运行的命令
  • kill [参数] [进程号] --> 终止进程
  • pkill [参数] [进程号] --> 通过进程名终止进程
  • killall [参数] [进程号] --> 通过进程名终止进程
  • ps --> 列出当前进程的快照
    • a --> 显示所有的进程
    • -a --> 显示同一终端下的所有程序
    • e --> 显示环境变量
    • f --> 显示进程间的关系
    • -H --> 显示树状结构
    • r --> 显示当前终端的程序
    • T --> 显示当前终端的所有程序
    • -au --> 显示更详细的信息
    • -aux–> 显示所有包含其他使用者的行程
    • -u --> 指定用户的所有进程
基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来不断更新传感器读数。为了处理这些原始数据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置和动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力和更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程和数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客和其他开源资源是学习和解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值