Shell命令(shell命令替换文件内容)

http://www.itjxue.com  2023-02-10 20:12  来源:未知  点击次数: 

Linux主要shell命令详解

利用反引号的这种功能可以进行命令置换,即把反引号括起来的执行结果赋值给指定变量。例如:

$

today=`date`

$

echo

Today

is

$today

Today

is

Mon

Apr

15

16:20:13

CST

1999

$

反引号还可以嵌套使用。但需注意,嵌套使用时内层的反引号必须用反斜线()将其转义。例如:

$

abc=`echo

The

number

of

users

is

`who|

wc-l``

$

echo

$abc

The

number

of

users

is

5

$

在反引号之间的命令行中也可以使用shell的特殊字符。Shell为得到``中命令的结果,它实际上要去执行``中指定的命令。执行时,命令中的特殊字符,如$,”,?等又将具有特殊含义,并且``所包含的可以是任何一个合法的Shell命令,如:

$

ls

note

readme.txt

Notice

Unix.dir

$

TestString=”`echo

$HOME

`

`

ls

[nN]*`”

$

echo

$TestString

/home/yxz

note

Notice

$

其他情况,读者可自行试之。

1.

注释符

在shell编程中经常要对某些正文行进行注释,以增加程序的可读性。在Shell中以字符“#”开头的正文行表示注释行。

此外还有一些特殊字符如:用于输入/输出重定向与管道的、、、

和|;执行后台命令的;命令执行操作符和||及表示命令组的{}将在下面各小节中加以介绍。

标准输入/输出和重定向

1.

标准输入与输出

我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

我们以cat命令为例,cat命令的功能是从命令行给出的文件中读取数据,并将这些数据直接送到标准输出。若使用如下命令:

$

cat

config

将会把文件config的内容依次显示到屏幕上。但是,如果cat的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:

$

cat

Hello

world

Hello

world

Bye

Bye

ctrl+d

$

用户输入的每一行都立刻被cat命令输出到屏幕上。

另一个例子,命令sort按行读入文件正文(当命令行中没有给出文件名时,表示从标准输入读入),将其排序,并将结果送到标准输出。下面的例子是从标准输入读入一个采购单,并将其排序。

$

sort

bananas

carrots

apples

ctrl+d

apples

bananas

carrots

$

这时我们在屏幕上得到了已排序的采购单。

直接使用标准输入/输出文件存在以下问题:

输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。

输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。

为了解决上述问题,Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。

如何用SHELL命令运行一个文件

1、Shell是命令解释器,所执行的文件有两种,一种是基于ELF文件格式的可执行文件,一种是基于Shell脚本格式的脚本文件。

2、不管是可执行文件还是shell脚本,如果存在于PATH变量所指明的路径中,shell会自动寻找相应的可执行文件,用户只需要输入可执行文件名或者脚本名即可执行。

3、如果可执行文件或者Shell脚本的存放位置不在PATH变量所指明的路径中,则需要通过".”来执行,比如下面的C语言写的hello world程序,需要输入./t才可以被shell运行。

shell的shell 命令

常用命令

cat 文件名 输出文件内容到基本输出(屏幕 or 加fileName 到另一个文件)

cb 格式化源代码

chmod //change mode,改变文件的权限

cp copy

date 当前的时间和日期

echo $abc 在变量赋值之后,只需在变量前面加一个$去引用.

lint 语法检查程序

ls dir

man help

more type

du 查看磁盘空间状况

ps 查看当前进程状况

who 你的用户名和终端类型

定义变量 name=abc? (bash/pdksh) || set name = abc (tcsh)

mkdir 创建目录

rmdir 删除目录

cd 进入目录

rm 删除文件

more 显示文件

echo 显示指定文本

mv 改文件名 /移动文件

pwd 显示目录路径命令

什么是shell

Shell俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行

Shell实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。

Shell有自己的编程语言,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等。

内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高

外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存

如何区分内外部命令?

使用type命令 ?,语法 : type ??要检测的命令

[root@xuegod63 ~]# type cat

cat 是 /usr/bin/cat

[root@xuegod63 ~]# type pwd

pwd 是 shell 内建

总结: 通过SHELL,我们可以对LINUX实现哪些操作或管理:

例如:

对文件的管理(创建、删除、复制、修改)

1、对用户的管理(添加、删除)

2、相关权限的管理(授权用户对相关文件的管理,比如增删改查)

3、对磁盘的管理(分区、raid、lvm)

4、对软件的管理

5、对网络的管理

(责任编辑:IT教学网)

更多