Linux基本命令

9次阅读

共计 3309 个字符,预计需要花费 9 分钟才能阅读完成。

1、判断文件夹是否存在

if [! -d backup];then
    // 不存在 创建多级目录
    mkdir -p backup/demo
fi    

注意:if 条件判断结束一定要加”;“方括号 [] 两边一定要有空格

参数说明:

  • -e filename 如果 filename 存在,则为 true
  • -d filename 如果 filename 为目录,则为 true
  • -f filename 如果 filename 为常规文件,则为真
  • -L filename 如果 filename 为符号链接,则为真
  • -r filename 如果 filename 可读,则为真
  • -w filename 如果 filename 可写,则为真
  • -x filename 如果 filename 可执行,则为真
  • -s filename 如果文件长度不为 0,则为真
  • -h filename 如果文件是软链接,则为真

2、创建文件夹、文件

2.1、创建文件夹

mkdir 文件夹

mkdir file 创建 file 空目录

mkdir -m 设定权限

mkdir -m 777 file 创建可读可写可执行权限的 file 文件夹

mkdir -p 递归创建多级目录

mkdir -p file1/file2/file3

mkdir -v 每次创建新目录都显示信息

mkdir -v file

显示信息:mkdir: created directory ‘file’

mkdir -pv scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
mkdir: 已创建目录“scf”mkdir: 已创建目录“scf/lib”mkdir: 已创建目录“scf/bin”mkdir: 已创建目录“scf/doc”mkdir: 已创建目录“scf/doc/info”mkdir: 已创建目录“scf/doc/product”mkdir: 已创建目录“scf/logs”mkdir: 已创建目录“scf/logs/info”mkdir: 已创建目录“scf/logs/product”mkdir: 已创建目录“scf/service”mkdir: 已创建目录“scf/service/deploy”mkdir: 已创建目录“scf/service/deploy/info”mkdir: 已创建目录“scf/service/deploy/product”

2.2、创建文件

touch 用来创建文件或者修改文件的时间戳

-a:或 --time=atime 或 --time=access 或 --time=use  只更改存取时间;-c:或 --no-create  不建立任何文件;-d:< 时间日期 > 使用指定的日期时间,而非现在的时间;-f:此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题;-m:或 --time=mtime 或 --time=modify  只更该变动时间;-r:< 参考文件或目录 >  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;-t:< 日期时间 >  使用指定的日期时间,而非现在的时间;

创建不存在文件

touch file.txt

一次创建多个文件

touch file1.txt file2.txt file3.txt

在文件夹里面添加

touch test/file.txt

3、文件对比命令

diff [选项] from-file to-file

from-file: 对比源文件

to-file: 对比目标文件

选项:

  • -< 行数 >:指定要显示多少行的文本。此参数必须与 - c 或 - u 参数一并使用
  • - a 或 –text:diff 预设只会逐行比较文本文件
  • - b 或 –ignore-space-change:不检查空格字符的不同
  • - B 或 –ignore-blank-lines:不检查空白行
  • -c 显示全部内文,并标出不同之处。
  • -C< 行数 > 或 –context< 行数 > 与执行 ”-c-< 行数 >” 指令相同。
  • - d 或 –minimal 使用不同的演算法,以较小的单位来做比较。
  • -D< 巨集名称 > 或 ifdef< 巨集名称 > 此参数的输出格式可用于前置处理器巨集。
  • - e 或 –ed 此参数的输出格式可用于 ed 的 script 文件。
  • - f 或 -forward-ed 输出的格式类似 ed 的 script 文件,但按照原来文件的顺序来显示不同处。
  • - H 或 –speed-large-files 比较大文件时,可加快速度。
  • -l< 字符或字符串 > 或 –ignore-matching-lines< 字符或字符串 > 若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
  • - i 或 –ignore-case 不检查大小写的不同。
  • - l 或 –paginate 将结果交由 pr 程序来分页。
  • - n 或 –rcs 将比较结果以 RCS 的格式来显示。
  • - N 或 –new-file 在比较目录时,若文件 A 仅出现在某个目录中,预设会显示:
  • Only in 目录:文件 A 若使用 - N 参数,则 diff 会将文件 A 与一个空白的文件比较。
  • -p 若比较的文件为 C 语言的程序码文件时,显示差异所在的函数名称。
  • - P 或 –unidirectional-new-file 与 - N 类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
  • - q 或 –brief 仅显示有无差异,不显示详细的信息。
  • - r 或 –recursive 比较子目录中的文件。
  • - s 或 –report-identical-files 若没有发现任何差异,仍然显示信息。
  • -S< 文件 > 或 –starting-file< 文件 > 在比较目录时,从指定的文件开始比较。
  • - t 或 –expand-tabs 在输出时,将 tab 字符展开。
  • - T 或 –initial-tab 在每行前面加上 tab 字符以便对齐。
  • -u,-U< 列数 > 或 –unified=< 列数 > 以合并的方式来显示文件内容的不同。
  • - v 或 –version 显示版本信息。
  • - w 或 –ignore-all-space 忽略全部的空格字符。
  • -W< 宽度 > 或 –width< 宽度 > 在使用 - y 参数时,指定栏宽。
  • -x< 文件名或目录 > 或 –exclude< 文件名或目录 > 不比较选项中所指定的文件或目录。
  • -X< 文件 > 或 –exclude-from< 文件 > 您可以将文件或目录类型存成文本文件,然后在 =< 文件 > 中指定此文本文件。
  • - y 或 –side-by-side 以并列的方式显示文件的异同之处。
  • –help 显示帮助。
  • –left-column 在使用 - y 参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
  • –suppress-common-lines 在使用 - y 参数时,仅显示不同之处

diff test.sh test1.sh

输出:

1,4d0
< if ["`diff -w package.json ./rntest/cstTask/package.json`"];then
<   echo `diff -w package.json ./rntest/cstTask/package.json`
<   mkdir tests
< fi

4、拷贝命令

4.1、文件复制命令

cp [选项] 源文件(source)目标文件或者目录(destination)

  • -a: 是指 archive 的意思,也说是指复制所有的目录
  • -d: 若源文件为连接文件(link file),则复制连接文件属性而非文件本身
  • -f: 强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
  • -i: 若目标文件 (destination) 已存在,在覆盖时会先询问是否真的操作
  • -l: 建立硬连接 (hard link) 的连接文件,而非复制文件本身
  • -p: 与文件的属性一起复制,而非使用默认属性
  • -r: 递归复制,用于目录的复制操作
  • -s: 复制成符号连接文件(symbolic link),即“快捷方式”文件
  • -u: 若目标文件比源文件旧,更新目标文件

cp -f package.json ./backup

4.2、文件移动

mv [选项] source destination

  • -f: force,强制直接移动而不询问
  • -i: 若目标文件 (destination) 已经存在,就会询问是否覆盖
  • -u: 若目标文件已经存在,且源文件比较新,才会更新
正文完
 0

Linux基本命令

9次阅读

共计 2650 个字符,预计需要花费 7 分钟才能阅读完成。

什么是 Linux

Linux 是操作系统的核心。您可能听说过 UNIX。好吧,Linux 是一个 UNIX 克隆。但它实际上是由 Scratch 的 Linus Torvalds 创建的。Linux 是免费的开源软件,有几个 Linux 发行版,通常称为“发行版”。

  • Ubuntu Linux
  • 红帽企业 Linux
  • Linux Mint
  • Debian
  • Fedora

Linux 主要用于服务器,因为 Linux 快速,安全且免费,大约 90%的互联网由 Linux 服务器提供支持!在全球大约 80%的智能手机中运行的操作系统 Android 也是由 Linux 内核制作的。

Linux 基本命令

列出文件(ls)

如果要查看 UNIX 或 Linux 系统上的文件列表,请使用“ls”命令。

它显示当前目录中的文件 / 目录。

注意:

  • 目录用蓝色表示。
  • 文件用白色表示。
  • 您将在不同的 Linux 版本中找到类似的配色方案。

如果你的“音乐”文件夹包含以下子目录和文件。

可以使用‘ls -R’ 来显示目录中的所有文件,还可以显示子目录中的所有文件

注意:该命令区分大小写。如果输入“ls – r”,您将收到错误消息。

‘ls -al’提供了文件的详细信息。该命令以柱状格式提供信息。这些列包含以下信息:

第一列 文件类型和访问权限
第二列 文件的 HardLink 数量
第三列 所有者和文件的创建者
第四列 文件的所有者
第五列 文件大小(以字节为单位)
第六列 日期和时间
第七列 目录或文件名

例如:

列出隐藏文件

任何以 ”.” 开头的目录 / 文件 除非你要求,否则不会被看见。要查看隐藏文件,请使用该命令。

ls -a

创建和查看文件

‘cat’ 命令用于显示文本文件。它还可用于复制,组合和创建新的文本文件。

要创建新文件,请使用该命令

  1. cat > 文件名
  2. 添加内容
  3. 按 ’ctrl + d’ 返回命令提示符。

要查看文件,请使用命令

cat filename

删除文件

‘rm’ 命令在没有确认的情况下从系统中删除文件。

要删除文件,请使用语法

rm filename

移动和重命名文件

mv filename new_file_location

创建目录

mkdir directoryname

如果要在“主目录”以外的其他位置创建目录,可以使用以下命令

mkdir / tmp / MUSIC

将在 ’/ tmp’ 目录下创建一个目录 ’Music’

还可以一次创建多个目录。

mkdir dir1 dir2 dir3

删除目录

rmdir directoryname

提示:确保要删除的目录下没有文件 / 子目录。在删除父目录之前,首先删除文件 / 子目录。

重命名目录

‘mv’(移动)命令(前面介绍过)也可用于重命名目录。使用以下给定的格式:

mv directoryname newdirectoryname

其他重要命令

man 命令

Man 代表手册,它是 Linux 操作系统的参考书。它类似于流行软件中的 HELP 文件。

要获得您不理解的任何命令的帮助,可以键入

man

举个例子,如果我们输入 man man 并按 Enter 键; 终端会给我们关于 man 命令的信息

历史命令

历史命令显示您在当前终端会话中过去使用的所有命令。这可以帮助您参考您输入的旧命令,并再次在操作中重复使用它们。

history

清除命令

此命令清除终端上的所有命令,并为您提供一个干净的窗口,就像刚启动终端一样。

clear

将命令粘贴到终端

很多时候你必须在终端上键入长命令,对于复制,来自源的文本,使用 Ctrl + c, 但是要在终端上粘贴它,需要使用Ctrl + Shift + p

在 Linux 中打印

pr命令 可以 以您想要的格式 打印文件

此命令有助于格式化文件以在终端上打印。此命令有许多选项可用于对文件进行所需的格式更改。下面列出了最常用的 ’ pr’选项。

选项 功能
-X 将数据分为“x”列
-h“标题” 将“标头”值指定为报告标题
-t 不打印标题和顶部 / 底部边距
-d 双重输出文件
-n 用数字表示所有行
-l 页面长度 定义页面中的行(页面长度)。默认值为 56
– 保证金 按边距编号格式化页面

让我们尝试一些选项并研究它们的效果。

将数据分成列

查看文件

我们希望其内容分为三列。语法是:

pr -x filename

带有 ’pr’ 命令的 ’-x’ 选项将数据分成 x 列。

分配标题
pr -h "header" filename

如上所示,我们已将文件排列为 3 列并分配了标题

安装软件

在 Windows 中,通过运行 setup.exe 文件来完成程序的安装。安装捆绑包包含程序以及正确运行程序所需的各种依赖组件。

在 Linux / UNIX 中,安装文件作为包分发。但是程序包只包含程序本身。任何相关组件都必须单独安装

可以使用 apt 命令安装或删除程序包。让我们使用命令更新系统中所有已安装的软件包

sudo apt-get update

在 Ubuntu 上安装程序的简单而流行的方法是使用软件中心,因为它上面有大多数软件包,它比从互联网上下载的文件安全得多。

发送电子邮件

要通过终端发送邮件,您需要安装软件包 ’mailutils’。

命令语法是

sudo apt-get install packagename

完成后,可以使用以下语法发送电子邮件。

mail -s'subject'-c'cc-address'-b'bcc-address''to-address'

总结

命令 描述
ls 列出当前工作目录中的所有文件和目录
ls – R. 列出子目录中的文件
ls – a 列出隐藏文件
ls – al 列出包含权限,大小,所有者等详细信息的文件和目录。
cat>filename 创建一个新文件
cat filename 显示文件内容
cat file file2> file3 连接两个文件(file1,file2)并将输出存储在一个新文件(file3)中
mv filename“新文件路径” 将文件移动到新位置
mv filename new_file_name 将文件重命名为新文件名
sudo 允许常规用户使用超级用户或 root 用户的安全权限运行程序
rm filename 删除文件
man 提供有关命令的帮助信息
history 提供当前终端会话中键入的所有过去命令的列表
clear 清除终端
mkdir directoryname 在当前工作目录或指定路径中创建新目录
rmdir 删除目录
等等 重命名目录
pr -x 将文件分为 x 列
pr -h 为文件指定标题
pr -n 用行号表示文件
lp -nc lpr c 打印文件的“c”副本
lp -d lp -P 指定打印机的名称
apt-get 用于安装和更新包的命令
mail -s’ subject’-c’cc-address’-b’bcc-address”to-address’ 发送电子邮件的命令
mail -s“Subject”to-address <Filename 发送带附件的电子邮件的命令
正文完
 0

linux基本命令

9次阅读

共计 612 个字符,预计需要花费 2 分钟才能阅读完成。

目录切换命令

cd usr 切换到该目录下 usr 目录

cd ../ 或 cd .. 切换到上一层目录

cd / 切换到系统根目录

cd ~ 切换到用户主目录

cd - 切换到上一个所在目录

目录操作相关命令

新增目录 mkdir test

查看 ls[al]

查看所有目录,包括隐藏的 ls -a

查看详细信息 ls -l, 也可缩写为 ll

修改目录名称 mv test test2

移动目录的位置 — 剪切 mv test /home 注意:mv 语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

拷贝目录 cp -r test /home 把 test 拷贝到 home 下 r 代表递归
删除目录 rm -r test 会询问是否删除
删除目录(强制删除)rm -rf test 直接删除,不会询问注意:rm 不仅可以删除目录,也可以删除其他文件或压缩包

显示工作目录 pwd

文件操作命令

文件创建 touch a.txt 创建的是空文件
文件查看 cat/more/less/tail a.txt

修改文件 vi a.txt

压缩文件命令

打包并压缩 tar -zcvf 打包压缩后的文件名 要打包的文件
z:调用 gzip 压缩命令进行压缩 c:打包文件 v:显示运行过程 f:指定文件名

解压 tar [-xvf] 压缩文件
x 代表解压

其他进程

查看进程 ps -ef

kill 命令 kill -9 pid pid 是进程的 id
搜索命令 grep 要搜索的字符串 要搜索的文件

管道命令命令:| 将前一个命令的输出作为本次目录的输入
ps -ef|grep java 查看 java 进程

执行命令./startup.sh

正文完
 0