Linux入门攻坚——2、基础命令学习

news2024/11/6 7:21:01

Linux就是命令集的操作系统,精通Linux,就要先精通各种命令。

date
    date [OPTION] ... [+FORMAT] : 显示日期时间(系统时钟)
        FORMAT:格式符号
            %D:月/日/年(两位)
            %F:年(四位)-月-日
            %T:时:分:秒
           "+%F %H:%M:%S":组合自己需要的格式  ,四位年-月-日 时:分:秒
    date [MMDDhhmm[[CC]YY][.ss]] : 设置日期时间
            MM:月, DD:日, hh:小时, mm:分钟,YY:两位年, CCYY:四位年, .ss:秒   

Linux有两种时钟:
    系统时钟:由Linux内核通过CPU的工作频率进行的计时时钟
    硬件时钟:主板

    hwclock: 显示硬件时钟
        -s,--hctosys:硬件时钟写到系统时钟
        -w,--systohc:系统时钟写到硬件时钟

    cal 年份:显示日历,如cal 2023

目录相关的命令:
    当前目录或工作目录
    主目录,家目录:HOME, 管理员root:/root   ,普通用户:/home/USERNAME    
    ~:用户的主目录
    cd : 目录切换,不带参数,回家目录,或:cd ~
        cd ~USERNAME  :切换到某用户的家目录,只有管理员能使用
        cd - :在上一个目录和当前目录之间来回切换
        . .. :当前目录和父目录(上级目录)
    相关的环境变量:
        PWD:保存了当前工作目录
        OLDPWD:上一次所在目录路径

    ls :显示指定路径下的文件列表
        ls [OPTION]... [FILE]... :FILE,指定文件或目录,OPTION,选项
            -a :显示所有文件,包括隐藏文件
            -l :长格式:   -rw-r--r--.  1 root root     46 Sep  4 12:38 adjtime
                -rw-r--r-- :最左侧的第一位:文件类型,有 -,d,l,b,c,p,s  ; 后面的9位:访问权限,perm ;  
                数字:文件被硬链接的次数;
                左root:文件的owner
                右root:文件的group
                46:文件的size
                Sep  4 12:38 :文件的最近一次被修改的时间

            -h,--human-readable :size单位换算,人易于阅读
            -d:显示目录自身的相关属性,通常与-l一起使用
            -r ,--reverse:逆序显示,文件的排序
            -R : 递归显示,显示子目录下的文件
stat /PATH/TO/SOMEFILE:获取指定文件的元数据

文件内容查看命令 : cat tac 
    
cat [OPTION]... [FILE]...  :连接并显示文件内容
        -E : 显示行结束符
        -n :对显示的每一行编号

    tac [OPTION]... [FILE]...  :连接并逆序显示文件内容

文件内容类型查看命令file
    file /PATH/TO/SOMEWHERE

回显命令:echo
    -n : 禁止自动添加换行符;
    -e : 允许使用转义符;\n:换行,\t:制表符
    echo "$VAR_NAME":变量会替换,双引号为弱引用
    echo '$VAR_NAME' :变量不会替换,单引号为强引用

which :显示命令对应的程序的路径
    --skip-alias :禁止显示别名

whatis
    使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库

Linux的文件系统:

根文件系统(rootfs):内核启动后,在自己的用户空间中创建根(/)目录,然后将其他分区挂载到这个目录下。
    LSB——Linux标准基础(Linux Standard Base),是一套核心标准,是Linux标准化领域中事实上的标准,制定了应用程序与运行环境之间的二进制接口。它保证了LINUX发行版同LINUX应用程序之间的良好结合。具体地说,它是:1、一个二进制接口规范,是指应用程序在系统间迁移时不用重新编译,保证应用程序在所有经过认证的LINUX发行版上都具有兼容性。2、一个测试规范,测试LINUX发行版和LINUX应用程序是否符合LSB标准。3、搭建遵从LSB规范的应用程序的开发环境。4、为在纯LSB环境下运行和测试应用程序而提供的运行环境样本。LSB包括两个核心部分,分为普通规范和特定处理器规范。

    LSB下规定了FHS——Filesystem Hierarchy Standard(文件系统层次化标准),FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录。FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为Linux的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。所以,后来就有所谓的文件系统层次标准(Filesystem Hierarchy Standard,FHS)出台。第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

根文件系统结构:

    /boot : 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录;
    /bin : 供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;
    /sbin : 管理类的基本命令,不能关联至独立分区,OS启动即会用到的程序;
    /lib : 基本共享,以及内核模块文件库文件(/lib/modules);
    /lib64 : 专用于x86_64系统上的辅助共享库文件存放位置;
    /etc : 配置文件,(纯文本文件)
        /etc/opt : 安装在/opt目录下的系统的配置文件存放路径;
        /etc/X11 : 图形界面相关配置;
        /etc/sgml :SGML格式的配置文件
        /etc/xml : XML格式的配置文件
    /home/USERNAME : 普通用户的家目录;
    /root : 管理员的家目录;
    /media : 便携式移动设备挂载点;
    /mnt : 临时文件系统挂载点;
    /dev : 设备及特殊文件存储位置:
        b : block device,支持随机访问 ;     c : character device,线性访问
    /opt : 第三方应用程序安装位置;
    /srv : 系统上运行的服务用到的数据;
    /tmp : 临时文件;
    /usr : universal shared read-only data (层级结构)
        /usr/bin : 保证系统拥有完整功能而提供的应用程序;
        /usr/sbin : 
        /usr/lib : 
        /usr/lib64 :
        /usr/include : C程序用到的头文件存储位置(header files)
        /usr/local : 取代/opt,第三方应用程序的安装位置:其下会有:bin、sbin、lib、lib64、etc、share等。(层级结构)
        /usr/share : 结构化独立的数据:如doc、man等;
    /var : variable data files(层级结构);
        /var/cache : 应用程序缓存数据目录
        /var/lib : 应用程序状态信息数据
        /var/local : 专用于/usr/local下的应用程序存储可变数据
        /var/lock : 锁文件
        /var/log : 日志目录及文件;
        /var/opt : 专用于/opt下的应用程序存储可变数据
        /var/run : 运行中的进程相关的数据:通常用于存储进程的pid文件;
        /var/spool : 应用程序数据池;
        /var/tmp : 保存系统两次重启之间产生的临时数据;
    /proc : 用于输出内核和进程信息相关的虚拟文件系统;
    /sys : 用于输出当前系统上硬件设备相关信息的虚拟文件系统;
    /misc : 杂项
    /selinux : security enhanced Linux,selinux相关的安全策略等信息的存储位置;

LInux上的应用程序的组成部分:
    二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
    库文件 : /lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
    配置文件 : /etc, /etc/DIRECTORY, /usr/local/etc
    帮助文件 : /usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

Linux下的文件类型:
    - (f) : 普通文件
    d : 目录文件
    b : 块设备
    c : 字符设备
    l : 符号链接文件
    p : 管道文件
    s : 套接字文件:socket;

系统管理类命令:
关机:
    halt,poweroff,shutdown,init 0
重启:
    reboot,shutdown,init 6

关机或重启:
    关机:halt, poweroff    重启:reboot
        -f : 强制,不调用shutdown
        -p : 关闭电源

    shutdown: shutdown [OPTIONS] ... TIME [MESSAGE]
        -r : reboot
        -h : halt
        -c : cancel,
        TIME :
            now:立刻;   
            +m:相对时间表示法,从命令提交开始多久之后,如+3,3分钟后;
            hh:mm : 绝对时间表示,指具体定时间

用户登录相关:
    whoami :显示 当前登录的有效用户;
    who : 系统当前所有的登录会话
    w : 系统当前所有的登录会话及所做的操作

bash的基础特性:

(1)命令历史:
    history : 环境变量——HISTSIZE:命令历史记录条数;HISTFILE:~/.bash_history; HISTFILESIZE : 命令历史文件记录历史的条数;HISTCONTROL:控制命令历史的记录方式,值:ignoredups:忽略重复的命令,连续且相同方为重复;ignorespace:忽略所有以空白开头的命令;ignoreboth:以上两者都忽略;
    调用历史中的命令:!#:重复执行第#条指令;!!:重复执行最后一次的指令;!string:重复执行最近一次以string开头的指令;
    调用上一条命令的参数:!$ ESC,.,先按ESC,松开后再按点号,或ALT+.
    修改环境变量值的方式: export 变量名="值"
        变量赋值:把赋值符号后面的数据存储于变量名指向的内存空间;

(2)命令补全
    Tab : 一次,补全,如果匹配的不止一个,两次Tab,列出所有匹配的。

(3)路径补全

(4)命令行展开
    ~ : 展开为用户的主目录
    ~USERNAME:展开为指定用户的主目录
    {} : 可承载一个以逗号分隔的列表,并将其展开为多个路径;
        /tmp/{a,b} = /tmp/a, /tmp/b   ;   /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

(5)命令的执行结果状态
    bash使用特殊变量$?保存最近一条命令的执行状态结果:
    成功:0
    失败:1~255

程序执行有两类结果:
    程序的返回值:
    程序的执行状态结果:

目录管理类命令:cd, pwd, ls       mkdir,rmdir

    mkdir [options]  /path/to/somewhere
        -p : 存在也不报错,且可自动创建所需的各目录
        -v : 显示详细信息
        -m MODE : 创建目录时直接指定权限

    tree [options] /path/to/somewhere: 按层级显示路径(目录树)
        -d : 只显示目录
        -L level : 指定显示的层级数目
        -P pattern: 只显示由指定pattern匹配到的路径

    rmdir [options]  DIRECTORY :删除空目录
        -v : 显示过程;
        -p : 如果父目录为空目录,删除

文本文件内容查看类命令:cat, tac     ;    more,  less,   tail,  head

    more [option] FILE...  : -d : 显示翻页及退出提示;
    less  [options...] FILE... 
    head  [option] FILE...  : -c #:指定获取前#字节;-n # :指定获取前#行
    tail [option] FILE... : -c #:指定获取后#字节;-n # :指定获取后#行 ; -f :跟踪显示文件新追加的内容;(Ctrl+c退出)

文件的时间戳管理工具:touch
   文件具有:metadata和data,查看文件状态:stat
    三个时间戳:
        access time:访问时间,atime,读取文件内容
        modify time:修改事件,mtime,改变文件内容
        change time:改变时间,ctime,元数据发生改变

touch能改变前两个:
touch [options]... FILE...
    -a : only atime
    -m : only mtime
    -t STAMP : [[CC]YY]MMDDhhmm[.ss] 指定修改为的时间戳
    -c : 如果文件不存在,不创建文件

命令小结:

date [OPTION] ... [+FORMAT] : 显示日期时间
hwclock: 显示硬件时钟
cal 年份:显示日历
cd [-L|-P] [dir] :目录切换
 ls [OPTION]... [FILE]... : 显示指定路径下的文件列表
stat /PATH/TO/SOMEFILE:获取指定文件的元数据
cat [OPTION]... [FILE]...  :连接并显示文件内容
tac [OPTION]... [FILE]...  :连接并逆序显示文件内容
file /PATH/TO/SOMEWHERE :文件内容类型查看命令
echo : 回显命令
which :显示命令对应的程序的路径
whatis:查看命令章节
mkwhatis:可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库
halt, poweroff  : 关机
reboot :重启
shutdown [OPTIONS] ... TIME [MESSAGE] :安全的关机或重启
whoami :显示 当前登录的有效用户;
who : 系统当前所有的登录会话
w : 系统当前所有的登录会话及所做的操作
history : 命令历史管理
mkdir [options]  /path/to/somewhere :创建目录
tree [options] /path/to/somewhere: 按层级显示路径(目录树)
rmdir [options]  DIRECTORY :删除空目录
more [option] FILE...  : -d : 显示翻页及退出提示;
less  [options...] FILE...  : 显示内容
head  [option] FILE...  : -c #:指定获取前#字节;-n # :指定获取前#行
tail [option] FILE... : -c #:指定获取后#字节;-n # :指定获取后#行 ; -f :跟踪显示文件新追加的内容;(Ctrl+c退出)
touch [options]... FILE... : 时间戳管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优思学院|零库存:丰田精益管理的成功之道(CLMP)

在如今竞争激烈的商业世界中,企业需要不断寻求新的方法来提高效率、降低成本,并确保产品的高质量。其中一种成功的策略是实施零库存管理,而日本汽车制造巨头丰田公司就以其独特的零库存策略而闻名全球。优思学院在本文中将会深入探讨什么是零…

Android Studio: unrecognized Attribute name MODULE

错误完整代码: ������ (1.8.0_291) �г����쳣������&#xff…

C++对象模型(3)-- 类对象所占用的空间

类对象所占用的空间可以用sizeof()函数获取,在C对象模型中,类对象所占用的空间规则如下: (1) 空类占1字节,以使该类对象在内存得以配置一个地址。 (2) 对象所占用的空间由3个因素决定:非静态成员变量、虚函数、字节填…

图形学 -- Rasterization栅格化

参考视频:Lecture 05 Rasterization 1 (Triangles)_哔哩哔哩_bilibili 视锥: 定义一个垂直角度,定义宽高比 投到[-1,1]^3之后要呈现到屏幕上 屏幕 屏幕(一个二位数组) 屏幕是个典型的光栅成像设备 定义屏幕空间 映…

【每日一练】勾股定理困难版

目录 题目官方给的解题思路源代码附最大公因数辗转相除法更相减损术 所有因数参考文献 题目 给定斜边z的值&#xff0c;求所有直角边x和y的组合数&#xff08;x、y和z都是正整数&#xff09;。 仅有一行输入&#xff0c;即斜边z的值&#xff08;z是正整数&#xff0c;且z<1…

23种经典设计模式:单例模式篇(C++)

前言&#xff1a; 博主将从此篇单例模式开始逐一分享23种经典设计模式&#xff0c;并结合C为大家展示实际应用。内容将持续更新&#xff0c;希望大家持续关注与支持。 什么是单例模式&#xff1f; 单例模式是设计模式的一种&#xff08;属于创建型模式 (Creational Pa…

将本地代码提交到git新仓库

建仓 首先需要新建一个仓库&#xff0c;注意一定要是空仓库&#xff0c;不要选任何初始化 在代码所在目录右击&#xff0c;进入Git Bash Here 初始化git仓库 git init将文件添加进库 git add .进行提交&#xff0c;-m 后面引号中的内容是本次提交内容&#xff0c;自行填写…

STM32F103 最小系统 PCB 设计与原理

这篇文章是来自我学习&#xff1a; ​​​​​​带着你从手册开始画板 STM最小系统板教程系列(一)_哔哩哔哩_bilibili​​​​​​ 这套教程的笔记&#xff0c;同时本文中也参考了其他教程以及我遇到的困惑与自答&#xff0c;最终汇总。 一、单片机最小系统 单片机最小系统是由…

Centos7中安装Jenkins教程

1.必须先配置jdk环境&#xff0c;安装jdk参考 Linux配置jdk 2.先卸载Jenkins # rpm卸载 rpm -e jenkins # 检查是否卸载成功 rpm -ql jenkins # 彻底删除残留文件 find / -iname jenkins | xargs -n 1000 rm -rf 3.安装Jenkins 在 /usr/ 目录下创建 jenkins文件夹 mkdir -p je…

Fastadmin 子级菜单展开合并,分类父级归纳

这里踩过一个坑&#xff0c;fastadmin默认的展开合并预定义处理的变量是pid。 所以建表时父级id需要是pid&#xff1b; 当然不是pid也没关系&#xff0c;这里以cat_id为例&#xff0c;多加一步处理一样能实现。 废话少说上代码&#xff1a; 首先在控制器&#xff0c; 引用…

使用HbuilderX运行uniapp中小程序项目

下载HbuilderX&#xff0c;下载链接&#xff1a; HBuilderX-高效极客技巧 导入相关项目。下载微信开发者工具。使用微信开发者工具打开&#xff1a;注意&#xff1a;如果是第一次使用&#xff0c;需要先配置小程序ide的相关路径&#xff0c;才能运行成功。如下图&#xff0c;需…

国产开源无头CMS,MyCms v4.7 快捷生成接口开发后台

MyCms 是一款基于 Laravel 开发的开源免费的开源多语言商城 CMS 企业建站系统。 MyCms 基于 Apache2.0 开源协议发布&#xff0c;免费且可商业使用&#xff0c;欢迎持续关注我们。技术交流 QQ 群&#xff1a;887522124 加群请备注来源&#xff1a;如gitee、github、官网等 v4…

什么是智能档案柜?如何使用智能档案柜?

智能档案柜是一种具有智能化功能的文件存储设备&#xff0c;它通过应用现代科技&#xff0c;集成了电子锁、自动化控制、智能管理系统技术&#xff0c;具有自动识别、高效存储、安全可靠等特点&#xff0c;提高档案管理的效率和安全性。适用于企业单位、图书馆等需要储存文件资…

(自学)黑客技术方法——网络安全篇

如果你想自学网络安全&#xff0c;首先你必须了解什么是网络安全&#xff01;&#xff0c;什么是黑客&#xff01;&#xff01; 1.无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面性&#xff0c;例如 Web 安全技术&#xff0c;既有 Web 渗透2.也有 Web 防…

JRebel在IDEA中实现热部署 (JRebel实用版)

JRebel简介&#xff1a; JRebel是与应用程序服务器集成的JVM Java代理&#xff0c;可使用现有的类加载器重新加载类。只有更改的类会重新编译并立即重新加载到正在运行的应用程序中&#xff0c;JRebel特别不依赖任何IDE或开发工具&#xff08;除编译器外&#xff09;。但是&…

Pyside6 QRadioButton

Pyside6 QRadioBox QRadioButton使用QRadioButton分组QRadioButton设置文本代码设置界面设置 QRadioButton禁用和启用代码设置界面设置 QRadioButton设置默认值代码设置界面设置 读取QRadioButton状态QRadioButton样式设计代码设置界面设置 完整程序界面程序主程序 QRadioButto…

语音芯片基础知识 什么是语音芯 他有什么作用 发展趋势是什么

目录 一、语音芯片的简介 常见的语音芯片有哪些&#xff1f; 语音芯片的种类有很多&#xff0c;大体区分下来也就4个类别而已&#xff1a; 选型的经验说明如下&#xff1a; 推荐使用flash型语音芯片 一、语音芯片的简介 语音芯片基础知识&#xff1a; 什么是语音芯片&…

计算机竞赛 题目:基于深度学习的手势识别实现

文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的手势识别实现 该项目较为新颖&#xff0c;适合作为竞赛课题…

$attrs 和 $listeners (vue2vue3)

目录 透传 Attributes Attributes 继承​ 对 class 和 style 的合并 v-on 监听器继承 深层组件继承 禁用 Attributes 继承 多根节点的 Attributes 继承 vue2 $attrs 和 $listeners $attrs 概念说明 $attrs 案例 $listeners 概念说明 $listeners案例 vue3 $attr…