1、常用的Shell命令

磁盘管理

cd

cd命令用于切换当前工作目录至指定的目录。

cd [dirName]
  • dirName:要切换的目标目录

df

df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

df [选项] ... [file] ...
  • -a--all包含所有的具有0 Blocks的文件系统
  • -h--human-readable使用易于阅读的格式展示

du

du命令用于显示目录或文件的大小,会显示指定的目录或文件所占用的磁盘空间。

du [选项] [目录或文件]
  • -a-all显示目录中所有的文件大小
  • -h--human-readable以K,M,G为单位,使用易于阅读的格式展示

mkdir

mkdir命令用于建立指定名称的子目录。

mkdir [-p] dirName
  • -p:确保目录名称存在,不存在就建一个

pwd

pwd命令用于显示当前工作目录。

pwd

ls

ls命令用于显示指定目录下的内容。

ls [选项][name...]
  • -a:显示所有文件及目录(Linux默认以点"."开头的隐藏文件或目录不会显示,使用-a可以显示)
  • -l:除了显示文件名,还将显示文件类型、权限、拥有者、文件大小等信息
  • -r:以文件名称进行倒序排序后显示
  • -t:以文件创建时间排序后显示
  • -R:递归列出子目录下的文件

文件管理

cat

cat命令用于查看文件并打印到标准输出设备上。

cat [选项] fileName
  • -n--number:从1开始对所有输出进行行数编号
  • -b--number-nonblank:从1开始对所有输出进行行数编号,但对于空白行不编号
  • -s--squeeze-blank:当遇到有连续两行以上空白行,就替换为一行空白行

chmod

chmod命令可以改变文件的访问权限。

Linux的文件调用权限分为三级:文件拥有者、群组、其他。

chmod [选项] [参数] file...

参数格式

[ugoa...][[+-=][rwxX]...][,...]
  • u表示文件的拥有者,g表示与拥有者属于同一个群组,o表示其他人,a表示三者皆是
  • +表示增加权限,-表示取消权限,=表示唯一设定权限
  • r表示可读取,w表示可写入,x表示可执行

chown

chown命令可以将指定文件的拥有者改为指定的用户或组。

一般来说,这个指令只有root用户使用。一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改为别人。只有root才有这样的权限。

chown [选项] user[:group] file...
  • user:新的文件拥有者的ID
  • group:新的文件拥有者的组

cp

cp命令主要用于复制文件或目录。

cp [选项] source... target
  • -a:此选项通常在复制目录的时候使用,它保留链接、文件属性,并复制目录下的所有内容
  • -f:覆盖已经存在的目标文件而不给出提示
  • -i:在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖
  • -r:如果源文件时一个目录文件,递归复制该目录下的所有子目录和文件

diff

diff命令用于比较文件的差异。

diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

diff [选项] [文件或目录1] [文件或目录2]

file

file命令用于辨识文件类型。

file [选项] [文件或目录...]
  • -b:列出辨识结果,不显示文件名称
  • -i:显示MIME类别

find

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,这里只介绍最常用的部分。

  • -path path:路径名称符合 path 的文件。

  • -ipath path:路径名称符合 path 的文件,忽略大小写。

  • -name name:文件名称符合 name 的文件。

  • -iname name:文件名称符合 name 的文件,忽略大小写。

  • -type c:文件类型是 c 的文件。

more

more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

more [选项] filenames...
  • -num:一次显示的行数
  • +num:从第num行开始显示
  • -p:不以卷动的方式显示每一页,而是先清除屏幕后再显示内容
  • -s:当遇到有连续两行以上的空白行,就代换为一行的空白行

mv

mv 命令用来为文件或目录改名、或将文件或目录移到其它位置。

mv [选项] sources... target
  • -i:若指定目录已有同名文件,则先询问是否覆盖旧文件
  • -f:在 mv 操作要覆盖某已有的目标文件时不给任何指示

rm

rm命令用于删除一个文件或者目录。

mv [选项] names...
  • -i:删除前逐一询问确认
  • -f:直接删除,无需逐一确认
  • -r:递归删除目录下的所有内容

split

split命令用于将一个文件分割成数个。

该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。

split [选项] file [prefix]
  • -l rows:指定每rows行切成一个小文件
  • -b bytes:指定每bytes字节切成一个小文件
  • prefix:切割后的文件名称前缀

touch

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

touch [选项] [文件或目录...]
  • -a:改变读取时间记录
  • -m:改变修改时间记录
  • -c:如果文件不存在,不会创建新文件

文档编辑

grep

grep 命令用于查找文件里符合条件的字符串。

grep [选项] [参数] [文件或目录...]
  • -i--ignore-case: 忽略字符大小写的差别
  • -n--line-number:显示行号

sed

sed 命令是利用脚本来处理文本文件。可依照脚本的指令来处理、编辑文本文件。

sed [选项] [表达式] [文件]
  • a:在后面新增一行
  • i:在前面插入一行
  • s:文件内容替换

sort

sort命令用于将文本文件内容以行为单位加以排序。

sort [选项] [文件]
  • -u:对输出结果去重
  • -r:以相反的顺序排序

wc

wc命令用于计算字数。

wc [选项] [文件]
  • -c:统计字节数
  • -w:统计单词数
  • -l:统计行数

压缩备份

tar

tar命令用于将文件打包。

tar [选项] [文件或目录...]
  • -c:用于创建新的包
  • -x:用于从包中还原文件
  • -f:用于指定文件
  • -z:通过gzip压缩文件或者通过gunzip解压文件
  • -v:显示执行的过程
  • -C:用于指定目标文件夹

gzip

gzip命令用于压缩文件。文件经它压缩过后,其名称后面会多出.gz的扩展名。

gzip [选项] [文件]
  • -f:强行压缩文件
  • -d:解压缩文件
  • -v:显示执行的过程

gunzip

gunzip命令用于解压文件。它用于解开被gzip压缩过的文件。

gunzip [选项] [文件]
  • -f:强行解压文件
  • -v:显示执行的过程

zip

zip 命令用于压缩文件。压缩后的文件后缀名为 .zip

zip [选项] [文件]
  • -r:递归压缩目录下的所有文件
  • -m:压缩后删除原有文件
  • -v:显示执行的过程

unzip

unzip命令用于解压缩zip文件。

unzip [选项] [文件]
  • -f:更新现有文件
  • -n:解压时不要覆盖原有文件
  • -v:显示执行的过程

2、Ubuntu软件安装

Linux环境下软件的安装方式

RedHat / CentOS 软件安装方式

rpm方式安装
  • 类似于Windows下的exe安装包
  • 需要rpm软件安装包
  • 如果依赖其他软件包则需要依次全部安装
  • 安装命令是:rpm -ivh ***.rpm
yum方式安装
  • 直接联网在线安装
  • 不需要提供软件安装包,自动从yum仓库查找并自动下载安装
  • 如果依赖其他软件包则会自动安装依赖
  • 安装命令是:yum install -y ***

Ubuntu 软件安装方式

deb方式安装
  • 类似于Windows下的exe安装包
  • 需要deb软件安装包
  • 安装命令是:sudo dpkg -i ***.deb
apt方式安装
  • 直接联网在线安装
  • 不需要提供软件安装包,自动从apt源查找并自动下载安装
  • 如果依赖其他软件包则会自动安装依赖
  • 安装命令是:sudo apt install ***

通用软件安装方式

源码编译安装
  • 需要有软件的源码
  • 需要有编译环境
  • 安装命令是:makemake install
解压后即可使用
  • 软件及依赖已经打包成一个压缩包
  • 解压后直接可以执行

软件安装实操

通过apt方式安装zip / unzip

sudo apt install zip
sudo apt install unzip

通过解压方式安装Java

  • 解压软件包
tar xzf soft/jdk-8u251-linux-x64.tar.gz -C apps/Java/
  • 配置环境变量
export JAVA_HOME=/mnt/d/Ubuntu20.04LTS/apps/Java/jdk1.8.0_251
export PATH=${JAVA_HOME}/bin:${PATH}

Maven软件的安装

准备工作

前置条件

  • JDK 1.7+
  • 操作系统:无特殊要求
  • 内存:无特殊要求
  • 磁盘:软件安装 10MB+ ,本地仓库 1GB+

下载Maven安装包

通过官网下载:http://maven.apache.org/download.cgi

或者,直接下载:

Windows安装包:https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip

Linux安装包:https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

Linux环境下安装Maven

安装Java

  • 解压软件包
tar xzf soft/jdk-8u251-linux-x64.tar.gz -C apps/Java/
  • 配置环境变量
export JAVA_HOME=/mnt/d/Ubuntu20.04LTS/apps/Java/jdk1.8.0_251
export PATH=${JAVA_HOME}/bin:${PATH}
  • 验证安装结果
java -v

安装Maven

  • 解压软件包
tar xzf soft/apache-maven-3.6.3-bin.tar.gz -C apps/Maven/
  • 配置环境变量
export MAVEN_HOME=/mnt/d/Ubuntu20.04LTS/apps/Maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
  • 验证安装结果
mvn -v

Ubuntu的文件系统结构

Ubuntu(像所有类UNIX系统一样)在分层树中组织文件,其中的关系就像父母和孩子一样。目录可以包含其他目录以及常规文件,它们是树的“叶子”。

根目录 “/”

Linux下“/”就是根目录,所有的目录都是由根目录衍生出来的。

Ubuntu文件系统结构

Ubuntu 标准的目录结构是符合**文件系统层次标准**的。

下面列举一些在 Ubuntu 系统中出现的文件目录。

  • /bin

    这是存放常用的终端命令的目录,可以被root和一般的账户使用。例如:ls、mount、rm 等等。

  • /boot

    存放系统启动所需的文件,包括Linux kernel,一个随机存储磁盘镜像和 Bootloader 的配置文件。

  • /dev

    这个目录存放所有的设备文件,这些不是常规文件,而是指系统上的各种硬件设备,包括硬盘驱动器。

  • /etc

    存放系统的全局配置文件,这里面的配置文件会影响系统所有用户的系统环境。

  • /home

    系统默认的用户的家目录,每个用户都有自己的家目录。

  • /lib

    存放非常重要的动态库和内核模块。

  • /media

    作为外部设备的一个挂载点,比如硬盘或者可移动设备(U盘、DVD、CD)。

  • /mnt

    /media一样,也是一个挂载点,但是专用于挂载临时的设备,例如网络文件系统。

  • /opt

    用于安装系统额外的软件,这里安装的软件是手动安装的,不受 Ubuntu 软件管理包的管理。

  • /proc

    一个虚拟文件系统,为内核提供向进程发送信息的机制。

  • /root

    root 用户的家目录,不在 /home/ 中,即使 /home/ 不可用,也允许引导系统。

  • /run

    在引导过程的早期可用的tmpfs(临时文件系统),其中存储了临时运行时数据。此目录下的文件将在引导过程开始时删除或截断。

  • /sbin

    包含通常只应由超级用户使用的重要管理命令,或者开机过程中所需的命令。

  • /snap

    snap应用框架的程序文件。

  • /srv

    包含 HTTP(/srv/www/)或 FTP 等服务的数据目录。

  • /sys

    可以访问的虚拟文件系统,用于设置或获取有关内核系统视图的信息。

  • /tmp

    应用程序使用的临时文件的位置。

  • /usr

    UNIX Software Resource的缩写,包含大多数用户实用程序和应用程序,并部分复制根目录结构,包括例如 /usr/bin/ 和 /usr/lib。

  • /var

    致力于可变数据,例如日志,数据库,网站和临时脱机(电子邮件等)文件,这些文件从一次启动到下一次启动。它包含的一个值得注意的目录是 /var/log,其中保存了系统日志文件。

绝对路径和相对路径

  • 绝对路径以字符 / (标识根目录,其中包含所有其他目录和文件)开头,然后列出必须遍历以到达该元素的每个子目录,每个子目录用 / 符号分隔。
  • 相对路径名是不以 / 开头的名称;在这种情况下,从给定点开始遍历目录树,该点根据上下文而变化,称为当前目录。
  • 在每个目录中,都有两个特殊目录 . 和 … ,分别指向目录本身及其父目录。hao

安装完成之后 添加文件到乌班图系统中 命令行:

mv /mnt/檔案位置/lt-http-map/ ~/你想放到的位置

档案位置是windows下的文件位置 想放的位置是乌班图下的文件位置 ~/是根目录二代意思

ls查看文件目录 cd放回文件目录 ll 查看文件目录 *号表示文件有可运行权限

vi文本编辑器 输入i进入编辑模式 退出是 esc 然后:wq保存 *(运行bash run.sh)

cat run.sh 显示文本的具体内容 ctrl+c 终止当前命令

Logo

更多推荐