首页 > 系统相关 >Linux命令速成

Linux命令速成

时间:2025-01-07 17:04:55浏览次数:3  
标签:文件 shell -- 用户 速成 命令 Linux 目录

Linux

一、Linux要点
  • 要在一个命令行上输入多条命令,可使用分号来分隔命令。比如 cd /etc; ls –l。

  • 反斜杠“\”将一个较长的命令分成多行表达,换行后,shell自动显示提示符“>”,表示正在输入一个长命令,此时可继续在新行上输入命令的后续部分。

  • Linux命令由”命令+选项+参数“组成。

  • 超级用示户的提符是#;一般用户的提示符是$。

  • Linux命令区分大小写

二、基础命令
  • 注销:logout、ctrl+d、exit

  • 关机和重启:–shutdown、halt、reboot、init

  • 更改密码:passwd

  • 显示系统文档中的man页内容:man passwd

  • 是一个基于菜单的超文本系统:info passwd

  • 用于查看当前登录到系统的用户信息:who

  • 显示正在使用的Linux系统信息:uname

  • 显示或设置系统的时间:date [+%adDhHjmMrSTwWy]

  • 在屏幕上输出日历信息:cal [month] [year]

  • 用于回显输入内容:echo strings

  • 清除shell窗口中的内容:clear

  • 切换到其他用户:su

  • 退回到原来用户:exit

三、Linux文件系统
  • shell是命令解释器;shell是用户与操作系统内核打交道的接口;shell实际是一种独立于内核的软件;Linux默认使用Bash。

  • Linux文件系统采用树形结构,从根目录(/)开始。

  • Linux允许众多不同类型的文件系统共存,并支持跨文件系统的操作,这是由于虚拟文件系统(VirtualFile System,简称VFS)的存在。虚拟文件系统是Linux内核中的一个“软件层”,用于给“用户空间的程序”提供文件系统接口。

3.1、根文件系统
  • /bin:存放二进制可执行文件

  • /sbin:存放系统管理员的系统管理程序

  • /home:普通用户的宿主(家)目录

  • /lib:动态链接共享库文件

  • /etc:存放系统管理时要用到的各种配置文件

  • /dev:存放设备的文件名(并不是存放设备的驱动程序)

  • /usr:包含所有的用户程序(/usr/bin)、库文件(/usr/lib)、文档(/usr/share/doc)等,是占用空间最大的目录

  • /proc:虚拟目录,该目录中的文件是当前内存中的一个映射

  • /root:系统管理员的主目录

  • /var:存放系统产生的经常变化文件

  • /mnt:这个目录在一般情况下也是空的。可以临时将别的文件系统挂载在这个目录下

3.2、EXT文件系统
  • ext是第一个专门为Linux设计的文件系统(虚拟文件系统)

  • EXT3特点:高可用性、数据的完整性、文件系统的速度、数据转换、多种日志模式

  • EXT3三种日志模式:Journal模式、Ordered模式、写回(Writeback)模式

四、Linux文件系统操作命令
  • 显示目录内容的命令:ls

  • 切换工作目录命令:cd

  • 显示工作目录命令:pwd

  • 创建目录命令:mkdir

    -m或--mode=MODE:对新建目录设置存取权限。

    -p 或--parents:若所建目录的上层目录不存在,会一并建立。

  • 删除目录命令:rmdir

    -p或--parents,删除指定目录后,若该目录的上层目录已变成空目录,则其一并删除。

  • 显示文件内容命令:cat -b或--number-nonblank:从1开始对所有非空输出行进行编号。 -n或--number:从1开始对所有输出行编号。 -s或--squeeze-blank:将连续两行以上的空白行合并成一行空白行。 提示:命令选项可以用长格式(用--作为前缀),也可以用短格式(用-作为前缀)

  • 文件内容统计命令:wc

    -c或--bytes:统计字节数。 q -m或--chars:统计字符数。 q -l或--lines:统计行数。 q -w或--words:统计字数。字是由空格字符区分开的最大字符串

  • 显示文件内容命令:more

    -num:指定一个整数,表示一屏显示多少行。 -d:在每屏底部显示提示信息,包括当前显示的百分 比,按键提示等。 +/pattern:定义一字符串,在文件中查找该字符串,从该字符串后开始显示。

    (1)Space键 :默认显示文本的下一屏内容。 (2)Enter键:默认显示文本的下一行内容。 (3)d键或CTRL+D:向下显示文本半屏,默认为11行。 (4)b键或CTRL+B:默认显示文本的上一屏内容。 (5)q or Q or INTERRUPT键:退出more命令。

  • 显示文件内容命令:less

    -m或--long-prompt:显示读取文件的百分比。

    -i或--ignore-case:搜索时忽略大小写,除非搜索串中包含大写字母。

  • 显示文件内容命令:head

    -c或--bytes=num:显示文件前面num个字节。 -n或--lines=num:显示文件前面num行,不指定此参数显示前10行。

  • 显示文件内容命令:tail

    -c或--bytes=num:显示文件最后面num个字节。 -n或--lines=num:显示文件最后面的num行,不指定此参数显示10行。

  • 文本字符替换命令:tr

    格式:tr [原始字符] [目标字符]

  • 排序命令:sort

    d或--dictionary-order:按字典顺序排序。

    f或--ignore-case:忽略字母大小写。

    r或--reverse:按逆序输出排序结果,默认排序输出时按升序的。

    -o 文件名:将排序输出写到输出文件中而不是标准输出

    将当前目录下的文件fruits按逆序排序后结果输出到文件fruitsort中。

  • 去掉重复行命令:uniq

    uniq [选项]... [输入文件 [输出文件]]

  • 比较内容命令:comm

    格式:comm [选项]… 文件1 文件2

  • 比较内容命令:diff

    格式:diff [选项] … 文件列表

  • 创建空文件命令:touch

    -a: 仅修改“读取时间”(atime) -m: 仅修改“修改时间”(mtime) -d: 同时修改atime和mtime

  • 复制文件命令:cp

    格式:cp [选项] 源文件或目录 目标文件或目录

    -a 或--archive:等同于 –dpR。 q -d:复制符号链接时,把目标文件或目录也建立为符号链接, 并指向与源文件或目录链接的原始文件或目录。 q -f 或--force:强行复制文件或目录 q -i或--interactive:覆盖目标文件前需要确认。 q -n或--no-clobber:不覆盖已存在的目标文件。 q -p:复制源文件或目录内容的同时也复制文件属性 q -R,-r 或--recursive:递归复制目录,将源目录下所有文件及子目录都复制到目标位置。

  • 删除文件命令:rm

    -f 或 --force:强制删除文件或目录。 -i 或--interactive:删除文件或目录前提示要用户确认。 -r,-R, 或--recursive:递归删除指定目录及其下属各级子目录和相应的文件。

  • 移动文件命令:mv

    -i或--interactive:覆盖文件前需要确认。 -f 或--force:若目标文件或目录已存在,直接覆盖。 -n或--no-clobber:不覆盖已存在的文件。 -u 或--update:移动或更改文件名时,若目标文件已存在,且文件日期比源文件新,则不覆盖目标文件。

五、shell进阶命令
  • 文本搜索命令:grep

    格式:grep [选项] 查找模式 [文件…]

    -i或--ignore-case:忽略字符大小写。 -n 或--line-number:在显示包含匹配字符串的行之前,标示出该行行号。 -v:反转查找,显示不包含匹配字符串的文本行。

    -c或--count:计算符合匹配字符串的行数。

  • 输入/输出重定向

    输出重定向的一般形式为:command [参数] > 文件名

    “>>”(追加)重定向符

    cat 实现文件合并:

    从键盘输入信息到当前目录下的文件testfile4中:Ctrl+D 存盘退出

    错误重定向“2>”:可以把命令行出错的信息保存到指定的文件中去:

    避免文件重写:Shell提供了一种称为noclobber的功能,该功能可防止 重定向时不经意地重写了已存在的文件

    输入重定向的一般形式为:command [参数] < 文件名

    “<<”为此处操作符(here operator),该操作符在从标准输入中读入,读到指定的字符串时,便停止读取,然后将所读的内容输出。

  • 管道

六、shell编程
6.1、shell基础
  • 执行过程

    内置在其源代码中的命令,而不是文件系统中的可执行文件,执行速度快。不同的Shell内置命令有所不同。

  • type 来确定一个命令是否是内置命令:

  • 命令的执行会启动一个新进程,shell进程睡眠,当命令执行完毕,shell被唤醒,显示提示符,等待下一个命令的输入。

  • 特殊字符:

    由单引号括起来的字符都作为普通字符出现。

    由双引号括起来的字符,除“$”、“\”、“’”、和“””这几个字符仍是特殊字符并保留其特殊功能外,其余字符作为普通字符对待。

    $:引用变量的值

    \:是转义字符

    反引号(`)括起来的字符串被shell解释为命令,在执行时,shell首先执行该命令,并以它的输出结果取代整个反引号(包括两个反引号)部分。

    以字符“#”开头的行表示注释行。

  • 别名

    不加参数的alias命令执行结果将显示当前系统中定义的所有命令别名。

  • 历史命令

    若想重复执行命令历史中指定的命令,可使用如下格式:!命令编号

6.2、shell脚本
  • 什么是shell脚本

    1、用shell命令编写的文件

    2、shell不需要编译链接成可执行的二进制程序

    3、shell是按行一条接着一条地解释并执行shell脚本中的命令

  • 执行方式

    1、为脚本文件加上可执行权限,然后在命令行直接输入shell脚本文件名执行

    2、sh shell脚本名

    3、. shell脚本名

  • 编写方式

    基于bash的脚本编程,开头必须有#! /bin/bash

6.3、shell变量

七、用户管理
  • 用户三种类型

    超级用户:root (可以对系统做任何操作) 普通用户:由root创建的用户 特殊用户:与系统和服务相关的用户。注意:默认情况下特殊用户无法登录。

  • 管理内容

    (1)用户账号的增加、修改和删除。 (2)组账号的增加、修改和删除。 (3)用户账号属性信息的修改,包括登录shell,用主目录,用户注释信息等。 (4)组账号属性信息的修改,包括组内用户、组ID等。 (5)用户和组账号密码的设置与修改,包括密码有效期、更改密码等。

  • 管理方法

    (1)通过GUI方式管理(不介绍) (2)通过修改配置文件管理(了解) (3)通过系统管理命令管理(重点)

  • 配置文件

    (1)/etc/passwd文件:存放用户账号相关的信息

    (2)/etc/shadow文件:存放用户的加密口令,只有root用户可以读取。(3)/etc/group文件:存放用户组相关的信息

    (4)/etc/gshadow文件:存放用户组口令, 只有root用户可以读取。

  • 用户和组管理相关命令 (1)useradd:添加用户

    useradd [options] username 示例:# useradd lisi -d dir: 指定用户主目录 -u uid: 指定用户ID -g group:已存在一个组,新增用户要加入的主要组 -G group:已存在一个组,新增用户要加入的附加组 -c comment :用户的注释信息

    (2)usermod:改变用户属性

    usermod [-options] [arguments] username -d dir: 修改用户主目录 -u uid: 修改用户ID -g group:已存在一个组,修改用户要加入的主要组 -G group:已存在一个组,修改用户要加入的附加组 -s Shell :修改用户登录shell -e expire:修改用户的过期日期 -L 锁定用户密码,使密码无效,用户不能登录 -U 解除密码锁定

    (3)userdel:删除用户

    userdel [-r] username 选项“-r”是用来删除用户主目录以及目录中所有文件,不加“-r” ,则仅除用户账号,还必须手工清除用户的主目录。

    (4)groupadd:添加组 (5)groupmod:修改组属性 (6)groupdel:删除组 (7)groups:查看自己属于哪个组

    groupadd[-g gid] groupname, q groupmod[-g gid] [-n newgroupname] groupname q groupdel groupname q groups 查看自己属于哪个组

标签:文件,shell,--,用户,速成,命令,Linux,目录
From: https://blog.csdn.net/ha_ha_ha_wys/article/details/144988532

相关文章

  • Linux开机LOGO更换以及附带问题
    应用层更换Linux机器开机启动LOGO平台开机Logo默认是编译进内核的,更换起来很不方便,通过改写内核源码,可以实现应用层直接更换内核Logo。1.uboot相关修改网上教程一般会这么改"loadlogo=mmcread0x150000000x58000x2800;\0"\"runloadlogo;"\核心代码是mmcread0x150......
  • Linux文件系统的安全保障---Overlayroot!
    `overlayroot` 是一种使用 OverlayFS 实现的功能,可将根文件系统挂载为只读,并通过一个临时的写层实现对文件系统的修改。这种方法非常适合嵌入式设备或需要保持系统文件完整性和安全性的场景。下文以 RK3568 平台为例,介绍制作 overlayroot 的详细步骤。​1. 制作精简文......
  • Linux下安装paraview的疑难杂症&方法
    1.下载安装包(https://www.paraview.org/),linux则选择对应的linux版本。此网站下载速度较慢可以耐心等待。2.解压缩安装包:sudotar-xzvfParaView-5.12.1-MPI-Linux-Python3.10-x86_64.tar.gz-C/opt///解压缩到根目录下opt文件夹cd/opt/......
  • linux 服务器清理
    起因服务器报错:nospaceleftondevice翻译:设备上没有剩余空间解决方法清理数据,这里有个点要注意,对于重要文件,一定要备份。步骤1首先,需要确定哪个分区或目录占用了大量空间。df-h执行结果示例:FilesystemSizeUsedAvailUse%Mountedonudev......
  • 【汇总】Android 编译命令
    一、变量、命令、参数排序变量、命令、参数英文说明中文说明备注、示例A    B    C    D    E    F    G    H    I    J    K    L ......
  • linux防火墙相关命令,开启关闭端口,服务,防火墙等
    linux防火墙相关命令,开启关闭端口,服务,防火墙等注意:以下所有命令在centos7.6环境下测试,其他linux环境请自行测试注意:在linux中,不是管理员登录,最好在指令前加上sudo提权,避免权限不够执行失败带来的麻烦,以下命令请都加上sudo,这是一个好习惯。#开启/关闭防火墙systemctlstartfi......
  • nginx常用命令
    nginx常用命令注意:以下所有命令在centos7.6环境下测试,其他linux环境请自行测试注意:在linux中,不是管理员登录,最好在指令前加上sudo提权,避免权限不够执行失败带来的麻烦,以下命令请都加上sudo,这是一个好习惯。常用命令#查看nginx进程是否启动ps-ef|grepnginxpsaux|grep......
  • Linux(Centos 7.6)命令详解:rmdir
    1.命令作用如果目录为空,则删除该目录(RemovetheDIRECTORY(ies),iftheyareempty)2.命令语法Usage:rmdir[OPTION]...DIRECTORY...3.参数详解OPTION:--ignore-fail-on-non-empty,忽略每个因为目录为非空的错误(如果目录非空,不会报错也不会删除非空目录)-p,--parent......
  • liunx命令大全
    一、文件和命令cd命令:(它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径)cd/home进入’/home’目录cd..返回上一级Cd../..返回上两级目录Cd/返回跟目录Cd-返回上次所在的目录Mkdir<目录名>创建目录Mkdirdir1dir2同时创......
  • [shell/linux] Shell 管道流机制及原理
    缘起:shell管道流Shell有一种功能,就是可以将两个或者多个命令(程序或者进程)连接到一起,把一个命令的输出作为下一个命令的输入,以这种方式连接的两个或者多个命令就形成了管道(pipe)。那么,shell管道流的原理是如何的?以多个管道流命令(catxxx.log|grep-i"keyword"|jq-r......