• Linux:基本指令


    ls指令

    语法:ls [选项] [目录或文件]

    功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

    常用选项:

    选项全称含义
    -a–all显示所有文件,包括隐藏文件(以 . 开头的文件)
    -A–almost-all显示所有文件,除了 ...
    -i–inode显示文件的i结点的索引信息
    -l–long显示详细信息如权限、所有者、大小和修改时间
    -h–human-readable配合 -l 选项,以人类可读的格式显示文件大小
    -d–directory只显示目录本身,而不是其内容。常与通配符结合使用
    -F–classify在每个文件名后附加一个字符以指示文件类型
    -r–reverse逆序显示文件
    -t–time根据修改时间排序,最新的文件排在最前面
    -s–size根据文件大小排序,最大的文件排在最前面
    -R–recursive递归地列出子目录中地所有文件和目录
    -1每行显示一个文件

    ls -l ll列出文件时,一共有七列。

    例如:

    [root@VM-12-11-centos ~]# ls -ahl

    total 28K

    dr-xr-x—. 2 root root 135 Dec 16 02:34 .

    dr-xr-xr-x. 17 root root 224 Dec 14 01:38 …

    -rw-------. 1 root root 1.3K Dec 14 01:38 anaconda-ks.cfg

    -rw-------. 1 root root 1.2K Dec 16 02:34 .bash_history

    -rw-r–r–. 1 root root 18 Dec 28 2013 .bash_logout

    -rw-r–r–. 1 root root 176 Dec 28 2013 .bash_profile

    -rw-r–r–. 1 root root 176 Dec 28 2013 .bashrc

    -rw-r–r–. 1 root root 100 Dec 28 2013 .cshrc

    -rw-r–r–. 1 root root 129 Dec 28 2013 .tcshrc

    从上面可以看到,每一行都有7列,分别是:

    1. 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、executable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限
    2. 第二列表示链接数,表示有多少个文件链接到inode号码。
    3. 第三列表示拥有者
    4. 第四列表示所属群组
    5. 第五列表示文档容量大小,单位字节
    6. 第六列表示文档最后修改时间,注意不是文档的创建时间哦
    7. 第七列表示文档名称。以点(.)开头的是隐藏文档

    pwd指令

    语法:pwd

    功能:显示用户当前所在的目录

    cd指令

    Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个结点都是目录或文件。

    所以它的叶子节点一点故事空目录或非目录文件,路上结点一定是非空目录节点。
    在这里插入图片描述

    语法:cd 目录名

    功能:改变当前工作目录到指定目录下。

    Example:

    cd ..                        返回上级目录
    cd /home/litao/linux/        绝对路径
    cd ../day02/                 相对路径
    cd ~                         进入用户家目录
    cd -                         返回最近访问目录
    

    root用户的家目录为:/root

    CentOS中普通用户账号统一放在/home

    所以普通用户的家目录为:/home/username

    touch指令

    语法:touch [选项] …文件…

    功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。

    常用选项:

    选项含义
    -a只更改存取时间
    -c不建立任何文档
    -d使用指定的日期时间,而非现在的时间
    -f此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
    -m只更改变动时间
    -r把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
    -t使用指定的日期时间,而非现在的时间

    mkdir指令

    语法:mkdir [选项] dirname…

    功能:在当前目录下创建一个名为dirname的目录

    常用选项:

    -p/–parents:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录

    rmdir指令 && rm指令

    rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

    语法:rmdir [-p] [dirname]

    适用对象:具有当前目录操作权限的所有使用者

    功能:删除空目录

    常用选项:

    -p:当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

    rm指令可以同时删除文件或目录

    语法:rm [-f-i-r-v] [dirname/dir]

    适用对象:所有使用者

    功能:删除文件或目录

    常用选项:

    选项含义
    -f即使文件属性为只读(即写保护),亦直接删除
    -i删除前逐一询问确认
    -r删除目录及其下所有文件

    cp指令

    语法:cp [选项] [源目录或源文件] [目标目录或目标文件]

    功能:拷贝文件或目录

    说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。

    常用选项:

    选项全称含义
    -f–force强行复制文件或目录, 不论目的文件或目录是否已经存在
    -i–interactive覆盖文件之前先询问用户
    -r–recursive将指定目录下的文件及子目录一并处理。

    拷贝目录时,使用-r选项

    man指令

    语法:man [选项] [命令]

    功能:在Linux手册中查找命令

    搜索完后,按q退出。

    echo指令

    语法:echo [字符串]

    功能:将字符串在显示器显示。

    注:字符串可以加""''或什么都不加。
    在这里插入图片描述

    echo输出默认有换行,printf默认没有换行。

    没有""的情况下printf会以空格作为结束标志。

    如果加了"",则printf的使用方法与C++中相同,只是需要注意,不要加,
    在这里插入图片描述

    输出重定向

    在Linux下,一切皆文件。显示器和键盘也是文件,显示器是只能输出,不能输入的文件;键盘是只能输入,不能输出的文件。那么echo既然可以将字符串在显示器上打印,那么echo也可以将字符串输出到文件中。

    语法:echo [字符串] > [文件]

    这种更改输出文件的操作,就叫做输出重定向。
    在这里插入图片描述

    可以看到:1. 数据没有在显示器显示。 2. 数据呗写入到文件中。这就是输出重定向。

    如果我们继续向文件中写入内容:

    在这里插入图片描述

    可以看到,原来文件中的内容被覆盖了。

    所以输出重定向的操作分为两步:1. 清空文件 2. 写入新内容

    所以,如果我们想清空一个文件中的内容,可以使用> [文件]

    如果我们不想清空文件的原内容,想直接在文件末尾追加新内容,那就要用到追加重定向。

    追加重定向

    语法: echo [字符串] >> [文件]

    功能:在文件末尾追加新内容。
    在这里插入图片描述

    注:如果文件不存在,则会创建新文件。(输出重定向和追加重定向都是如此)

    cat指令

    语法:cat [选项] [文件]

    功能:查看目标文件的内容

    常用选项:

    选项含义
    -b对非空输出行编号
    -n对输出的所有行编号
    -s不输出多行空行

    上面提到,Linux下,一切皆文件。

    所以cat指令默认从输入设备(文件)读取。

    输入cat指令后按回车即可;退出时需按Ctrl + C

    在这里插入图片描述

    cat [文件] 的方式可以将文件中的内容输出。

    输入重定向

    cat < [文件] 被称为输入重定向,作用也是输出文件中的内容。
    在这里插入图片描述

    那么加不加<有区别吗?加与不加<是有区别的,这个以后再介绍。

    mv指令

    语法:mv [源文件] [目标文件]

    功能:移动文件或目录,或重命名。

    当目标文件或目标目录不存在时,会将源文件或目录移动,然后重命名为目标文件或目录。

    当目标目录存在时,会将源文件或目录放在目标目录下,不发生重命名。

    which指令

    语法:which [指令]

    功能:查看指令对应的路径

    指令本质上是可执行程序(也是文件:可执行文件,只是安装在了系统的某种路径下)

    执行指令时,现在系统中查找对应的指令。

    CentOS下路径为:/usr/bin/

    alias指令

    语法:alias [字符串] = ‘指令’

    功能:为指令添加重命名

    删除重命名需要alias [字符串] = ''

    more && less指令

    语法:more/less [选项] [文件]

    功能:显示文件的前n/后n行。

    可以使用/...搜索...内容,按q退出。

    less可以用光标上下移动,more不可以。

    head && tail指令

    语法:head/tail [-num] [文件]

    head提取文件的前num行,默认num == 10tail提取文件的后num行。

    Example:提取test.txt中的第1001-1020行

    1. head -1020 test.txt > tmp.txt

    ​ tail -20 tmp.txt

    2. 管道
    

    ​ head -1020 test.txt | tail -20

    事件相关的指令

    date显示

    date指定格式显示时间:date + %Y:%m:%d

    date用法:date [OPTION] [+FORMAT]

    显示方面,使用者可以设定想要显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:

    标记含义
    %H小时
    %M分钟
    %S
    %X相当于 %H:%M:%S
    %d
    %m
    %Y
    %F相当于 %Y-%m-%d

    时间戳

    时间戳:从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒

    输出时间戳:date +%s

    从时间戳转换为时间:date -d@1717574162

    cal指令

    cal指令显示日历。

    格式:cal [参数] [月份] [年份]

    常用格式:

    选项含义
    -3显示系统前一个月,当前月和下一个月的日历
    -j显示在当年的第几天
    -y显示当前年份的日历

    在这里插入图片描述

    find指令

    语法:find [目录] -name [文件]

    功能:在特定目录下搜索特定文件(可能访问磁盘)

    which只在指令路径下搜索指令文件

    whereis在系统指定路径下查找,既可以找到可执行程序,有可以找到手册、安装包、压缩包之类

    grep指令

    语法:grep [选项] [字符串] [文件]

    功能:按行在文件中搜索字符串,将包含字符串的行打印出来

    如果从目录中查找,加-r选项

    常用选项:

    选项含义
    -i忽略大小写
    -n顺便输出行号
    -v反向选择,将不包含字符串的行打印出来

    zip && unzip指令

    语法:zip 压缩文件.zip 目录或文件

    功能:将目录或文件压缩成zip格式

    如果要压缩目录,加-r

    tar指令

    四个常用:

    打包压缩:tar czf XXX

    预览:tar tzf XXX.tgz

    解压解包:tar xzf XXX.tgz

    解压到指定路径:tar xzf XXX.tgz -C(大写) 目录

    bc指令

    运行计算器,可配合管道

    uname指令

    获取电脑和操作系统的相关信息。

  • 相关阅读:
    Windows同时安装两个版本JDK,并实现动态切换JAVA8或者JAVA11
    【Composite模式】C++设计模式——组合模式
    在外包干了2年,我悟了...
    GPR 子波 一阶微分高斯脉冲和Ricker子波
    easyrecovery15最新版数据恢复类软件测评
    DRM全解析 —— CRTC详解(3)
    Go Web——RESTful风格编程
    WordPress编辑器增强插件TinyMCE Advanced
    二叉树搜索序列(回溯)
    ATA-8035射频功率放大器在通信领域的主要应用
  • 原文地址:https://blog.csdn.net/z3256707200/article/details/139475626